- •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. Моделювання гнучкості для забезпечення властивості бути керованим
- •Список літератури
Контрольні запитання
Яка загальна мета науки про дослідження операцій? Які є складові частини математичної моделі?
Чому нашою мовою наука називається «Дослідження операцій» та як вона іменується в літературі англійською та російською мовами?
Чому дисципліна ДО є однією з основних дисциплін інформаційних технологій управління? Які етапи ДО не є обов’язковими?
Чи може бути єдиний для всіх користувачів класифікатор типових задач та моделей? Чи можна вивчити ДО без досвіду їх складання?
Чи може оволодіти ДО фахівець некомп’ютерних наук?
Чому окремі групи методів називаються лінійним програмуванням, нелінійним програмуванням, динамічним програмуванням тощо?
Як лінійне програмування називається в зарубіжній літературі?
Сформулюйте 2-3 задачі лінійного програмування, які могли би бути корисними у вашому побуті та родині.
Як можна систематизувати типові задачі та методи для подальшого їхнього використання? Чи обов’язково треба вміти програмувати алгоритми методів дослідження операцій?
У чому суть та назвіть приклади типової задачі про сортимент?
Назвіть область матпрограмування, де розв’язуються задачі пошуку змінних, залежних від інших змінних. Наведіть практичні приклади.
Чи є задача складання графіку руху тролейбусів транспортною?
Якою задачею дослідження операцій є задача розподілу випускників університету за організаціями відповідно до замовлень?
Якою задачею є задача розрахунку плану виробництва згідно з попитом на продукцію?
Яка група методів ДО найчастіше використовується в ІТ управління?
2. Лінійне програмування
Розглянуто лінійне програмування (ЛП) – важливу область математичного програмування, що розв’язує задачі, подані лінійними моделями, тобто, ті, які мають лінійну цільову функцію (ЦФ) та лінійну область допустимих рішень (ОДР). Математична модель ЛП у загальному вигляді така:
.
Розглянемо приклад розв’язання задачі лінійного програмування:
Зведемо
матмодель до канонічного вигляду для
використання сим-плекс-методу
та ком-п’ютерної
програми
Simpl.exe
(див.
2.2):
До основних методів лінійного програмування належать графічний (графоаналітичний) метод, симплекс та двоїстий симплекс-метод, метод потенціалів, угорський метод транспортної задачі та задачі призначення. Область, яка описується обмеженнями в моделі ЛП, завжди є випуклою.
2.1. Графічний метод розв’язання задач лінійного програмування
Д
x1
ля
випадку, коли модель має лише дві пошукові
змінні, може бути використано графічний
(графоаналітичний) метод. Розглянемо
варіанти
x2
z
Множина
розв’язків
на прямій ||
до z
Примітка. ОДР для ЛП завжди випукла, вогнутостей у ній не може бути.
2.2. Алгоритм зведення до канонічного вигляду задач лінійного програмування
Канонічний вигляд моделі – це вигляд, який потрібний для обробки математичної моделі методом чи програмою на комп’ютері. Для кожного методу існують свої вимоги до канонічного вигляду. Розглянемо вимоги зведення до канонічного вигляду для симплекс-методу:
Прямування цільової функції до максимуму: Z(f) max.
Наявність типу «рівність» для всіх обмежень.
Наявність одиничного позитивного базису.
Позитивність правої частини всіх обмежень.
Позитивність пошукових змінних.
Наявність додатного опорного розв’язку.
Базисна змінна – це змінна, яку потрібно додати в обмеження для отримання рівності та одиничного вектора.
Штучна змінна(M-змінна) – це змінна, яку потрібно дописати в обмеження (а якщо треба, то і в цільову функцію з коефіцієнтом М з протилежним знаком) як базисну. У цьому випадку ми штучну змінну називаємо М-змінною, яка після розрахунку має дорівнювати нулю.
Для зведення моделі до канонічного вигляду для сиплекс-методу необхідні такі дії та умови.
Аналіз умови невід’ємності для всіх пошукових змінних. Якщо не для всіх змінних задана ця умова, то кожну з них замінюють на різницю двох позитивних змінних.
Права частина має бути обов’язково позитивною. Якщо в обмежені права частина від’ємна, то треба помножити її на -1 для зміни знаку.
Якщо Z(f) min, то змінюють коефіцієнти на протилежні: Z(f) max.
Додавання однієї базисної змінної для кожної нерівності типу «».
Якщо є обмеження типу «=», то додавання однієї М-змінної, де М – це великий коефіцієнт ЦФ.
Якщо є обмеження типу «», « 0», то додавання різниці 2-ох додатних змінних, одна з яких М-змінна.
Розглянемо приклади приведення до канонічного виду та файлу початкових даних для розв’язання задачі ЛП за допомогою програми Simpl.exe. Виклик програми для розрахунку виконується за допомогою запису <Simpl file_in file_out>, де file_in та file_out – файл з початковими даними та файл з ітераціями розрахунку відповідно:
|
|
2*4 (розмірність) |
|
||||
-3 |
-2 |
0 |
0 |
|
|||
6 |
-1 |
1 |
0 |
5 |
|||
7 |
1 |
0 |
1 |
7 |
|||
|
|||||||
Відповідь: x = (0, 0, 5, 7).
|
|
2*5 (розмірність) |
|
||||
-3 |
-2 |
0 |
0 |
0 |
|
||
6 |
-1 |
1 |
0 |
0 |
5 |
||
7 |
1 |
0 |
-1 |
1 |
7 |
||
|
|||||||
Відповідь: x = (0, 0, 5, 0, 7).
|
|
2*5 (розмірність) |
|
||||
3 |
2 |
0 |
-30 |
-30 |
|
||
-6 |
1 |
-1 |
1 |
0 |
5 |
||
7 |
1 |
0 |
0 |
1 |
7 |
||
|
|||||||
Відповідь: x = (0, 0, 0, 5, 7).
|
|
2*5 (розмірність) |
|
||||
-7 |
-2 |
2 |
0 |
-20 |
|
||
6 |
-1 |
1 |
1 |
0 |
5 |
||
-7 |
-1 |
1 |
0 |
1 |
7 |
||
|
|||||||
Введемо
заміну
=
-
.
Заміст М,
введемо коефіцієнт, який в 10 раз більший
від коефіцієнта цільової функції, тобто
дорівнює 20.
Відповідь:
= (0,
0, 0, 5, 7).
