- •1.Задачі лінійного програмування її модифікація.
- •2. Симплексний метод: ідея, вимоги та умови оптимальності.
- •3. Графічний метод розв’язування задач лінійного програмування.
- •4. Симплексний метод: алгоритм розв’язування.
- •5. Альтернативний оптимум задач лінійного програмування.
- •6. Двоїста пара задач: типи та алгоритми перетворення.
- •7. Теорія двоїстості.
- •8. Розв’язування двоїстих задач.
- •9. Відповідність двоїстих оцінок змінних двоїстої пари задач.
- •10. Транспортна задача: математична модель, типи та особливості.
- •11) Умови оптимальності в методі потенціалів, її обґрунтування.
- •12) Методи будування базисних планів при розв’язуванні транспортної задачі.
- •Початковий опорний план
- •Метод північно-західного кута
- •Метод найменшої вартості
- •13) Метод потенціалів Метод потенціалів
- •Приклад
- •14) Транспортна задача: випадки вродженості
- •15) Альтернативний оптимум в транспортних задачах
- •16) Динамічне програмування: математична модель, особливості.
- •17) Основні вимоги, переваги, недоліки в методі динамічного програмування.
- •18) Види цільової функції в методі динамічного програмування.
- •19) Алгоритм розв’язування методом динамічного програмування
- •20) Задачі про призначення: особливості, математична модель, та алгоритм
- •4.2. Математична модель задачі про призначення.
- •4.3. Рішення задачі про призначення
- •21) Угорський метод
- •1 Постановка завдання
- •2 Розв’язання завдання
- •22. Задача про кільцевий маршрут та її розв’язування.
- •23. Алгоритм методу розгалужень та меж.
- •24. Задача про максимальний потік та її розв’язок.
- •25. Задача про найкоротшу відстань та метод її розв’язування.
- •26. Теорія ігор: ціна ігор.
- •27. Теорія ігор: сідлова точка.
- •28. Теорія ігор: теорія мінімакса ті її використання.
- •29. Зведення ігрових задач до задач лінійного програмування.
14) Транспортна задача: випадки вродженості
Опорний план транспортної задачі, як зазначалося раніше, має містити не більше ніж (m + n – 1) відмінних від нуля компонент. Якщо їх кількість дорівнює (m + n – 1), то такий опорний план називають невиродженим. Якщо ж кількість додатних компонент менша ніж (m + n – 1), то опорний план є виродженим. Вироджений план може виникати не лише за побудови опорного плану, але і при його перетвореннях у процесі знаходження оптимального плану.
Найчастіше, щоб позбутися виродженості опорного плану, в деякі клітини таблиці транспортної задачі в необхідній кількості вводять нульові постачання. Обсяги запасів постачальників і потреби споживачів після цього не змінюються, однак клітини зі значенням «нуль» вважаються заповненими.
Головною умовою при введенні нульової поставки є збереження необхідної і достатньої умови опорності плану транспортної задачі — його ациклічності. Клітина має вибиратись у такий спосіб, щоб неможливо було побудувати замкнений цикл.
15) Альтернативний оптимум в транспортних задачах
Если в процессе решения транспортной задачи получено решение, в котором количество занятых клеток меньше m+n-1, то это решение называется вырожденным. Расчет потенциалов выполнить невозможно. В этом случае недостающее число занятых клеток восполняется путем введения нулевых поставок в некоторые клетки (их выбор определяется возможностью расстановки потенциалов). Далее такие клетки считаются занятыми, и решение продолжается обычным образом.
Признаком наличия альтернативного оптимума в транспортной задаче является равенство нулю оценки хотя бы одной из свободных клеток в оптимальном решении. Для решении задачи следует найти все оптимальные решения (дающие одинаковое значение целевой функции), последовательно строя циклы относительно всех клеток, имеющих нулевые оценки.
Если два решения и являются оптимальными, то множество всех оптимальных решений имеет вид:
, где .
Если оптимальных решений более двух, то множество всех оптимальных решений является множеством выпуклых линейных комбинаций этих оптимальных решений, т.е. ответ следует записать в виде:
, где
16) Динамічне програмування: математична модель, особливості.
Динамічне програмування — це математичний апарат, за допомогою якого розв'язуються багатокрокові задачі оптимального управління. У такому програмуванні для управління процесом серед множини всіх допустимих рішень шукають оптимальне в сенсі певного критерію, тобто таке рішення, яке дає екстремальне (найбільше або найменше) значення цільової функції — деякої числової характеристики процесу. Під багатоступеневістю розуміють або багатоступеневу структуру процесу, або розподіл управління на ряд послідовних етапів, що відповідають, як правило, різним моментам часу. Таким чи- ном, слово «програмування» означає прийняття управлінських рішень, а слово «динамічне» вказує на суттєве значення часу та порядку виконання операцій у процесах і методах, що розглядаються. До задач динамічного програмування належать задачі календарного планування, розподілу інвестицій, управління запасами, поточного та капітального ремонту, вибору методів проведення реклами тощо.
Розглянемо загальну постановку задачі цього програмування. Нехай досліджується деякий економічний процес, що має n послідовних етапів. На кожному 7-му етапі процес може бути в різних станах s і, кожний з яких характеризується скінченою множиною параметрів. З кожним етапом задачі пов'язане прийняття певного управлінського рішення Xi, яке переводить систему з одного стану в інший. Припускається, що стан Si системи в кінці /-го етапу визначається лише попереднім станом S^1 та управлінням Xi на /-му етапі й не залежить від попередніх станів та управлінь. Тоді стан s і системи записується у вигляді залежності
Ефективність усього процесу управління може бути подана як сума ефективностей управлінських рішень окремих етапів, тобто За названих умов задача динамічного програмування формулюється так: визначити таку допустиму послідовність управлінських рішень X = { X1, x2, ..., xn }, котра переводить систему з початкового стану s0 у завершальний стан sn і за якої досягається максимальна ефективність управління. Плануючи багатоетапний процес управління, в задачах динамічного програмування необхідно на кожному етапі обирати управлінське рішення з урахуванням його наслідків на тих етапах, які ще попереду. Лише на останньому кроці можна прийняти управлінське рішення, що дасть максимальний ефект, оскільки наступного кроку для нього не існує. Тому задачі динамічного програмування розв'язуються з кінця. Ураховуючи цю закономірність, для довільного к-то етапу можемо записати рекурентну залежність
Така рекурентна залежність являє собою математичний запис принципу оптимальності Белмана. Визначивши за рекурентними залежностями умовно-оптимальний ефект на початковому етапі, проводять безумовну оптимізацію управління у «зворотному» напрямі, в результаті чого знаходять послідовність управлінських рішень, що забезпечує максимальну ефективність системи в цілому. Основні особливості методу динамічного програмування 1. Ідея і метод динамічного програмування найбільше пристосовані до дискретних задач, якими в більшості є задачі управління. 2. Метод динамічного програмування можна застосовувати за будь-якого способу завдання цільової функції та з будь-якою припустимою множиною станів та керувань. Цієї переваги позбавлені класичні методи оптимізації та інші обчислювальні методи математичного програмування. 3. Обчислювальні схеми методу динамічного програмування в дискретному випадку пов'язані з перебиранням оптимальних значень показника ефективності й керування на k-му кроці для всіх можливих значень змінної стану, але обсяг розрахунків при цьому значно менший, ніж за прямого перебирання варіантів. Це пов'язано з тим, що на етапі умовної оптимізації невдалі варіанти відразу відкидаються, а зберігаються лише умовно оптимальні на даному кроці. Максимум цільової функції на заключному n-му етапі дорівнює 4. Метод динамічного програмування дає можливість аналізу чутливості до зміни вихідних даних станів sk та їх кількості n. Фактично тут на кожному кроці розв'язується не одна задача, а множина однотипних задач для різних станів sk і різних k (1 < k < n). Тому зі зміною вихідних даних можна не розв'язувати задачу заново, а зробити лише нескладні додавання до вже виконаних розрахунків, тобто продовжити вже розв'язану задачу за рахунок збільшення кількості кроків n або кількості значень sk.