- •1. Двойственность в линейном программировании 2
- •3. Алгоритм розв’язку двоїстим симплексим методом. 21
- •1. Двойственность в линейном программировании
- •1.1. Несиметричні двоїсті задачі. Теорема двоїстості.
- •1.2. Симетричні двоїсті задачі
- •Види математичних моделей двоїстих задач
- •2. Двоїстий симлекс-метод
- •2.1. Основные идеи двойственного симплекс-метода.
- •2.2. Алгоритм и табличная реализация двойственного симплекс-метода.
- •2.4. Приклад решения злп двойственным симплекс-методом.
- •3. Алгоритм розв’язку двоїстим симплексим методом.
1.2. Симетричні двоїсті задачі
Різновидом двоїстих задач лінійного, програмування є двоїсті симетричні завдання, в яких система обмежень як вихідної, так і двоїстої задач задається нерівностями, причому на двоїсті змінні накладається умова не заперечності.
Вихідна задача. Знайти матрицю-стовпець Х = (x1, x2, …, xn), яка задовольняє системі обмежень (1.12). АХ>А0, Х>0
і мінімізує лінійну функцію Z = СХ.
Двоїста задача. Знайти матрицю-рядок Y = (y1, y2, …, yn), яка задовольняє системі обмежень YA C, Y 0 і максимізує лінійну функцію f = YA0.
Систему нерівностей за допомогою додаткових змінних можна перетворити в систему рівнянь, тому будь-яку пару симетричних двоїстих завдань можна перетворити на пару несиметричних, для яких теорема подвійності вже доведена.
Використовуючи симетричність, можна вибрати завдання, зручніше для рішення. Обсяг завдання, розв'язуваної за допомогою ЕОМ, обмежений числом включаємих рядків, тому завдання, досить громіздке у вихідній постановці, може бути спрощена в двоїстому формулюванні. При обчисленнях без допомоги машин використання двоїстості спрощує обчислення.
Вихідна задача. Знайти мінімальне значення лінійної функції Z = x1 + 2x2 + 3x3 при обмеженнях
2x1 + 2x2 - x3 2,
x1 - x2 - 4x3 -3, xi 0 (i=1,2,3)
x1 + x2 - 2x3 6,
2x1 + x2 - 2x3 3,
Очевидно, для того щоб записати двоїсту задачу, спочатку необхідно систему обмежень вихідної завдання привести до вигляду (1.12). Для цього другу нерівність слід помножити на -1.
Двоїста задача. Знайти максимум лінійної функції f = 2y1+ 3y2 + 6y3 + 3y4 при обмеженнях
2y1 - y2 + y3 + 2y4 1,
2y1 + y2 + y3 + y4 2,
-y1+ 4y2 - 2y3 - 2y4 3,
Для рішення вихідної завдання необхідно ввести чотири додаткові перемінні і після перетворення системи - одну штучну. Таким чином, вихідна симплексная таблиця буде складатися з шести рядків і дев'яти стовпців елементи яких підлягають перетворенню.
Двоїсту задачу вирішуємо симплексним методом (табл. 1.3).
Оптимальний план двоїстої задачі Y* = (0; 1/2; 3/2; 0), fmax = 21/2.
Оптимальний план вихідної задачі знаходимо, використовуючи оцінки (m + 1)-го рядка останньої ітерації, які знаходяться в стовпцях A5, A6, A7 : x1 = 3/2 + 0 = 3/2; x2 = 9/2 + 0 = 9/2; x3 = 0 + 0 = 0. При оптимальному плані вихідної задачі X* = (3/2; 9/2; 0) лінійна функція досягає найменшого значення: Zmin =21/2.
Т а б л и ц а 1.3
i |
Базис |
С базиса |
A0 |
2 |
3 |
6 |
3 |
0 |
0 |
0 |
||||||||
A1 |
A2 |
A3 |
A4 |
A5 |
A6 |
A7 |
||||||||||||
1 2 3 |
A5 A3 A7 |
0 0 0 |
1 2 3 |
2 2 -1 |
-1 1 4 |
1 1 -2 |
2 -1 -2 |
1 0 0 |
0 1 0 |
0 0 1 |
||||||||
m + 1 |
Zi - Cj |
0 |
-2 |
-3 |
-6 |
-3 |
0 |
0 |
0 |
|||||||||
1 2 3 |
A3 A6 A7 |
6 0 0 |
1 1 5 |
2 0 3 |
-1 2 6 |
1 0 0 |
2 -1 2 |
1 -1 2 |
0 1 0 |
0 0 1 |
||||||||
m + 1 |
Zi – Cj |
6 |
10 |
-9 |
0 |
9 |
6 |
0 |
0 |
|||||||||
1 2 3 |
A3 A2 A7 |
6 3 0 |
3/2 ½ 2 |
2 0 3 |
0 1 0 |
1 0 0 |
3/2 -1/2 4 |
½ -1/2 5 |
½ ½ 3 |
0 0 1 |
||||||||
m + 1 |
Zi - Cj |
21/2 |
10 |
0 |
0 |
9/2 |
3/2 |
9/2 |
0 |