 
        
        Lektsiyi_Ukhanska_1
.pdf| 2. Введемо додаткові змінні | 
 | x5 | , x6 | , x7 0 .Замість змінної | |||||||||||||||||||||||||
| умови невід’ємності, введемо | x2 | 
 | 
 | 
 | 
 | 
 | 
 | / | 
 | // | / | 
 | // | 0 . | |||||||||||||||
| x2 | x2 , | x2 | , x2 | 
 | |||||||||||||||||||||||||
| L | 2x | 
 | 3 x | / | x | // | 4x | x | 
 | max | 
 | 
 | 
 | 
 | |||||||||||||||
| 
 | 2 | 2 | 4 | 
 | 
 | 
 | 
 | ||||||||||||||||||||||
| 
 | 1 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 3 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 2x | 
 | 
 | 
 | 
 | 
 | x | 3 | 
 | 
 | 2x | 4 | 
 | x | 5 | 
 | 
 | 3 | ||||||||||
| 
 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| 
 | 
 | x | 2 x / x // | 
 | x | 3 | x | 4 | 
 | 
 | x | 6 | 
 | 
 | 2 | ||||||||||||||
| 
 | 
 | 1 | 
 | 2 | 
 | 
 | 2 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| 
 | 3x | 
 | 
 | 
 | 
 | 
 | x | 
 | 
 | 2x | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x | 
 | 
 | 5 | ||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 3 | 
 | 4 | 
 | 
 | 
 | 
 | 7 | 
 | |||||||||||||||
| 
 | 1 | x | 
 | x | 
 | 
 | 
 | 
 | 
 | 
 | 
 | x | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 2 | ||||||||
| 
 | 
 | 
 | / | // | 
 | 2x | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||
| 
 | 
 | 
 | 
 | 2 | 
 | 2 | 
 | 
 | 
 | 
 | 
 | 
 | 3 | 
 | 
 | 
 | 4 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 
 | x 0, i 1,3,4,5,6,7, | 
 | x | / | , x | // | 0. | 
 | 
 | 
 | 
 | 
 | |||||||||||||||||
| 
 | 
 | 2 | 2 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||||||||
| 
 | 
 | i | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| x | 2 | 
| 
 | 
, на яку не накладено
§ 1.3. Властивості розв’язків задач лінійного програмування.
де
Запишемо задачу (1.1)-(1.3) у матричному вигляді
| 
 | 
 | L X C X max | 
 | 
 | 
 | 
 | 
 | |||||
| 
 | 
 | A X b | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| 
 | 
 | X 0 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | a | a | ... | a | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 11 | 12 | 
 | 1n | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| b P | , | A | a21 | a22 | ... | a2n | C c | ,..., c | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | , | n | ||||||
| 0 | 
 | 
 | ... ... ... ... | 
 | 1 | 
 | 
 | |||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | am 2 | ... | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | am1 | amn | 
 | 
 | 
 | 
 | ||||
(1.6)
Нагадаємо означення опуклої множини.
Означення 1. Множина точок n-вимірного простору, яка містить разом із будь-якими двома точками А і В всі точки відрізка АВ , називається опуклою множиною.
Внутрішньою називається точка множини, для якої існує ε-окіл, що містить лише точки даної множини. Граничною називається точка, для якої існує ε-окіл, що містить як точки даної множини, так і ті, які не належать множині.
Означення 2. Граничні точки, які не лежать всередині відрізка, що з’єднує дві інші точки множини, називаються вершинами ( кутовими точками або крайніми точками ).
10
Якщо множина Z X 1 Y Q, 0X Y Q, 1,
Q0,
n-вимірного
| 1, | або | 
| 0 . | 
 | 
простору є
в
| опуклою і | X | 
загальному
Q, Y
Q , то
випадку
| Теорема 1. | Множина всіх планів задачі лінійного програмування (1.6) є опуклою. | ||||
| Доведення. | ► Нехай X1 , X 2 - будь-які два плани задачі. Доведемо, що опукла комбінація | ||||
| цих планів | X X1 | 1 X 2 , 0 1 є також планом. | Оскільки | X1 , X 2 - плани, то | |
| AX1 b, AX 2 b . | Тоді | AX A X1 1 X 2 AX1 | 1 AX | 2 b 1 b b , | |
| тобто X задовольняє умову (1.6)2 . Крім того X 0, оскільки X1 0, X 2 0, 0 1. | |||||
| Отже, X – план задачі. ◄ | 
 | 
 | 
 | ||
