Главная Обратная связь

Дисциплины:

Архитектура (936)
Биология (6393)
География (744)
История (25)
Компьютеры (1497)
Кулинария (2184)
Культура (3938)
Литература (5778)
Математика (5918)
Медицина (9278)
Механика (2776)
Образование (13883)
Политика (26404)
Правоведение (321)
Психология (56518)
Религия (1833)
Социология (23400)
Спорт (2350)
Строительство (17942)
Технология (5741)
Транспорт (14634)
Физика (1043)
Философия (440)
Финансы (17336)
Химия (4931)
Экология (6055)
Экономика (9200)
Электроника (7621)






Методика розв’язування динамічних задач



Динамічний процес розбивається на сукупність послідовних етапів, або кроків. Кожний крок оптимізується окремо, а рішення (розв’язок), згідно з яким система переходить із поточного стану до нового, вибирається з урахуванням його майбутніх наслідків і не завжди дає найбільший ефект на даному етапі. На останньому кроці приймається рішення (відшукується розв’язок), яке забезпечує максимальний ефект. З огляду на сказане, оптимізація методом динамічного програмування починається з кінця: насамперед планується останній крок. Спираючись на відому інформацію про закінчення передостаннього кроку, на підставі різних гіпотез щодо його закінчення, вибирають управління на останньому кроці. Таке управління називають умовно оптимальним, оскільки знаходять його за припущення, що попередній крок було здійснено згідно з однією з можливих гіпотез.

Нехай аналізується деякий керований процес, перебіг якого можна розбити на послідовні етапи (кроки), що задаються. Ефективність всього процесу Z є сумою ефективностей окремих кроків:

(адитивний критерій)

або

(мультиплікативний критерій).

З кожним кроком задачі пов’язане прийняття певного рішення, так званого крокового управління , що визначає як ефективність даного етапу, так і всієї операції в цілому.

У задачі динамічного програмування знаходять таке управління всією операцією, яке максимізує загальну її ефективність:

Оптимальним розв’язком цієї задачі є управління , що складається із сукупності оптимальних покрокових управлінь

і забезпечує максимальну ефективність Z*

.

Усі класи задач динамічного програмування розв’язують, керуючись основним принципом: яким би не був стан системи S перед черговим кроком, управління на цьому кроці слід вибрати так, щоб ефективність розглядуваного кроку плюс оптимальна ефективність на всіх наступних кроках була максимальною.

Отже, маємо алгоритм розв’язування задач динамічного програмування.

1. Специфікуємо стан заданої керованої системи та множину параметрів, що описують цей стан. Стан системи обираємо, маючи на меті забезпечити зв’язок між послідовними етапами перебігу процесу і знайти допустимий розв’язок задачі в цілому як результат оптимізації на кожному кроці окремо. При цьому оптимальні рішення на наступних етапах приймаємо, нехтуючи впливом подальших рішень на прийняті раніше.

2. Розбиваємо динамічний процес (операцію) на кроки, що відповідають, як правило, часовим періодам планування або окремим об’єктам (підприємствам, видам продукції, устаткування і т. ін.), стосовно яких розробляються управлінські рішення.



3. Подаємо перелік управлінських рішень для кожного кроку і відповідні обмеження щодо них.

4. Визначаємо ефект, що його забезпечує управлінське рішення на j-му кроці, якщо перед тим система була у стані S, як функцію ефективності:

5. Досліджуємо, як змінюється стан S системи під впливом управлінського xj на j-му кроці, переходячи до нового стану:

.

6. Будуємо для розглядуваної задачі рекурентну залежність, що визначає умовний оптимальний ефект , починаючи з j-го кроку і до останнього, через вже відому функцію :

.

Цьому ефекту відповідає умовне оптимальне управління на j-му кроці . Зауважимо, що за аргумент функції беремо не s, а змінений стан системи, тобто .

7. Здійснюємо умовну оптимізацію останнього п-го кроку, розглядаючи множину станів s, що на один крок віддалені від кінцевого стану, і визначаємо умовний оптимальний ефект на п-му кроці:

.

Далі знаходимо умовне оптимальне управлінське рішення xn(s), завдяки якому цей максимум досягається.

8. Виконуємо умовну оптимізацію (n – 1)-го, (n – 2)-го і т. д., тобто всіх попередніх кроків за рекурентними залежностями п. 6, і для кожного кроку знаходимо умовне оптимальне управління:



9. Здійснюємо безумовну оптимізацію управління у «зворотному» напрямі — від початкового стану до кінцевого. Для цього з урахуванням визначеного оптимального управління на першому кроці змінюємо стан системи згідно з п. 5. Далі для цього нового стану знаходимо оптимальне управління на другому кроці і діємо так до останнього кроку.


Эта страница нарушает авторские права

allrefrs.ru - 2019 год. Все права принадлежат их авторам!