Динамическое программирование. Динамическое программирование
![]()
|
Задача о наборе высоты и скоростиПостановка задачи.Пусть самолет, находящийся на высоте ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Согласно законам аэродинамики лучше разгоняться на большей высоте, где плотность воздуха и, следовательно, сопротивление меньше. Набирать же высоту лучше при большей скорости, так как подъемная сила крыла при этом больше. Таким образом, высота и скорость ‑ противоречивые цели. ![]() Рис. 1.2. Расход горючего при наборе высоты и скорости ![]() Пример 1.2. Пусть скорость может увеличиваться пятью шагами, а высота - тремя (рис.1.2). На горизонтальных линиях рисунка укажем затраты горючего на увеличение скорости, а на вертикальных - затраты горючего на набор высоты. Переход от начального состояния ![]() ![]() Процесс перехода состоит из 8 шагов: 5 по горизонтали и 3 по вертикали. Рассмотрим последний, 8-й шаг. В положение ![]() ![]() ![]() ![]() ![]() Предпоследний, 7-й шаг может выполниться из трех узлов ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]()
То же самое проделаем со всеми узлами. Результат представлен на рис.1.5. Когда дойдем до узла ![]() ![]() Если же непосредственно двигаться из ![]() ![]() ![]() Итак, решение задачи оптимизации методом динамического программирования состоит из двух этапов. На первом этапе процесс рассматривается от его конца к началу, и строятся условные оптимальные управления. На втором этапе процесс рассматривается от начала к концу и ищется безусловное оптимальное управление ![]() ![]() Рис.1.5. Оптимальное решение |