Главная > Теория автоматического управления > Оптимальные и адаптивные системы
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

Приложение 3. Метод динамического программирования для дискретных систем. Численное решение функционального уравнения

Для удобства изложения существа метода ограничимся вначале частным случаем этой задачи, когда объект описывается уравнением первого порядка . Кроме того, заменим приближенно этот непрерывный объект дискретным. В связи с этим разобьем интервал на равных участков достаточно малой длины Т и будем рассматривать лишь дискретные значения в моменты времени соответственно (далее будем полагать ).

Дифференциальное уравнение можно приближенно заменить уравнением в конечных разностях

или

где , и кроме того, здесь и далее нижний индекс в обозначении , а также число Т опущены.

Начальные условия для этого разностного уравнения остаются прежними:

Для удобства изложения примем где - заданные функции. Заменим приближенно интеграл (2.3.3) суммой

Принимая во внимание, что и Т суть константы, запишем функционал качества в виде

Задача П.3.1. Определить функцию управления

такую, чтобы на решениях системы при любых начальных условиях минимизировалась сумма . При этом искомая функция должна удовлетворять ограничению .

Для определенности будем полагать, что эти ограничения на управления имеют вид

Сформулированная задача является, в сущности, задачей условного экстремума функции . Независимыми переменными являются числа .

Синтез на основе классических методов математического анализа. Используя связи , исключим из , тогда

Если абсолютный минимум этой функции переменных достигается при , т. е. внутри множества U, то необходимые условия относительного экстремума функции записываются системой нелинейных алгебраических уравнений

К сожалению, подобные системы нелинейных уравнений трудно решить даже при сравнительно небольших .

Откажемся от аналитических методов и обратимся к прямым численным методам. Пусть . Будем определять минимум функции путем подсчета ее значения при различных значениях .

Разобьем интервал возможных значений на 10 частей и подсчитаем значения для каждого из полученных таким образом 10 наборов значений . Если вычислительной машине требуется 1 с на вычисление функции в одной точке, то для вычисления ее значений в потребуется (более 10 лет). Таким образом, и этот подход оказывается мало пригодным для решения задачи .

Более того, если бы даже эти пути и привели к числам , при которых функция принимает наименьшее значение, то эти числа не разрешили бы полностью задачу , поскольку в последней требуется найти функцию , зависящую от текущих значений . Полученные же числа зависят только от .

Синтез на основе принципа оптимальности. Будем полагать, что не фиксировано, и рассмотрим различные случаи задачи , соответствующие различным значениям параметра N, характеризующего время, в течение которого исследуется качество процессов в системе.

Эти частные случаи будем называть -шаговыми процессами.

Обозначим значение функционала качества при -шаговом оптимальном процессе.

Пусть Для этого одношагового процесса уравнения и функционал имеют вид

Нетрудно видеть, что

Опишем вычислительную процедуру определения оптимального управления в одношаговом процессе.

Процедура 1. Положим , где есть некоторое фиксированное число. Тогда

Разобьем интервал допустимых изменений на i отрезков длиной и вычислим значение функции в точках разбиения. При некотором значении эта функция принимает наименьшее значение . Запомним .

Положим теперь . Тогда . При некотором эта функция принимает наименьшее значение.

Таким образом, задаваясь различными значениями , получим значения . Эта зависимость оптимальных значений от начальных условий и является искомой функцией

задаваемой таблично.

Используя эту функцию, получим наименьшее значение функционала :

Рассмотрим теперь двухшаговый процесс . В этом случае

Представим где .

Значение зависит от выбора . При этом зависит от — от так как зависит от , которое в свою очередь определяется выбором .

Положим где — некоторое произвольное, но фиксированное число. Это управление отклоняет на величину .

Почти очевидно, что если требуется получить наименьшее значение при то необходимо выбирать так, чтобы принимало наименьшее значение.

Управление , доставляющее минимум , является управлением в одношаговом процессе (так как ) зафиксировано) и определяется формулой , т. е.

При этом

Значение функционала при определяется выражением

Минимизируя эту сумму по , получим

Выражение в фигурных скобках является функцией одной переменной Используя процедуру 1, получим функцию , при которой это выражение принимает наименьшее значение.

Таким образом, оптимальное управление в двухшаговом процессе имеет

При этом экстремальное значение функционала

Пусть . Для этого случая

Представим , где .

Пусть , где - произвольное, но фиксированное число.

Для оптимальности управления в этом трехшаговом процессе при условии, что управление на первом шаге фиксировано, необходимо определить так, чтобы принимало наименьшее значение. Для определения воспользуемся результатами, полученными для двухшагового процесса с начальным условием .

На основе получим

Значение функционала при управлении определяется выражением

Минимизируя его по , получим

Выражение в фигурных скобках является функцией одной переменной . Используя процедуру 1, находим

Таким образом, оптимальное управление в трехшаговом процессе описывается выражениями .

Повторяя эти рассуждения для , получим соотношение

которое является функциональным уравнением для дискретных систем.

Вывод этого уравнения опирался на принцип оптимальности, который можно переформулировать так:

оптимальное уравнение обладает тем свойством, каковы бы ни были начальное состояние (условие) и управление на первом шаге (или нескольких первых шагах), управление на последующих шагах должно быть оптимальным относительно состояния, возникшего в результате управления на первом шаге.

Какие же трудности в решении задачи мы преодолели, используя подход, основанный на принципе оптимальности? Главной трудностью являлась минимизация функции переменных . Функциональное уравнение позволило свести задачу минимума функции N переменных к значительно более простой задаче минимизации функций одной переменной. Действительно, используя при , получим функции:

Отметим еще раз, что функции получены в результате минимизации функции одной переменной .

В задаче требуется найти управление вида

Очевидно, что искомые и полученные управления связаны соотношениями

Таким образом, искомые функции управления

Второй вариант применения принципа оптимальности. Приведем еще одну систему рассуждений, основанных на принципе оптимальности, позволяющих определить управления . Определение этих управлений начнем с последнего интервала времени , предполагая, что состояние известно. Согласно принципу оптимальности, управление на этом интервале должно минимизировать частичную сумму, соответствующую этому интервалу:

Учитывая, что , получим

Это выражение с точностью до обозначений совпадает с и поэтому, применяя процедуру 1, получаем оптимальное управление на последнем участке:

Минимальное значение определяется выражением

Рассмотрим интервал времени , состоящий из последнего и предпоследнего интервалов Этому интервалу соответствует частичная сумма

Состояние будем предполагать известным. Из принципа оптимальности следует, что лишь состояние и цель управления (минимизация ) определяют оптимальное управление на интервале .

Найдем минимум по . Учтем при этом

Первые два слагаемых в не зависят от и поэтому

Применяя к последнему выражению в фигурных скобках, совпадающему с точностью до обозначений с , процедуру 1, получим оптимальное управление на предпоследнем интервале .

Перейдем теперь к интервалу времени , состоящему из трех последних интервалов. Этому интервалу соответствует частичная сумма

Предполагая состояние известным, определим управления , минимизирующие сумму . В соответствии с принципом оптимальности, эти управления являются оптимальными для трех последних интервалов времени движения.

Учитывая, что первые два слагаемых в не зависят от , запишем

Применяя процедуру 1, получим оптимальное управление на интервале

Продолжая этот процесс, получим общую рекуррентную формулу

Используя процедуру 1, получаем оптимальное уравнение на интервале :

Это выражение совпадает с , а функциональное уравнение при совпадает с .

<< Предыдущий параграф Следующий параграф >>
Оглавление