Оптимизация дискретных систем
Пусть система может находиться в одном из состояний дискретного множества S. Множество S можно трактовать как дискретное фазовое пространство. Для каждого из возможных состояний определим множество допустимых управлений ,. Система может переходить из одного состояния в другое. При этом будем считать, что система обладает марковским свойством, т. е. будущее состояние системы зависит только от состояния, в котором находится система в настоящий момент времени, и используемого в этот момент управления. В соответствии с этим введем функцию переходов, используя которую, запишем рекуррентное соотношение, определяющее эволюцию системы
(14.12)
Здесь — состояние системы на i-м шаге.
Тогда N-шаговому управлению можно поставить в соответствие траекторию движения системы
если задано — начальное состояние-системы.
Качество выбранного управления можно характеризовать численным значением целевой функции , зависящим от траектории системы в пространстве S.
Задача состоит в выборе-управления u, доставляющего экстремум выбранному критерию. Для простоты будем считать, что критерий аддитивен относительно множества состояний, пробегаемых в процессе эволюции системы, т. е.
(14.13)
Введем функцию , равную численному значению критерия (14.13) при оптимальном k-шаговом управлении, начиная из состояния . Предположим, что система находится в некотором состоянии и надлежит выбрать одношаговое управление таким образом, чтобы максимизировать (14.13). Тогда
(14.14)
Пусть теперь система находится в состоянии и надлежит выбрать оптимальное двухшаговое управление так, чтобы максимизировать (14.13). Тогда в соответствии с принципом оптимальности
Рассуждая аналогично, имеем
(14.15)
откуда, в частности,
(14.16)
Вычислительная процедура решения задачи теперь ясна. Отыскание оптимального управления начинаем с последнего шага. При этом для каждого из возможных состояний системы , используя (14.14), необходимо отыскать и запомнить оптимальное управление .Таким образом, будет известно оптимальное одношаговое управление для любого из возможных состояний системы. Теперь, используя (14.15) при k=2, для каждого из возможных состояний системы найдем оптимальное двухшаговое поведение . Обратим внимание на то, что при этом фактически приходится решать одношаговую оптимизационную задачу отыскания , так как после отыскания с использованием соотношения (14.12) вычисляется состояние , причем для каждого из оптимальное управление уже было найдено ранее. Аналогично отыскивается оптимальное поведение для k = 3, 4, ..., N-1. Поскольку начальное состояние системы фиксировано, при отыскании оптимального управления на первом шаге нет необходимости решать оптимизационную задачу для всех . Нужно сделать это только для исходного состояния .
Таким образом, метод динамического программирования позволяет отыскать оптимальное многошаговое управление путем решения совокупности более простых одношаговых оптимизационных задач.
Поясним вычислительную процедуру метода на следующих примерах.
Do'stlaringiz bilan baham: |