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

Дегтярёв Оптимальное управление

.pdf
Скачиваний:
63
Добавлен:
22.03.2016
Размер:
1.68 Mб
Скачать

41

Вообще говоря, управления u0 (t) и u00 (t) отличаются интервалом и значениями. Принцип оптимальности утверждает, что оптимальные управления u0 (t) и u00 (t) в общей части интервала ( ,T ) совпадают, не зависимо от предыстории процесса и вполне определяются состоянием y( ) в момент t .

В случае со свободным правым концом принцип оптимальности

доказывается. В самом деле,

допустим, что на участке ( ,T )

управления u0 (t)

и u00 (t) не совпадают и

 

 

 

 

 

 

 

T

T

 

 

 

( y,u00 ) dt ( y,u0 )dt

(4.6)

 

 

 

 

 

u0

 

 

 

u00

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

T

t

 

T

t

Рис. 14а

 

Рис.14б

 

 

Тогда для первой задачи введем управление

 

 

u

при

t (0, );

 

 

u 0

 

t ( ,T )

 

(4.7)

u00

при

 

 

и вычислим функционал

 

 

 

 

T

 

T

 

 

J ( y,u) dt ( y,u0 )dt ( y,u00 )dt

 

 

0

0

 

 

 

 

T

T

 

 

( y,u0 )dt ( y,u0 )dt ( y,u0 )dt .

 

 

0

 

0

 

 

При управлении u (4.7) функционал (4.2) принимает меньшее значение, чем при u0 (4.4). Но управление u0 является оптимальным. Поэтому допущение

(4.6) неверно.

A предположение

T T

( y,u00 )dt ( y,u0 )dt

 

 

42

противоречит тому, что u00 - управление, минимизирующее J (4.3).

Таким образом, остается, что

T T

( y,u00 )dt ( y,u0 )dt ,

и если оптимальное управление единственное, то u0 (t) u00 (t), t ( ,T ) .

Кратко принцип оптимальности можно сформулировать так: последний участок оптимальной траектории является оптимальным независимо от предыстории процесса.

4.2. Основное уравнение метода динамического программирования Применим принцип оптимальности к решению вариационной задачи

(4.1), (4.2). Для этого сначала рассмотрим функционал J (4.3). Наименьшее значение его при связях (4.1) обозначим:

 

T

 

 

 

 

 

(4.8)

(t, y,(t)) min ( y,u) dt ,

t (t,T ) .

u U

t

 

 

 

 

 

Если u0 u0 (t ) - оптимальное управление, то

 

(Jt )u 0(t ) .

 

 

Оптимальное управление u0 u0 (t ) зависит от начального

состояния

y(t) в момент (t) . Следовательно,

является функцией от y и t

: ( y, t) ,

а от управления u и его вариаций функция ( y, t) не зависит. Она вполне определяется значениями y(t) .

Интервал (t, T ) разделим на два интервала

(t, t t) и

( t t, T ) и

выражение (4.8) запишем в виде:

 

 

 

t t

T

 

 

 

( y,u) dt

 

 

 

( y, t) min

( y,u) dt .

 

u U

t

t t

 

 

 

 

 

Согласно принципу оптимальности последний участок также является оптимальным:

43

t t

 

T

 

 

 

 

 

( y,u) dt min

 

 

 

(4.9)

( y, t) min

 

 

( y,u) dt

u U

 

u U

 

 

 

 

0

 

 

t t

 

 

Обозначим:

T

 

( y y,t t) min ( y,u) dt ,

(4.10)

u U t t

 

где y - приращение вектора фазовых координат за время

t . Оно

определяется согласно уравнениям движения (4.1). Подставляя ( y y,t t)

из (4.10) в равенство (4.9), получим:

t t

 

 

 

 

( y, t) min

dt ( y y,t t .

u U

t

 

 

 

Хотя функция

( y y,t t)

зависит только от фазовых координат и

времени, ее нельзя выносить за знак

min . Значение приращения y за время

 

 

 

 

 

 

 

 

 

 

 

u U

 

 

 

 

 

 

t зависит от управления в

интервале (t,t t) . Но

( y,t)

не зависит от

управления в интервале

(t,t t)

и ее можно внести под знак

min . Введем

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u U

( y,t) под знак минимума и разделим на t :

 

 

 

 

 

 

 

t t

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

( y y,t t) ( y,t)

 

 

min

 

dt

 

 

 

 

 

 

 

 

0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

u U t

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Учитывая, что

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

t t

 

 

 

 

 

 

 

 

 

 

 

lim

 

 

 

dt ;

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

t 0

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

lim

( y y,t t) ( y,t)

 

d

,

 

 

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

t 0

 

 

 

 

 

 

 

d t

 

 

получим основное уравнение метода динамического программирования:

 

 

 

 

min

d

 

0

(4.11)

 

u U d t

 

 

 

Это соотношение состоит из двух утверждений:

 

 

 

 

 

 

 

44

 

 

 

 

 

 

1)

