- •Розділ 1. Методологічні основи дослідження операцій
- •1.1 Етапи дослідження операцій
- •1.2 Математичне моделювання. Загальна структура
- •1.3 Етапи математичного моделювання. Приклади
- •1.4 Розділи і класи задач дослідження операцій
- •1.5 Основні вимоги до математичних моделей і їх властивості
- •1.6 Формалізація принципів оптимального поводження в моделях прийняття рішення.
- •Розділ 2. Задачі лінійного програмування
- •2.1 Попередні відомості теорії лінійного програмування.
- •2.2 Графічна інтерпретація розв’язання задач лп
- •2.3 Змістовний опис симплекс-методу розв’язання задач лп
- •2.4 Знаходження початкового опорного плану
- •2.5 Знаходження оптимального плану
- •2.6 Застосування симплекс-таблиць
- •2.7 Метод штучної бази
- •2.8 Двоїсті (спряжені) задачі лінійного програмування
- •З другої групи умов доповняльної нежорсткості маємо
- •Розділ 3. Транспортні задачі (т-задачі)
- •3.1 Математична структура т-задач
- •3.2. Визначення початкового опорного плану т-задачі
- •3.3 Властивості опорних планів т-задач
- •3.4 Розв’язання т-задач методом потенціалів
- •3.6 Задача про оптимальні призначення
- •3.7 Задача про максимальний потік. Метод Форда-Фалкерсона
- •3.8 Задача про найкоротший шлях на мережi. Метод Мiнтi
- •Розділ 4. Дискретне програмування
- •4.1 Задача дискретного лп. Метод Гоморi-1)
- •4.2 Задача частково дискретного лп. Метод Гоморi-2
- •4.3 Задача дискретного лп. Метод Гоморi-3
- •4.4 Задача частково дискретного лп. Метод Дальтона-Ллевелiна
- •4.5 Задача дискретного лп. Метод гілок I границь
- •Розділ 5. Нелінійне програмування. Безумовна однопараметрична оптимізація
- •5.1 Загальні відомості
- •5.2 Методи виключення інтервалів
- •Зауваження
- •5.3 Поліноміальна апроксимація
- •5.4 Методи оптимізації з використанням похідних
- •Розділ 6. Нелінійне програмування. Методи умовної оптимізації
- •6.1 Класична задача математичного програмування
- •6.2 Задача опуклого квадратичного програмування.
- •6.3. Метод Франка – Вулфа розв’язання задач квадратичного програмування (зкп)
- •Розділ 7. Теорія прийняття рішень
- •7.1. Теорія корисності і прийняття рішень
- •7.1.1. Прийняття рішень в умовах ризику
- •7.1.2. Критерій “очікуване значення – дисперсія”
- •7.1.3. Критерій граничного рівня.
- •7.2. Прийняття рішень в умовах невизначеності
- •7.2.1. Класичні критерії прийняття рішень
- •7.2.2. Похідні критерії
- •Розділ 8. Прийняття рішень в ігрових ситуаціях
- •8.1 Класифікація ігор
- •8.2 Розв’язання матричних ігор у чистих стратегіях
- •8.3 Змішане розширення матричної гри
- •8.4 Властивості розв’язку матричних ігор
- •8.5. Алгебраїчний метод розв’язання матричних ігор
- •8.6 Графічний метод розв’язання ігор 2nіm 2.
- •8.7 Матричний метод розв’язання ігор
- •8.8. Ітеративні методи розв’язання ігор
- •8.9. Метод послідовного наближення до ціни гри
- •Розділ 9. Нескінченні антагоністичні ігри
- •9.1. Визначення нескінченної антагоністичної гри
- •9.2 Ігри з опуклими функціями виграшів
- •Розділ 10. Безкоаліційні ігри
- •Розділ 11. Кооперативні ігри
- •11.1 Характеристика кооперативних ігор
- •11.2. Характеристичні функції ігор з малим числом гравців
- •Розділ 12. Вправи для самостійної роботи та для практичних і лабораторних занять
- •12.1. Побудова математичних моделей задач
- •12.2. Розв’язання задач лінійного програмування
- •12.3 Розв’язання транспортних задач
- •12.4 Розв’язання задач цілочислового програмування
- •12.5 Розв’язання задач нелінійного програмування
- •12.6 Розв’язання матричних ігор
- •12.7 Лабораторний практикум
- •Розділ 13. Контрольна робота для студентів заочної форми навчання
- •13.1 Правила вибору задач контрольної роботи
- •13.2 Варіанти завдань контрольної роботи
- •Література
- •1.1 Етапи дослідження операцій 5
4.3 Задача дискретного лп. Метод Гоморi-3
Постановка задачі дискретного програмування (ДЗЛП). Знайти вектор x=(x1,...,xn), що мiнiмiзує цільову функцію
L(x) = c1x1 + ... + cnxn (4.11)
i задовольняє систему обмежень
a11x1 + . . . + a1nxn = a10,
. . . . . . . . . . . . . . . . . . . . . . . , (4.12)
am1x1 + . . . + amnxn = am0,
xj³0, j=1,...,n, (4.13)
xj цілі, j=1,...,n. (4.14)
Виклад методу Гоморi-3. Метод Гоморi-3 полягає у такому.
Нехай обмеження (4.12) ЗЛП (4.11)(4.13) приведені до майже канонічного вигляду:
xi +ai,m+1 xm+1 +...+ain xn =ai0, i=1,...,m, (4.15)
де aij, i=1,...,m, j=0,m+1,...,n, – цілі та симплекс-рiзницi Dj³0, j=1,...,n.
Якщо ai0³0, i=1,...,m, то обмеження (4.15) визначають оптимальний розв'язок ДЗЛП (4.11)(4.14), інакше, визначається деякий дискретний майже допустимий базисний розв'язок (МДБР) вихідної ЗЛП. Можна було б вибрати один з індексів i, для якого ai0<0, та виконати iтерацiю двоїстого симплекс-методу. Проте в цьому випадку дискретність нових параметрів була б, взагалі кажучи, порушена через необхідність ділення на ведучий елемент перетворення. Цього можна уникнути лише тоді, коли ведучий елемент дорівнює 1. Виявляється, що можна побудувати додаткове обмеження, якому задовольняють всі дискретні розв'язки ДЗЛП i яке разом з тим визначає ведучий рядок перетворення, що має ведучий елемент 1. Будується воно за l-м обмеженням системи (4.15), для якого ai0 мінімальне серед від'ємних ai0, i має вигляд:
xn+1 +am+1,m+1 xm+1 +...+am+1,n xn =am+1,0,
де xn+1 ³ 0 – додаткова змінна,
am+1,j = [alj/a], j=0,m+1,...,n,
a = max { alj }, j=m+1,...,n.
Отже, симплекс-таблиця розширюється за рахунок (m+1)-го рядка з елементами am+1,j (am+1,j=0, де j=1,...,m) та одиничного стовпця An+1, що відповідає додатковій змінній xn+1. Потім, виконується iтерацiя двоїстого симплекс-методу з (m+1)-им ведучим рядком.
Алгоритм методу Гоморi-3.
1. Зводимо вихідну ЗЛП (4.11)(4.13) до майже канонічної ЗЛП (МКЗЛП) з цiлочисельними коефіцієнтами, що визначає дискретний МДБР x(0), для якого Dj³0, j=1,...,n.
2. Нехай на s-й iтерацiї отримана повністю дискретна МКЗЛП
xi +ai,M+1 xM+1 +...+aiN xN =ai0, i=1,...,M,
що визначає дискретний N-вимiрний МДБР x(s) = (a10,..,aM0, 0,..,0).
3. Якщо ai0³0, i=1,...,M, то кінець: x(s) – оптимальний розв'язок ДЗЛП. Інакше,
4. Якщо для деякого i такого, що ai0<0, aij³0, j=1,...,N, то кінець: вихідна ДЗЛП не має допустимих розв'язкiв. Якщо таких i немає, то
5. Знаходимо l=argmin{ai0}, де i: ai0<0. Визначаємо a=max{alj}, j=M+1,...,N, і будуємо додаткове обмеження
xN+1 +aM+1,M+1 xM+1 +...+aM+1,N xN =aM+1,0,
де xN+1³0 – додаткова змінна, aM+1,j – ціла частина відношення alj/a, j=0,M+1,...,N.
6. Розширюємо таблицю за рахунок (M+1)-го рядка (додаткове обмеження) та (N+1)-го стовпця, що відповідає додатковій змінній xN+1.
7. Знаходимо k=argmin{Dj}, де j: aM+1,j<0. Переходимо до нового цiлочисельного МДБР x(s+1), виконуючи симплекс-перетворення з ведучими рядком M+1 та стовпцем k. Якщо k – індекс однієї з додаткових змінних, то переходимо до п. 8, iнакше – до п. 3, заміняючи M на M+1, N на N+1, s на s+1.
8. Виключаємо з подальшого розгляду (викреслюємо) k-й стовпець та (M+1)-й (останній) рядок симплекс-таблицi, перенумеровуємо решту додаткових змінних для збереження неперервної нумерації всіх змінних задачі i переходимо до п. 3, заміняючи s на s+1.