Постановка задачі динамічного програмування


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

Динамічне програмування використовується для розв’язання таких задач: розподіл дефіцитних капітальних вкладень між новими напрямками їх використання; розробка сценаріїв управління попитом чи запасами; розробка принципів календарного планування виробництва і вирівнювання зайнятості в умовах нестабильного попиту на продукцію; складання календарних планів поточного та капітального ремонту устаткування та його заміни; формування послідовності розвитку комерційної операції і т.д.

Розглянемо деякий керований процес. Припустимо, що керування можна розбити на п кроків, тобто рішення приймається послідовно на кожному кроці, а процедура, яка переводить систему з початкового стану в кінцевий, є сукупністю п покрокових керувань. В результаті керування система переходить із стану S0b S„.

Позначимо через xkeUk керування на к-му кроці (к= 1,п), де Uk - множина допустимих керувань на к-му кроці.

Нехай х = (х12,...,хп) - керування, яке переводить систему з

стану S0 в Sn. Позначимо через Sk стан системи після к-го кроку керування. Отримуємо послідовність станів S0,S1,...,Sk_1,Sk,Sk+1,...,Sn

(рис.7.1.1).

 

Рисунок 8.1. Схематичне зображення процесу керування

Показник ефективності процесу керування залежить від початкового стану системи і керованої змінної:

Z = F(S0,x). (8.1)

Власне, задача динамічного програмування формулюється

таким чином: знайти таке значения керованої змінної х\ яке переводить систему з початкового стану S0 в кінцевий S„, при якому цільова функція (7.1) набуває найбільшого (найменшого) значения.

Розглянемо характерні особливості математичної моделі динамічного програмування:

1) задача оптимізації формулюється як скінчений багатокроковий процес управління;

2) цільова функція (7.1) є адитивною від показника ефективності кожного кроку, тобто виграш від всієї операції складається з виграшів, отриманих на кожному кроці.

п

Z = F(S0,x) = YJFk(Sk_l,xk), (8.2)

к=\

де Fk(Sk_l9xk) = Zk- показник ефективності на к-му кроці;

3) вибір керування хкна кожному кроці залежить тільки від стану системи до цього кроку і не впливає на попередні кроки (немає зворотного зв’язку);

4) стан системи Sk після кожного кроку керування залежить тільки від попереднього стану системи Sk.j iкеруючої дії хk на &-му кроці та не залежить від попередніх станів системи і керувань (відсутність післядії):

Sk=<pk(Sk_l,xk), к= 1,п,(8.3)

де к - оператор переходу;

5) на кожному кроці керування хкзалежить від скінченого числа керованих змінних, а стан системи Sk залежить від скінченого числа параметрів;

6) оптимальним керуванням є вектор х , який знаходиться шляхом послідовних оптимальних покрокових керувань:

х* =(xl,x*2,...,x*k,...,x*n), кількість яких і визначає число кроків

задачі.



Дата добавления: 2016-07-22; просмотров: 2426;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.01 сек.