| Як бачимо, для будь-яких двох планів їх опукла комбінація також є планом. | |||||
| Теорема 2. | Будь-який | опорний план задачі лінійного | програмування визначається | ||
вершиною опуклого многокутника.
Таким чином, пошук оптимального плану задачі лінійного програмування можна обмежити перевіркою вершин опуклої множини планів задачі.
Теорема 3. ( Критерій крайності точки опуклої множини ). Для того щоб точка
| X x1 ,..., xn | опуклої множини планів задачі лінійного програмування була | |||
| вершиною (крайньою точкою) необхідно і достатньо, щоб вектори | P | j , які | ||
| 
 | ||||
| відповідають | додатним компонентам | x j , утворювали лінійно незалежну | ||
| систему. | 
 | 
 | 
 | 
 | 
Наслідок. Кожній вершині множини планів задачі лінійного програмування відповідає m
лінійно незалежних векторів із системи векторів P1 , P2 ,..., Pn .
§ 1.4. Графічний метод розв’язування задач лінійного програмування.
Графічний метод використовують для розв’язування задач лінійного програмування з двома (трьома) змінними.
Нехай треба знайти max (min) лінійної функції
11
 
1.
2.
| L c1 x1 c2 x2 c0 | (1.7) | |||
| ai1 x1 | ai 2 x2 | bi | i 1, m | (1.8) | 
| x1 , x2 | 0 . | 
 | 
 | 
 | 
Розв’язок задачі шукаємо у такій послідовності:
На площині x1 , x2 будуємо многокутник розв’язків, тобто ті точки площини, що задовольняють умови (1.8).
Знаходимо оптимальну точку, яка розміщена у вершині многокутника. Для цього
використовуємо вектор нормалі
n
| c | , c | 
 | 
 | L | , | L | |
| 2 | 
 | 
 | 
 | 
 | |||
| 1 | 
 | 
 | x | 
 | x | 
 | |
| 
 | 
 | 
 | 
 | 
 | 2 | ||
| 
 | 
 | 
 | 1 | 
 | 
 | ||
  
, який є перпендикулярним
| до лінії рівня, що задається рівнянням c0 c1 x1 | c2 x2 const . ( Нагадаємо, що | 
| лінією рівня функції z z x1 , x2 називають лінію | z x1 , x2 const . Якщо z x1 , x2 - | 
лінійна функція, то лінії рівня є паралельні прямі). Лінію рівня ще називають гіпер-
прямою. Отже, проводимо через многокутник розв’язків гіпер-пряму,
| перпендикулярну до вектора нормалі n . | При паралельному перенесенні гіпер- | |
| прямої у напрямку у напрямку вектора | n | значення цільової функції зростає. | 
Знаходимо вершину многокутника, в якій досягається найбільше значення функції
L (для знаходження точки мінімуму гіпер-пряму треба переміщувати у напрямку,
| протилежному до | n ). | 
 | Лінії рівня (гіпер-прямі), що проходять через оптимальні | ||||
| вершини многокутників розв’язків, називають опорними (оптимальними). | |||||||
| 3. Обчислюємо | оптимальні значення. Знаходимо | координати точки | максимуму | ||||
| (мінімуму), | отримані | 
 | значення підставляємо у | рівність (1.7) і | обчислюємо | ||
| Lmax Lmin . | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| Приклад. Знайти максимальне і мінімальне значення функції | 
 | ||||||
| 
 | L 10 3x1 2x2 | 
 | 
 | ||||
| при обмеженнях | 
 | 
 | 
 | 
 | 
 | ||
| 
 | 2x | 3x | 2 | 18 | 
 | 
 | |
| 
 | 
 | 1 | 
 | 
 | 
 | 
 | |
| 
 | 2x | x | 
 | 10 | 
 | 
 | |
| 
 | 
 | 2 | 
 | 
 | |||
| 
 | 1 | 
 | 
 | 
 | 
 | ||
x1 , x2 0
Побудуємо многокутник розв’язків (ACBO).
12
 
