Задача лінійного програмування та методи її розв’язання
Загальна економіко-математична модель задачі лінійного програмування та її геометрична інтерпретація. Визначення критерію оптимальності. Область допустимих розв’язків задачі. Розрахунок оптимальних значень базисних змінних підстановкою в лінійну функцію.
Рубрика | Экономико-математическое моделирование |
Вид | лекция |
Язык | украинский |
Дата добавления | 08.10.2013 |
Размер файла | 568,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Лекція
Задача лінійного програмування та методи її розв'язання
1. Загальна економіко-математична модель задачі лінійного програмування
лінійний програмування геометричний
Загальна лінійна економіко-математична модель економічних процесів та явищ - так звана загальна задача лінійного програмування подається у вигляді:
(3.1)
за умов:
(3.2)
(3.3)
Отже, потрібно знайти значення змінних x1, x2, …, xn, які задовольняють умови (3.2) і (3.3), і цільова функція (3.1) набуває екстремального (максимального чи мінімального) значення.
Для довільної задачі математичного програмування у п. 1 були введені поняття допустимого та оптимального планів.
Для загальної задачі лінійного програмування використовуються такі поняття.
Вектор Х = (х1, х2, …, хn), координати якого задовольняють систему обмежень (3.2) та умови невід'ємності змінних (3.3), називається допустимим розв'язком (планом) задачі лінійного програмування.
Допустимий план Х = (х1, х2, …, хn) називається опорним планом задачі лінійного програмування, якщо він задовольняє не менше, ніж m лінійно незалежних обмежень системи (3.2) у вигляді рівностей, а також обмеження (3.3) щодо невід'ємності змінних.
Опорний план Х = (х1, х2, …, хn), називається невиродженим, якщо він містить точно m додатних змінних, інакше він вироджений.
Опорний план , за якого цільова функція (3.1) досягає масимального (чи мінімального) значення, називається оптимальним розв'язком (планом) задачі лінійного програмування.
Задачу (3.1)--(3.3) можна легко звести до канонічної форми, тобто до такого вигляду, коли в системі обмежень (3.2) всі bi (i = 1, 2, …, m) невід'ємні, а всі обмеження є рівностями.
Якщо якесь bi від'ємне, то, помноживши i-те обмеження на (- 1), дістанемо у правій частині відповідної рівності додатне значення. Коли i-те обмеження має вигляд нерівності аi1х1+аi2х2+…+аinxn ? bi, то останню завжди можна звести до рівності, увівши додаткову змінну xn+1:
ai1x1+ai2x2+…+ ain xn + xn + 1 = bi.
Аналогічно обмеження виду аk1x1 + ak2x2 + … + aknxn ? bk зводять до рівності, віднімаючи від лівої частини додаткову змінну хn+2, тобто:
ak1x1 + ak2x2 + … + aknxn - xn + 2 = bk (хn+1 ? 0, хn+2 ? 0).
2. Форми запису задач лінійного програмування
Задачу лінійного програмування зручно записувати за допомогою знака суми «». Справді, задачу (3.1)-(3.3) можна подати так:
за умов:
(3.4)
Ще компактнішим є запис задачі лінійного програмування у векторно-матричному вигляді:
max(min) Z = CX
за умов:
АХ = А0; (3.5)
Х ? 0,
де
є матрицею коефіцієнтів при змінних;
-- вектор змінних; -- вектор вільних членів;
С = (с1, с2, …, сп) -- вектор коефіцієнтів при змінних у цільовій функції.
Часто задачу лінійного програмування зручно записувати у векторній формі:
max(min)Z = CX
за умов:
A1x1 + A2x2 + … + Anxn = A0; (3.6)
X ?0,
де
є векторами коефіцієнтів при змінних.
3. Геометрична інтерпретація задачі лінійного програмування
Розглянемо на площині х1Оx2 сумісну систему лінійних нерівностей:
(3.7)
Кожна нерівність цієї системи геометрично визначає півплощину з граничною прямою ai1x1 + ai2x2 = bi (i=1,2, ..., т). Умови невід'ємності змінних визначають півплощини з граничними прямими х1 = 0 та х2 = 0. Система сумісна, тому півплощини як опуклі множини, перетинаючись, утворюють спільну частину, що є опуклою множиною і являє собою сукупність точок, координати кожної з яких є розв'язком даної системи (рис. 1).
Рисунок 1
Сукупність цих точок (розв'язків) називають багатокутником розв'язків, або областю допустимих планів (розв'язків) задачі лінійного програмування. Це може бути точка (єдиний розв'язок), відрізок, промінь, багатокутник, необмежена багатокуть на область.
Якщо в системі обмежень (3.7) буде три змінних, то кожна нерівність геометрично визначатиме півпростір тривимірного простору, граничними площинами котрого будуть ai1x1 + ai2x2 + ai3x3 = bi (i = 1, 2, ..., т), а умови невід'ємності - півпростори з граничними площинами хj=0 (j = 1, 2, 3), де і - номер обмеження, а j--- номер змінної. Якщо система обмежень сумісна, то ці півпростори як опуклі множини, перетинаючись, утворять у тривимірному просторі спільну частину, що називається багатогранником розв'язків. Він може бути точкою, відрізком, променем, багатокутником, багатогранником, багатогранною необмеженою областю.
Нехай у системі обмежень (3.7) кількість змінних більша, ніж три: х1, х2,… хn; тоді кожна нерівність визначає півпростір n-вимірного простору з граничною гіперплощиною аi1x1 + ai2x2 + ai3x3 + … +ainxn = bi (i = 1, 2, ..., т). Кожному обмеженню виду (3.7) відповідають гіперплощина та напівпростір, який лежить з одного боку цієї гіперплощини, а умови невід'ємності -- півпрос тори з граничними гіперплощинами хj = 0 (j=1, 2, 3, ..., n).
Якщо система обмежень сумісна, то за аналогією з тривимірним простором вона утворює спільну частину в n-вимірному просторі -- опуклий багатогранник допустимих розв'язків.
Отже, геометрично задача лінійного програмування являє собою відшукання координат такої точки багатогранника розв'яз ків, при підстановці яких у цільову лінійну функцію остання набирає максимального (мінімального) значення, причому допустимими розв'язками є усі точки багатогранника розв'язків.
Цільову функцію
в п-вимірному просторі основних змінних можна геометрично інтерпретувати як сім'ю паралельних гіперплощин, положення кожної з яких визначається значенням параметра Z.
Розглянемо геометричну інтерпретацію задачі лінійного програмування на прикладі. Нехай фермер прийняв рішення вирощувати озиму пшеницю і цукрові буряки на площі 20 га, відвівши під цукрові буряки не менше як 5 га. Техніко-економічні показники вирощування цих культур маємо у табл. 1:
Таблиця 1. Показники вирощування сільськогосподарських культур
Показник (із розрахунку на 1 га) |
Озима пшениця |
Цукрові буряки |
Наявний ресурс |
|
Затрати праці, людино-днів |
5 |
25 |
270 |
|
Затрати праці механізаторів, людино-днів |
2 |
8 |
80 |
|
Урожайність, тонн |
3,5 |
40 |
-- |
|
Прибуток, тис. грн |
0,7 |
1 |
-- |
Критерієм оптимальності є максимізація прибутку.
Запишемо економіко-математичну модель структури виробницт ва озимої пшениці та цукрових буряків, ввівши такі позначення:
х1 -- шукана площа посіву озимої пшениці, га;
х2 -- шукана площа посіву цукрових буряків, га.
Задача лінійного програмування має такий вигляд:
max Z = 0,7x1 + x2 (3.8)
за умов:
x1 + x2 ? 20; (3.9)
5x1 + 25x2 ? 270; (3.10)
2x1 + 8x2 ? 80; (3.11)
x2 ? 5; (3.12)
x1 ? 0, x2 ? 0. (3.13)
Геометричну інтерпретацію задачі зображено на рис. 2.
Рисунок 2. Область допустимих розв'язків задачі
Область допустимих розв'язків цієї задачі дістаємо так. Кожне обмеження, наприклад х1 + х2 20, задає півплощину з граничною прямою х1 + х2 = 20. Будуємо її і визначаємо півплощину, яка описується нерівністю х1 + х2 20. З цією метою в нерівність х1+х220 підставляємо координати характерної точки, скажімо, х1=0 і х2=0. Переконуємося, що ця точка належить півплощині х1+х220. Цей факт на рис. 2 ілюструємо відповідною напрямленою стрілкою. Аналогічно будуємо півплощини, які відповідають нерівностям (3.10)--(3.13). У результаті перетину цих півплощин утворюється область допустимих розв'язків задачі (на рис. 2 - чотирикутник ABCD). Цільова функція Z = 0,7x1 + x2 являє собою сім'ю паралельних прямих, кожна з яких відповідає певному значенню Z. Зокрема, якщо Z=0, то маємо 0,7х1 + х2 = 0. Ця пряма проходить через початок системи координат. Коли Z=3,5, то маємо пряму 0,7х1 + х2 = 3,5.
4. Основні властивості розв'язків задачі лінійного програмування
Властивості розв'язків задачі лінійного програмування формулюються у вигляді чотирьох теорем.
Властивість 1. (Теорема 3.1) Множина всіх планів задачі лінійного програмування опукла.
Властивість 2. (Теорема 3.2) Якщо задача лінійного програмування має оптимальний план, то екстремального значення цільова функція набуває в одній із вершин її багатогранника розв'яз ків. Якщо ж цільова функція набуває екстремального значення більш як в одній вершині цього багатогранника, то вона досягає його і в будь-якій точці, що є лінійною комбінацією таких вершин.
Властивість 3. (Теорема 3.3) Якщо відомо, що система векторів A1, A2, …, Ak (k?n) у розкладі A1x1 +A2x2 + … + Anxn = A0, X?0 лінійно незалежна і така, що
A1x1 + A2x2 + … + Akxk = A0,
де всі xj ? 0, то точка X = (x1, x2, …, xk, 0, …, 0) є кутовою точкою багатогранника розв'язків.
Властивість 4. (Теорема 3.4) Якщо X = (x1, x2, …, xn) - кутова точка багатогранника розв'язків, то вектори в розкладі A1x1 + + A2x2 + … + Anxn = A0, X ? 0, що відповідають додатним xj, є лінійно незалежними.
Наслідок 1. Оскільки вектори мають розмірність m, то кутова точка багатокутника розв'язків має не більше, ніж m додатних компонентів .
Наслідок 2. Кожній кутовій точці багатокутника розв'язків відповідає лінійно незалежних векторів системи .
З наведених властивостей можна зробити висновок, що якщо функціонал задачі лінійного програмування обмежений на багатограннику розв'язків, то:
існує така кутова точка багатогранника розв'язків, в якій лінійний функціонал досягає свого оптимального значення;
кожний опорний план відповідає кутовій точці багатогранника розв'язків.
Тому для розв'язання задачі лінійного програмування необхідно досліджувати лише кутові точки багатогранника (опорні плани), не включаючи до розгляду внутрішні точки множини допустимих планів.
5. Графічний метод розв'язування задач лінійного програмування
Для розв'язування двовимірних задач лінійного програмування, тобто задач із двома змінними, а також деяких тривимірних задач застосовують графічний метод, що ґрунтується на геометричній інтерпретації та аналітичних властивостях задач лінійного програмування. Обмежене використання графічного методу зумовлене складністю побудови багатогранника розв'язків у тривимірному просторі (для задач з трьома змінними), а графічне зображення задачі з кількістю змінних більше трьох взагалі неможливе.
Розглянемо задачу.
Знайти
(3.15)
за умов:
(3.16)
. (3.17)
Припустимо, що система (3.15) за умов (3.16) сумісна і багатокутник її розв'язків обмежений.
Згідно з геометричною інтерпретацією задачі лінійного програмування (п.3.3) кожне і-те обмеження-нерівність у (3.16) визначає півплощину з граничною прямою (і = 1, 2, …, т). Системою обмежень (3.16) графічно можна зобразити спільну частину, або переріз усіх зазначених півплощин, тобто множину точок, координати яких задовольняють всі обмеження задачі - багатокутник розв'язків.
Умова (3.17) невід'ємності змінних означає, що область допустимих розв'язків задачі належить першому квадранту системи координат двовимірного простору. Цільова функція задачі лінійного програмування геометрично інтерпретується як сім'я паралельних прямих с1х1+с2х2 = const.
Скористаємося для графічного розв'язання задачі лінійного програмування властивостями, наведеними в п. 4: якщо задача лінійного програмування має оптимальний план, то екстремального значення цільова функція набуває в одній із вершин її багатокутника розв'язків. Якщо ж цільова функція досягає екстремального значення більш як в одній вершині багатокутника, то вона досягає його і в будь-якій точці, що є лінійною комбінацією цих вершин.
Отже, розв'язати задачу лінійного програмування графічно означає знайти таку вершину багатокутника розв'язків, у результаті підстановки координат якої в (3.15) лінійна цільова функція набуває найбільшого (найменшого) значення.
Алгоритм графічного методу розв'язування задачі лінійного програмування складається з таких кроків:
1. Будуємо прямі, рівняння яких дістаємо заміною в обмеженнях задачі (3.16) знаків нерівностей на знаки рівностей.
2. Визначаємо півплощини, що відповідають кожному обмеженню задачі.
3. Знаходимо багатокутник розв'язків задачі лінійного програмування.
4. Будуємо вектор , що задає напрям зростання значення цільової функції задачі.
5. Будуємо пряму с1х1+с2х2=const, перпендикулярну до вектора .
6. Рухаючи пряму с1х1+с2х2=const в напрямку вектора (для задачі максимізації) або в протилежному напрямі (для задачі мінімізації), знаходимо вершину багатокутника розв'язків, де цільова функція набирає екстремального значення.
7. Визначаємо координати точки, в якій цільова функція набирає максимального (мінімального) значення, і обчислюємо екстремальне значення цільової функції в цій точці.
У разі застосування графічного методу для розв'язування задач лінійного програмування можливі такі випадки:
1. Цільова функція набирає максимального значення в єдиній вершині А багатокутника розв'язків (рис. 3).
2. Максимального значення цільова функція досягає в будь-якій точці відрізка АВ (рис. 4). Тоді задача лінійного програмування має альтернативні оптимальні плани.
3. Задача лінійного програмування не має оптимальних планів: якщо цільова функція необмежена згори (рис. 5) або система обмежень задачі несумісна (рисунок 6).
Рисунок 3 Рисунок 4
Рисунок 5 Рисунок 6
4. Задача лінійного програмування має оптимальний план за необмеженої області допустимих розв'язків (рис. 7 і 8). На рис. 7 у точці В маємо максимум, на рис. 8 у точці А - мінімум, на рис. 9 зображено, як у разі необмеженої області допустимих планів цільова функція може набирати максимального чи мінімального значення у будь-якій точці променя.
Рисунок 7 Рисунок 8
Рисунок 9
Розв'язувати графічним методом можна також задачі лінійного програмування n-вимірного простору, де , якщо при зведенні системи нерівностей задачі до системи рівнянь шляхом введення додаткових змінних кількість змінних n на дві більша, ніж число обмежень m, тобто .
Тоді, як відомо з курсу вищої математики, можна дві з n змінних, наприклад х1 та х2, вибрати як вільні, а інші m зробити базис ними і виразити через вільні. Припустимо, що це зроблено. Отримаємо рівнянь вигляду:
Оскільки всі значення , то мають виконуватись умови:
,
(3.18))
Розглянемо, як можна зобразити ці умови геометрично. Візьмемо, наприклад, першу з них:
Узявши величину х3 рівною своєму крайньому значенню -- нулю, отримаємо рівняння:
.
Це рівняння прямої. Для такої прямої , по одну сторону від неї , а по другу - . Відмітимо ту сторону прямої , де .
В аналогічний спосіб побудуємо і всі інші обмежуючі прямі: ; ;...; і відмітимо для кожної з них півплощину, де відповідна змінна більше нуля.
У такий спосіб отримують n-2 прямі та дві осі координат (,). Кожна з них визначає півплощину, де виконується умова . Частина площини в належить водночас всім півплощинам, утворюючи багатокутник допустимих розв'язків.
Припустимо, що в задачі необхідно знайти максимальне значення функціонала:
.
Підставивши вирази для , , , ...; з (3.18) у цей функціонал, зведемо подібні доданки і отримаємо вираз лінійної функції F всіх n змінних лише через дві вільні змінні та :
,
де -- вільний член, якого в початковому вигляді функціонала не було.
Очевидно, що лінійна функція досягає свого максимального значення за тих самих значень та , що й . Отже, процедура відшукання оптимального плану з множини допустимих далі здійснюється за алгоритмом для випадку двох змінних.
Приклад 3.1. Розв'язати графічним методом задачу лінійного програмування
.
Розв'язання. Маємо n=7 - кількість змінних, m=5 - кількість обмежень. Виберемо як вільні змінні х1 та х2 і виразимо через них всі інші базисні змінні. З першого рівняння маємо:
(3.19)
З третього рівняння:
, (3.20)
а з четвертого:
. (3.21)
Підставляючи (3.19) в друге рівняння системи і (3.21) в останнє, розв'язуємо їх відносно х4 та х7. Отримаємо:
;
.
Далі за алгоритмом беремо х1 = 0 та х2 = 0 - координатні осі; інші обмежуючі прямі знаходимо, узявши х3 = 0, х4 = 0, х5=0, х6 = 0, х7 = 0. Багатокутник допустимих розв'язків зображено на рис. 10.
Рисунок 10
Знайдемо вигляд функціонала, вираженого через х1 та х2. Для цього знайдені щойно вирази для х3, х4, х5, х6 та х7 через вільні змінні х1 і х2 підставимо у функціонал і, звівши подібні члени, отримаємо: . Відкидаючи вільний член, маємо: . Будуємо вектор (-5, -2), перпендикулярно до нього -- пряму F. Рухаючи пряму F в напрямку, протилежному (необхідно знайти мінімальне значення функції F), отримаємо точку мінімуму - А (рис. 11).
Рисунок 11
У точці А перетинаються дві обмежуючі прямі: х6=0 та х7=0. Отже, для відшукання її координат необхідно розв'язати систему рівнянь:
Розв'язком системи є = 8,5; = 5. Підставивши ці значення у відповідні вирази, знайдемо оптимальні значення базисних змінних:
= 0,5; = 16,5; = 17,5; = 0; = 0.
Підстановкою значень та в лінійну функцію F отримуємо значення цільової функції:
.
Размещено на Allbest.ru
...Подобные документы
Загальна економіко-математична модель задачі лінійного програмування. Основні форми запису задач. Оптимальний та допустимий розв'язок. Геометрична інтерпретація, властивості розв'язків та графічний метод розв'язування задач лінійного програмування.
презентация [568,4 K], добавлен 10.10.2013Загальна модель задачі математичного програмування, задача лінійного програмування та особливості симплекс–методу для розв’язання задач лінійного програмування Економіко–математична модель конкретної задачі, алгоритм її вирішення за допомогою Exel.
контрольная работа [109,7 K], добавлен 24.11.2010Багатокритеріальність, існуючі методи розв’язку задач лінійного програмування. Симплекс метод в порівнянні з графічним. Вибір методу розв’язання багатокритеріальної задачі лінійного програмування. Вирішення задачі визначення максимального прибутку.
курсовая работа [143,7 K], добавлен 15.12.2014Приклади задач математичного програмування (на добір оптимальної суміші сплавів, складання оптимального раціону, транспортна, про оптимальний добір). Економічна модель задачі. Геометрична інтерпретація стандартної задачі, її розв’язання симплекс-методом.
курсовая работа [8,3 M], добавлен 28.11.2010Поняття задачі лінійного програмування та різні форми її задання. Загальна характеристика транспортної задачі, її математична модель. Графічний метод для визначення оптимального плану задач лінійного програмування. Правило побудови двоїстої задачі.
контрольная работа [1,5 M], добавлен 04.09.2015Норми затрат ресурсів. Математична модель задачі. Рішення прямої задачі лінійного програмування симплексним методом. Основний алгоритм симплекс-методу. Область допустимих рішень. Розв’язок методом симплексних таблиць. Мінімальне значення цільової функції.
контрольная работа [234,6 K], добавлен 28.03.2011Задачі лінійного програмування. Побудова першого опорного плану системи нерівностей. Введення додаткових змінних. Індексний рядок та негативні коефіцієнти. Побудова математичної моделі. Визначення потенціалів опорного плану. Область допустимих значень.
контрольная работа [232,3 K], добавлен 28.03.2011Розробка програмного комплексу для розв’язання задачі цілочисельного програмування типу "Задача комівояжера". Класифікація задач дослідження операцій. Вибір методу розв’язання транспортної задачі; алгоритмічне і програмне забезпечення, тести і документи.
курсовая работа [807,7 K], добавлен 07.12.2013Побудування математичної моделі задачі. Розв'язання задачі за допомогою лінійного програмування та симплексним методом. Наявність негативних коефіцієнтів в індексному рядку. Основний алгоритм симплексного методу. Оптимальний план двоїстої задачі.
контрольная работа [274,8 K], добавлен 28.03.2011Математична модель задачі лінійного програмування та її розв’язок симплекс-методом. Опорний план математичної моделі транспортної задачі. Оптимальний план двоїстої задачі. Рішення графічним методом екстремумів функції в області, визначеній нерівностями.
контрольная работа [290,0 K], добавлен 28.03.2011Теорія двоїстості та двоїсті оцінки у лінійному програмуванні. Економічна інтерпретація задач лінійного програмування. Правила побудови двоїстих задач. Встановлення зв’язків між оптимальними розв’язками задач за допомогою леми та теореми двоїстості.
контрольная работа [345,7 K], добавлен 22.02.2011Побудова опорного плану систему нерівностей. Постановка задачі на максимум. Індексний рядок та негативні коефіцієнти. Задача лінійного програмування. Рішення задачі симплексним методом. Введення додаткових змінних. Оптимальний план двоїстої задачі.
контрольная работа [278,4 K], добавлен 28.03.2011Методи розв’язування, аналізу та використання задач зі знаходженням екстремуму функції на множині допустимих варіантів у широкому спектрі теоретико-економічних та практичних проблем. Модель задачі лінійного програмування. Складання симплексної таблиці.
контрольная работа [960,6 K], добавлен 08.10.2013Складання математичної моделі задачі планування виробництва та її реалізації із використанням табличного процесору MS Excel. Визначення плану виробництва та забезпечення максимуму прибутку від реалізації. Розв'язок задач з лінійного програмування.
лабораторная работа [105,7 K], добавлен 09.03.2009Складання математичної моделі задачі комівояжера. Її розв'язок за допомогою електронних таблиць Microsoft Excel. Знаходження оптимального плану обходу міст комівояжером за заданими критеріями. Інтерпретація графічно отриманого розв’язку даної задачі.
контрольная работа [244,8 K], добавлен 24.09.2014Загальна і основна задачі лінійного програмування. Приклади їх розв’язання задач симплекс-методом. Визначення максимального/мінімального значення функції. Етапи знаходження оптимального плану. Миттєвий попит при відсутності витрат на оформлення замовлень.
курсовая работа [325,4 K], добавлен 25.04.2019Математична модель задачі лінійного програмування, її вирішення за допомогою симплекс-методу. Побудова екстремумів функцій в області, визначеній нерівностями, за допомогою графічного методу. Математична модель транспортної задачі та її опорний план.
контрольная работа [241,7 K], добавлен 28.03.2011Розробка математичної моделі задачі оптимізації, розв’язання її засобами "Пошук рішення" в MS Excel. Класичні методи дослідження функцій на оптимум. Графічне розв’язання задачі лінійного програмування. Метод штучного базису. Двоїстий симплекс-метод.
контрольная работа [755,6 K], добавлен 26.12.2011Складання математичної моделі задачі. Побудова симплексної таблиці. Розв’язок задачі лінійного програмування симплексним методом. Рішення двоїстої задачі та складання матриці. Знаходження графічним методом екстремумів функцій, визначеній нерівностями.
контрольная работа [239,0 K], добавлен 28.03.2011Теорема Куна-Такера в теорії нелінійного програмування. Правила переходу від однієї таблиці до іншої. Точка розв’язку задачі. Побудування функції Лагранжа. Доведення необхідності умови. Розв'язання задачі квадратичного програмування в матричній формі.
курсовая работа [197,7 K], добавлен 17.05.2014