Выражение

 

d

 

 

достигает минимума. Это утверждение служит

 

 

 

 

d t

 

 

 

для определения оптимального управления u0 (t) ;

 

 

 

 

 

 

2)

Выражение

 

d

 

 

при оптимальном управлении u0 (t) равняется

 

 

 

 

d t

 

 

 

нулю. Утверждение служит для определения функции ( y,t) .

Если u0

(t) - управление, минимизирующее выражение

d

, то основное

 

 

d t

 

уравнение метода динамического программирования

 

 

 

 

d

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

min

 

 

 

 

 

 

 

 

 

 

 

 

0

 

(4.12)

 

 

 

 

 

 

 

 

 

 

 

 

 

u U d t

 

 

 

 

 

d t

 

 

u

0

(t )

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь ( y,u) зависит от управления по определению, функция же

( y,t)

не зависит от него.

Тем не менее,

производная

d

от управления

d t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

зависит. В этом можно убедиться, если ее представить в виде

 

 

 

 

 

 

 

 

 

d

 

 

yi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d t

 

 

 

t

 

i 1

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

и yi заменить согласно системе (4.1):

 

 

 

 

 

 

 

fi (t, y) .

 

 

 

 

 

d

 

 

(4.13)

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d t

 

t

i 1

 

y

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

Подставляя (4.13) в (4.12) получим уравнение Р.Беллмана:

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

min

 

 

 

 

 

 

 

 

 

fi (t, y,u)

.

 

(4.14)

 

t

 

 

y

 

 

 

 

 

 

u

U

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Это

уравнение в

частных

производных

 

 

относительно

( y,t) , которое

после подстановки u0 (t) становится нелинейным. Согласно определению

(4.8) при t T должно выполняться конечное условие

( )t T 0 .

45

В случае бесконечного интервала при T процесс должен быть

асимптотически устойчивым, т.е. lim 0.

t

В том случае, когда рассматривается функционал Больца

T

 

J (t, y,(t),u(t))dt T ( y (T ))

(4.15)

0

 

 

 

Уравнение (4.12) сохраняет силу, функция v в момент

t T должна

удовлетворять условию

 

(t, y(t)

 

t T T ( y (T )) .

(4.16)

 

 

 

4.3. Две задачи оптимального управления

В теории оптимального управления различают задачи двух типов:

программного управления и синтеза. В первой задаче оптимальное управление u0 строится в виде функции времени t для конкретных начальных и конечных

условий, если они заданы. Зависимость u0 u0 (t)

рассматривается как

программа.

 

Во второй задаче оптимальное управление u0

строится для каждого

момента времени t как функция вектора фазовых координат y т.е. в виде

u0 u0 ( y,t) .

(4.17)

Построение такой зависимости является целью задачи синтеза. Значение второй задачи в том, что зависимость u0 u0 ( y,t) дает уравнение обратной связи или оптимального регулятора, замыкающего систему. Она применяется при оптимальном управлении переходным процессом.

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

46

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

Обе задачи взаимосвязаны. Решение одной можно выразить через другое.

Однако отметим, что принцип максимума обычно приводит к представлению управления в виде программы, а метод динамического программирования – в

виде синтеза.

Значительное развитие получила задача синтеза оптимального управления процессами, описываемыми линейной системой дифференциальных уравнений, при минимизации интегральных квадратичных функционалов. Она называется задачей аналитического конструирования оптимальных регуляторов (АКОР), или задачей А.М.Летова.

4.4. Задача аналитического конструирования оптимальных регуляторов Предположим уравнения возмущенного движения системы имеют вид

 

d y(t)

A(t) y(t) B(t)u(t),

y(0) y

 

(4.18)

 

 

0

 

d t

 

 

 

 

 

 

Матрицы A(t), B(t) , размерности (n n)

и (n r) , соответственно, имеют

в качестве своих элементов известные функции aij (t), bkm (t) .

Предполагается также, что состояние системы (4.18) в каждый момент

времени t известно.

В качестве критерия оптимальности рассматривается квадратичный

функционал Больца

T

y* (t) G1(t) y (t) u* (t)G2 (t) u(t) d t y* (T )G3 y (T ) ,

 

J

(4.19)

0

 

 

где Gi (t) - симметричные неотрицательно определенные матрицы, G2 (t) -

положительно определенная матрица; *) - индекс транспонирования.