x2 
| 
 | 
 | n | |
| 
 | A | 
 | |
| 
 | 
 | C | |
| 2 | 
 | 
 | |
| O | 
 | B | |
| 2 | x1 | ||
| 
 | |||
| 
 | 
 | 
| 
 | Рис.1.1. | 
 | 
 | 
| Будуємо вектор нормалі | n 3;2 | і гіпер-пряму | 3x1 2x2 10 0 . Переміщуючи | 
| гіпер-пряму в напрямку нормалі | n до перетину з останньою вершиною многокутника, | ||
знаходимо, що максимум досягається в точці С(3;4), а мінімум – в точці О. Обчислюємо оптимальні значення:
| L | max | L C 7; | L | min | L O 10. | 
 | 
| 
 | 
 | 
 | 
 | 
 | ||
| Зауважимо, що при розв’язуванні задач лінійного програмування графічним | ||||||
| методом, область допустимих планів може мати вигляд | 
 | |||||
| x2 | 
 | 
 | 
 | 
 | x2 | 
 | 
| 
 | 
 | n | 
 | 
 | A | n | 
| 
 | 
 | 
 | 
 | 
 | ||
| 
 | B | 
| x1 | x1 | 
| Рис.1.2 | Рис.1.3 | 
x2
x2 n
| 
 | x1 | x1 | 
| 
 | 
 | |
| Рис.1.4. | 
 | Рис.1.5. | 
13
 
