Поиск оптимальной последовательности (цепочки) управлений методом динамического программирования
Оптимизация управления n-шагового процесса состоит в том, чтобы найти такую последовательность управлений и0, и1 ,..., ип-1, при которой критерий качества Q(x0, u) принимает минимальное значение. Это минимальное значение критерия качества управления n-шагового процесса будет зависеть от начального состояния х0 и его можно обозначать fn(x0). По определению имеем:
(5)
Заметим, что первое слагаемое этого выражения Q(x0,u0) зависит только от управления u0, тогда как остальные слагаемые зависят как от u0,так и от управлений на других шагах. Так, Q(x1,u1) зависит от u1, но оно зависит и от и0 , так как x1= T(x0, u0). Аналогично обстоит дело и с остальными слагаемыми. Поэтому выражение (5) можно записать в виде
Заметим далее, что выражение
представляет собой минимальное значение критерия качества управления (п-1)- шагового процесса, имеющего начальное состояние . В соответствии с определением эту величину можем обозначить через fn-1(x1). Таким образом, получаем:
Эти рассуждения можно повторить, если рассмотреть (п-1)- шаговый процесс, начинающийся с начального состояния . Минимальное значение критерия качества управления для этого случая
Продолжая эти рассуждения, получаем аналогичное выражение для (п-l)-шагового процесса, начинающегося с состояния хl.
Уравнение, называемое часто уравнением Беллмана, представляет собой рекуррентное соотношение, позволяющее последовательно определять оптимальное управление на каждом шаге управляемого процесса и является основой динамического программирования.
Сама идея оптимизации управления на каждом шаге отдельно, если трудно оптимизировать сразу весь процесс в целом, не является оригинальной и широко используется на практике. Однако при этом часто не принимают во внимание, что оптимизация каждого шага еще не означает оптимизацию всего процесса в целом. Так, жертва фигуры в шахматной партии никогда не бывает выгодна с точки зрения отдельного хода, но она может быть выгодна с точки зрения всей партии. Расход средств на амортизацию может быть невыгоден с точки зрения конъюнктуры на отдельный момент, но он выгоден с точки зрения работы предприятия за длительный период.
Особенностью метода динамического программирования является то, что оно совмещает простоту решения задачи оптимизации управления на отдельном шаге с дальновидностью, заключающейся в учете самых отдаленных последствий этого шага.
В методе динамического программирования выбор управления на отдельном шаге производится не с точки зрения интересов данного шага, выражающихся в минимизации потерь на данном шаге, т. е величины Q(xl, ul), а с точки зрения интересов всего процесса в целом, выражающихся в минимизации суммарных потерь Q(xl, ul) +fn-(l+1)(xl+1) на всех последующих шагах. Отсюда следует основное свойство оптимального процесса, заключающееся в том, что каковы бы ни были начальное состояние и начальное управление, последующие управления должны быть оптимальными относительно состояния, являющегося результатом применения первого управления.
Из основного свойства оптимального управления следует, что оптимизация управления для произвольной стадии многошагового процесса заключается в выборе только последующих управлений. Поэтому бывает удобно учитывать не те шаги, которые уже были пройдены, а те, которые осталось проделать, для того чтобы привести процесс в конечное состояние. С этой точки зрения уравнение удобно записать в иной форме.
Величина п-l означает число шагов до конца процесса. Обозначим эту величину через k. При этом величины и будем обозначать просто через х и и. Они будут означать состояние объекта и примененное управление за k шагов до конца процесса. Последующее состояние, т. е. то, к которому объект переходит из состояния х при применении управления и, обозначим через х'. Это будет xn-(l+1) в прежних обозначениях. При этом уравнение запишется в виде
(1)
а рекуррентное соотношение примет вид:
(2)
Динамическое программирование является численным методом решения задачи оптимизации управления.
Определение оптимального управления на произвольном k-м шаге, отсчитываемом от момента окончания процесса, находится на основании соотношений (1) и (2), которые для удобства проведения численных расчетов удобно записать в несколько иной форме. Обозначим через Fk(x, и) величину критерия качества управления k-шагового процесса при оптимальном управлении на последних k—1 шагах и произвольном управлении на начальном шаге. Тогда соотношение (2) может быть записано в виде
где х' определяется из (1).