Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Методы оптимальных решений. Учебное пособие-1

.pdf
Скачиваний:
0
Добавлен:
07.09.2026
Размер:
2 Мб
Скачать
☆
определению в процессе решения задачи. Постановка этой задачи характеризу-
0
0
( , , ) ( ( ), ) min
T
F f t x u dt F x T T
,
(5.37)
( ( ), )F x T T
( ( ), )
(,ψ( ), ( ), ( ))
F x T T
H T T x T u T
T
.
(5.38)
'
11
,
nr
i j i k
i j k
jk
x a x b u



cdtuT
0
,
(5.39)
dtu
T
0
x
n + 1
(T) ≤ c.
(5.40)
 
случайcTx
cTx
n
n
2,)(
случай 1,)(
1
1
0)(1
Tn
ется функционалом
где
в отличие от f0(t, x, u) зависит от значения Т.
Замечание. Если значение Т фиксировано, то данный функционал совпа-
дает с функционалом из теоремы. Применительно к таким задачам принцип
максимума Понтрягина также справедлив.
Еще одно условие добавим к остальным:
Принципы максимума применили к нашим задачам, когда на управление,
помимо ограничений
i{1, …, n}, наложены ограничения, в
которых управление – скалярная величина, удовлетворяющая условию
где с – заданная величина.
Покажем, как задача с таким ограничением должна быть приведена к стан-
дартной. Для этого введём величину (x
n + 1
)’= |u|, x
n +1
(0) = 0, уравнений процесса
становиться на одно больше.
Чтобы решить уравнение (x
n + 1
)’= |u|, нужно x
n + 1
=
, тогда, с учётом
вышесказанного, условие (5.39) перепишем в виде
(5.39) выполняется тогда и только тогда, когда
В 1-м случае может выполняться дополнительное условие на правом кон­це, во 2-м случае задачи со свободным правым концом по переменной x
n + 1
в
каждом из этих случаев можно решить задачу принципа максимума, составив для неё условия (5.1) – (5.3*) в частичности, во 2 случае значение xn + 1 (T) неиз- вестно.
Тогда условие (5.3*) задаёт значение соответствующей сопряженной пере-
менной
.
61
5.4. Принцип максимума как достаточное условие оптимальности
( ), ( )x t u t
xx
0)('xf
( ), ( )x t u t
( ), ( )x t u t
,)()( utBxtAx
(5.41)
00
0
( ( , ) ( , )) min,
T
F
f t x g t u dt

(5.42)
Принцип максимума является необходимым условием оптимальности. Следовательно, он позволяет «сузить» исходное множество процессов
выделив из них лишь те, которые ему удовлетворяют. Выделенные процессы, в принципе, могут быть оптимальными, однако сам по себе принцип максимума этого гарантировать не может. Подобная ситуация во многом аналогична той,
которая возникает при поиске минимума функции y = f(x), заданной на число­вой прямой. Если у этой функции при всех x имеется производная, то необхо-
димым условием минимума функции в точке
является равенство нулю ее
производной в этой точке. Однако отсюда еще не следует, что в этой точке функция достигает наименьшего значения. Более того, наименьшее значение вообще может не существовать. Если же имеется дополнительная информация
о функции y = f(x), то может оказаться, что условие
является не только
необходимым, но и достаточным условием оптимальности. Например, это
справедливо, если f(x) принадлежит классу выпуклых вниз функций [f”(x) < 0 при всех x].
Также обстоит дело и в задачах оптимального управления. Траектории, удовлетворяющие необходимым условиям оптимальности в форме принципа максимума, могут и не быть оптимальными. Однако дополнительная информа­ция в ряде случаев гарантирует их оптимальность. Например, если условиям
принципа максимума удовлетворяет единственный процесс (
), а о зада-
,
че известно, что оптимальный процесс в ней существует, тогда им и будет про-
цесс (
).
Существование решения задачи, однако, является свойством, которое не
всегда легко проверить. Вместе с тем, существуют классы задач, когда, не при­меняя теорему существования, можно доказать, что принцип максимума явля­ется достаточным условием оптимальности.
Рассмотрим такой класс задач оптимального управления. Уравнения про-
цесса имеют вид линейной системы
где x = (x1, x2,…, xn); u = (u1,u2,…, ur); A(t) и B(t) – матрицы соответствующих размерностей, элементы которых могут зависеть от времени.
Функционал задачи имеет вид
и представляет собой частный случай функционала (5.37).
62
Пусть начальное и конечное состояния x(0) = x0, x(T) = x1 заданы. На
)()1()())1((
2121
xfxfxxf
.
(5.43)
ni
i
i
xc
1
1 2 1 2
( (1 ) ) (1 ) , 0 1.c x x cx x        
1 2 1 2 1 1 2 2
( (1 ) ) ( (1 ) ) < ( ( ) ) (1 ) ( )f x x c x x f x cx f x cx         
xx
xf
x
( ), ( )x t u t
управление могут быть наложены ограничения uU, где URr – некоторая об­ласть пространства управлений.
Для функции f0(t, x) предположим, что она является выпуклой по x при каждом значении t [0, T]. Это, как известно из определения выпуклости функ­ции, означает, что для любых двух значений
x1 = (x
,x
,…, x
), x2 = (x
1,
x
,…, x
) имеет место неравенство
Свойство выпуклости сохранится, если к данной функции прибавить ли-
нейную функцию, т. е. если f(x) выпукла, то функция g(x) = f(x) + cx, где
cx =
линейная функция, также выпукла. В последнем нетрудно убедиться,
если учесть, что для любой линейной функции выполняется равенство
Сложив это равенство почленно с (5.48), получим
,
откуда и вытекает выпуклость функции g(x).
Для выпуклой функции справедливо, что если в некоторой точке
ее
частные производные обращаются в нуль, то функция в ней достигает мини-
мального значения. Таким образом, равенство нулю производных
в точке
является для выпуклой функции не только необходимым, но и достаточным
условием минимума.
Определение. Функция f(x) называется вогнутой, если – f(x) выпукла, т. е. свойство вогнутости не изменится от прибавления линейной функции.
Для вогнутых функций, как следует из их определения и свойств выпук­лых функций, равенство нулю производных в некоторой точке является необ-
ходимым и достаточным условием их максимума в данной точке.
Предположим, что в рассматриваемой задаче оптимального управления
(5.41)–(5.42) найден процесс, удовлетворяющий принципу максимума. Являет-
ся ли он оптимальным? При сделанных предположениях является, что вытекает
из следующей теоремы.
Теорема 3. Пусть (
) – допустимый процесс в задаче (5.41) – (5.42).
Тогда, если этот процесс удовлетворяет условиям принципа максимума 1°, 2°
теоремы 2, он является оптимальным.
Доказательство. Рассмотрим соотношения принципа максимума в данной задаче оптимального управления. Функция H(t, x, ψ, u) имеет вид
63
00
, 1 1 1
() ψ ( ) ψ ( , ) ( , )
n n r
j l j k
l j k j
l j j k
H a t x b t u f t x g t u

.
(5.44)
0
1
( , )
ψ ( )ψ
n
j
i i j
i
j
f t x
at
x
 
, I = 1, 2, …, n.
(5.45)
( , ( ), ( ), ( )) ( , ( ), ( ), )H t x t t u t H t x t t u
,
(5.46)
00
1 1 1 1
( ) ( ) ( , ( ) ( ) ( ) ( , )
r n r n
i k i k k i k i
k i k i
b u t t g t u t b t u t g t u
   
 
.
(5.47)
0
1
( , ( ))
ψ ( ) ( )ψ ( ) 0
n
k
i i k
k
i
f t x t
t a t t
x
, I = 1,2, …, n.
(5.48)
( ), ( )x t u t
( ), ( )x t u t
1
( , ) ( ) ,
n
j
j
j
t x t x
00
1 , 1 1 1
( , , ) ψ ( ) ψ ( ) ( ) ψ ( ) ( , ) ( , )
n n n r
j j l j k
j l j k j
j l j j k
R t x u x a t x t b t u t f t x g t u
 

.
(5.49)
По условию (2) теоремы принципа максимума Понтрягина сопряженные
переменные ψ
(t) являются решением системы (5.42), которая в данном случае
i
выглядит следующим образом:
Условие трансверсальности теоремы 2 в данной задаче вырождается, так
как все переменные состояния на правом конце траектории при t = T заданы.
Выполнение условия максимума функции Гамильтона (условие 1° теоре­мы 2 ) означает, что функция
при любом u U и каждом фиксированном t  [0, T]. Так как, согласно (5.46), у функции H(t, x, ψ, u) только два слагаемых зависят от управления, то неравен­ство (5.46) можно переписать следующим образом:
Условие (5.47) перепишем, подставляя ψ(t) = (ψ1(t), ψ2(t), …, ψn(t)), в виде
Таким образом, в рассматриваемой задаче, как следует из принципа мак-
симума, процесс (
) и сопряженные переменные ψ(t) удовлетворяют со-
отношениям (5.47), (5.48). Покажем, что отсюда вытекает выполнение теоремы
2 о достаточных условиях оптимальности для процесса (
).
Рассмотрим для этого (для чего?) функцию φ(t, x), задав ее соотношением
где ψ
(t) – значения сопряженных переменных, удовлетворяющие принципу
i
максимума. Тогда, согласно (5.12), выражение для функции R(t, x, u) будет иметь вид
64
Чтобы установить оптимальность процесса (
( ), ( )x t u t
0
1
1 , 1
( , ) ψ ( ) ( ) ψ ( ) ( , )
nn
j j l
j l j
j l j
R t x t x a t x t f t x


;
(5.50)
0
2
11
( , ) ( ) ψ ( ) ( , )
nr
jk
k
jk
R t x b t u j t g t u



.
(5.51)
)(tu
0
1
1
( , ) ( , )
ψ ( ) ( )ψ ( ) 0,
n
k
i i k
ii
k
R t x f t x
t a t t
xx


&
1,2,..., .in
)(tx
)(tx
( ), ( )x t u t
( ), ( )x t u t
T
F
dtutgxtf
0
00
min)),(),((
), достаточно прове-
рить выполнение условий теоремы 1. Условие 2 выполняется тривиальным об­разом, так как правый конец траектории зафиксирован.
Для проверки условия 1 заметим, что, согласно (5.49), функция R(t, x, u) имеет вид R(t, x, u) = R1(t, x) + R2(t, u), где
Поэтому максимум функции R(t, x, u) по x, u достигается при значении x, максимизирующем R1(t, x), и значении u, максимизирующем R2(t, u).
Если сравнить соотношения (5.51) и (5.47), то легко увидеть, что функция
R2(t, u) достигает максимального значения u =
для каждого t [0, T].
По сделанному относительно функции f0(t,x) предположению, она является выпуклой; следовательно, f0(t, x) – вогнутой. Так как первые два члена в правой части (5.50) – линейные функции от x = (x1, x2,…, xn), то, по сделанному выше замечанию, R1(t, x) также является вогнутой. Так как на значения x ограничения не накладываются, то ее максимум достигается в точке, где ее частотные про­изводные по x обращаются в нуль. Вычисляя частные производные R1(t, x) и приравнивая их к нулю, получим систему уравнений
Сравнивая эту систему с (5.53), нетрудно заметить, что x = решением. Следовательно, при x =
R1(t, x) достигает максимума при всех
является ее
t [0, T].
Приведенные рассуждения показывают, что максимум функции R(t, x, u) при всех t  [0, T] достигается на процессе (
). Следовательно, этот про-
цесс удовлетворяет достаточным условиям оптимальности. Таким образом, оп-
тимальность процесса (
) доказана.
Итак, для класса задач оптимального управления (5.42) – (5.43) принцип
максимума является не только необходимым, но и достаточным условием оп­тимальности. Полученный результат можно распространить на задачу со сво-
бодным правым концом траектории и функционалом
,
т. е. если f0(t,x) и F(x)
функции, выпуклые по x, то условия теоремы 2 являются
также необходимыми и достаточными условиями оптимальности. Это справед-
ливо и для случая, когда F(x) – линейная функция.
65
6. ДИНАМИЧЕСКОЕ ПРОГРАММИРОВАНИЕ
6.1. Условия применимости
Динамическое программирование представляет собой математический
аппарат, который подходит к решению некоторого класса задач путем их раз-
ложения на части, небольшие и менее сложные задачи.
При этом отличительной особенностью является решение задач по эта­пам, через фиксированные интервалы, промежутки времени, что и определило появление термина «динамическое программирование». Следует заметить, что методы динамического программирования успешно применяются и при реше­нии задач, в которых фактор времени не учитывается. В целом математиче­ский аппарат можно представить как пошаговое или поэтапное программиро-
вание.
Таким образом, динамическое программирование в широком смысле представляет собой оптимальное управление процессом посредством измене­ния управляемых параметров на каждом шаге, и, следовательно, воздейство-
вать на ход процесса, изменяя на каждом шаге состояние системы.
В задачах динамического программирования первое требование учиты­вают, делая на каждом шаге условные предположения о возможных вариантах
окончания предыдущего шага и проводя для каждого из вариантов условную
оптимизацию. Выполнение второго требования обеспечивается проведением
безусловной оптимизации в обратном порядке.
Условная оптимизация. На первом этапе решения задачи, называемом
условной оптимизацией, определяются функция Беллмана и оптимальные управления для всех возможных состояний на каждом шаге, начиная с по-
следнего в соответствии с алгоритмом обратной прогонки.
Безусловная оптимизация. После того, как функция Беллмана и соот­ветствующие оптимальные управления найдены для всех шагов с n-го по пер-
вый, осуществляется второй этап решения задачи, называемый безусловной
оптимизацией, проводимой в обратном порядке.
6.2. Задача динамического программирования
Задачу математического программирования
f(x) → max при условии xX Rn
можно записать как задачу динамического программирования (ДП), если вы­полнены сформулированные ниже предположения.
Предположение 1. Задача принятия решения является многоэтапной, т. е. процесс выбора решения (управления) x = (x1, …, xn)T можно представить как
66
последовательность шагов (этапов) с номерами k
n,1
n,1
1
1
( , )
n
k k k
k
f x s
s
0
s
1

s
k –sk

s
n
xxx
x
f1(x1, s0)
f
k –1(xk – 1
, s
k – 2
)
fk(xk, s
k – 1
)
fn(xn, s
n – 1
)
f(x)
Рис. 6.1. Схема пошагового управления с аддитивно сепарабельной
целевой функцией
таких, что на шаге k ЛПР
определяет значение xk (управление на шаге k).
Предположение 2. После шага k (и в начале шага k + 1) объект управления находится в состоянии sk, которое определяется значениями m числовых пока­зателей (фазовых координат), т. е. skRm. Известны функции перехода (фазо-
вые уравнения) sk = k(xk, s
) для k
k – 1
(здесь s0 – начальное состояние объек-
та, которое обычно считают известным).
Функция перехода k действует из Rm Rn в R реализации для шага k. Запись sk = k(xk, s
) означает, что состояние объекта
k –1
m
. Это, в сущности, функция
после шага k зависит от состояния в начале этого шага и управления на шаге k,
но не зависит от того, через какую последовательность состояний и управлений объект пришел в состояние s
. Это свойство системы управления называют
k –1
отсутствием последействия.
Предположение 3. Целевая функция f(x) аддитивно сепарабельна, т. е.
f(x) =
.
В соответствии с предположением 3 эффект от применения управления x к объекту, находящемуся в состоянии s
, складывается из эффектов, полученных
на отдельных шагах. На шаге k под воздействием управления xk объект, нахо­дящийся в состоянии s эффекта fk(xk, s
k – 1
).
, переходит в состояние sk = k(xk, s
k – 1
) с получением
k – 1
Принципиальная схема поэтапного управления показана на рис. 6.1.
Отрезки горизонтальной линии соответствуют этапам процесса управле­ния. На состояние объекта влияют управляющие воздействия (стрелки сверху).
На каждом шаге возникает некоторый эффект, все они суммируются (стрелки внизу), формируя интегральный эффект.
67
Предположение 4. Множество допустимых (возможных, реализуемых)
n,1
Fn(x, s0) =
1
1
( , )
n
k k k
k
f x s
→ max при условиях
(6.1)
x = (x1, …, xn)TRn, xkXk(s
k –1
) и sk = k(xk, s
k –1
) для k
n,1
, snSn.
(6.2)
*
1
x
*
n
x
*
1
s
*
n
s
*
k
s
*
k
x
*
1ks
управлений на шаге k зависит только от состояния объекта в начале этого шага.
Определения и обозначения
Xk(s объекта s
) – множество допустимых управлений на шаге k при состоянии
k – 1
в начале этого шага.
k – 1
Sk – множество состояний, в которых может находиться объект управления в конце шага k; S0 = {s0} по определению.
Следствие 6.1 (описание множеств Sk).
S0 = {s0}; Sk = {k (xk, s
k –1
) | s
k – 1Sk – 1
, xk Xk (s
)} для k
k – 1
.
Пусть Sn – множество допустимых состояний объекта после шага n (тер­минальных состояний). Учитывая принятые предположения и обозначения, ис-
ходную задачу математического программирования можно записать следую-
щим образом.
Определения и обозначения
Задачу (6.1)–(6.2) будем называть задачей динамического программирова­ния и обозначать Pn(s0, Sn).
Вектор s0 и множество Sn устанавливают граничные условия задачи Pn(s0, Sn).
Вектор x* = (
, …,
T
)
, доставляющий максимум целевой функции, назы-
вают оптимальным управлением.
Последовательность состояний s* = (s0,
, …,
), где
= k(
,
) – это
оптимальная траектория объекта управления в фазовом пространстве (про- странстве состояний).
Мы не накладываем никакие условия на множества и функции, фигуриру-
ющие в задаче (6.1)–(6.2). Поэтому задача может быть неразрешимой. Если же
оптимальное решение существует, то его (или хорошее приближение к нему) во
многих случаях удается найти с помощью подхода, изложенного в разд.
3.3.
Любую многошаговую задачу можно решать по-разному: либо искать
сразу все элементы решения на всех m-шагах, либо же строить оптимальное
управление постепенно, на каждом этапе расчета оптимизируя только один шаг. Обычно второй способ оптимизации оказывается проще, чем первый,
особенно при большом числе шагов.
68
6.3. Алгоритм решения многошаговых задач
Такая идея постепенной, пошаговой оптимизации и лежит в основе мето­да динамического программирования. Оптимизация одного шага, как правило, проще оптимизации всего процесса: лучше, оказывается, много раз решать сравнительно простую задачу, чем один раз – сложную.
Специфика метода динамического программирования заключается в том, что для отыскания оптимального управленческого решения анализируемый процесс расчленяется на отдельные этапы, превращаясь в многоэтапный, мно­гошаговый. При этом каждый раз оптимизируется управление лишь на одном
этапе. Таким образом, модель размерности «n» заменяется n-разовой оптими­зацией модели размерности «единица». Другая особенность задач, решаемых
методом динамического программирования, состоит в том, что процесс пере-
хода экономической системы из одного состояния в другое должен быть про-
цессом с отсутствием последствий. Это означает, что если система находится в некотором состоянии, то дальнейшее развитие процесса зависит только от данного состояния и не зависит от того, каким путем система приведена в это
состояние.
С первого взгляда идея может показаться довольно тривиальной. В самом деле, чего, казалось бы, проще: если трудно оптимизировать операцию в це­лом, разбить её на ряд шагов. Каждый такой шаг будет отдельной маленькой операцией, оптимизировать которую уже нетрудно. Надо выбрать на этом ша­ге такое управление, чтобы эффективность была максимальна. Но это непра­вильно. Принцип динамического программирования отнюдь не предполагает, что каждый шаг оптимизируется отдельно, независимо от других. Напротив, шаговое управление должно выбираться дальновидно, с учетом всех его по-
следствий в будущем. Мало толку, если мы выберем на данном шаге управле-
ние, при котором эффективность этого шага максимальна, если этот шаг ли-
шит нас возможности хорошо выиграть на последующих шагах.
Смысл подхода, реализуемого в динамическом программировании, за­ключён в замене решения исходной многомерной задачи последовательно-
стью задач меньшей размерности.
Перечислим основные требования к задачам, выполнение которых позво-
ляет применить данный подход:
– объектом исследования должна служить управляемая система (объект) с заданными допустимыми состояниями и допустимыми управлениями;
– задача должна позволять интерпретацию как многошаговый процесс,
каждый шаг которого состоит из принятия решения о выборе одного из допу-
стимых управлений, приводящих к изменению состояния системы;
– задача не должна зависеть от количества шагов и быть определённой на каждом из них;
– состояние системы на каждом шаге должно описываться одинаковым (по составу) набором параметров;
– последующее состояние, в котором оказывается система после выбора решения на k-м шаге, зависит только от данного решения и исходного состоя­ния к началу k-го шага. Данное свойство является основным с точки зрения
69
идеологии динамического программирования и называется отсутствием по-
следствия.
Пусть, например, планируется работа группы промышленных предприя­тий, из которых часть занята выпуском предметов потребления, а остальные
производят для них машины. Задача операции – получить за t лет максималь-
ный объём выпуска предметов потребления. Допустим, планируются капита-
ловложения на первый год. Исходя из узких интересов этого шага (года), мы
должны были бы все наличные средства вложить и производство предметов потребления. Но правильно ли будет такое решение с точки зрения эффектив-
ности операции в целом? Очевидно, нет. Это решение – расточительное, не­дальновидное. Имея в виду будущее, надо выделить какую-то долю средств и
на производство машин. От этого объем продукции за первый год, конечно, снизится, зато будут созданы условия для его увеличения в последующие го-
ды.
Значит, планируя многошаговую операцию, надо выбирать управление на каждом шаге с учётом всех его будущих последствий на ещё предстоящих ша­гах. Управление на i-м шаге выбирается не так, чтобы выигрыш именно на
данном шаге был максимален, а так, чтобы была максимальна сумма выигры-
шей на всех оставшихся до конца шагах плюс на данном.
Однако из этого правила есть исключение. Среди всех шагов есть один,
который может планироваться без оглядки на будущее – это последний шаг.
Этот шаг, единственный из всех, можно планировать так, чтобы он сам, как
таковой, принёс наибольшую выгоду.
Поэтому процесс динамического программирования обычно разворачива-
ется от конца к началу: прежде всего, планируется последний, m-й шаг. А как его спланировать, если мы не знаем, чем кончился предпоследний? Т. е. не знаем условий, в которых мы приступили к последнему шагу.
Поэтому, планируя последний шаг, нужно сделать различные предполо­жения о том, чем закончился предпоследний (m – 1)-й шаг, и для каждого из этих предположений найти условное оптимальное управление на m-м шаге («условное» потому, что оно выбирается исходя из условия, что предпослед­ний шаг кончился так-то и так-то).
Предположим, что мы это сделали, и для каждого из возможных исходов предпоследнего шага знаем условное оптимальное управление и соответству-
ющий ему условный оптимальный выигрыш на m-м шаге. Теперь мы можем оптимизировать управление на предпоследнем (m – 1)-м шаге. Снова сделаем все возможные предположения о том, чем кончился предыдущий (m – 2)-й шаг, и для каждого из этих предположений найдём такое управление на (m – 1)-м шаге, при котором выигрыш за последние два шага (из которых m-й уже оптимизирован) максимален. Так мы найдем для каждого исхода (m – 2)­го шага условное оптимальное управление на (m – 1)-м шаге и условный оп­тимальный выигрыш на двух последних шагах. Далее, «пятясь назад», опти­мизируем управление на (m – 2)-м шаге и т. д., пока не дойдём до первого.
70
Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]