
lectures / Konspect_Ch1
.pdfКонспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
РОЗДІЛ 3. МЕТОДИ, АЛГОРИТМИ ТА ОСОБЛИВОСТІ РОЗВ’ЯЗКУ ЗАДАЧ ЛІНІЙНОГО ПРОГРАМУВАННЯ
3.1. Характеристика задач лінійного програмування
Задачі оптимізації, в яких цільова функція є лінійною функцією незалежних змінних
(тобто має вигляд z = c1x1 + c2x2 +...+ cnxn , де c1 , c2 ,..., cn - константи, x1 , x2 ,..., xn - змінні, n -
довільне натуральне число) і умови, які визначають допустимі значення цих змінних мають вигляд лінійних рівнянь і нерівностей, відносять до задач лінійного програмування (ЛП) [4-8].
Лінійне програмування було розвинене в зв'язку із задачами економіки, з пошуком способів оптимального рішення і з використанням обмежених ресурсів. Розвиток і ускладнення економічних процесів та обчислювальної техніки стимулює широке використання математичних методів в управлінні, сприяє зростанню ролі лінійного програмування як одного з актуальних розділів прикладної математики.
Так за оцінками американських експертів біля 75% від загального числа практичних оптимізаційних задач, відносяться до задач ЛП. Біля чверті машинного часу, затраченого за останні роки на проведення наукових досліджень, було відведено рішенню задач ЛП та їх чисельних модифікацій.
3.2. Постановка задачі лінійного програмування. Стандартна форма представлення задач лінійної оптимізації
Перед застосуванням одного з основних методів розв’язку задач ЛП (симплекс-метод) необхідною умовою є запис оптимізаційної задачі в стандартній (канонічній) формі. Канонічна форма запису оптимізаційних задач передбачає, що:
усі змінні мають бути не від’ємними;
нерівності слід перетворити в рівності;
праві частини рівнянь мають бути не від’ємними.
Стандартна або канонічна постановка задачі лінійного програмування формулюється наступним чином: знайти такі значення змінних x1, x2,..., xn, які задовольняють наступну систему рівнянь[7,8]:
a11 * x1 |
a12 * x 2 |
... |
a1n * x n |
b1 |
|
|
a 21 * x1 |
a 22 * x 2 |
... |
a 2n * x n |
b2 |
, |
(3.1) |
... |
... |
... |
... |
... |
||
a m1 * x1 |
a m2 * x2 |
... |
a mn * x n |
bm |
|
|
і дають найменше значення цільової функції: |
|
|
||||
z = c1 *x1 + c2 *x2 +. .. + cn *xn . |
|
|
(3.2) |
|||
Наведемо приклад приведеня задачі ЛП до канонічної форми. Отже, необхідно знайти |
||||||
максимум цільової функції : |
|
|
|
|
||
z 3x1 2x2 - max, |
|
|
|
|
(3.3) |
|
при виконанні наступних обмежень: |
|
|
|
|||
x1 2x2 6 , |
|
|
|
|
(3.4) |
2x1 x2 10 ,
x1 x2 1,
43
Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
x2 2 ,
x1 , x2 0 .
Усі обмеження в даній задачі записані у формі нерівностей, тому перетворимо їх у рівності шляхом додавання чи віднімання нових змінних. Так для запису першого виразу у формі рівності необхідно додати змінну x3, щоб вираз x1 2x2 x3 став рівний 6. Від другої
нерівності необхідно відняти x4 , а до третьої і четвертої нерівностей додати відповідно x5 і x6 .
В результаті, отримаємо вище наведену задачу ЛП в стандартній формі, а саме: знайти максимум цільової функції:
z 3x1 2x2 - max,
при виконанні наступних обмежень: x1 2x2 x3 6,
2x1 x2 x4 10,
x1 x2 x5 |
1, |
(3.5) |
x2 x6 2,
x1 , x2 , x3 , x4 , x5 , x6 0.
3.3. Графічне рішення задачі ЛП
Розглянемо метод графічного рішення задачі ЛП на прикладі задачі технічного контролю.
Постановка задачі технічного контролю. У відділі технічного контролю (ВТК) деякої фірми працюють контролери першого та другого розрядів. Норма вироблення ВТК за 8 - годинний робочий день складає не менше ніж 1800 виробів. Контролер першого розряду перевіряє 25 виробів за годину, причому, не помиляється в 98% випадків. Контролер другого розряду перевіряє 15 виробів за годину точність його перевірки становить 95%.
Заробітна плата контролера першого розряду рівна 4 грн. за годину, а контролер другого розряду отримує 3 грн. за годину. При кожній помилці контролера фірма несе збиток в розмірі 2 грн. Фірма може використати 8 контролерів першого розряду і 10 контролерів другого розряду. Керіництво фірми хоче визначити оптимальний склад ВТК, при якому загальні витрати на контроль будуть мінімальні.
3.3.1. Розробка моделі
Нехай x1 і x2 означають кількість контролерів першого та другого розрядів, відповідно. Число контролерів кожного розряду, які може використати підприємство обмежене, тобто мають бути включені наступні обмеження:
x1 8 (кількість контролерів першого розряду), x2
10 (кількість контролерів другого розряду).
Щодня необхідно перевіряти не менше 1800 виробів. Тому, слід записати наступну нерівність (вісім годин необхідно помножити на кількість деталей за одну годину роботи і на кількість контролерів відповідного розряду):
8*25*x1+8*15*x2=200*x1+1200*x2 1800,
або спростивши (розділимо праву та ліву частини на 40), отримаємо:
44
Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
5*x1+3*x245.
При побудові цільової функції потрібно мати на увазі, що витрати фірми, пов'язані з контролем, включають дві складові:
зарплату контролерів;
збитки, викликані помилками контролерів.
Витрати на одного контролера першого розряду складають:
4 грн + 2*25*0,02 = 5 грн/год.
Витрати на одного контролера другого розряду рівні:
3 грн + 2*15*0.005 = 4,50 грн./год.
Отже, мінімізуюча цільова функція, яка виражає щоденні витрати на контроль, має наступний вигляд:
z=8*(5*x1+450*x2)= 40x1+36*x2min.
Отже, в кінцевому випадку, можна сформулювати наступну задачу ЛП:
Мінімізувати: z=40*x1+36*x2,
при обмеженнях:
x18, x2
10, 5*x1+3*x2
45,
x10, x2
0.
3.3.2. Графічний розв’язок задачі ЛП
При розв’язку цієї задачі необхідно знайти значення змінних x1 і x2, які задовольняють усім обмеженням і, які забезпечують мінімальне значення цільової функції (тобто затрати фірми на технічний контроль). Як перший крок рішення оптимізаційної задачі, необхідно визначити всі можливі негативні значення змінних x1 і x2, які задовольняють обмеженням. Для прикладу, координати точки x1=8 і x2=10 позитивні і для цієї точки виконуються всі обмеження. Така точка називається допустимим рішенням. Множина всіх допустимих рішень називається допустимою областю. Рішення задачі ЛП складається з знаходження найкращого рішення в допустимій області. Найкраще допустиме рішення задачі ЛП називається оптимальним. В прикладі, що розглядається, оптимальне рішення являє собою допустиме рішення, що мінімізує цільову функцію 40*x1+36*x2. Значення цільової функції, відповідне оптимальному рішенню, називається оптимальним значенням задачі ЛП.
Для зображення допустимої області рішення слід накреслити графіки всіх обмежень. Всі допустимі рішення розміщені в першому квадранті, оскільки значення змінних невід’ємні. В силу обмеження 5*x1+3*x245 усі допустимі рішення (x1, x2) задачі розміщені з однієї сторони від прямої, яка описується рівнянням 5*x1+3*x2=45. Необхідну напівплощину можна знайти, перевіривши, чи задовільняє початок координат разглядуваному обмеженню. Пряму 5x1+3*x2=45 зручно провести, з’єднуючи пару точок (для прикладу, x1=0, x2=15 та x1=9, x2=0).
Оскільки початок координат не задовільняє обмеженню, необхідна напівплощина відмічена стрілкою, направленою перпендикулярно до прямої. Аналогічним чином представлені обмеження x1 8 і x2
10. На рис.3.1 допустима область (АВС) заштрихована. Зрозуміло, що в допустимій області розміщено нескінченне число допустимих точок. Необхідно знайти допустиму точку с найменьшим значением цільової функції Z.
Якщо зазделегідь зафіксувати значення цільової функції Z=40*x1+36*x2, то відповідні йому точки будуть лежати на деякій прямій. При зміні величини Z ця пряма зазнає паралельного перенесення. Розглянемо прямі, які відповають різним значенням Z, що мають з
45

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
допустимою областю хоч би одну загальну точку. Початкове значення Z покладемо рівним 600. При наближенні прямої до початку координат значення Z меншає. Якщо пряма має хоч би одну загальну точку з допустимою областю АВС, її можна зміщати в напрямі початку координат. Зрозуміло, що для прямої, яка проходить через кутову точку А з координатами x1=8, x2=1.6, подальший рух неможливий. Точка А являє собою найкращу допустиму точку, яка відповідає найменшому значенню Z і рівне 377.6. Отже, x1=8, x2=1.6 - оптимальне рішення і Z=377.6 - оптимальне значення для задачі лінійного програмування, яка розглядається.
Рис. 3.1. Графічне рішення задачі
Таким чином, при оптимальному режимі роботи ВТК необхідно використати вісім контролерів розряду 1 і 1.6 контролерів розряду 2. Дробове значення x2=1.6 відповідає використанню одного з контролерів розряду 2 протягом неповного робочого дня. При неприпустимості неповного завантаження контролерів дробове значення звичайно округляють, отримуючи наближене оптимальне цілочисельне рішення x1=8, x2=2.
Наведемо ще один приклад розв’язку задачі ЛП, але з більшою кількістю змінних ніж 2. Отже, використовуючи графічний метод знайти розв’язок задачі лінійнго програмування в канонічному виді:
f (x) x1 9x2 5x3 3x4 4x5 14x6 min , x1 x4 20,
x2 x5 50, x3 x6 30,
x4 x5 x6 60,
x j 0 , j 1, ,6 .
Використовують цей агоритм, якщо n m 2 , де n – кількість змінних, а обмежень.
Розв’язавши систему обмежень - рівностей відносно базисних змінних отримаємо:
(3.6)
(3.7)
m – кількість
x j ( j 1, ,4 ),
46

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
x1 40 x5 x6 , |
|
||
x2 |
50 x5 , |
(3.8) |
|
x3 |
30 x6 , |
||
|
|||
x4 |
60 x5 x6 . |
|
|
Виключимо з цільової функції змінні x1 , , x4 , і в кінцевому випадку отримаємо: |
|||
f (x) 740 7x5 7x6 . |
(3.9) |
||
З врахуванням умови невід’ємності x j 0 , |
j 1, ,6 , та рівнянь 3.8 та 3.9, отримаємо |
наступну оптимізаційну задачу:
f (x) 740 7x5 7x6 |
min , |
(3.10) |
||
x5 |
x6 |
40, |
|
|
x5 |
50, |
|
|
|
x6 |
30, |
|
|
|
x5 |
x6 |
60, |
|
|
x5 , x6 0.
Застосуємо вже відомий графічний метод до рішення вище сформульованої оптимізаційної задачі ЛП (3.10). Результати розв’язку задачі наведено на рис.3.2.
|
6 |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
||
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
|
A |
|
|
|
|
|
B |
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||||||
30 |
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
20 |
|
|
|
|
|
|
|
|
|
|
|
C |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
10 |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
D |
|
|||
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
10 |
20 |
30 |
40 |
50 |
x5 |
|||||||||
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
Рис.3.2 Результати розв’язку задачі ЛП з шістьма змінними
Отже, точка мінімуму має координати D 50,0 . Тепер підставимо в формули 3.8 x5 50 , x6 0 і отримаємо значення для всіх інших змінних:
x (10,0,30,10,50,0) , |
f 390 . |
3.4.Основи симплекс-методу
3.4.1.Основні поняття та визначення
Змінні x1 ,x2 ,...,xn в рівнянні (3.1), які входять з одиничним коефіцієнтом в одне
рівняння системи і з нульовими – в інші, називаються базисними (або залежними). В канонічній системі кожному рівнянню відповідає рівно одна базисна змінна. Інші змінні n-m
47
Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
(де n - кількість змінних, а m - кількість рівнянь) називаються небазисними або незалежними змінними.
Базисним рішенням системи в канонічному вигляді називається таке рішення, яке отримане при нульових значеннях небазисних змінних. Базисне рішення називається допустимим базисним рішенням, якщо значення базисних змінних, які в нього входять невід’ємні.
Для отримання суміжного допустимого базисного рішення симплекс-метод перетворює одне з базисних рішень в небазисне і вводить одну із небазисних змінних в базис. Необхідно вибрати базисну і небазисну змінні так, щоб заміна однієї на іншу давала максимальний приріст цільової функції при максимізації і зменшення цільової функції при мінімізації оптимізаційної задачі.
3.4.2. Алгоритм симплекс-методу
Алгоритм симплекс-методу включає наступні кроки [7,8]:
Крок 1. Використовуючи лінійну модель стандартної форми задачі ЛП, визначити початкове допустиме базисне рішення шляхом прирівнювання до нуля небазисних n-m змінних.
Крок 2. З числа поточних небазисних (рівних нулю) змінних вибирати змінну, яка буде включена в новий базис і збільшення/зменшення якої забезпечує покращення значення цільової функції. Якщо такої змінної немає, то обчислення припинити, оскільки поточне базисне рішення оптимальне. В іншому випадку здійснюється перехід до кроку 3.
Крок 3. З числа змінних поточного базису вибирати змінну, яка виводиться зі списку базисних змінних і має прийняти нульове значення (стати небазисною) при введенні до складу базисних нової змінної.
Крок 4. Знайти нове базисне рішення, яке відповідає новому списку небазисних і базисних змінних. Здійснюється перехід до кроку 2.
3.4.3. Приклад застосування симплекс-методу до розв’язку задач лінійного програмування
Пояснимо процедури симплекс-методу на прикладі рішення лінійної задачі. Отже, необхідно знайти максимум цільової функції:
z 3x1 2x2 - max,
при виконанні наступних обмежень: x1 2x 2 6,
2x1 x 2 8, .x1 x 2 1, x 2 2.
Спершу необхідно представити цільову функцію і обмеження в стандартній формі, при цьому, вводяться додаткові змінні x3 , x4 , x5 та x6 .
В кінцевому випадку цільова функція та обмеження наберуть вигляду: z 3x1 2x2 0 - max,
x1 2x2 x3 6 ,
48
Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
2x1 x 2 x 4 8,x1 x 2 x5 1, x 2 x 6 2,
x1 , x2 , x3 , x4 , x5 , x6 0.
Як було відзначено вище, як початкове пробне рішення використовується рішення системи рівнянь, в якій дві (= 6 - 4) змінні приймаються рівними нулю. Це забезпечує единість і допустимість рішення задачі. У випадку, що розглядається, очевидно, що підстановка x1 x2 0 відразу ж призводить до наступного результату: x3 6, x4 8, x5 1, x6 2 .
Отримані результати досить зручно зобразити у вигляді наступної таблиці 3.1. Дана таблиця інтерпретується наступним чином. Стовпчик „Базисні змінні‖ містить змінні пробного базису x3 , x4 , x5 , x6 , значення яких наведені в стовпці «Рішення». При цьому, мається на увазі,
що небазисні змінні x1, x2 (не представлені в першому стовпці) рівні нулю. Значення цільової функції (z=3*0+ 2*0+ 0*6+ 0*8+ 0*1+ 0*2) рівне нулю, що і показано в останньому стовпці таблиці.
|
|
|
|
|
|
|
|
|
Табл. 3.1 |
|
|
|
|
|
|
|
|
|
|
Базисні змінні |
z |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
Рішення |
|
z |
1 |
-3 |
-2 |
0 |
0 |
0 |
0 |
0 |
|
|
|
|
|
|
|
|
|
|
|
X3 |
0 |
1 |
2 |
1 |
0 |
0 |
0 |
6 |
X3-рівняння |
X4 |
0 |
2 |
1 |
0 |
1 |
0 |
0 |
8 |
X4-рівняння |
X5 |
0 |
-1 |
1 |
0 |
0 |
1 |
0 |
1 |
X5-рівняння |
X6 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
X6-рівняння |
Для визначення чи є отримане пробне рішення оптимальним, слід провести аналіз z – рівняння. Не важко помітити, що дві змінні x1, x2 , які рівні нулю, включають від’ємні коефіцієнти. Оскільки ми маємо справу з максимізацією цільової функції, то її значення може бути покращене шляхом збільшення як коефіцієнта при x1 , так і x2 . Однак необхідно вибирати від’ємну змінну з найбільшим значенням за абсолютною величиною в z – рівнянні (оскільки практичний досвід обчислень показує, що в цьому випадку оптимум досягається швидше).
Це правило складає основу умови оптимальності вичислювального процесу симплексметоду. Основна ідея цього методу полягає в наступному, якщо в задачі максимізації всі не базисні змінні в z – рівнянні мають не відємні коефіцієнти, то отримане базисне рішення є оптимальним. В іншому випадку в якості нової базисної змінної (змінна яка вводиться в список базисних) необхідно вибрати ту, яка має найбільший за абсолютною величиною від’ємний коефіцієнт.
Застосовуючи умову оптимальності до початкової таблиці, виберемо в якості змінної, яку включаємо в список базисних (в нашому випадку це буде змінна x1 ). Змінна, яка виключається має бути вибрана з сукупності базисних змінних x3 , x4 , x5 , x6 . Процедура вибору
такої змінної передбачає перевірку умови допустимості, яка вимагає, щоб змінна, яка виключається вибиралася із змінних поточного базису і першою перетворювалаль в нуль при збільшенні включаємої змінної x1 , аж до значення, відповідного суміжній екстремальній точці.
Враховуючи вище сказане, необхідно визначити відношення постійної правої частини обмеження до коефіцієнта при зміній x1 для кожного рівняння. Виводиться зі списку базисних
49

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
та змінна, для якої дане відношення має найменше значення. Якщо коефіцієнт при x1 має негативне або нульове значення, то ця базисна змінна виключається з розгляду.
Цікаве нам відношення (фіксуюче шукану точку перетину і що ідентифікує змінну, яка виключається), можна визначити безпосередньо з симплекс-таблиці. Для цього в стовпці, відповідному змінній x1 , що вводиться, викреслюються негативні і нульові елементи обмежень. Потім обчислюються відношення постійних, фігуруючих в правих частинах цих обмежень, до елементів стовпця, які залишилися, відповідної змінної, яку вводять в базис x1 . Змінною, яка виключається буде та змінна поточного базису, для якої вказане вище відношення мінімальне (Див.Табл. 3.2).
Початкова симплекс-таблица для нашої задачі, яку отримаємо після перевірки умови допустимості (тобто після обчислення відповідних відношень та визначення змінної, яку виключаємо) наведена нижче. Для зручності опису вичислювальних процедур, які слід провести на наступній ітерації, введемо ряд необхідних позначень. Стовпчик симплекстаблиці, пов’язаний зі змінною, яка вводиться в базис, будемо називати ведучим стовпчиком. Стрічку, яка відповідає змінній яку виключаємо – ведучою стрічкою, а елемент, який розміщений на перетині ведучої стрічки і ведучого стовпчика – ведучим елементом (відповідні позначення виділені темним кольором в Табл. 3.2).
|
|
|
|
|
|
|
|
|
|
Табл. 3.2 |
|
|
|
|
|
|
|
|
|
|
|
Базисні змінні |
z |
|
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
Рішення |
|
z |
1 |
|
-3 |
-2 |
0 |
0 |
0 |
0 |
0 |
відношення |
|
|
|
|
|
|
|
|
|
|
|
X3 |
0 |
|
1 |
2 |
1 |
0 |
0 |
0 |
6 |
6/1 = 6 |
X4 |
0 |
|
2 |
1 |
0 |
1 |
0 |
0 |
8 |
8/2 = 4 |
X5 |
0 |
|
-1 |
1 |
0 |
0 |
1 |
0 |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
X6 |
0 |
|
0 |
1 |
0 |
0 |
0 |
1 |
2 |
|
Після того, як визначені змінні, що включається і виключається (з використанням умов оптимальності і допустимості), наступна ітерація (пошук нового базисного рішення) здійснюється методом виключення змінних, або методом Гаусса - Жордана. Цей процес зміни базису включає наступні обчислювальні процедури двох типів.
Тип 1 (формування ведучого рівняння).
Нова ведуча стрічка = Попередня ведуча стрічка / Ведучий елемент. Тип 2 (формування всіх інших рівнянь, включаючи z-рівняння).
Нове рівняння = Попереднє рівняння – (Нова ведуча стрічка)*(Коефіцієнт ведучого стовпчика попереднього рівняння).
Виконання процедури типу 1 призводить до того, що в новому ведучому рівнянні ведучий елемент стає рівним одиниці. Внаслідок здійснення процедури типу 2 всі інші коефіцієнти, які фігурують у ведучому стовпці, стають рівними нулю. Це еквівалентно отриманню базисного рішення шляхом виключення змінної, що виводиться з усіх рівнянь, окрім ведучого.
Застосовуючи до початкової таблиці процедуру 1, ми ділимо X4-рівняння на ведучий елемент, тобто рівний 2. Так як у стовпці базисних змінних x1 займає місце змінної X4, вказана процедура приводить до наступних змін початкової симплекс-таблиці (Див.Табл.3.3).
Відмітимо, що в стовпці «Рішення» тепер фігурує нове значення змінної X1(=4), яке дорівнює мінімальній величині відношень, що аналізуються при перевірці умови допустимості.
50

Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
|
|
|
|
|
|
|
|
|
Табл.3.3 |
|
|
|
|
|
|
|
|
|
|
|
|
Базисні змінні |
z |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
Рішення |
|
|
|
|
|
|
|
|
|
|
|
|
|
z |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X3 |
|
|
|
|
|
|
|
|
|
|
X1 |
0 |
1 |
1/2 |
0 |
1/2 |
0 |
0 |
8/2=4 |
|
|
X5 |
|
|
|
|
|
|
|
|
|
|
X6 |
|
|
|
|
|
|
|
|
|
|
Щоб скласти нову симплекс-таблицю, виконаємо необхідні обчислювальні процедури типу 2.
Нове X6-рівняння буде таким же, як і попереднє, оскільки відповідний коефіцієнт ведучого стовпця рівний нулю.
Нова симплекс-таблиця, отримана за допомогою розглянутих операцій наведена в Табл.3.5. При цьому, значення цільової функції z зросло з 0 до 12. Це збільшення зумовлене
тим, що приріст X1 |
на одиницю забезпечує збільшення z на 3 одиниці, таким чином, приріст |
|||||||||||||||||
цільової функції z складає: 3*4 = 12. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл.3.4 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. z-рівняння |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Попереднє z-рівняння: |
( 1 |
|
-3 |
|
-2 |
0 |
0 |
0 |
|
0 |
|
0 ) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-(-3)*Нова ведуча стрічка: |
( 0 |
|
3 |
|
3/2 |
0 |
3/2 |
0 |
|
0 |
|
12 ) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= Нове z-рівняння: |
|
( 1 |
|
0 |
|
-1/2 |
0 |
3/2 |
0 |
|
0 |
|
12 ) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2. X3-рівняння |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Попереднє X3-рівняння: |
( 0 |
|
1 |
|
2 |
|
1 |
0 |
0 |
|
0 |
|
6 ) |
|||||
-(1)*Нова ведуча стрічка: |
( 0 |
|
-1 |
|
-1/2 |
0 |
-1/2 |
0 |
|
0 |
|
-4 ) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= Нове X3-рівняння: |
|
( 0 |
|
0 |
|
3/2 |
1 |
-1/2 |
0 |
|
0 |
|
2 ) |
|||||
3. X5-рівняння |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Попереднє X5-рівняння: |
( 0 |
|
-1 |
|
1 |
|
0 |
0 |
1 |
|
0 |
|
1 ) |
|||||
-(-1)*Нова ведуча стрічка: |
( 0 |
|
1 |
|
1/2 |
0 |
1/2 |
0 |
|
0 |
|
4 ) |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
= Нове X5-рівняння: |
|
( 0 |
|
0 |
|
3/2 |
0 |
1/2 |
1 |
|
0 |
|
5 ) |
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Табл.3.5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Базисні змінні |
z |
|
X1 |
X2 |
X3 |
|
X4 |
|
X5 |
|
X6 |
|
Рішення |
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
z |
1 |
|
0 |
-1/2 |
0 |
|
3/2 |
|
0 |
|
0 |
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
X3 |
0 |
|
0 |
3/2 |
1 |
|
-1/2 |
|
0 |
|
0 |
|
2 |
|
|
2/(3/2)=4/3 |
||
X1 |
0 |
|
1 |
1/2 |
0 |
|
1/2 |
|
0 |
|
0 |
|
4 |
|
|
4/(1/2)=8 |
||
X5 |
0 |
|
0 |
1/2 |
0 |
|
1/2 |
|
1 |
|
0 |
|
5 |
|
|
5/(3/2)=10/3 |
||
X6 |
0 |
|
0 |
1 |
0 |
|
0 |
|
0 |
|
1 |
|
2 |
|
|
2/1=2 |
Відзначимо, що нова симплекс - таблиця володіє такими ж характеристиками, як і попередня: тільки небазисні змінні X1 та X4 рівні нулю, а значення базисних змінних, як і раніше, представлені в стовпці „Рішення‖. Це точно відповідає результатам, що отримуються при використанні методу Гаусса-Жордана.
З останньої таблиці слідує, що на черговій ітерації, відповідно до умови оптимальності, змінну, яку вводимо, потрібно вибрати X2, оскільки коефіцієнт при цій змінній в z-рівнянні рівний -1/2. Виходячи з умови допустимості, визначаємо, що змінна, яка виключається, буде
51
Конспект лекцій Ч.1. Теслюк В.М., Андрійчук М.І. „Методи синтезу та оптимізації”
X3. Відношення, яке фігурує в правій частини таблиці, показує, що в новому базисному рішенні значення змінної X2, що включається, буде дорівнювати 4/3 (= мінімальному відношенню). Це призводить до збільшення цільової функції на (4/3)*(1/2)=2/3.
До отримання нової симплекс-таблиці, на відповідній новій ітерації, приводять наступні обчислювальні операції методу Гаусса -Жордана.
1)Нове ведуче X3-рівняння = Попереднє X3-рівняння / (3/2).
2)Нове z-рівняння = Попереднє z-уразнение - (-1/2) * Нове ведуче рівняння.
3)Нове. X3- Рівняння = Попереднє X3- Рівняння - (1/2) * Нове ведуче рівняння.
4)Нове X5-рівняння = Попереднє X5-Рівняння -(3/2) * Нове ведуче рівняння.
5)Нове X6-рівняння = Попереднє X6-рівняння - (1) * Нове ведуче рівняння. Внаслідок вказаних перетворень отримаємо наступну симплекс-таблицю.
|
|
|
|
|
|
|
|
|
Табл.3.6 |
|
|
|
|
|
|
|
|
|
|
Базисні змінні |
z |
X1 |
X2 |
X3 |
X4 |
X5 |
X6 |
Рішення |
|
z |
1 |
0 |
0 |
1/3 |
4/3 |
0 |
0 |
12 (2/3) |
|
|
|
|
|
|
|
|
|
|
|
X3 |
0 |
0 |
1 |
2/3 |
-1/3 |
0 |
0 |
4/3 |
|
|
|
|
|
|
|
|
|
|
|
X1 |
0 |
1 |
0 |
-1/3 |
2/3 |
0 |
0 |
10/3 |
|
|
|
|
|
|
|
|
|
|
|
X5 |
0 |
0 |
0 |
-1 |
1 |
1 |
0 |
3 |
|
X6 |
0 |
0 |
0 |
-2/3 |
1/3 |
0 |
1 |
2/3 |
|
У новому базисному рішенні x 3 |
1 |
та x 1 |
1 |
. Значення z збільшилося з 12 (попередня |
||||||||
|
|
|||||||||||
|
|
|
|
|
|
|
1 |
3 |
2 |
3 |
||
|
|
|
|
|
|
|
|
|
||||
симплекс-таблиця) |
до 12 |
2 |
(остання симплекс-таблиця). Цей результуючий приріст цільової |
|||||||||
3 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
||
|
2 |
|
|
2 |
|
|
|
|
|
|
|
|
функції 12 |
|
12 |
|
|
зумовлений збільшенням x2 від 0 до 4/3, оскільки з z - стрічки |
|||||||
|
|
|||||||||||
|
3 |
|
|
3 |
|
|
|
|
|
|
|
попередньої симплекс-таблиці слідує, що зростання даної змінної на одиницю відповідає збільшення цільової функції на 1/2.
Таблиця 3.6 відповідає оптимальному рішенню задачі, оскільки в z -рівнянні жодна з небазисних змінних не фігурує з негативним коефіцієнтом. Після отриманням цієї результуючої таблиці завершують обчислювальні процедури симплекс-методу.
В розглянутому вище прикладі, алгоритм симплекс-методу використаний при рішенні задачі, в якій цільова функція підлягала максимізації. У разі мінімізації цільової функції в цьому алгоритмі необхідно змінити тільки умову оптимальності: в якості нової базисної змінної потрібно вибирати ту змінну, яка в z – рівнянні має найбільший додатній коефіцієнт. Умови допустимості в двох випадках (максимізації та мінімізації) однакові. Доцільно дати кінцеве формулювання обох умов, які використовуються в симплекс-методі.
Ум о в а о п т и м а л ь н о с т і. Змінною, яку вводять в базис у задачі максимізації (мінімізації) є та небазисна змінна, яка має в z – рівнянні найбільший від’ємний (додатній) коефіцієнт. У випадку рівності таких коефіцієнтів для декількох небазисних змінних вибір проводиться випадково. Якщо усі коефіцієнти при небазисних змінних в z – рівнянні не від’ємні (не додатні), то отримане рішення – оптимальне[7].
Ум о в а д о п у с т и м о с т і. В задачах максимізації і мінімізації в якості змінної, яка виключається, вибирається та базисна змінна, для якої відношення постійної в правій частині відповідного обмеження до (додатнього) коефіцієнта ведучого стовпчика мінімальне. У випадку рівності цього відношення для декількох базисних змінних вибір проводиться випадково[7].
52