Тепер статті може редагувати кожен. Приєднуйтесь до нашої вікі-спільноти!

Алгоритм динамічного програмування

Матеріал з USIC Wiki
Перейти до: навігація, пошук
Для ФІН

Ця стаття відноситься до групи довідкових статей для студентів ФІН.

Алгоритм динамічного програмування у дискретному часі:

1. Обрати пораметри, що характеризують стан системи S

2. Розбити операцію на кроки

3. Визначити набір можливих крокових рішень хі та обмеження накладені на них

4. Визначити функцію виграшу на і-ому кроці:

wi=fi(S, xi)

5. Визначити функцію переходу стану на і-ому кроці в залежності від дії:

S′=φi(S, xi)

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

TPRK 24 1.GIF

7. Виконати умовну оптимізацію останнього кроку, таким чином, щоб:

TPRK 24 2.GIF

Знаходимо умовне оптимальне рівняння xM(S)

8. Проводимо умовну оптимізацію для m-1 кроку і відповідно усіх попередніх, визначаючи xi(S) і якщо початковий стан відомий, то

9. Провести безумовну оптимізацію згідно рекомендаціям на кожному кроці: xi*=xi(S0) відповідно змінюючи стан

Особисті інструменти
Простори назв
Варіанти
Дії
Навігація
Інструменти