Professional Documents
Culture Documents
ДОМО Тема 2. Загальна ЗЛП УКР PDF
ДОМО Тема 2. Загальна ЗЛП УКР PDF
∑ 𝑎𝑖𝑗 𝑥𝑗 ≤ 𝑏𝑖 (𝑖 = ̅̅̅̅̅
1, 𝑘 ), (2)
𝑗=1
Тема 2. Загальна задача лінійного програмування та деякі з методів розв’язання
∑ 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 (𝑖 = ̅̅̅̅̅̅̅̅̅̅̅
𝑘 + 1, 𝑚), (3)
𝑗=1
𝑥𝑗 ≥ 0, (𝑗 = ̅̅̅̅
1, 𝑙, 𝑙 ≤ 𝑛), (4)
де 𝑎𝑖𝑗 , 𝑏𝑖 , 𝑐𝑗 – задані постійні величини та 𝑘 ≤ 𝑚.
перетвориться в обмеження-рівність
а обмеження-нерівність
𝐹 = ∑ 𝑐𝑗 𝑥𝑗 → 𝑚𝑎𝑥
𝑗=1
за умов ∑𝑛𝑗=1 𝑎𝑖𝑗 𝑥𝑗 = 𝑏𝑖 , (𝑖 = ̅̅̅̅̅̅
1, 𝑚), 𝑥𝑗 ≥ 0, (𝑗 = ̅̅̅̅̅
1, 𝑛).
Перепишемо цю задачу в векторній формі: знайти максимум
функції
𝐹 = 𝐶𝑋 (5)
за умов
𝑥1 𝑃1 + 𝑥2 𝑃2 + ⋯ + 𝑥𝑛 𝑃𝑛 = 𝑃0 ; (6)
𝑋≥0 (7)
1 0 𝑎1 𝑛 𝑏1
0 1 𝑎2 𝑛 𝑏
𝑃1 = ( ) ; 𝑃2 = ( ) ; … ; 𝑃𝑛 = ( … ) ; 𝑃0 = ( 2 )
… … …
0 0 𝑎𝑚 𝑛 𝑏𝑚
Тема 2. Загальна задача лінійного програмування та деякі з методів розв’язання
2.4. Симплекс-метод
𝐹 = ∑ 𝑐𝑗 𝑥𝑗 → 𝑚𝑎𝑥
𝑗=1
за умов
Тема 2. Загальна задача лінійного програмування та деякі з методів розв’язання
𝑥1 𝑃1 + 𝑥2 𝑃2 + ⋯ + 𝑥𝑚 𝑃𝑚 + ⋯ + 𝑥𝑛 𝑃𝑛 = 𝑃0 ;
𝑥𝑗 ≥ 0, (𝑗 = ̅̅̅̅̅
1, 𝑛),
де
1 0 0 𝑎1 𝑚+1
0 1 0 𝑎2 𝑚+1
𝑃1 = ( ) ; 𝑃2 = ( ) ; 𝑃𝑚 = ( ) ; 𝑃𝑚+1 = ( … ) ;
… … …
0 0 1 𝑎𝑚 𝑚+1
𝑎1 𝑛 𝑏1
𝑎2 𝑛 𝑏
𝑃𝑛 = ( … ) ; 𝑃0 = ( 2 ).
…
𝑎𝑚 𝑛 𝑏𝑚
Оскільки 𝑏1 𝑃1 + 𝑏2 𝑃2 + ⋯ + 𝑏𝑚 𝑃𝑚 = 𝑃0 , то за визначенням опорного
плану 𝑋 = (𝑏1 ; 𝑏2 ; … ; 𝑏𝑚 ; 0; . . . ; 0) є опорним планом даної задачі
(останні 𝑛 − 𝑚 компонент вектора 𝑋 дорівнюють нулю). Цей план
визначається системою одиничних векторів 𝑃1 , 𝑃2 , … , 𝑃𝑚 , які утворюють
базис 𝑚-вимірного простору. Тому кожен з векторів 𝑃1 , 𝑃2 , … , 𝑃𝑚 , а також
вектор 𝑃0 можуть бути подані у вигляді лінійної комбінації векторів
даного базису.
Нехай 𝑧𝑗 = ∑𝑚 ̅̅̅̅̅ ̅̅̅̅̅
𝑖=1 𝑐𝑖 𝑥𝑖𝑗 , (𝑗 = 1, 𝑛); ∆𝑗 = 𝑧𝑗 − 𝑐𝑗 , (𝑗 = 1, 𝑛). Оскільки
вектори 𝑃1 , 𝑃2 , … , 𝑃𝑚 – одиничні, то 𝑥𝑖𝑗 = 𝑎𝑖𝑗 і 𝑧𝑗 = ∑𝑚
𝑖=1 𝑐𝑖 𝑎𝑖𝑗 , а
∆𝑗 = ∑ 𝑐𝑖 𝑎𝑖𝑗 − 𝑐𝑗 , (𝑗 = ̅̅̅̅̅
1, 𝑛) (11)
𝑖=1
Опорний план 𝑋 = (𝑥1∗ , 𝑥2∗ , . . . , 𝑥𝑚
∗ ∗
; 0; 0; . . . ; 0) задачі є оптималь-
ними, якщо ∆𝑗 ≥ 0 для будь-якого 𝑗 (𝑗 = ̅̅̅̅̅
1, 𝑛).
Дослідження опорного плану на оптимальність і подальший
обчислювальний процес зручніше вести у вигляді симплекс-таблиці, як
це показано в табл. 7, де перші 𝑚 рядків визначаються вихідними
даними задачі, а показники (𝑚 + 1) -го рядка обчислюють. У цьому рядку
в стовпці вектора 𝑃0 записують значення цільової функції, якого вона
набуває за даного опорного плану 𝐹0 = ∑𝑚 𝑖=1 𝑐𝑖 𝑏𝑖 , а в стовпці вектора 𝑃𝑗 –
значення ∆𝑗 = 𝑧𝑗 − 𝑐𝑗 .
Таблиця 7
Симплекс-таблиця
Тема 2. Загальна задача лінійного програмування та деякі з методів розв’язання
c1 c2 … cr … cm cm+1 … ck … cn
i Базис Сб P0
P1 P2 … Pr … Pm Pm+1 … Pk … Pn
1 P1 c1 b1 1 0 … 0 … 0 a1m+1 … a1k … a1n
2 P2 c2 b2 0 1 … 0 … 0 a2m+1 … a2k … a2n
… … … … … … … … … … ... … … … …
r Pr cr br 0 0 … 1 … 0 arm+1 … ark … arn
… … … … … … … … … … … … … … …
m Pm cm bm 0 0 … 0 … 1 amm+1 … amk … amn
m+ F0
0 0 … 0 … 0 ∆m+1 … ∆k … ∆n
1
всіх 𝑎𝑖𝑘 > 0) Тоді з базису виключають вектор 𝑃𝑟 , а число 𝑎𝑟𝑘 називають
провідним елементом.
6. Визначають додатні компоненти нового опорного плану за
формулами
𝑏𝑟
𝑏𝑖 − ( ) ∙ 𝑎𝑖𝑘 , 𝑖 ≠ 𝑟,
𝑎𝑟𝑘
𝑏𝑖′ = (12)
𝑏𝑟
, 𝑖 = 𝑟,
{ 𝑎𝑟𝑘
коефіцієнти розкладання векторів 𝑃𝑗 за векторами нового базису за
формулами
𝑎𝑟𝑗
𝑎𝑖𝑗 − ( ) ∙ 𝑎𝑖𝑘 , 𝑖 ≠ 𝑟,
′ 𝑎𝑟𝑘
𝑎𝑖𝑗 ={ 𝑎 (13)
𝑟𝑗
, 𝑖 = 𝑟,
𝑎𝑟𝑘
і числа 𝐹0′ , ∆𝑗′ , за формулами:
𝑏𝑟 𝑎𝑟𝑗
𝐹0′ = 𝐹0 − ( ) ∙ ∆𝑘 , ∆𝑗′ = ∆𝑗 − ( ) ∙ ∆𝑘 , (14)
𝑎𝑟𝑘 𝑎𝑟𝑘
або на підставі їх визначення. Наявність двох способів
знаходження елементів (m+1) -го рядка дозволяє здійснювати контроль
правильності проведених обчислень.
Всі ці числа записуються в новій симплекс-таблиці.
7. Перевіряють знайдений опорний план на оптимальність. Якщо
план не оптимальний, і необхідно перейти до нового опорного плану, то
повертаються до етапу 5, а в разі отримання оптимального плану або
встановлення нерозв'язності процес вирішення задачі закінчують.
Зауваження.
Якщо ЗЛП має вироджені опорні плани, то на одній з ітерацій одна
або кілька змінних опорного плану можуть виявитися рівними нулю.
Таким чином, при переході від одного опорного плану до іншого
значення функції може залишитися незмінним. Більш того, можливий
випадок, коли функція зберігає своє значення протягом декількох
ітерацій, а також можливе повернення до початкового базису: В
останньому випадку зазвичай говорять, що сталося зациклення. Однак
при вирішенні практичних завдань цей випадок зустрічається дуже рідко,
тому ми на ньому зупинятися не будемо.
Тема 2. Загальна задача лінійного програмування та деякі з методів розв’язання
(16)
(17)
де bi > 0 (i = 1,…, m), m < n
та серед векторів Рj немає m одиничних.
Задача, яка складається з визначення максимального значення
функції
F = с1х1 + c2х2 + … + сnхn – Мхn+1 – … – Mxn+m (18)
при умовах
(19)
- (20)
де М - деяке досить велике додатнє число, конкретне значення
якого зазвичай не задається, називається розширеною задачею по
відношенню до задачі (15) - (17).
Розширена задача має опорний план Х = (0; 0; ...; 0; b1; b2; ...; bm),
який визначається системою одиничних векторів Рn+1, Рn+2, ...., Рn+т,, що
утворюють базис m-го векторного простору, який називається штучним.
Самі вектори, так само як і змінні хn + i (i = 1, ..., m), називаються
Тема 2. Загальна задача лінійного програмування та деякі з методів розв’язання