Требуется найти оптимальное (минимизирующее функционал 4.19)

управление, являющееся функцией текущего состояния y(t) .

47

Для решения этой задачи можно воспользоваться принципом максимума,

но наиболее короткий путь – метод динамического программирования.

В соответствии с этим методом нужно найти функцию (t) ,

удовлетворяющего уравнению

 

 

 

 

 

min

d

 

0,

(T ) T ( y(t)).

(4.20)

 

n d t

 

 

 

 

В общем случае – это сложная задача, однако для линейных систем с квадратичным критерием оптимальности функцию (t) можно искать в виде некоторой квадратичной формы.

(t) y* (t) S (t) y(t)

(4.21)

где S(t) - есть некоторая, пока неизвестная, квадратичная форма,

удовлетворяющая в силу (4.16) конечному условию

S(T ) G3 .

(4.22)

Таким образом, для линейных систем задача сводится к отысканию функции S(t) . Дифференцируя (4.21) с учетом (4.18) получим

 

 

 

 

d

y* S (t) y y*

d S (t)

y y* S (t) y(t)

 

 

 

 

 

 

 

 

 

 

 

 

d t

 

 

 

 

 

 

 

 

 

 

d t

 

 

 

 

 

 

 

 

 

 

 

( y

*

*

u

*

 

 

*

) S (t) y(t) y

* d S

y y

*

S ( Ay by)

 

 

 

 

A

 

B

 

 

 

 

 

 

 

 

 

 

 

d t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y* ( A*S

d S

SA) y u*B*Sy y*SBu.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d t

 

 

 

 

 

 

 

 

 

 

 

 

Тогда

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d

 

 

 

 

 

 

 

 

 

 

d S

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

y

* A*S

SA G

u* B*Sy y* SBu u*G u

 

 

 

 

 

 

 

 

 

 

 

 

 

d t

1

 

 

 

 

 

2

d t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Минимизируя (4.23) по u(t) , получим

B*Sy G2u0 0

или

u0 G2 1B*Sy

(4,23)

(4.24)

 

 

 

 

 

 

 

48

 

2

dv

 

 

 

Так как

 

 

 

 

 

G2

0 , то управление (4.24) действительно

u

2

 

 

 

dt

 

 

 

 

 

 

 

 

 

 

dv

 

 

 

доставляет минимум выражению

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

Подставляя (4.24) в (4.23), получим

 

 

dv

 

 

*

dS

*

 

 

1

*

 

 

 

 

y

 

 

 

A S SA SBG2

B

S G1

 

 

 

dt

u

0

 

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(4.25)

y 0 .

 

 

Квадратичная форма (4.25) равна нулю при любых y(t) только в том случае, когда равна нулю матрица, ее образующая. Таким образом, получаем уравнение для определения матрицы S(t)

dS

A*S SA SBG 1

B*S G 0

(2.26)

 

dt

2

1

 

 

 

 

с граничным условием (4.22).

Интегрируя уравнение (4.26) в обратном направлении, получим S(t) , а

значит и параметры оптимального управления (4.24). Нетрудно показать, что матрица S(t) - симметричная матрица. Для этого достаточно транспонировать уравнение (4.26). Тогда

 

dS*

S* A A*S* S*B(G 1)* B*S G* 0

S* (T ) G*

 

 

 

dt

2

1

 

3

 

 

 

 

 

откуда с учетом симметричности матриц G

следует, что S (t) S * (t) .

 

 

i

 

 

Замечание 1. В том случае, когда система (4.18) стационарна (матрицы A

и B – числовые матрицы), матрицы

Gi -

числовые

матрицы, T

(рассматривается установившийся режим). Матрица S

тоже числовая и

удовлетворяет алгебраическому уравнению

 

 

 

A*S SA SBG2 1 B*S G1 0

Замечание 2. Из выражения (4.24) следует, что для реализации оптимального управления необходима полная и точная информация о состоянии управляемого процесса y(t) . В том случае, когда эту информацию

