Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TOP-4.doc
Скачиваний:
2
Добавлен:
01.04.2025
Размер:
701.95 Кб
Скачать

§5. Метод динамического программирования

Рассмотрим задачу (4.1)-(4.4). Покажем, каким именно образом на основании теоремы 4.2 ищется оптимальное синтезирующее управление.

Уравнение Беллмана перепишем в следующем виде:

. (4.18)

Очевидно, что значение , на котором достигается минимум в правой части (4.18), будет разным для различных x и grad V , так что

(4.19)

Подставляя эту функцию в уравнение Беллмана, имеем:

(4.20)

– нелинейное (в силу (4.19)) дифференциальное уравнение в частных производных относительно функции Беллмана V.

Заметим, что если к задаче (4.1)-(4.4) добавить условие на правом конце

x(T) = x1,

где точка x1 задана, а T заранее не известно, то функция Беллмана будет зависеть только от текущего состояния x: V = V(x). Действительно, по определению

.

Но, согласно свойствам автономного процесса, значение интеграла

при фиксированных и зависит только от длины интервала интегрирования, который можно определить из автономной системы (4.1), зная точки и . Значит, есть функция от этих двух точек, а V явно не зависит от t. В этом случае уравнение Беллмана имеет вид

.

Теперь можно привести общую схему применения метода динамического программирования для задачи синтеза оптимального управления в (4.1)-(4.4):

Этап 1. Проверка предположения А.

Этап 2. Построение синтезирующего управления в общем виде (4.19) как точки минимума правой части (4.18).

Этап 3. Решение краевой задачи (4.20) с условием (4.6), в результате чего находится функция Беллмана V(tx) и проверка выполнения условия B.

Этап 4. Нахождение оптимальной траектории путем решения задачи Коши (4.1)-(4.2) при управлении, заданном функцией (4.19).

Этап 5. Определение конкретного вида оптимального управления как функции времени с помощью соотношения (4.19) и найденной траектории: .

Отметим, что сразу же после нахождения функции Беллмана V(tx) на третьем этапе можно получить наименьшее значение целевого функционала, равное V(t0x0).

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

Однако главная трудность состоит в требовании выполнения предположения В. Дело в том, что вид функции Беллмана нам заранее (т.е. априори) не известен, так что данное предположение о дифференцируемости функции V(tx) проверить по уравнениям движения объекта невозможно. Этот недостаток можно было бы считать не особенно существенным, если всегда после решения задачи методом динамического программирования функция Беллмана действительно получалась бы непрерывно дифференцируемой. Но оказывается, что даже в простейших линейных задачах оптимального управления функция V(tx) не является всюду дифференцируемой, что и будет продемонстрировано далее (см. пример 4.1). В связи с этим можно констатировать, что применение метода динамического программирования не всегда обоснованно.

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

Во многих прикладных задачах часто удается получить явное выражение вида (4.19) для управления u*, при котором достигается минимум в (4.18) при фиксированных значениях параметров . Задачу Коши (4.20), (4.6) для нелинейного уравнения с частными производными первого порядка, получаемую после подстановки этой функции в уравнение Беллмана, можно решить численно, используя один из известных методов [10]. При этом получаем приближенное решение, определенное на какой-то дискретной сетке точек. Чтобы получить функцию Беллмана задачи (4.1)-(4.4), это решение нужно доопределить (например, интерполяцией или с помощью сплайнов) во всех точках множества  до некоторой непрерывной кусочно-гладкой функции V(tx).

Иногда (см. пример 4.3) функцию Беллмана удается найти в виде многочлена по переменным , ..., с неопределенными коэффициентами, зависящими от времени:

.

Если подставить это выражение для V(tx) в (4.20), (4.6), то для определения коэффициентов получим дифференциальные уравнения следующего вида:

, (4.21)

, ,

с граничным условием

, . (4.22)

Здесь  – некоторая непрерывная функция. Если , , в свою очередь, являются многочленами относительно , ..., , то, приравняв коэффициенты при одинаковых степенях этих переменных в (4.21), (4.22), получим задачу Коши для системы обыкновенных дифференциальных уравнений относительно .

Найденная с помощью того или иного метода функция Беллмана позволяет на основании формулы (4.19) искать оптимальное позиционное управление для исходной задачи оптимального управления.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]