
- •Раздел 2. Некоторые критерии оптимальности. 9
- •1. Введение. Основные понятия и определения.
- •1.1. Задача нахождения алгоритмов управления.
- •Раздел 2. Некоторые критерии оптимальности.
- •2.1. Задача о максимальном быстродействии.
- •2.2. Задача синтеза систем по интегральным критериям качества переходных процессов.
- •2.3. Задача ограничения энергетических ресурсов.
- •3. Математические основы теории оптимальных систем.
- •3.1. Функционалы, вариации и их свойства.
- •3.2. Понятие линейности функционала.
- •3.3. Уравнение Эйлера. Уравнение Эйлера-Пуассона. Условия трансверсальности.
- •3.4. Задачи на условный экстремум.
- •3.5. Принцип максимума.
- •3.6. Динамическое программирование.
- •3.7. Способы нахождения фазовых траекторий.
- •4. Управление, оптимальное по быстродействию, в разомкнутых системах.
- •4.1. Нахождение оптимальных управлений с помощью принципа максимума. Теорема об “n” интервалах.
- •4.2. Физическая сущность управления, оптимального по быстродействию.
- •4.3. Определение моментов переключения в линейных оптимальных управлениях.
- •4.4. Определение моментов переключения при дополнительных ограничениях, накладываемых на координаты.
- •4.5. Нахождение моментов переключения в нелинейных оптимальных управлениях.
- •4.6. Определение знака первого интервала.
- •5. Управление, близкое к оптимальному.
- •5.1. Уменьшение количества интервалов управления.
- •Перечень заданий для самостоятельной работы.
- •Список литературы
- •443100, Самара, ул. Молодогвардейская,244. Корпус №8
3.6. Динамическое программирование.
Метод динамического программирования разработан американским математиком Р. Беллманом и его школой. Метод развивался в процессе решения вариационных задач на вычислительных машинах, поэтому содержит элементы дискретности. Постановка основной вариационной задачи в динамическом программировании такая же, как и в принципе максимума Понтрягина. При изложении используются материалы источников [8].
Рассмотрим пример решения вариационной задачи.
Пусть,
между пунктами А
и В
(рис. 3.9) необходимо провести железную
или шоссейную дорогу так, чтобы стоимость
строительства была минимальной. Разобьём
путь между А
и В
на горизонтальные и вертикальные
участки. Обозначим стоимость строительства
на каждом горизонтальном и вертикальном
участке в некоторых условных е
диницах
(стоимость строительства можно заранее
подсчитать по карте). Обозначим узловые
точки
,
,
,
,
.
Начнём решение задачи с конечного
пункта, за который примем точку В.
Рис. 3.9. |
Из D2 есть уже два пути: через С1 и С2. Один путь даёт затраты 28, а другой 26. Через С1 в В путь менее рационален, поэтому его из дальнейших рассуждений исключаем. Ставим в D2 кружок с затратами 26 и стрелку оптимального управления в сторону С2. Также анализируем точку D3. Из D3 есть только один путь через С2. Ставим в D3 кружок с затратами 24 и стрелку оптимального управления в сторону С2. Обратим внимание на то, что неоптимальная траектория сразу исключается из рассмотрения. В этом и состоит смысл динамического программирования. Перейдём к точке Ei. Точки Е1 и Е4 дают единственно возможные траектории.
Точки Е2 и Е3 дают по две траектории каждая, из которых выбираем оптимальные, т.е. дающие минимум затрат. Причём из точки Е2 используем только оптимальную траекторию. Из всех возможных путей из точек Е1, Е2, Е3, Е4 остаются только четыре (показаны стрелками). Переход таким же образом к точкам Fi, Gi и, наконец, к А, получаем оптимальный путь, который на рисунке отмечен жирной линией и даёт минимально возможный расход в условных единицах- 59. Оптимальный путь можно трактовать как оптимальную траекторию в принятой системе координат. Отметим ещё раз, что по мере продвижения от В к А последовательно исключились неоптимальные траектории. Это исключение значительно упростило нахождение оптимальной траектории. При простом переборе пришлось бы рассчитывать все траектории от А до В, которых всего 25. Заметим ещё особенность, которая заключается в том, что оптимальная траектория рассматривается не только на одном шаге, но и учитываются другие шаги. На каждом шаге траектория может быть и неоптимальной, но вся траектория в целом оптимальна. Сформулирован принцип оптимальности, который гласит, что любой отрезок оптимальной траектории также является оптимальным, а будущее поведение процесса не зависит от его предыстории, т.е. поведение системы в прошлом до начала управления.
Следует, однако, сделать оговорку. Для примера был взят очень простой случай. В реальных ситуациях даже разбиение на шаги и то представляет большие трудности, причём шагов может быть многие сотни. Поэтому идея метода динамического программирования в большинстве случаев реализуется сложным образом. Дадим математическую запись методу динамического программирования.
Пусть заданы динамические свойства объекта управления:
(3.30)
и
начальные условия
и
.
Выбираем критерий оптимальности:
(3.31)
где
-
функция управления, которая доставляет
минимум функционалу J.
Обозначим
через
минимальное значение функционала,
которое зависит от начальных условий
и вида управления.
Допустим,
имеется оптимальная траектория
,
которая обеспечивает минимальное
значение интегралу J.
Разобьем эту траекторию на два участка:
первый от
до
,
второй от
до
.
Р. Беллманом был сформулирован принцип
оптимальности, согласно которому
будущее поведение системы, т.е. при
,
не зависит от «предыстории», т.е.
поведение системы в прошлом, и определяется
лишь её настоящее состоянием, т.е. в
момент времени
.
Поэтому если траектория от
до
,
оптимальная, то второй участок оптимальной
траектории также является оптимальным.
Кроме этого, второй участок может
рассматриваться и как самостоятельная
траектория с начальными условиями
.
Используя принцип оптимальности,
представим интеграл J
в виде:
(3.32)
.
Согласно
принципу оптимальности Беллмана, если
доставляет min
интегралу
,
то она будет доставлять также min интегралу
.
Поэтому, учитывая (3.32) получим
(3.33)
где
-
функция от начального состояния
в момент
.
Будем считать τ достаточно малой величиной.
Тогда
(3.34)
Применим к (3.34) формулу конечных приращений
(3.35)
Из (3.32) с учётом (3.35) можно записать
(3.36)
Вычтем
из обеих частей последнего равенства
(3.37)
Для
получения минимума по
нужно продифференцировать (3.37) по
.
(3.38)
Согласно
принципу оптимальности начальные
условия
и
можно заменить на текущие координаты
и
.
Тогда получим окончательно функциональные
уравнения Беллмана:
(3.39)
Выражения
(3.39) представляют собой нелинейные
дифференциальные уравнения в частных
производных. Поэтому применение этого
метода в некоторых случаях требует
сложных расчётов и не всегда возможно
в таком виде. Исключив из (3.39)
,
получим соотношение
(3.40)
Заметим здесь, что функция S должна быть дифференцируемой по х.