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

§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 (семейство (tx)-задач):

, , (5.13')

, (5.14')

, , (5.15')

. (5.16')

Как и в разделе 4, обозначим через функцию Беллмана:

(минимальное значение критерия качества (5.16') для текущей (tx)-задачи). Ясно, что , поскольку в сумме (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(tx).

Этап 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. Это равносильно отысканию сразу всех оптимальных траекторий, соответствующих различным начальным состояниям . Данный факт, названный Р. Беллманом "проклятием размерности", для метода динамического программирования является основным недостатком.

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