logo
Розв’язання лінійних задач методами лінійного програмування

Завдання №3

Побудувати двоїсту задачу. Симплексним методом знайти оптимальний план початкової задачі. Використовуючи першу теорему двоїстості, визначити план другої задачі.

Для перетворення нерівностей в рівності вводимо змінні одиничні матриці х3, х4 і х5. Для розвязку задачі симплексним методом необхідно мати три одиничних матриці при невідємних правих частинах рівнянь. Для отримання одиничної матриці в першій і третій нерівностях вводимо введемо штучні змінну х6 і х7 та отримаємо одиничні матриці А6 і А7. Де

і

В результаті наведених перетворень отримаємо наступну задачу:

У виразі функції величину М вважаємо достатньо великим додатнім числом, оскільки задача розвязується на знаходження мінімального значення функції.

Запишемо задачу у векторній формі:

де

В якості базису вибираємо одиничні вектори А6, А4, А7. Вільні невідомі прирівнюємо нулю . В результаті отримаємо початковий опорний план розширеної задачі

,

якому відповідає розкладення

Для перевірки початкового опорного плану складаємо першу симплексну таблицю (таблиця1) і підраховуємо значення функції і оцінок Маємо:

тобто оскільки М попередньо не фіксовано, то оцінки є лінійними функціями величини М, причому функція складається з двох доданків, одне з яких залежить від М, інше не залежить. Для зручності розрахунків в (F-C) рядок запишемо доданок, незалежний від М, а в (М) рядок - тільки коефіцієнти при М, які і дозволяють порівняти оцінки між собою. Для векторів базису оцінки дорівнюють нулю.

Таблиця1- Перша симплексна таблиця

Базис

С базису

А0

х1

х2

х3

х4

х5

х6

х7

х6

М

8

1

-1

0

0

1

0

х4

0

20

3

4

0

1

0

0

0

х7

М

6

3

1

0

0

-1

0

1

F-C

-

0

-5

-2

0

0

0

0

0

М

-

14

4

4

-1

0

-1

0

0

В (М) рядку є додатні оцінки, тому опорний план Х0 не є оптимальним і його можна покращити, включивши в базис вектор, якому відповідає . Оскільки у нас максимальне значення 4 належить двом векторам, то в базис включаємо вектор, якому відповідає мінімальне Сj. Розвязувальним рядком вибирається той, в якому найменше відношення Серед коефіцієнтів розкладання векторів А1 і А2 по базису є додатні, тому хоча б один з векторів існує.. Знайдемо ці значення:

;

Таким чином підтвердилося, що розвязувальним стовпчиком буде другий, і визначилося, що розвязувальним рядком буде перший. Тобто розвязувальний елемент - число 3. Тоді вектор А2 включаємо в базис, а вектор А6 виключаємо з нього.

Складаємо другу симплексну таблицю (таблиця2). При цьому елементи першого (розвязувального) рядка ділимо на 3. Елементи інших рядків визначаємо використовуючи формули повного виключення Йордана-Гауса.

Таблиця2- Друга симплексна таблиця

Базис

С базису

А0

х1

х2

х3

х4

х5

х6

х7

х2

2

2,67

0,33

1

-0,33

0

0

0,33

0

х4

0

9,33

1,67

0

1,33

1

0

-1,33

0

х7

М

3,33

0

0,33

0

-1

-0,33

1

F-C

-

5,33

-4,33

0

-0,67

0

0

0,67

0

М

-

3,33

2,67

0

0,33

0

-1

-1,33

0

В (М) рядку є додатні оцінки, тому план, зображений в таблиці2 не є оптимальним і його можна покращити, включивши в базис вектор, якому відповідає . Тобто за розвязувальний стовпчик вибираємо перший. Мінімальне відношення

тому розвязувальним рядком є третій. Таким чином розвязувальний елемент - число 2,67. Тоді вектор А1 включаємо в базис, а вектор А7 виключаємо з нього.

Складаємо другу симплексну таблицю (таблиця3). При цьому елементи третього (розвязувального) рядка ділимо на 2,67. Елементи інших рядків визначаємо використовуючи формули повного виключення Йордана-Гауса.

Таблиця3- Третя симплексна таблиця

Базис

С базису

А0

х1

х2

х3

х4

х5

х6

х7

х2

2

2,25

0

1

-0,375

0

0,125

0,375

-0,125

х4

0

7,25

0

0

1,125

1

0,625

-1,125

-0,625

х1

5

1,25

1

0

0,125

0

-0,375

-0,125

0,375

F-C

-

10,75

0

0

-0,125

0

-1,625

0,125

1,625

М

-

0

0

0

0

0

0

-1

-1

В результаті проведеної ітерації з базису виключено штучні елементи, тому в рядку (М) всі оцінки, крім оцінки штучного вектору, перетворилися на нуль. Оскільки в рядках (F-C) і (М) не має додатних значень, то знайдене рішення

()

є оптимальним. Функція при цьому

Перевірка

Кожній задачі лінійного програмування можна поставити у відповідність двоїсту задачу. Для цього першим кроком необхідно впорядкувати запис вихідної задачі. Оскільки у нас функція мінімізується, то всі умови-нерівності повинні бути вигляду . Виконання цієї умови досягаємо множенням відповідних умов на (1-). В результаті система обмежень матиме наступний вигляд:

Оскільки вихідна задача є задачею мінімізації, то двоїста буде задачею максимізації. Двоїста задача буде мати три змінні , оскільки вихідна задача має три обмеження. При цьому вектор, отриманий із коефіцієнтів при невідомих цільової функції вихідної задачі , співпадає з вектором констант у правих частинах обмежень двоїстої задачі. Аналогічно повязані між собою вектори, утворені з коефіцієнтів при невідомих цільової функції двоїстої задачі , і константи в правих частинах обмежень вихідної задачі. Кожній змінній двоїстої задачі відповідає і-те обмеження вихідної задачі, і, навпаки, кожній змінній прямої задачі відповідає j-те обмеження двоїстої задачі. Матриця з коефіцієнтів при невідомих двоїстої задачі утворюється транспортуванням матриці А, складеної з коефіцієнтів при невідомих вихідної задачі. Якщо на j-ту змінну вихідної задачі накладена умова невідємності, то j-те обмеження двоїстої задачі буде нерівністю, в іншому випадку j-те обмеження буде рівністю; аналогічно повязані між собою обмеження вихідної задачі і змінні двоїстої.

Складаємо матрицю при невідомих вихідної задачі:

,

тоді матриця при невідомих двоїстої задачі матиме наступний вигляд:

На накладено умову невідємності, тому обмеження двоїстої задачі матимуть вигляд нерівності, а не рівності. Оскільки в початковій задачі всі обмеження мають вигляд нерівності, то накладаємо умови

Враховуючи все наведене, двоїста задача матиме наступний вигляд:

Якщо розглянути першу симплексну таблицю з одиничним додатковим базисом, то можна помітити, що в стовбцях записана вихідна задача, а в рядках - двоїста. Причому оцінками плану вихідної задачі є , а оцінками плану двоїстої задачі - З таблиці3, отриманої в результаті рішення вихідної задачі знаходимо: