- •Навчальне видання Вітлінський Вальдемар Володимирович Наконечний Степан Ількович терещенко Тетяна Опанасівна математичне програмування
- •03680, М. Київ, просп. Перемоги, 54/1
- •Рекомендована література 245
- •1.1. Предмет курсу «математичне програмування»
- •Тема 1. Предмет, особливості та сфери застосування математичного програмування в економіці. Класифікація задач
- •Тема 9. Задачі динамічного програмування
- •Розділ 2
- •2.1. Загальна математична модель лінійного програмування
- •Приклад 2.1.
- •2.2. Форми запису задач лп
- •2.3. Геометрична інтерпретація злп
- •2.5. Графічний метод розв’язування задач лінійного програмування
- •Задача 2.1.
- •Задача 2.2.
- •Задача 2.3.
- •Задача 2.4.
- •2.5.3. Приклади та завдання для самостійної роботи
- •Задача 2.5.
- •Задача 2.6.
- •Задача 2.7.
- •Задача 2.8.
- •Задача 2.9.
- •Задача 2.35.
- •Задача 2.36.
- •§ 2.6. Симплексний метод розв’язування задач лп
- •Задача 2.41.
- •Задача 2.42.
- •Задача 2.43.
- •Задача 2.44.
- •2.6.3. Приклади та завдання для самостійної роботи
- •Задача 2.45.
- •Задача 2.46.
- •Задача 2.47.
- •Задача 2.48.
- •Задача 2.49.
- •2 .8. Контрольні запитання
- •2.9. Теми рефератів
- •2 .10. Основні терміни та поняття
- •Тема 10. Моделі та методи стохастичного програмування
- •Тема 11. Елементи теорії ігор
- •Розділ 3 двоїстість у лінійному програмуванні
- •3.2. Теореми двоїстості
- •3.3. Навчальні завдання
- •Задача 3.1.
- •Задача 3.2.
- •Задача 3.3.
- •3 .6. Контрольні запитання
- •3 .7. Теми рефератів
- •4.1. Економічна інтерпретація двоїстої задачі
- •4.2. Навчальні завдання
- •Задача 4.1.
- •Задача 4.2.
- •Задача 4.3.
- •Задача 4.4.
- •Задача 4.5.
- •Задача 4.6.
- •Задача 4.7.
- •Задача 4.8.
- •Задача 4.9.
- •Задача 4.10.
- •Задача 4.11.
- •Задача 4.12.
- •Задача 4.13.
- •Задача 4.20.
- •Задача 4.21.
- •4.4. Заключні зауваження
- •5.2. Метод потенціалів
- •5.3. Навчальні завдання
- •Задача 5.1.
- •Задача 5.2.
- •Задача 5.3.
- •Задача 5.4.
- •Задача 5.37.
- •Задача 5.38.
- •Задача 5.39.
- •Задача 5.40.
- •5.5. Заключні зауваження
- •5.6. Контрольні запитання
- •5 .7. Теми рефератів
- •5 .8. Основні терміни та поняття
- •4.5. Контрольні запитання
- •4 .6. Теми рефератів
- •4 .7. Основні терміни та поняття
- •Розділ 6
- •6.1. Цілочислове програмування
- •6.1.1. Постановка задачі
- •6.1.2. Метод Гоморі
- •Задача 6.1.
- •6.1.3. Метод «віток і меж»
- •6.1.4. Приклади цілочислових економічних задач
- •Задача 6.2.
- •Задача 6.3.
- •Задача 6.4.
- •Задача 6.5.
- •Задача 6.6.
- •6.1.5. Приклади та завдання для самостійної роботи
- •Задача 6.7.
- •Задача 6.8.
- •Задача 6.9.
- •Задача 6.10.
- •Задача 6.11.
- •Задача 6.11.
- •Задача 6.11.
- •2) Максимізації комплектів, до яких деталі входять відповідно 6.2. Дробово-лінійне програмування
- •6.2.1. Постановка задачі та алгоритм розв’язування
- •6.2.2. Приклади дробово-лінійних задач
- •Задача 6.14.
- •Задача 6.15.
- •Задача 6.16.
- •6.2.3. Приклади та завдання для самостійної роботи
- •Задача 6.17.
- •Задача 6.18.
- •6.3. Нелінійне програмування
- •6.3.1. Постановка задачі
- •6.3.2. Труднощі розв’язування задач нелінійного програмування
- •6.3.3. Метод множників Лагранжа
- •Задача 6.19.
- •6.3.4. Приклади задач нелінійного програмування
- •Задача 6.20.
- •6.3.5. Приклади та завдання для самостійної роботи
- •Задача 6.21.
- •Задача 6.22.
- •6.4. Динамічне програмування
- •6.4.2. Методика розв’язування динамічних задач
- •6.4.3. Приклади розв’язування динамічних задач
- •Задача 6.23.
- •Задача 6.24.
- •6.4.4. Приклади та завдання для самостійної роботи
- •Задача 6.25.
- •Задача 6.26.
- •Задача 6.27.
- •Задача 6.28.
- •Задача 6.29.
- •Задача 6.30.
- •Задача 6.31.
- •Задача 6.32.
- •Задача 6.33.
- •6.5 Теорія ігор
- •6.5.1. Основні поняття теорії ігор
- •Задача 6.34.
- •Задача 6.35.
- •6.5.3. Приклади та завдання для самостійної роботи
- •Задача 6.36.
- •6.6. Стохастичне програмування
- •6.6.1 Постановка задач і методи розв’язування
- •6.6.2. Приклади стохастичних економічних задач
- •Задача 6.37.
- •Задача 6.38.
- •Задача 6.39.
- •Задача 6.40.
- •Задача 6.41.
- •Задача 6.42.
- •Задача 6.43.
- •6.6.3. Приклади та завдання для самостійної роботи
- •Задача 6.44.
- •Задача 6.45.
- •Задача 6.46.
- •Задача 6.45.
- •Задача 6.46.
- •6.7. Заключні зауваження
- •6.8. Контрольні запитання
- •6 .9. Теми рефератів
- •6 .10. Основні терміни та поняття
6.1. Цілочислове програмування
6.1.1. Постановка задачі
Існує доволі широкий клас задач математичного програмування, в економіко-математичних моделях яких одна або кілька змінних мають набувати цілих значень, наприклад, коли йдеться про кількість верстатів у цеху, корів у сільськогосподарських підприємствах тощо, тобто коли така вимога випливає з особливостей технології виробництва. До цілочислового програмування належать також задачі оптимізації, в яких змінні набувають лише двох значень — 0 або 1 (бульові, або бінарні, змінні).
Розглянемо приклад. Інвестиційна компанія може вкласти кошти у три різні підприємства. Ефективність кожного проекту оцінено згідно з тим, що його реалізація можлива за чотирьох умов. Дані про ці проекти наведено в таблиці:
Проект |
Змінна |
Умови реалізації проектів |
|||
y1 |
y2 |
y3 |
y4 |
||
1 |
х1 |
8 |
15 |
21 |
4 |
2 |
х2 |
10 |
16 |
18 |
6 |
3 |
х3 |
12 |
14 |
17 |
7 |
Імовірнісні оцінки реалізації проектів |
0,2 |
0,1 |
0,4 |
0,3 |
Кожна змінна , , може набувати лише двох значень –1 або 0, тобто інвестиційна компанія вкладає або не вкладає кошти у відповідне підприємство.
До цілочислового програмування відносять задачі про призначення, найкоротший шлях і т. ін. У реальних задачах часто цілочислових значень набувають не всі, а одна чи кілька змінних. Такі задачі називають частково цілочисловими.
Загальна задача цілочислового програмування записується так:
, (6.1)
за умов
, (6.2)
, (6.3)
— цілі . (6.4)
Для знаходження оптимального розв’язку цілочислових задач застосовують спеціальні методи. Найпростішим методом розв’язування цілочислової задачі є знаходження її оптимального розв’язку як задачі, що має лише неперервні змінні, з подальшим округленням останніх. Такий підхід часто є виправданим. Нехай, наприклад, у результаті розв’язування задачі про поєднання галузей у сільськогосподарському підприємстві дістали, що воно потребує 1235,6 корів. Округливши це значення корів до 1236, не припустимося значної похибки. Проте в деяких випадках такі спрощення призводять до істотних неточностей. Якщо, скажімо, у разі розв’язування як неперервної задачі про сушильний цех, що може бути обладнаний агрегатами трьох типів, дістали х1 = 2,6, х2 = 4,3 і х3 = 0,7, будь-які округлення недопустимі.
Для знаходження оптимальних планів задач цілочислового програмування застосовують дві основні групи методів:
методи відтинання;
комбінаторні методи.
Основою методів відтинання є ідея поступового «звуження» області допустимих розв’язків розглядуваної задачі. Пошук цілочислового оптимуму починається з розв’язування задачі з так званими послабленими обмеженнями, тобто без урахування вимог цілочисловості змінних. Далі введенням у модель спеціальних додаткових обмежень, що враховують цілочисловість змінних, многокутник допустимих розв’язків послабленої задачі поступово зменшуємо доти, доки змінні оптимального розв’язку не набудуть цілочислових значень.
До цієї групи належать:
а) методи розв’язування повністю цілочислових задач (дробовий алгоритм Гоморі);
б) методи розв’язування частково цілочислових задач (другий алгоритм Гоморі, або змішаний алгоритм цілочислового програмування).
Комбінаторні методи цілочислової оптимізації базуються на повному переборі всіх допустимих цілочислових розв’язків, тобто вони реалізують процедуру цілеспрямованого перебору, під час якої розглядається лише частина розв’язків (досить невелика), а решта враховується одним зі спеціальних методів.
Найпоширенішим у цій групі методів є метод віток і меж.
Починаючи з розв’язування послабленої задачі, він передбачає розбиття початкової задачі на дві підзадачі виключенням областей, що не мають цілочислових розв’язків, і дослідженням кожної окремої частини многокутника допустимих розв’язків.
Для розв’язування задач із бульовими змінними застосовують комбіновані методи, причому оскільки змінні є бульовими, то методи пошуку оптимуму значно спрощуються.