
- •7.080401 «Інформаційні управляючі системи та технології»
- •Математичні методи дослідження операцій у будівництві: б12 Навчальний посібник. – к: кнуба, 2006. – 107 с.
- •2.5. Алгоритм розрахунку псевдоплану для двоїстого
- •4.2. Класифікація методів розв’язання задач цілочислового
- •5.5. Задача прогнозування термінів ремонту будівельних
- •6.4. Задача про найкоротший шлях для орієнтованих та
- •6.5. Задача про найкоротший шлях для багатополюсних мереж.
- •6.7. Задача про максимальний потік для однополюсних мереж.
- •7.5. Сепарабельне програмування.
- •8.2. Загальний алгоритм складання розкладу занять
- •1. Загальні визначення, класифікація моделей і методів
- •1.1. Загальні визначення дослідження операцій
- •1.2. Приклади постановок задач лінійного програмування та їх геометрична інтерпретація Задача про рекламу
- •Задача про бетонно-розчинний вузол (брв)
- •1.3. Основні етапи та класифікація моделей та методів дослідження операцій
- •Контрольні запитання
- •2. Лінійне програмування
- •Розглянемо приклад розв’язання задачі лінійного програмування:
- •2.1. Графічний метод розв’язання задач лінійного програмування
- •2.2. Алгоритм зведення до канонічного вигляду задач лінійного програмування
- •2.3. Метод симплекс-таблиць
- •2.4. Двоїста задача лінійного програмування
- •Отримавши результат – вектор y, можна на базі описаної системи знайти вектор X. Для розв’язання прямої задачі потрібно:
- •2.5. Алгоритм розрахунку псевдоплану для двоїстого симплекс-методу
- •3*10 – Розмірність задачі см.
- •2.6. Двоїстий симплекс-метод
- •Контрольні запитання
- •3. Задачі спеціального лінійного програмування
- •Задача призначення (про розподілення обладнання). Між чотирма кар’єрами потрібно розподілити п’ять екскаваторів таким чином, щоб їх виробітка була максимальною.
- •3.2. Задача про призначення
- •Алгоритм угорського методу задачі призначення має такі етапи.
- •3.3. Методи пошуку опорного рішення транспортної задачі
- •Метод Північно–Західного Кута (мпзк) має такі етапи:
- •Метод мінімального елемента (мме) має такі етапи:
- •3.4. Метод потенціалів транспортної задачі
- •Примітка. Цільова функція має постійно покращуватися (крім випадку, коли спрямовуючий елемент рівний ). Контроль правильності розрахунку має завжди дорівнювати:
- •Розглянемо алгоритм розв’язання задач методом потенціалів.
- •3.5. Угорський метод транспортної задачі
- •3.6. Різновиди транспортної задачі та їх використання
- •Контрольні запитання
- •4. Задачі цілочислового лінійного програмування
- •4.1. Загальне визначення цілочислового лінійного програмування
- •4.2. Класифікація методів розв’язання задач цілочислового лінійного програмування
- •Розв’язавши графічно, одержимо:
- •4.3. Метод відтинаючих площин
- •У комп’ютерній програмі стратегія реалізується таким чином.
- •Контрольні запитання
- •5. Динамічне програмування
- •5.1. Загальні визначення та алгоритм динамічного програмування
- •До особливостей розв’язку задач дп можна віднести.
- •5.2. Задача про інвестиції
- •5.3. Задача розрахунку траєкторії літака
- •5.4. Задача про рюкзак (завантаження транспортного засобу)
- •5.5. Задача прогнозування термінів ремонту будівельних конструкцій
- •Контрольні запитання
- •6. Методи аналізу мереж та потокове програмування
- •6.1. Загальні визначення потокового програмування
- •6.2. Способи представлення мереж
- •6.3. Типові задачі оптимізації на мережах
- •1. Задача визначення найкоротшого шляху в мережі:
- •6.4. Задача про найкоротший шлях для орієнтованих та біорієнтованих мереж. Алгоритми Дейкстра 1 та 2
- •6.5. Задача про найкоротший шлях для багатополюсних мереж. Алгоритм Флойда
- •6.6. Задача про мінімальний остов
- •6.7. Задача про максимальний потік для однополюсних мереж. Алгоритм Дейкстра 4
- •6.8. Задача про максимальний потік для багатополюсних мереж. Мінімальний розріз. Алгоритм Гоморі-Ху
- •Контрольні запитання
- •7. Розв’язання задач нелінійного програмування
- •7.1. Загальні визначення нелінійного програмування
- •7.2. Правило множників Лагранжа
- •7.3. Узагальнене правило Лагранжа
- •7.4. Умова Куна-Такера
- •7.5. Сепарабельне програмування. Метод кусочно-лінійної апроксимації
- •7.6. Загальна класифікація задач нелінійного програмування
- •8. Розв’язання багатокритеріальних задач
- •8.1. Основні визначення та моделі багатокритеріальних задач
- •8.2. Загальний алгоритм складання розкладу занять з використанням методів дослідження операцій
- •8.3. Класифікація методів технічного пошуку рішень
- •8.4. Моделювання гнучкості для забезпечення властивості бути керованим
- •Список літератури
У комп’ютерній програмі стратегія реалізується таким чином.
1. Кожен рівень дерева x1, x2, …xn – це файл прямого доступу «Х1.bak», «Х2.bak», …«Хn.bak».
Записи файла прямого доступу – це вузли рівня. Кожний запис містить оцінку та рекорд розрахунків, а також адресне посилання на «батьківський» запис у попередньому файлі.
Примітка. Приклад дискретного динамічного програмування вже розглянутий в п. 4.2.
Розгалуження з обмеженням в довжину (ширину) має стратегію подібну «лавиноподібному», але побудова дерева варіантів обмежується за кількістю рівнів та вузлів (параметричне динамічне програмування). Суть метода така.
1. Визначення параметрів D1 (кількість рівнів) та D2 (кількість вузлів).
Примітка. D1 та D2 визначаються експериментально в процесі налаштування програми та можуть задаватися по різному, наприклад: D1 = 3; D2 = max (4,7,∞).
Генерування D1 рівнів і вибір D2 найкращих вузлів. Визначення z* – ймовірного кращого розв’язку з них.
Повернення на вищий рівень відносно z* та рекурсивне виконання пунктів 2 і 3 відносно поточного рівня до одержання задовільного (або точного) розв’язку.
З
а
допомогою стратегії розв’язуються
задачі ЦЛП з використанням симплекс-методу.
Схематично дерево розгалужень можна
уявити як «три кроки вперед та два кроки
назад» (наприклад, D1
= 2 та D2
= 4):
D1
= 2, D2
= 4.
x1
z*
x2
z*
x3
z
x4
Однобічне розгалуження має стратегію вибору на кожному рівні дерева серед необмеженого числа вузлів одного найкращого для його подальшого рекурсивного розгалуження, отже дерево рішень будується однобічно. Ця стратегія не дає оптимального результату z, бо він часто втрачається у відсічених площинах:
Н
айкращим
прикладом використання даної стратегії
є розв’язок задачі про мінімальний
остов (кістяк вузлів). Остов – це дерево,
яке охоплює всі вузли мережі та при
цьому не виникає циклів. Мінімальний
остов – це остов, сума довжин дуг якого
мінімальна. Приклад:
Обираємо найкоротшу дугу (1-2), потім найкоротшу, пов’язану з нею – (2-5), потім найкоротшу, пов’язану з (1-2-5) – (5-4), таким чином, охоплюючи всі вузли мережі. Подібний алгоритм для задачі про мінімальний остов дає мінімальний результат, в якому реалізована сама ідея: на кожному кроці брати наступний, найближчий до остова, вузол.
Back-track («зворотний промінь») технологія використовується для розв’язання задач «булева» оптимізації (адитивний алгоритм).
Примітка. Адитивний алгоритм вже розглянутий в п.4.2.
Розглянемо використання back-track технології на прикладі задачі про розсилання деякого числа файлів різного розміру по e-mail за деяке число сеансів, причому кожен сеанс має своє обмеження на обсяг даних. Суть задачі полягає в пошуку найінтенсивнішого режиму розсилання.
Розмір файлів, МБ |
1.2 |
0.5 |
0.7 |
1 |
0.4 |
0.2 |
Розмір сеансів, МБ |
1.5 |
1 |
1 |
1.5 |
|
|
Цільова функція:
1-а ітерація:
Пошук полягає в побудові дерева з кількістю рівнів еквівалентною кількості хi в обмеженнях і кількістю «дочірніх» вузлів для кожного вузла хi рівною кількості можливих значень для кожного хi+1 (у цьому випадку варіант можливих значень – 0 або 1). На кожному етапі варіанти, що не відповідають обмеженню, відкидаються, неперспективні варіанти (згідно прогнозу) відкладаються на потім, а можливі варіанти отримують оцінку з фіксацією рекорду. Ітерація продовжується доти, доки не відбудеться повернення до початкового вузла. Всього в задачі 4 ітерації (сеанси).
Відповідь: x2, x4, x3, x6, x5, x1.