
- •Раздел 5. Приложение
- •Раздел 5. Приложение
- •§1. Вариационное исчисление. Простейшая (основная) задача
- •§2. Динамическое программирование в дискретных системах
- •§3. Дискретный принцип максимума
- •§4. Оптимальное управление стохастическими системами
- •§5. Многокритериальные задачи оптимального управления
- •Вопросы для самопроверки
§2. Динамическое программирование в дискретных системах
При моделировании многих прикладных задач возникают так называемые дискретные процессы – процессы, состояние которых изменяется или доступно измерению только в дискретные моменты времени.
Рассмотрим
систему, изменение состояния которой
происходит под воздействием управляющих
параметров в дискретные моменты времени
и описывается уравнениями:
,
,
(5.13)
где
– фазовый вектор, а
– вектор управления в момент времени
t,
,
– функция, характеризующая динамические
возможности системы. Начальное состояние
системы (в момент
)
считается заданным:
.
(5.14)
В
каждый момент t
значения управления
выбираются из заданного множества U:
,
.
(5.15)
Последовательность
,
удовлетворяющую условиям (5.15), будем
называть допустимым
управлением,
а соответствующую траекторию
системы (5.13)-(5.14) – допустимой
траекторией (рис.
5.6).
Соотношения
(5.13)-(5.15) определяют дискретную
управляемую систему.
Процесс управления ею осуществляется
следующим образом. При
система находится в состоянии
.
В результате выбора управления
,
согласно (5.13) однозначно определится
состояние
в момент времени
.
Дальнейший выбор управления
приведет систему (в силу (5.13)) в некоторое
состояние
и т.д. Окончательно последовательность
допустимых управлений
определит соответствующую траекторию
системы
.
Будем предполагать, что каждому
допустимому управлению
(
)
соответствует единственная траектория
системы (5.13)-(5.14).
В качестве критерия оптимальности будем рассматривать функционал вида:
,
(5.16)
где
– функция, оценивающая качество
управления на t-ом
шаге.
Дискретная
задача оптимального управления состоит
в том, чтобы для заданного начального
состояния
среди всех последовательностей допустимых
управлений найти такую последовательность
и соответствующую ей траекторию
,
которые доставляют наименьшее значение
критерию оптимальности (5.16), т.е. являются
соответственно оптимальным
управлением
и оптимальной
траекторией задачи
(5.13)-(5.16).
Пример
5.4. Планируется
деятельность двух предприятий в течение
T
лет. Совокупные начальные средства
составляют
.
Средства u,
вложенные в предприятие 1, приносят к
концу года доход
и возвращаются в размере
,
т.е. величина
составит средства, которые будут в
распоряжении планирующего органа в
следующем году и также могут быть вложены
в одно из предприятий. Аналогично, если
средства u
вкладываются в предприятие 2, то они
дают доход
и возвращаются в размере
.
По истечении года все оставшиеся средства
заново перераспределяются между
предприятиями 1 и 2, новых средств не
поступает, и доход в производство не
вкладывается. Требуется найти оптимальный
способ распределения имеющихся средств
между предприятиями.
Процесс
распределения средств рассматривается
как дискретный, в котором номер момента
времени соответствует номеру года.
Управляемая система – два предприятия
с вложенными в них средствами. Система
характеризуется одним параметром
состояния
,
,
– количеством средств, которые следует
перераспределить в начале t-го
года. Переменных управления в каждый
момент t
две:
и
– количество средств, выделенных
соответственно предприятию 1 и 2. Так
как средства ежегодно перераспределяются
полностью, то
и для каждого момента времени задача
становится одномерной. Критерий качества
задачи – доход, полученный от двух
предприятий в течение T
лет – составляет:
.
Уравнение
движения выражает остаток средств
после t-го
года и имеет вид:
,
при
этом
.
В итоге получаем следующую дискретную
задачу оптимального управления:
, , (5.17)
, (5.18)
, , (5.19)
.
(5.20)
Таким образом, мы показали моделирование конкретной проблемы в виде дискретной задачи оптимального управления.
Вернемся
к общей постановке (5.13)-(5.16). Согласно
(5.13), при
верно равенство
.
Поэтому для
можно записать
.
Последовательно используя равенства
(5.13), все остальные состояния
,
...,
можно выразить через
,
,
...,
.
Подставляя найденные выражения для
,
,
...,
в правую часть (5.16), получаем функционал
качества, зависящий только от начального
состояния
и управлений
,
,
...,
.
При фиксированном начальном условии
и при непрерывности всех функций
,
...,
и
этот функционал представляет собой
непрерывную функцию
переменных
,
...,
,
,
...,
,
,
...,
на множестве U.
При этом если указанное множество –
непустой компакт, то можно воспользоваться
теоремой Вейерштрасса, согласно которой
существует набор управлений
,
,
...,
,
доставляющий минимальное значение
критерию оптимальности. Таким образом,
справедливо следующее утверждение:
если функции
,
...,
,
,
,
непрерывны на
,
а множество U
значений управляющих параметров непусто
и компактно, то задача оптимального
управления (5.13)-(5.16) разрешима.
В частности, дискретная задача оптимального управления разрешима всегда, если множество U содержит конечное число элементов. Заметим, что в более общих задачах оптимального управления множество U зависит от времени.
В дальнейшем будем предполагать, что исследуемая задача имеет оптимальное решение.
Рассмотрим основные методы нахождения оптимальных решений для дискретных управляемых процессов.
Первым из них является метод динамического программирования Р. Беллмана [4], аналог которого для случая непрерывного времени был рассмотрен в предыдущем разделе. В дискретном случае метод динамического программирования также опирается на принцип оптимальности Беллмана. Этот принцип был определен в §2 раздела 4, приведем здесь другую его формулировку. Если управление в задаче (5.13)-(5.16) оптимально, то, каковы бы ни были первоначальное состояние системы и управление системой в начальный момент времени, последующее управление оптимально относительно состояния, которое система примет в результате начального управления.
В соответствии с этим принципом, как и раньше, для оптимальности всего процесса в целом нужно, чтобы на каждой промежуточной стадии последующая часть процесса также обладала свойством оптимальности. В результате выбор оптимального управления определяется лишь состоянием системы в текущий момент времени. Однако, в отличие от непрерывных задач оптимального управления, применение метода динамического программирования в дискретном случае не требует выполнения жестких условий на функцию Беллмана (см. §3 раздела 4) и потому является вполне реальным.
Для объяснения метода динамического программирования погрузим исходную задачу (5.13)-(5.16) в семейство аналогичных ей текущих задач, зависящее от параметров t, x (семейство (t, x)-задач):
,
, (5.13')
,
(5.14')
,
,
(5.15')
.
(5.16')
Как
и в разделе 4, обозначим через
функцию
Беллмана:
(минимальное
значение критерия качества (5.16') для
текущей (t, x)-задачи).
Ясно, что
,
поскольку в сумме (5.16') при
нет слагаемых. Кроме того, по определению,
– минимальное
значение функционала (5.16), которое может
быть получено из положения (5.14) при
всевозможных допустимых управлениях.
Иными словами,
есть то значение функционала J,
которое он принимает для оптимального
процесса с начальным состоянием
.
Предположим,
что в момент
система находилась в точке
.
Рассмотрим функционал
.
Представим его в виде:
Предположим,
что выполнен принцип оптимальности
Беллмана. От обеих частей последнего
равенства найдем минимум по допустимым
управлениям
,
.
Используя введенное обозначение для
функции Беллмана, получаем уравнение
Беллмана в
виде рекуррентного по времени уравнения
с краевым условием на правом конце:
,
,
(5.21)
(5.22)
(сравните
(5.21) с уравнением (4.18) для непрерывного
случая). При этом значение
,
на котором достигается минимум в правой
части (5.21), будет разным для различных
x,
т.е.
.
Данная функция управления зависит от
состояния системы в предыдущий момент
времени и называется условно-оптимальным
управлением.
Теорема
5.5. Пусть
– некоторая последовательность
допустимых управлений, а
– соответствующая этой последовательности
траектория. Для того чтобы последовательность
управлений
и траектория
были оптимальными в дискретной задаче
оптимального управления (5.13)-(5.16),
необходимо и достаточно, чтобы для
каждого
выполнялось равенство:
(5.23)
Доказательство.
Необходимость.
Пусть последовательности
и
являются оптимальными. Докажем
справедливость равенства (5.23) для всех
.
Предположим противное: для некоторого
непустого множества индексов
равенство (5.23) не имеет места. Обозначим
через
наибольший элемент множества .
Очевидно, что в силу (5.22)
.
Согласно предположению, существует
управление
,
для которого верно неравенство:
(5.24)
Положим:
,
,
.
(5.25)
Введем
вектор
.
По определению функции V
имеем:
По
теореме Вейерштрасса, существует
управление
,
на котором минимум достигается:
.
Теперь
введем
и т.д. В результате построим последовательности
,
,
для которых выполняются соотношения
(5.13), (5.14) и, кроме того, на основании
(5.24) верно неравенство:
.
(5.26)
Поскольку
– максимальный элемент множества ,
равенства (5.23) имеют место для
:
,
. . . . . . . . . . . . . . . . . . . . . . . . . . . ,
.
Складывая почленно эти равенства, получаем:
.
Теперь,
подставляя значение
в (5.26) и учитывая (5.25), приходим к
неравенству:
.
Получается,
что для последовательностей
и
значение критерия оптимальности меньше,
чем для последовательностей
,
.
Это противоречит начальному допущению
об оптимальности последовательностей
,
.
Достаточность. Пусть для последовательностей , равенство (5.23) верно при каждом . Установим оптимальность данных последовательностей. Для этого рассмотрим произвольную последовательность допустимых управлений и соответствующую ей, в силу (5.13), траекторию с тем же начальным состоянием . Из уравнения Беллмана (5.21) имеем:
,
.
Складывая
почленно эти неравенства и учитывая,
что
,
получаем:
.
(5.27)
С другой стороны, записав равенство (5.23) в виде
и просуммировав по , найдем:
.
(5.28)
Начальное состояние у траекторий и одно и то же, поэтому из (5.27) и (5.28) вытекает неравенство:
,
которое благодаря произвольности выбора означает оптимальность последовательностей управлений и состояний . Теорема доказана.
Решение задачи (5.13)-(5.16) находится следующим образом. Используя условие (5.22), из равенства (5.21) при имеем:
.
Затем
с помощью
из формулы (5.21) при
определяем следующую функцию:
и
т.д., последовательно уменьшая параметр
времени до 1, пока, наконец, не находим
.
Так как задача имеет оптимальное решение,
минимум в правой части (5.21) всегда
достигается при каждом фиксированном
.
При этом получается последовательность
условно-оптимальных управлений
,
,
...,
.
Далее, используя начальное условие
(5.14) и закон движения (5.13), находим
оптимальные управления и траектории
,
,
:
,
,
,
(5.29)
где
.
Наконец, вычислив значение функции
в точке
,
получаем минимальное значение критерия
качества (5.16).
Теперь можно окончательно сформулировать алгоритм метода динамического программирования (сравните его с общей схемой применения метода динамического программирования для непрерывного случая из §5 раздела 4):
Этап 1. Построение уравнения Беллмана (5.21).
Этап 2. Условная минимизация. Построение условно-оптимальных управлений как точек минимума правой части (5.21) и нахождение функций Беллмана V(t, x).
Этап 3.
Безусловная минимизация. Определение
оптимальных управлений
и оптимальных траекторий
при помощи уравнений движения и
условно-оптимальных управлений по
формулам (5.29).
Этап 4. Вычисление минимального значения критерия качества (5.16).
Продемонстрируем применение этого алгоритма для нахождения оптимального управления в задаче примера 5.4.
Запишем уравнение Беллмана для задачи (5.17)-(5.20):
,
,
.
Решение
задачи найдем при конкретных значениях
параметров. Пусть
,
,
,
,
,
.
Суммарный
доход, получаемый в t-ом
году от обоих предприятий, равен
,
а уравнение движения (5.17) принимает вид
.
Так
как метод динамического программирования
рассматривался для задач минимизации
некоторого функционала, то перед тем,
как составить уравнения Беллмана,
перейдем от максимизации функционала
(5.20) к задаче минимизации функционала
.
Тогда уравнения Беллмана запишутся следующим образом:
,
,
.
Выполним последовательные вычисления этапа условной оптимизации.
(так
как линейная относительно
убывающая функция достигает минимума
в конце интервала, т.е. при
);
Коэффициент
при
положительный, поэтому минимум этой
линейной относительно
функции достигается в начале интервала,
т.е.
,
.
Далее,
,
откуда
,
;
,
при
.
Перейдем
к этапу безусловной оптимизации. Так
как при
условно-оптимальные управления
не зависят от состояния системы, то
.
Зная
,
находим
;
используя
,
получаем
;
для найденного
вычисляем
.
Наконец, для последнего года
и
.
Следовательно, средства между предприятиями
нужно распределить так:
Предприятие |
Год |
|||
1 |
2 |
3 |
4 |
|
1 |
0 |
0 |
0 |
5120 |
2 |
10000 |
8000 |
6400 |
0 |
При
таком распределении средств за четыре
года будет получен доход, равный
.
Запишем окончательно оптимальную последовательность управлений и соответствующую траекторию:
,
.
Пример
5.5. Рассмотрим
дискретную управляемую систему, в
которой
,
,
и
,
,
,
.
По
условию (5.22) имеем
.
Далее из (5.21), с учетом равенства
,
получаем:
.
При
фиксированных
и
выражение
представляет собой линейную функцию
переменной u.
Следовательно, среди точек минимума
этой функции обязательно будет хотя бы
одна граничная точка множества U,
т.е.
или
.
Поэтому можно записать:
.
Минимум
в правой части равенства достигается
при
,
когда
,
и при
,
если
.
На основании (5.23) нетрудно определить
оптимальное управление:
В
частности, при
оптимальным является любое из управлений
1 или – 1.
Теперь можно определить следующую функцию:
Очевидно, операция взятия минимума, как функция от переменной u, является линейной функцией при произвольных фиксированных и . Значит, среди ее точек минимума обязательно будет хотя бы одна граничная точка множества U. На основании этого имеем:
причем
если
,
или
,
,
то минимум достигается в точке
,
а если
,
или
,
,
то в точке
.
Согласно (5.23), это означает, что оптимальное
управление
имеет вид:
Далее аналогично имеем:
,
причем
последний минимум достигается на любом
из управлений
или
.
Следовательно, в качестве оптимального
может быть взято управление
или
.
Аналогично,
в качестве оптимального управления
можно взять как управление
,
так и
,
причем
и т.д. На каждом последующем шаге оптимальным является также любое из управлений – 1 или 1. При этом
.
Находим оптимальное значение:
.
Теперь
восстановим оптимальную последовательность
управлений. Поскольку начиная с
в качестве оптимального можно брать
любое из чисел – 1 или 1, то для
определенности примем
.
Находим соответствующую этим управлениям
часть оптимальной траектории:
,
,
,
,
,
,
,
,
.
Так как
,
,
то
.
В этом случае
.
Следовательно,
и поэтому
,
.
Для завершения задачи выпишем оптимальную
последовательность управлений и
соответствующую траекторию, вдоль
которых критерий оптимальности имеет
минимальное значение, равное
:
,
По построению данные последовательности удовлетворяют равенству (5.23) при , записанному применительно к рассматриваемой дискретной задаче оптимального управления.
Практическое
использование метода динамического
программирования сопряжено с большими
затратами машинного времени и памяти.
При последовательном вычислении функций
с помощью уравнения Беллмана до последнего
момента (т.е. до нахождения числа
),
состояния
(образующие оптимальную траекторию,
исходящую из точки
)
остаются неизвестными. Поэтому вычисляются
и запоминаются значения функций
теоретически для всех (а практически
для достаточно густой сетки) значений
x.
Это равносильно отысканию сразу всех
оптимальных траекторий, соответствующих
различным начальным состояниям
.
Данный факт, названный Р. Беллманом
"проклятием размерности", для
метода динамического программирования
является основным недостатком.