Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

Лабораторна робота № 4.

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

Мета завдання. Вивчити алгоритми методу відтинання Гоморі та методу


гілок і меж при розв’язанні цілочислових задач лінійного програмування.

Теоретична частина. Значне місце в задачах математичного


програмування займають задачі, на невідомі яких в оптимальному розв’язку
накладена умова цілочисловості, а звичайне округлення приводить до
грубих помилок (наприклад, кількість ферм у господарстві, кількість одиниць
сільськогосподарської техніки тощо). Якщо умова цілочисловості
накладається лише на частину невідомих, то такі задачі називають частково
цілочисловими. Задачі, в яких крім умови цілочисловості оптимального
розв'язку цільова функція і обмеження лінійні, називаються цілочисловими
задачами лінійного програмування. Для знаходження оптимальних
розв'язків цих задач застосовують точні (відтинання Гоморі) та
комбінаторні (гілок і меж) методи.
1. Алгоритм методу відтинання Гоморі
При застосуванні методу відтинання Гоморі використовують такий
алгоритм:
1. Задача розв’язується симплексним методом без врахування вимог
цілочисловості змінних.
2. Якщо в умовно-оптимальному плані є дробові значення, то
вибирається змінна, яка має найбільшу дробову частину*). На базі цієї змінної
(елементів відповідного рядка кінцевої симплексної таблиці, в якому вона
міститься) будується додаткове обмеження-відтинання Гоморі за формулою

n
∑ {aijxj } ≥ {bi}
j=m+1

де {bi} – дробова частина базисної змінної в умовно-оптимальному плані,


яка вибрана для побудови обмеження-відтинання;
{aij} – дробові частини коефіцієнтів при невідомих лівої частини
додатко-
вого обмеження-відтинання.
3. Формулюється рядок-відтинання Ui за формулою
Ui = - f {bi},
який приєднується до кінцевої симплексної таблиці умовно-оптимального
плану. При цьому сформульований рядок–відтинання приймається за
розв’язуючий рядок, а розв’язуюча колонка вибирається за максимальним
значення (модулем) серед коефіцієнтів розв’язуючого рядка. Після розв’язання
розширеної задачі за алгоритмом симплексного методу її перевіряють на
цілочисловість. Якщо розв’язок не цілочисловий, то розрахунки повторюють,
починаючи з п.2 до отримання цілочислового розв’язку.
2. Алгоритм методу гілок і меж
Алгоритм розв’язання цілочислових задач за методом гілок і меж такий:
1. Задачу розв’язують симплексним методом без врахування вимог
цілочисловості змінних. Якщо в оптимальному розв’язку немає дробових чисел,
то отриманий розв’язок є оптимальним розв’язком цілочислової задачі.
2. Коли в умовно-оптимальному плані є дробові значення, то вибирають
одну з нечислових змінних xj і визначають її цілу частину.
3. Записують два обмеження, які відтинають не цілочислові розв’язки:
xj ≤ [xj *] та xj ≥ [xj *] + 1
де [xj *] – ціла частина дробової змінної xj в умовно оптимальному розв’язку.
Наприклад, якщо xj =3 ¾, то отримуємо інтервал 3;4, де, очевидно, немає
цілочислових значень xj і оптимальний розв’язок цілочислової задачі буде
знаходитися або в інтервалі xj <= 3 або в інтервалі xj >= 4.
4. Кожну з одержаних нерівностей приєднують до обмежень початкової
задачі. В результаті отримують дві задачі лінійного програмування.
5. В будь-якій послідовності розв’язуються обидві задачі. Якщо
отримано оптимальний цілочисловий розв’язок однієї задачі, а друга задача
немає розв’язку, то процес розв’язування цілочислової задачі закінчено. У
разі, коли оптимальний цілочисловий розв’язок одержано в обох задачах, то
вибирається той розв’язок, який дає краще значення цільової функції. Якщо
ж в обох задачах одержано не цілочислові значення, то для дальшого
гілкування вибирають ту задачу, для якої знайдено краще значення цільової
функції і здійснюють перехід до кроку 2. Розрахунки повторюються до
отримання оптимального цілочислового розв"язку.

Метод гілок і меж


Приклад ..
Розв'язання. Для задачі без врахування умови цілочисловості отримано
оптимальний розв’язок: Wmin = 300; Х1 = 0; Х2 = 3 ¾; Ѕ1 = 0;
Ѕ2 = 5 (симплексна таблиця 5.2), де х2 = 3 ¾ - дробове число. Допустиме ціле
значення х2 має задовольняти одну з нерівностей х2 ≤ 3, або х2 ≥ 4. Приєднуємо
до початкової задачі кожне з обмежень і розв’язуємо по черзі обидві утворені
задачі:
Задача 1 Задача 2
Wmin = 70 Х1 + 80 Х2 Wmin = 70 Х1 + 80 Х2
1) 12 Х1 + 16 Х2 = 60 1) 12 Х1 + 16 Х2 = 60
2) 40 Х1 + 60 Х2 ≤ 230 2) 40 Х1 + 60 Х2 ≤ 230
3) Х2 ≤ 3 3) Х2 ≥ 4
Для задачі 1 оптимальним буде цілочисловий розв’язок : Wmin = 310;
Х1 = 1; Х2 = 3; Ѕ1 = 0; Ѕ2 = 10.
Задача 2 не має допустимого розв’язку.
Таким чином, оптимальний розв’язок цілочислової задачі такий:
Wmin = 310; Х1 = 1; Х2 = 3; Ѕ1 = 0; Ѕ2 = 10 (див. також оптимальний розв’язок
за методом відтинання Гоморі, симплексна таблиця 5.4.)
Висновки. Мінімальну орендну плату в розмірі 310 грн. (Wmin =310)
фермер буде платити, якщо буде орендувати 1 машино-зміну агрегату марки
А (х1=1) та 3 машино-зміни агрегату марки В (х2= 3). Залишок палива
становить 10 кг (S2 =10). Всі роботи будуть виконані повністю (Ѕ1=0).

Задачі для самостійного розв’язання


Задача. Для збирання зернових на площі 1200+250хК га господарство
може орендувати комбайни марок А та В, техніко-економічні показники яких
за сезон жнив наведені нижче:

Показник Комбайни марок


А В
1.Сезонний виробіток, га 200 250
2. Експлуатаційні затрати, тис. грн. 18 20
3.Орендна плата, тис. грн. 80+Р 90+К
Визначити кількість орендованих комбайнів марок А та В при
обов’язковому виконанні запланованого обсягу робіт та мінімальній орендній
платі. Експлуатаційні затрати не повинні перевищувати 300 тис. грн.
Зміст виконання завдання
1. Запис умов задачі за індивідуальним варіантом.
2. Формулювання економіко-математичної моделі задачі.
3. Розв’язання задачі за методом гілок і меж тільки за допомогою надбудови
MS Excel ”Поиск решения”.
4. Висновки за результатами розв’язку задачі.

You might also like