14.МЕТОДЫ РЕШЕНИЯ. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
Метод динамического программирования основан на принципе оптимальности,
который. Следуя Беллману, сформулируем на примере дискретного и детерминиро-
ванного процесса принятия решений.
Рассматривается некоторая физическая система, состояние которой в любой мо-
мент времени определяется вектором
. Комопоненты вектора
называются фазо-
выми переменными.
Введём в рассмотрение также семейство преобразования
, где векторная
переменная
называется вектором решения.
На каждом шаге можно выбрать значение
из набора допустимых векторов
так, что изменяется состояние физической системы и определяющий её вектор:
,
,
. . . . . .
.
Процесс, состоящий из выбора
решений, называется
шаговым процес-
сом. Для оценки последовательности решений
и
введём скалярную функцию
),,,,;,,,,(
NN
qqqqppppR
21021
, которая называет-
ся критерием или функцией дохода. Будем полагать, что после
шагов принятия ре-
шений влияние оставшихся
шагов процесса на функцию критерия зависит
только от состояния системы в конце
го решения и от последующих решений
.
Задача заключается в выборе такой последовательности решений, которая до-
ставляет максимальное значение функции критерия. Последовательность допустимых
решений называется стратегией (политикой). Стратегия, которая максимизирует
функцию критерия, называется оптимальной стратегией. Согласно принципу опти-
мальности Беллмана, оптимальная стратегия обладает тем свойством, что, каковы бы
ни были первоначальное состояние и первоначальное решение, последующее реше-
ние должно определять оптимальную стратегию относительно состояния, полученно-
го в результате первоначального решения.
Рассмотрим пример применения принципа оптимальности к задаче о максимиза-
ции функции дохода вида
∑
=
=
N
k
kk
qpgqqppR
0
101
),(),,,,,(
.
Максимальное значение функции дохода, которое зависит только от начального
состояния
и числа шагов
, обозначим через
.