- •3 Задача про найкоротший шлях 8
- •7.2.3 Стани 50
- •7.2.4 Основне рекурентне співвідношення 51
- •1 Загальна характеристика динамічного програмування
- •1.1 Геометрична інтерпретація задач дп
- •1.2 Приклад багатоетапної операції
- •2 Основні положення поетапного оптимального управліНня
- •2.1 Загальна схема алгоритму динамічного планування n-крокової операції
- •3 Задача про найкоротший шлях
- •3.1 Схема алгоритму зворотньої прогонки (азп) по дугах, що виходять
- •3.2 Приклад застосування алгоритму азп по дугах, що виходять
- •3.3 Завдання для самостійної роботи
- •3.4 Схема алгоритму прямої прогонки (апп) по дугах, що входять
- •3.5 Приклад застосування алгоритму апп по дуга, що входять х
- •3.6. Завдання для самостійної роботи
- •3.7 Схема алгоритму зворотної прогонки (азп) по дугах, що входять
- •3.8 Відмінності алгоритмів прямої і зворотної прогонок
- •3.9 Контрольні завдання
- •4. Задача про оптимальне використання ресурсу
- •4.1 Змістовна інтерпретація задачі про оптимальне використання ресурсу
- •4.2 Побудова рекурентного співвідношення задачі 4.1.1
- •4.3 Побудова рекурентного співвідношення задачі 4.1.2
- •4.4 Схема апп для зовк
- •4.5 Приклад розв’язання зовк
- •4.6 Завдання для самостійної роботи
- •4.7 Контрольні завдання
- •5 Задача про використання робочої сили
- •5.1 Постановка задачі
- •5.2 Теоретичне обґрунтування алгоритму зворотньої прогонки для розв’язку задачі про найм робочої сили
- •5.3 Алгоритм пп розв’язку задачі
- •5.4 Приклад розв’язання зврс
- •5.5 Контрольні завдання
- •6 Основні елементи і принципи динамічного програмування
- •6.1 Адитивність цільової функції і етапи задачі
- •6.2 Принцип занурення
- •6.3 Основне рекурентне співвідношення
- •6.4 Стани
- •6.5 Умова марковості (відсутність післядії)
- •6.6 Принцип оптимальності Белмана
- •6.7 Загальна схема застосування алгоритму дп
- •7 Задача управліНня запасами
- •7.1 Постановка задачі
- •7.2 Елементи динамічної моделі
- •7.2.1 Етапи
- •7.2.2 Варіанти розв’язків
- •7.2.3 Стани
- •7.2.4 Основне рекурентне співвідношення
- •7.3 Приклади розв’язання зуз
- •7.4 Контрольні завдання
- •8 Задача про надійність
- •8.1 Змістовна постановка задачі
- •8.2 Математична модель задачі
- •8.3 Елементи динамічної моделі
- •Основне рекурентне співвідношення
- •8.4 Приклад розв’язання задачі
- •8.5 Контрольні завдання
- •Список літератури
6 Основні елементи і принципи динамічного програмування
Розглянуті задачі ЗЗНШ, ЗОВР (ЗОВК) і ЗВРС мають особливості, характерні для всіх багатокрокових процесів прийняття рішень, тому поняття і принципи ДП будемо ілюструвати на прикладах цих задач. При цьому відзначимо, що будь-яка задача ДП може бути зведена до задачі знаходження найкоротшого шляху в мережі. Тому, якщо будемо говорити про мережу і її вершини то, це може відноситись і до будь-якої задачі ДП.
6.1 Адитивність цільової функції і етапи задачі
У
задачах ДП цільова функція (ЦФ)
повинна мати властивість
адитивності:
значення критерію, досягнуте за весь
період планування дорівнює сумі часткових
значень того ж критерію, досягнутих на
окремих кроках (етапах):
де
- це або скалярна величина, або вектор.
Саме
адитивність ЦФ задачі дозволяє розбити
задачу на етапи.
При цьому з кожним з етапів зв'язується
тільки одна керована змінна (
)
і кожному етапу відповідає одна складова
ЦФ:
ЗЗНШ:
- довжина
-го
кроку,
-
дуга, по якій перейшли з
-го
слою до
-го
слою (наприклад дуга
, тоді складова ЦФ:
=
);ЗОВР:
- прибуток від виробництва
-го
продукту в об'ємі
;ЗОВК:
- прибуток від модернізації
-го
підприємства за проектом
.
Якщо в початковій постановці задачі критерій не адитивний, то намагаються видозмінити постановку або сам критерій. Так, наприклад, якщо у вихідній постановці критерій мультиплікативний, то шляхом його логарифмування прийдемо до адитивного вигляду ЦФ. Відзначимо, що розроблено алгоритми ДП і для задач із мультиплікативним критерієм.
6.2 Принцип занурення
У
ЗЗНШ потрібно було визначити
(якщо застосовується АЗП) - довжину
найкоротшого шляху від вершини 1 до
вершини
,
що складається із кроків
.
Однак, замість того, щоб розв’язувати
задачу безпосередньо (відразу шукати
найкоротший
-кроковий
шлях) було здійснено занурення задачі
в клас задач про знаходження найкоротших
шляхів, тобто послідовно обчислювалися
найкоротші шляхи від кожної вершини
мережі до вершини
.
Спочатку шукали всі найкоротші однокрокові
шляхи
,
потім знаходили найкоротші двокрокові
шляхи
і т.д. до
.
В
ЗОВК було потрібно визначити таке
використання інвестицій у підприємства
від 1 до
,
при якому прибуток максимальний і
витрачено
одиниць ресурсу, тобто, визначити
(при застосуванні АПП). Для цього
обчислювалися послідовно:
;
;
…
...
Отже, принцип занурення полягає в наступному. Вихідна задача занурюється в множину оптимізаційних задач: для кожної вершини мережі розв’язується своя задача. Остання задача, що і дає шуканий розв’язок, - одна із множини оптимізаційних задач.
Занурення приводить до ефективних обчислювальних процедур.
6.3 Основне рекурентне співвідношення
Множина розв’язків оптимізаційних задач описується рекурентними співвідношеннями, аналогічними (1), (2), (4), (6) і (8).
Основне рекурентне співвідношення (ОРС) являє собою систему рівнянь, які зв'язують між собою розв’язки побудованої множини оптимізаційних задач.
У
такій системі кожне рівняння відповідає
одній вершині мережі. Ці рівняння
зазвичай містять оператори типу мінімум
або максимум праворуч від знака рівності,
а величини
й
(або
)
по обидві сторони від нього.
Синоніми ОРС: функціональне рівняння, основне функціональне рівняння Белмана.
Розв’язки множини оптимізаційних задач можна знайти за допомогою алгоритму зворотньої (або прямої) прогонки, що є впорядкованою процедурою розв’язання послідовності рекурентних рівнянь.