x2
x1
Рис.1.6.
З рис.1.2 бачимо, що задача має єдиний розв’язків (гіперпряма паралельна до сторони AB
зверху; рис.1.5 – задача несумісна; рис.1.6 –
допустимих значень складається з однієї точки).
розв’язок; рис.1.3 – задача має безліч
); рис.1.4 – цільова функція необмежена задача має єдиний розв’язок (область
§ 1.5. Симплексний метод розв’язування задач лінійного програмування .
Симплексний метод ( метод послідовного покращення плану ) є універсальним методом розв’язування задачі лінійного програмування, записаної у канонічній формі.
Суть методу полягає у послідовному переході від одного опорного плану до іншого так,
що значення лінійної форми весь час зростає (при умові, що задача має оптимальний розв’язок і всі опорні плани невироджені).
Розглянемо задачу лінійного програмування, записану в канонічній формі (1.1)-
(1.3). Спочатку приведемо систему обмежень (1.2) до одиничного базису і припустимо для визначеності, що цей базис складається з перших m стовпців. Тобто система обмежень
(1.2) матиме вигляд
| x1 a1m 1 xm 1 ... | a1n xn b1 | ||||||||||
| 
 | 
 | a2 m 1 xm 1 | a2 n xn b2 | ||||||||
| x2 | |||||||||||
| .......... .......... .......... .......... ........ | |||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| x | m | a | m m 1 | x | m 1 | ... | a | m n | x | n | b | 
| 
 | 
 | 
 | 
 | 
 | 
 | m | |||||
| x | j | 0, | 
| 
 | 
 | 
j
1, n
.
14
 
Запишемо тепер задачу лінійного програмування у вигляді
де
| 
 | 
 | 
 | 
 | 
 | 
 | n | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | L c j x j | max | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | (1.9) | ||||||
| 
 | 
 | 
 | 
 | 
 | 
 | j 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | P1 x1 P2 x2 | .... Pn xn P0 . | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | (1.10) | ||||||||||
| 
 | 
 | 
 | x | j | 0, | j 1, n | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 1 | 
 | 
 | 
 | 0 | 
 | 
 | 
 | 0 | 
 | 
 | 
 | 
 | 
 | 1m 1 | 
 | 
 | 
 | 
 | 
 | 1n | 
 | 
 | 
 | b | 
 | |||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | a | 
 | 
 | 
 | 
 | a | 
 | 
 | 
 | 
 | 1 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||
| 
 | 
 | 0 | 
 | 
 | 
 | 
 | 1 | 
 | 
 | 
 | 
 | 0 | 
 | 
 | 
 | a2 m 1 | 
 | 
 | 
 | a2 n | 
 | 
 | b2 | 
 | |||||||
| P | 
 | 0 | 
 | P | 
 | 
 | 
 | , | , P | 
 | 
 | 
 | , | P | 
 | 
 | a | 
 | 
 | P | 
 | 
 | a | 
 | 
 | P | 
 | 
 | 
 | 
 | |
| 
 | , | 
 | 0 | 
 | 0 | 
 | 
 | , | 
 | 
 | , | 
 | b . | ||||||||||||||||||
| 1 | 
 | 
 | 
 | 2 | 
 | 
 | 
 | m | 
 | 
 | 
 | m 1 | 
 | 
 | 3 m 1 | 
 | n | 
 | 
 | 3 n | 
 | 0 | 
 | 3 | 
 | ||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||
| 
 | 
 | ... | 
 | 
 | 
 | 
 | ... | 
 | 
 | 
 | 
 | ... | 
 | 
 | 
 | ... | 
 | 
 | 
 | 
 | ... | 
 | 
 | 
 | 
 | ... | |||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | 
 | 0 | 
 | 
 | 
 | 
 | 
 | 0 | 
 | 
 | 
 | 
 | 1 | 
 | 
 | 
 | am m 1 | 
 | 
 | 
 | am n | 
 | 
 | bm | |||||||
| Припустимо, що всі bi 0 | i 1, m . Поклавши вільні невідомі xm 1 | ,..., xn рівними нулю, із | ||||||||||
| співвідношення | (1.10) | знаходимо, | що базисний | опорний | план | має | вигляд | |||||
| X | 0 | b1 ,b2 ,..., bm | ,0,0,...,0 | і значення | лінійної форми L для опорного плану | дорівнює | ||||||
| 
 | ||||||||||||
| 0 | 
 | L X | 0 | c1b1 | ... cmbm . | 
 | 
 | 
 | 
 | 
 | ||
| L | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| 
 | 
 | 1. Побудова опорних планів задачі лінійного програмування. | 
 | 
 | 
 | |||||||
| Нехай | X x1 , x2 ,..., xm ,0,...,0 , x j 0 | j 1, m - деякий | невироджений | опорний план | ||||||||
задачі. Тоді виконується співвідношення (1.10). Невиродженому опорному планові
| відповідає система лінійно незалежних | векторів P1 ,..., Pm , | які | утворюють базис в m- | |||||||||||||||||||||
| вимірному просторі. Тому кожен вектор | Pj | із системи векторів | P1 ,..., Pn можна єдиним | |||||||||||||||||||||
| чином розкласти за векторами базису, наприклад, | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||||||||
| Pj x1 j P1 x2 j P2 | ... xmj Pm | 
 | j | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||
| 
 | 1, n | 
 | 
 | 
 | 
 | 
 | (1.11) | 
 | ||||||||||||||||
| Припустимо, що для деякого вектора, наприклад | Pk ,який не належить до базису, хоча б | |||||||||||||||||||||||
| один із коефіцієнтів xik у розкладі Pk | x1k P1 | x2k P2 ... xmk Pm є додатним. Помножимо | ||||||||||||||||||||||
| обидві частини останньої рівності на деяке число θ і віднімемо від (1.10): | 
 | 
 | 
 | 
 | ||||||||||||||||||||
| x1 x1k P1 | x2 | x2k P2 | ... xm xmk Pm Pk | P0 . | 
 | 
 | 
 | 
 | ||||||||||||||||
| Це означає, що вектор | X / | x x | , x | 2 | x | 2k | ,..., x | m | x | mk | , 0,..., 0, , 0,..., 0 у випадку | |||||||||||||
| 
 | 
 | 
 | 
 | 1 | 1k | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| невід’ємності своїх компонент буде також планом. Очевидно, що компоненти вектора | X | / | ||||||||||||||||||||||
| 
 | ||||||||||||||||||||||||
| будуть невід’ємними при умові, що 0 і | xi xik | 0 для всіх i | , для яких | xik | 0 . | |||||||||||||||||||
| Звідси 0 | xi | . Тому при будь-якому θ, | що задовольняє умову | 0 min | xi | 
 | , де | |||||||||||||||||
| 
 | xik | |||||||||||||||||||||||
| 
 | xik | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | i | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| мінімум береться по тих i, для яких | x | ik | 0 , вектор | 
 | X / буде новим планом. Оскільки | |||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
15
 
| новий план повинен бути опорним, то θ треба вибрати так, щоб план | X | / | мав не більше, | 
| 
 | 
| ніж m додатних компонент. Якщо прийняти 0 | min | x | i | , де мінімум береться по тих i, | |||||||||||||||||||||
| 
 | 
 | ||||||||||||||||||||||||
| x | 
 | 
 | |||||||||||||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | i | 
 | ik | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| для яких | xik | 0 , то принаймні одна з перших m компонент вектора | X | / | буде дорівнювати | ||||||||||||||||||||
| 
 | |||||||||||||||||||||||||
| нулю. Нехай мінімум досягається при i l , тобто | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | min | x | 
 | x | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | i | 
 | 
 | l | . | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 0 | i | x | 
 | x | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | lk | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | ik | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| Тоді | при | 
 | 0 | 
 | 
 | 
 | 
 | новий | план | 
 | 
 | 
 | 
 | 
 | X | / | матиме | вигляд | |||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||||||||
| X | / | / | / | 
 | / | / | 
 | / | , 0,..., 0, 0 , 0,...,0 , де | / | xi | 0 xik | i 1,..., l 1,l 1,..., m . | ||||||||||||
| 
 | x1 , x2 ,..., xl 1 , 0, xl 1 | ,..., xm | xi | ||||||||||||||||||||||
| Перехід до нового опорного плану здійснено шляхом введення в базис вектора Pk | замість | ||||||||||||||||||||||||
| Pl | . Аналогічно можна перейти до наступного опорного плану. | 
 | 
 | 
 | 
 | ||||||||||||||||||||
| Зауваження 1. Ми припускали, що серед компонент | 
 | xik | у співвідношенні (1.11) є хоча б | ||||||||||||||||||||||
один додатний. Якщо ця умова не виконується , то лінійна форма на множині планів є необмеженою.
Зауваження 2. Якщо оптимальний план вироджений, то можливо, що ми не зможемо при обраному векторі Pk , який вводимо в базис, перейти до нового опорного плану. У цьому випадку треба спробувати ввести в новий базис інший вектор або змінити базис, що відповідає X.
2. Теоретичні основи симплекс-методу.
Задача лінійного програмування має скінчене число опорних планів і після скінченого
числа ітерацій процес послідовного покращення розв’язку повинен обірватися. Це означатиме, що знайдено найкращий опорний розв’язок, при якому цільова функція
| досягає максимуму. Проте, якщо функція | L | необмежена в області допустимих розв’язків, | 
то отриманий опорний розв’язок є лише найкращим серед опорних, але не оптимальним
L . Виникає питання, чи можна про це довідатися в процесі виконання послідовних ітерацій. Відповідь на ці запитання дають теореми, які є основними для симплексного
методу.
Покладемо
| m | 
 | 
 | 
 | j | 
 | 
 | 
 | 
 | 
 | 
 | 
| z j ci xij , | j z j | c j | 1, n | 
 | 
 | 
 | 
 | |||
| i 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| ( xij - координати розкладу вектора | Pj | через вектори базису P1 ,..., Pm ). Оскільки базис | ||||||||
| 
 | 
 | 
 | 
 | 
 | m | 
 | j | 
 | . | |
| утворюють одиничні вектори, то xij aij , | 
 | j ci aij | c j | 1, n | ||||||
i 1
16
 
Теорема 1. (Ознака оптимальності опорного плану).
Якщо
| 
 | j | 0 | 
| 
 | 
 | 
j
1,
n
, то опорний план є оптимальним.
Теорема 2. (Ознака необмеженості лінійної форми на множині планів).
Якщо
| 
 | j | 0 | 
| 
 | 
 | 
для деякого j k і всі
| a | ik | 
| 
 | 
0
, то для заданої задачі цільова
функція
L
необмежена зверху.
Теорема 3. (Ознака переходу до нового опорного плану).
| Якщо j | 0 | для деякого j k , але серед коефіцієнтів aik | є | 
| додатний, | то | можна перейти до нового опорного плану | X | 
L X / L X , якщо опорний план невироджений.
Результати послідовних ітерацій симплексних перетворень зручно вигляді таблиць, які називаються симплексними таблицями.
хоча б один
/ , для якого
записувати у
| 
 | 
 | 
 | 
 | с1 | с2 | ... | сm | cm+1 | … | 
 | ck | … | cn | |
| № | Б | Сб | P0 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| P1 | P2 | … | Pm | Pm+1 | … | 
 | Pk | … | Pn | |||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 1 | P1 | с1 | b1 | 1 | 0 | … | 0 | a1m+1 | … | 
 | a1k | … | a1n | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 2 | P2 | с2 | b2 | 0 | 1 | … | 0 | a2m+1 | … | 
 | a2k | … | a2n | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| … | … | … | ... | … | … | … | … | … | … | 
 | … | … | … | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| r | Pr | cr | br | 0 | 0 | … | 0 | ar m+1 | … | 
 | ar k | 
 | … | ar n | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| … | … | … | … | … | … | … | … | … | … | 
 | … | … | … | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| m | Pm | cm | bm | 0 | 0 | … | 1 | amm+1 | … | 
 | amk | … | amn | |
| m+1 | 
 | 
 | L0 | 0 | 0 | … | 0 | m+1 | … | 
 | k | … | n | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
В перших m рядках симплекс-таблиці розміщені вектори базису ( стовпець Б ),
| відповідні компоненти лінійної | форми ( | стовпець | Сб ), компоненти | опорного | плану | ||||
| 
 | 
 | 
 | 
 | 
 | Pj j | 
 | через | 
 | 
 | 
| (стовпець | Р0), коефіцієнти | aij | розкладів | векторів | 1, n | вектори | базису | ||
| (стовпці | P1 ,..., Pn ). В останньому рядку симплекс-таблиці записуємо значення лінійної | ||||||||
| форми, що відповідає розглянутому опорному планові і різниці | 
 | j | j 1, n | . | 
| 
 | 
 | 
Якщо після побудови першої симплекс-таблиці виявилось, що виконуються умови першої або другої теореми, то розв’язування задачі припиняється. Якщо виконуються
17
 
умови третьої теореми, то будуємо нову симплекс-таблицю і переходимо до нового опорного плану.
Для переходу до нового опорного плану необхідно один вектор вивести з базису і на його місце ввести новий, який не належав до базису. Цей новий вектор визначається
| найбільшим по модулю від’ємним значенням | j | . Якщо таких j | декілька, то вибираємо | |||||||
| те, для якого c j | максимальне. Якщо max j | k | , то вводимо в базис вектор Pk . Вектор, | |||||||
| 
 | 
 | j | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| який виводиться з базису, | визначається величиною min | bi | 
 | br | , | де мінімум береться по | ||||
| aik | 
 | |||||||||
| 
 | 
 | 
 | 
 | 
 | i | 
 | ark | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| тих i , для яких | aik 0 . | Стовпець з номером | 
 | k , рядок з номером r і елемент ark | ||||||
називаються відповідно ключовим (або розв’язуючим) стовпцем, рядком та елементом.
Опорний план, що відповідає новому базисові, матиме координати, які визначаються за формулами
| 
 | 
 | 
 | 
 | 
 | 
 | b | , | 
 | 
 | i r | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | i | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| b | / | 
 | 
 | 
 | 
 | a | rk | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| i | 
 | b a | 
 | b a | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | , | i r | ||||
| 
 | 
 | 
 | i | rk | 
 | 
 | r | ik | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | a | rk | 
 | 
 | 
 | 
 | 
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | a | ij | , | 
 | 
 | 
 | i r | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||
| / | 
 | 
 | 
 | 
 | 
 | a | rk | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| aij | a | 
 | a | 
 | a | 
 | a | 
 | 
 | 
 | ||||
| 
 | 
 | ij | rk | rj | ik | , | i r | |||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | a | rk | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
Нове значення цільової функції обчислюють за формулою
| 
 | 
 | 
 | m | 
 | 
 | 
| / | 
 | 
 | c b | / | |
| L | 0 | 
 | |||
| 
 | 
 | i | i | ||
| 
 | 
 | 
 | i 1 | 
 | 
 | 
.
При розв’язуванні вихідної задачі припускалось, що всі опорні плани не вироджені
( bi 0 ). Якщо серед опорних планів задачі лінійного програмування є вироджені, то при переході від одного виродженого плану до іншого може статися так, що опорний план не зміниться, а зміниться лише базис, що йому відповідає. Такий перехід може відбутися декілька разів. Якщо при цьому ми повертаємося до базису, що вже мав місце, то в алгоритмі симплексного методу утворюється цикл (відбувається зациклення). У цьому випадку доводиться використовувати спеціальні додаткові прийоми виходу з циклу. В
реальних умовах таких задач майже не зустрічається.
Приклад. Знайти найбільше значення лінійної функції L 3x1 2x2 на множині невід’ємних розв’язків системи нерівностей
18
 
| 2x | 3x | 2 | 12 | |||
| 
 | 
 | 1 | 
 | 
 | 
 | |
| 
 | 2x | 
 | x | 
 | 4 | |
| 
 | 
 | 
 | 2 | |||
| 
 | 1 | 
 | 
 | |||
| x | i | 0, i 1,2 | ||||
| 
 | 
 | 
 | 
 | 
 | 
 | |
Зведемо задачу до канонічного вигляду
| L 3x | 2x | 2 | 
 | max | |||||||||
| 
 | 
 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 2x | 3x | 2 | x | 3 | 
 | 12 | |||||||
| 
 | 
 | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||
| 2x | x | 
 | 
 | 
 | 
 | 
 | 
 | x | 
 | 4 | |||
| 
 | 2 | 
 | 
 | 
 | 
 | 
 | 4 | ||||||
| 
 | 1 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | ||||||
| xi | 0, | i 1,4 | 
 | 
 | 
 | ||||||||
Оскільки ранг матриці системи обмежень дорівнює 2, то матимемо два базисні вектори. За
| базисні змінні приймемо | x | 3 | , x | 4 | ( | P , P | базисні вектори ), а змінні | x | , x | 2 | є вільними. | ||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 3 | 4 | 
 | 
 | 
 | 
 | 
 | 
 | 1 | 
 | 
 | 
 | |||
| Запишемо першу симплекс-таблицю: | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
| 
 | № | 
 | 
 | Сб | 
 | 
 | Р0 | 
 | 3 | 
 | 2 | 0 | 
 | 0 | 
 | 
 | 
 | 
 | |||
| 
 | Б | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||
| 
 | 
 | 
 | 
 | Р1 | Р2 | Р3 | Р4 | 
 | 
 | 
 | 
 | ||||||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |||||||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 1 | Р3 | 
 | 0 | 
 | 
 | 
 | 12 | 
 | 2 | 
 | 3 | 1 | 
 | 0 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | |
| 
 | 2 | Р4 | 
 | 0 | 
 | 
 | 
 | 4 | 
 | 
 | 2 | 
 | -1 | 0 | 
 | 1 | 
 | 
 | 
 | 
 | |
| 
 | 3 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 0 | 
 | -3 | -2 | 0 | 
 | 0 | 
 | 
 | 
 | 
 | ||
| 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
 | 
L0
L
Початковий опорний план має вигляд
X 0 0 . Обчислимо значення j
| X | 0 | 
| 
 | 
(0, 0,12, 4)
. Значення лінійної форми
| 1 0 2 0 2 3 3, 2 0 3 0 ( 1) 2 2, 3 4 0 . | 
 | |
| Згідно з теоремою 3 можна перейти до нового опорного плану ( | j 0 , а серед | |
| коефіцієнтів у відповідному стовпці є додатні ). Оскільки max j 1 | 3 , то в базис | |
| 
 | j | 
 | 
| необхідно ввести вектор P1 . Визначимо, який вектор потрібно вивести з базису. Складемо | ||
| відношення вільних членів ( чисел стовпчика | P0 ) до відповідних | додатних чисел | 
ключового стовпчика ( P1 ): 12/2=6, 4/2=2 і вибираємо з них найменше. Отже, елемент 2, що стоїть на перетині стовпця P1 і рядка P4 , буде ключовим, а з базису необхідно вивести вектор P4 . Переходимо до наступної ітерації.
Кожен елемент ключового рядка (2), починаючи зі стовпчика P0 , ділимо на ключовий елемент 2 і результат записуємо в нову таблицю у другий рядок. До елементів першого рядка старої таблиці, починаючи зі стовпчика P0 , додаємо відповідні елементи
19