49

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

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

поведение системы было оптимальным в некотором смысле в любой текущий

момент времени.

Рассмотрим непрерывный управляемый процесс, описываемый системой дифференциальных уравнений (4.18).

Пусть задан функционал (функция) J (t) J[ y,u(t),t] параметрически зависящий от времени t и определенный на множестве функций y(t) и u(t) .

Требуется найти уравнение u0 (t) , минимизирующее J (t) , где t -

текущий момент времени. Такое управление называется локально-

оптимальным.

В качестве критерия оптимальности рассмотрим функционал

 

 

 

t

 

 

 

 

 

 

 

 

 

 

J (t) y* ( )G1( ) y( ) u* (t)G2 ( )u( ) d y* (t)G3 y(t) ,

 

(4.27)

 

 

 

0

 

 

 

 

 

 

 

 

 

 

матрица Gi удовлетворяют тем же требованиям, что и в параграфе 4.4.

 

 

 

Нетрудно показать [6], что локально-оптимальное уравнение u0 (t) с

необходимостью удовлетворяет условию

 

 

 

 

 

 

dJ(t)

 

 

 

 

 

 

 

 

 

 

 

 

min

dJ(t)

.

 

(4.28)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

u0 (t )

 

u U

dt

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Воспользуемся этим условием.

 

 

 

 

 

 

Тогда, дифференцируя (4.27) в силу (4.18), найдем выражение для

определения производной dJ(t)

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

 

dJ (t)

 

 

dG (t)

 

 

 

 

 

 

 

u* (t)G2

(t)u(t) y* (t)

 

3

 

A*

(t)G3 (t) G3 (t) A(t) G1(t) y(t)

 

dt

 

 

dt

 

 

 

 

 

 

 

 

 

 

 

(4.29)

u*(t) B* (t)G (t) y(t) yT (t)G (t)B(t)u(t).

 

 

 

 

3

3

 

 

 

 

 

 

 

 

50

Учитывая далее, что силу симметричности матрицы G3 (t)

u* (t)B* (t)G (t) y(t) y* (t)G* (t)B(t)u(t) y* (t)G (t)B(t)u(t) ,

 

 

 

3

 

 

 

 

 

 

 

3

 

3

 

 

 

dJ (t)

 

 

 

 

 

 

 

 

 

 

 

 

 

d

dt

 

 

 

 

 

 

 

 

 

 

из условия

 

 

 

0 найдем локально-оптимальное управление

 

 

du

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

u

0

(t) G 1

(t) B(t)G (t) y(t)

(4.30)

 

 

 

 

 

 

 

2

 

3

 

 

 

Найденное управление действительно доставляет производной

dJ(t)

,

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

так как

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

d2

dJ (t)

 

 

 

 

 

 

 

 

 

 

 

 

 

2G2 (t) 0 .

 

 

 

 

 

 

 

 

d u

2

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

Из выражения (4.30) следует, что локально-оптимальное управление полностью определяется матрицами G1(t), G2 (t) , а для реализации его необходима полная информация о состоянии процесса y(t) . Задаваясь различными матрицами весовых функций G1(t), G2 (t) , можно обеспечить те или иные свойства управляемого процесса, в частности свойства устойчивости или асимптотической устойчивости.

Потребуем, например, чтобы на локально-оптимальном управлении

выполнялось условие

 

 

 

 

 

dJ (t)

 

0 .

(4.31)

 

 

 

 

 

 

 

 

 

 

 

 

 

dt

 

 

 

 

 

 

u0

(t )

 

 

 

 

 

 

 

 

 

 

 

Тогда, подставляя (4.30) в (4.29), из (4.31) найдем

 

 

 

dG (t)

 

 

 

dJ (t)

 

 

 

 

 

 

 

 

y* (t)

 

3

 

A* (t)G3

(t) G3 (t) A(t)

 

 

 

 

 

 

 

 

dt

u0 (t )

 

 

 

dt

 

(4.32)

G (t)B(t)G 1 (t)B* (t)G (t) G (t) y(t) 0

3

 

 

2

 

 

3

1

 

Из условия (4.32) следует, что оно будет выполнено, если матрица G3 (t)

будет определена из условия

dG3 (t)

A* (t)G

(t) G

(t) A(t) G

(t)B(t)G 1

(t)B* (t)G

(t) G (t) (4.33)

 

dt

3

3

3

2

3

1