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

Рассматривается управляемый процесс. В результате управления система (объект управления) приводится из начального состояния S0 в конечное S(S0 → S). Предположим, что управление можно разбить на n шагов, то есть решение принимаются последовательно на каждом шаге, а управление представляет собой совокупность n пошаговых управлений. Обозначим через Xk управление на k – ом шаге, k = 1,2,3…,n; Xk может быть числом, точкой в n-мерном пространстве или качественным признаком. Пусть X(X1, X2,..., Xn) – это управление, приводящее систему из S0 в S. Обозначим через Sk состояние системы после k-го шага управления. Получаем последовательность состояний:

S0, S1, S2,…, Sk-1, Sk,... Sn-1, Sn; которую изобразим кружками.

Показатель эффективности операции, целевая функция зависит от начального состояния S0 и управления X

Z=f(S0,x) (3.1)

Предположим:

1) Состояние системы Sk в конце k-го шага зависит от предшествующего состояния Sk-1 и управления на k-ом шаге Xk. Это требование называется отсутствием последствия:

Это положение записывают в виде уравнений

Sk = ϥk(S0,xk) k=1,2,3...n (3.2)

Которые называются уравнениями состояния.

2) Обозначим показатель эффективности k-го шага через

Zk=fk(Sk-1,xk) k=1,2,3...n (3.3)

тогда

Z=∑nk=1 а(Sk-1, xk) (3.4)

Задача динамического программирования (пошаговой оптимизации) формируется так: определить такое управление X, переводящее систему S из состояния S0 в состояние S, при котором целевая функция (3,4) принимает наибольшее (наименьшее) значение.

 

Особенности модели динамического программирования:

1) Задача оптимизации интерпретируется как n-шаговый процесс управления;

2) Целевая функция равна сумме целевых функций каждого шага;

3) Выбор управления на k- ом шаге зависит только от состояния системы к этому шагу и не влияет на предшествующие шаги (нет обратной связи);

4) Состояние Sk после k-ого шага управления зависит только от предшествующего состояния Sk-1 и управления xk (отсутствия последствий).

5) На каждом шаге управления xk зависит от конечного числа управляющих переменных, а состояние Sk от конечного числа параметров.