
- •Міністерство освіти і науки, молоді та спорту україни
- •ЕкономіКо-математиЧні моделі та методи: оптимізаційні моделі та методи
- •Класифікація оптимізаційних методів та моделей
- •1.1. Постановка задачі лінійного програмування
- •Алгоритм графічного методу розв’язання злп
- •1.3. Симплекс-метод розв’язання задачі лінійного програмування
- •Алгоритм симплекс-метода розв’язання злп
- •Критерій оптимальності опорного плану:
- •Правила переходу до наступної симплекс-таблиці
- •1.4. Цілочислове програмування
- •Контрольні питання до змістового модуля і
- •2.1. Двоїста задача лінійного програмування
- •2.2. Елементи теорії матричних ігор
- •Алгоритм принципу максиміну (мінімаксу)
- •Розв’язання. Ця матрична гра має розмірність (3х4), тобто гравець а має три стратегії, а гравець в – чотири. Запишемо її в нормальній формі.
- •Послідовність дій при розв’язанні гри
- •Контрольні питання до змістового модуля іі
- •3.1. Дробово-лінійне програмування
- •Правила розв’язання задачі дробово-лінійного програмування графічним методом
- •3.2. Параметричне програмування
- •Алгоритм розв’язання задачі параметричного програмування
- •3.3. Динамічне програмування
- •Алгоритм розв’язання задачі динамічного програмування
- •Контрольні питання до змістового модуля ііі
- •4.1. Транспортна задача
- •Алгоритм методу потенціалів:
- •Критерій оптимальності плану перевезень
- •4.2. Ускладнена транспортна задача
- •4.3. Задача про призначення
- •Алгоритм методу Фогеля
- •Алгоритм угорського методу розв’язання задачі про призначення
- •Контрольні питання до змістового модуля іv
- •Індивідуальні завдання для самостійної роботи зі змістового модулю і
- •Індивідуальні завдання для самостійної роботи зі змістового модулю іі
- •Індивідуальні завдання для самостійної роботи зі змістового модулю ііі
- •Індивідуальні завдання для самостійної роботи зі змістового модулю іv
- •Література
- •Предметний покажчик
1.4. Цілочислове програмування
Значна частина економічних задач, які відносяться до ЗЛП, вимагає цілочислового розв’язку. Серед них завдання, де змінні означають кількість одиниць неподільної продукції – розподіл виробничих будинків між підприємствами, розкрій матеріалів, завантаження обладнання, розподіл машин за маршрутами, літаків за рейсами, виробництво неподільної продукції.
Якщо одиниця складає малу частину всього обсягу виробництва, то оптимальний розв’язок знаходять за допомогою звичайного симплекс-методу, округляють його до цілих одиниць згідно змісту задачі. Інакше округлення може привести до рішення, яке не є оптимальним цілочисловим розв’язком.
Задача цілочислового програмування формується як ЗЛП, але включає додаткову вимогу: значення змінних в оптимальному рішенні повинні бути цілими невід’ємними числами.
Знайти мінімальне значення лінійної функції
при обмеженнях
–
цілі числа
Методи цілочислової оптимізації розділяють на точні і наближені. До точних методів відносяться методи відсікання і комбінаторні. Це універсальні методи дискретної оптимізації. Труднощі машинної реалізації точних методів привели до появи наближених методів, які розрізняють за напрямами: розробка алгоритмів, які зважають на специфіку задачі; використання випадкових пошуків в об’єднанні з локальною оптимізацією.
Розглянемо метод відсікання – метод Гоморрі, основна ідея якого:
задачу розв’язати , не звертаючи увагу на умову цілочисловості. Якщо отриманий цілочисловий план, то задачу розв’язано.
інакше до обмежень вихідної задачі додають додаткове обмеження з умов:
а) отриманий не цілочисловий розв’язок порушує це обмеження;
б) будь-який цілочисловий допустимий план вихідної задачі задовольняє і новому обмеженню.
нову задачу розв’язують симплекс-методом і так далі.
Геометрично додавання кожного нового обмеження відповідає проведенню прямої, яка відсікає від багатокутника розв’язків деяку частину з оптимальною точкою з нецілими координатами, але не зачіпає жодної з цілочислових точок багатокутника розв’язків. Всі точки з цілочисловими координатами залишаються в новому багатокутнику розв’язків. На основі цієї ідеї американський математик Р.Гоморрі запропонував алгоритм розв’язання задач дискретного лінійного програмування.
Зауваження. Якщо ЗЛП без умови цілочисловості не має розв’язків, то цілочислова ЗЛП теж не має розв’язків.
Приклад 1.4.1. Розв’язати задачу цілочислового лінійного програмування
(1.4.1)
(1.4.2)
Розв’язання.
Приведемо задачу до канонічної форми, вводячи додаткові змінні x3, x4 в систему обмежень (1.4.1). ЗЛП (1.4.1), (1.4.2) в канонічній формі має вигляд (1.4.3):
(1.4.3)
.
Розв’яжемо ЗЛП симплекс-методом.
Перша симплекс-таблиця має вигляд:
Таблиця 1.4.1
Перша симплексна таблиця
-
Б
С
1
-1
0
0
0
3
1
2
1
0
3/2
0
3
2
1
0
1
3/1
z - рядок
0
-1
1
0
0
Розв’язок, що відповідає першій симплексній таблиці, має вигляд:
х1 = 0, х2 = 0, х3 = 3, х4 = 3.
Він оптимальним не є, тому перейдемо до наступної симплекс-таблиці
Таблиця 1.4.2
Друга симплексна таблиця
-
Б
С
1
-1
0
0
-1
3/2
1/2
1
1/2
0
0
3/2
3/2
0
-1/2
1
z – рядок
-3/2
-3/2
0
-1/2
0
Другій симплексній таблиці відповідає опорний план:
.
(1.4.4)
Він є оптимальним і єдиним, оскільки в z-рядку немає додатних оцінок. Значення цільової функції min z = – 3/2.
У отриманому плані (1.4.4) дві компоненти не цілі, тому для знаходження цілочислового рішення застосуємо метод Гоморрі. Оскільки не цілі компоненти отриманого рішення однакові, то проводити відсікання можна за будь-яким рядком.
Наприклад, для рядка
маємо:
.
(1.4.5)
Зауваження.
,
де
– ціла частина
– це ціле найближче до
число, яке його не перевершує;
– дробова частина числа
.
,
.
Нерівність (1.4.5) прийме вигляд
або
.
(1.4.6)
Для введення додаткового
обмеження (1.4.6) в другу симплексну
таблицю, введемо в нього нову додаткову
змінну
зі знаком “-” і штучну змінну
:
.
Нове обмеження запишемо в другу симплексну таблицю, отримаємо третю симплексну таблицю:
Таблиця 1.4.3
Третя симплексна таблиця
-
Б
С
1
-1
0
0
0
М
-1
3/2
1/2
1
½
0
0
0
(3/2):(1/2)=3
0
3/2
3/2
0
-1/2
1
0
0
-
М
1
1
0
1
0
-1
1
1:1=1
z - рядок
-3/2
-3/2
0
-1/2
0
0
0
М - рядок
1
1
0
1
0
-1
0
Таблиця 1.4.4
Четверта симплексна таблиця
-
Б
С
1
-1
0
0
0
-1
1
0
1
0
0
½
0
2
2
0
0
1
-1/2
0
1
1
0
1
0
-1
z - рядок
-1
-1
0
0
0
-1/2
Цій симплексній таблиці відповідає опорний план:
.
Він є цілочисловим, оптимальним
і єдиним, оскільки в z-рядку
немає додатних оцінок.
Значення цільової функції
.
Приклад 1.4.2. Розв’язати задачу цілочислового лінійного програмування (1.4.1), (1.4.2) графічно.
Розв’язання.
Для графічного розв’язання цієї задачі побудуємо область допустимих розв’язків, що відповідає системі обмежень (1.4.1), яку представлено на рисунку 1.3. З рисунка 1.3 видно, що це чотирикутник АВСО. Зобразивши вектор-градієнт ОN, знаходимо нецілочисловий розв’язок: точка А(0;3/2).
Побудуємо в отриманій області
допустимих розв’язків додаткове
обмеження (1.4.6). Додатковому обмеженню
відповідає пряма
:
.
Проте з першої рівності системи (1.4.3)
маємо
.
Тоді
.
Отже
.
Побудуємо пряму
:
.
Додаткове обмеження
від області допустимих рішень відсікло
трикутник АВА1,
що містить не ціле рішення, і, нова
області допустимих рішень є чотирикутником
А1ВСО.
Оптимальним рішенням є точка А1(0;1)
і
.
Рисунок 1.3 – Графічний метод розв’язку ЗЛП (1.4.1), (1.4.2).
Зауваження. Якщо
в оптимальному плані є декілька нецілих
координат, то для побудови нового
обмеження доцільно вибирати рядок, який
містить в стовпці
число з найбільшою дробовою частиною.
Зауваження. Якщо в рядку з нецілим числом в стовпці містяться тільки цілі числа, то задача не має розв’язку.