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

Современные проблемы теории управления

..pdf
Скачиваний:
10
Добавлен:
05.02.2023
Размер:
975.83 Кб
Скачать

H

n

f j

 

 

 

= pj

 

.

x

 

x

i

j=1

 

 

i

 

Учитывая уравнения (1.51) и (1.54), получаем канонические уравнения Гамильтона

ɺ

=

H

,

 

xi

pi

 

 

 

 

(1.55)

 

 

 

H

ɺ

= −

,

pi

xi

 

 

 

 

с граничными значениями xi (t0 ) = xi0, и pi (tf )= −bi , i =1,2,...n.

Физическую интерпретацию принципа максимума можно пояснить следующим образом: функция Гамильтона H представляет собой скалярное произведение p на f или p на xɺ и является мощностью, если p рассматривать как количество движения. Поэтому для минимизации функции Понтрягина ρ необходима максимальная энергия, и наоборот, когда ρ минимальна, H максимальна.

Функция Понтрягина ρ, определяемая выражением ρ = b,x f , и граничные условия pi (tf )= −bi справедливы для процессов управления с произволь-

ным конечным состоянием. Если же на конечное состояние накладываются ограничения вида

Rk (xf )= 0, k =1,2,...,r, r {1,2,...,n},

(1.56)

то функция Понтрягина принимает вид

ρ = bT xf + λT R(xf ),

где λ – векторный множитель Лагранжа.

В этом случае канонические уравнения Гамильтона подчинены граничным условиям

x(t0 ) = x0 ,

 

R

 

r

pi (tf )= − bi + λk

k .

 

k=1

xi

При этом конечные условия для xf удовлетворяют ограничениям (8.56).

31

Пример 1.5. Определим оптимальное управление линейным объектом первого порядка

xɺ = −ax + γu,

где а и γ – некоторые положительные константы. Критерий качества – квадратичный

t f

I (u)= x2 (u,t)dt ,

t0

а управление ограничено u M .

Перейдём к обобщённой задаче оптимального управления. Для этого обозначим x1 = x и введём дополнительную компоненту вектора состояния

t

x2 = x12 dt . Тогда уравнения динамики будут иметь вид

t0

xɺ1 = −ax1 + γu,

xɺ2 = x12.

В связи с тем, что минимизировать теперь требуется x2 (tf ), функция Понтрягина определится выражением

ρ = b1x1 + b2 x2 = x2 ,

где b1=0, b2=1.

Составим функцию Гамильтона для данной системы

H = p1 f1 + p2 f2 = p1 (ax1 + γ u)+ p2 x12 .

Принцип максимума требует, чтобы управление u обеспечивало бы максимум функции Гамильтона. Из вида функции Гамильтона следует, что максимальное значение она будет принимать тогда, когда знак управления u будет совпадать со знаком p1, а абсолютное значение u будет максимальным, то есть М. Таким образом, общий характер оптимального управления установить довольно просто

u = M sign p ,

(1.57)

1

 

где знаковая функция

32

1

при α > 0,

 

 

 

при α = 0,

signα = 0

-1 при α < 0.

Канонические уравнения Гамильтона имеют вид

ɺ

 

H

 

x1 = −ax1 + γ u,

 

 

 

 

 

ɺ

 

xi

=

 

 

 

= x12 ,

pi

 

 

 

xɺ2

ɺ

 

 

H

p1 = ap1 2x1 p2 ,

 

= −

 

 

 

ɺ

pi

xi

ɺ

 

 

 

p2 = 0.

Начальные условия для вектора состояния x

x1 (t0 ) = x0 , x2 (t0 ) = 0 ,

конечные условия для вектора p

p1 (tf )= −b1 = 0, p2 (tf )= −b2 = −1.

Поскольку pɺ2 = 0, а p2 (tf )= −1, то p2 (t) = const = −1. Подставляя оптимальное управление в канонические уравнения, получим

x1 = −ax1 + γM sign p1,

 

ɺ

(1.58)

p1 = ap1 + 2x1,

ɺ

 

с граничными условиями x1 (t0 ) = x0 и p1 (tf )= 0.

По сути, мы получили двухточечную краевую задачу. Решение нелинейных уравнений (1.58) при заданных граничных условиях даст уравнение линии

переключения p1(t), и, в соответствии с (1.57) – оптимальное управление u . Процедура решения заключается в выборе наугад значения p1 (t0 ) = p0 и в определении, после некоторых проб и ошибок, функций x1(t) и p1(t), удовлетворяющих другому граничному условию p1 (tf )= 0. Моделирование уравнений

(1.58) приведено на рис. 1.3.

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

33

0

 

 

p0

 

 

M

 

 

x0

 

-1

p1

 

 

 

 

 

-1

x1

s

sign

 

 

 

s

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

 

-a

 

 

 

 

 

 

 

 

сопряженная система

основная система

 

 

 

2

Рис. 1.3. Моделирование оптимального управления

1.4. Динамическое программирование

Из вышеизложенного ясно, что проблемы оптимизации сводятся к решению двухточечной краевой задачи. Эффективным методом решения такого рода задач является разработанный Ричардом Беллманом и его сотрудниками метод, названный ими динамическим программированием. Идея этого метода является выражением концепции инвариантного вложения, согласно которой исходная проблема заменяется рядом более простых проблем.

1.4.1. Многошаговые процессы управления

Пусть объект управления задан n-мерным вектором состояния x. Разделим весь процесс управления на N шагов. На первом шаге объект преобразованием x2 = g (x1 ,u1 ) переводится из состояния x1 в состояние x2 и выигрыш от этой

операции равен R1 = r(x1,u1 ). Задача состоит в определении управления u1,

максимизирующего R1. Полученное решение можно назвать одношаговой стратегией оптимального управления. Ясно, что решение одношаговой проблемы элементарно. Максимальный выигрыш при этом даётся выражением

R1 (x1 ) = max r (x1 ,u1 ) ,

u1

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

Перейдём ко второму шагу. Он преобразованием x3 = g(x2 ,u2 ) переводит достигнутое в результате первого шага состояние x2 в состояние x3. Два шага дают полный выигрыш R2 = r(x1,u1 ) + r(x2,u2 ) . Теперь задача состоит в определении последовательности управлений u1, u2, доставляющих максимум сум-

34

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

R2 (x1 ) = max r (x1,u1 ) + r (x

2

,u2 ) .

u

,u

 

 

 

1

 

2

 

 

Понятно, что двух шаговая задача является более сложной, чем одношаго-

вая.

Сложность стремительно возрастает с увеличением количества шагов. Для N-шагового процесса задача состоит в выборе N-шаговой стратегии u1,u2,...uN ,

N

доставляющей максимум общему выигрышу RN = r(xk ,uk ). Максимальный

k=1

выигрыш определится выражением

N

RN (x1 ) = max{uk } k=1 r(xk ,uk ),

где максимум берётся по управлениям на всех N шагах.

Определение максимума на основе известных элементарных методов приводит к системе из N уравнений, которые получаются приравниванием нулю

частных производных по uk от RN (x1 ) (k=1,2,…,N).

Очевидно, что в случае большого N решение проблемы оптимизации становится чрезвычайно громоздким и поэтому решение задачи «в лоб» нереально.

1.4.2. Принцип оптимальности

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

Проиллюстрировать принцип оптимальности можно с применением понятия пространства состояний. Пусть имеется оптимальная траектория в про-

странстве состояний объекта, переводящая изображающую точку x(t0 ) в точку x(tf ) (рис. 1.4). Оптимальность траектории означает, что некоторый критерий

t f

оптимальности R = r(x,u,t)dt принимает экстремальное (предположим для

t0

определённости максимальное) значение.

35

x2

x1

x3

Рис. 1.4. К принципу оптимальности.

Принцип оптимальности гласит, что любая конечная часть оптимальной траектории является, в свою очередь, оптимальной траекторией. Это означает, что траектория от некоторой промежуточной точки x (t) до конечной точки

x(tf ) является оптимальной, то есть обеспечивает максимум критерия

tf

R′ = r(x,u,t)dt . Действительно, предположим, что это не так, а, следователь-

t'

но, есть какая-то другая траектория (на рис. 1.4 показана штриховой линией), доставляющая максимум функционала R. Но тогда и первоначальная траектория вопреки предположению не являлась оптимальной, поскольку критерий оптимальности, состоящий из суммы двух частей – максимальной на отрезке тра-

ектории от точки x(t0 ) до точки x (t) и не максимальной – от точки x (t) до точки x(tf ), принимал бы не максимальное значение.

Изложенное выше справедливо, конечно, и для систем, в которых время разбито на дискретные шаги (этапы).

Таким образом, оптимальная стратегия зависит только от состояния объекта в рассматриваемый момент времени и не зависит от того как объект попал в это состояние, то есть не зависит от его предыстории.

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

Если речь идёт о многошаговых процессах оптимизации, то такой подход сводит исходную задачу к последовательному решению одношаговых процессов оптимизации. В многошаговом процессе оптимизации полных выигрыш для N шагов, согласно принципу оптимальности, можно представить в виде

RN = r(x1,u1 ) + RN 1 (x1,u1 ).

36

Первое слагаемое в этом выражении – начальный выигрыш, второе слагаемое – максимальный выигрыш от последующих N-1 шагов.

Максимальный выигрыш запишется как

RN (x1 ) = max (r (x1,u1 ) + RN 1 (x1,u1 )) .

(1.59)

u1

 

Соотношение (1.59) справедливо для любых N ≥ 2. Для N=1 получим, очевидно

R1 (x1 ) = max r (x1,u1 ). u1

Таким образом, принцип оптимальности позволяет исходный N шаговый процесс заменить последовательностью одношаговых процессов и на каждом шаге использовать одно и то же рекуррентное соотношение (1.59).

Пример 1.6. Пусть требуется положительную величину с разделить на n частей так, чтобы произведение этих частей было максимальным.

Обозначим через Rn (c) максимальное значение произведения, x – первая часть, (c x) – оставшаяся часть. Тогда, используя соотношение (1.59), можно составить функциональное уравнение

Rn (c) = max{x Rn

1 (c x)}, n 2.

(1.60)

 

0xc

 

 

Очевидно, что при n=1 R (c) = c и R (c x) = c x .

 

1

1

 

 

Положим в уравнении (1.60) n=2:

R2 (c) = max0xc {x R1 (c x)} = max0xc {x(c x)}.

Максимум найти нетрудно, приравняв нулю производную по x от выражения в фигурных скобках. Этот максимум будет при x = 2c . Таким образом, оптимальная стратегия деления на две части – это деление на две равные части

c

 

c

 

 

 

 

 

 

{ui }=

 

,

 

 

 

,

 

 

 

 

 

2

 

 

 

 

2

 

 

 

 

 

 

 

а максимальное значение произведения –

R

 

(c) =

c

2

.

 

 

 

 

 

 

 

 

 

2

 

 

2

 

 

 

 

 

 

 

 

 

 

 

Положим n=3. Максимальное произведение найдем из соотношения

37

 

 

 

 

2

 

 

x(c x)

 

 

R3

(c) = max{x R2

(c x)}= max

 

 

.

4

 

 

0≤xc

0≤xc

 

 

 

 

 

 

 

 

Взяв производную и приравняв её нулю, получим x = c3 . Оставшаяся часть в 23 c , согласно предыдущему рассуждению, оптимально будет разделена на

две равные части, то есть на c3 и c3 .

Оптимальное деление на три части будет, таким образом

{ui }

c

 

c

 

 

 

c

 

=

 

 

,

 

 

,

 

 

 

 

,

 

3

3

 

3

 

 

 

 

 

а максимальное произведение равно

 

 

 

 

 

 

 

 

 

 

 

 

 

R

(c) =

c

3 .

 

 

 

 

 

 

3

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

Продолжая подобные рассуждения, приходим к выводу, что при n=k оптимальным делением будет деление на k равных частей

{ }= c

ui

k

а максимальное произведение будет

Rk (c)

,

c

,...,

c

,

 

 

 

 

 

 

k

 

k

 

k

= c .k

Методом математической индукции можно доказать, что оптимальным делением будет деление на равные части и при n=k+1. Действительно, полагая n=k+1, из соотношения (1.60) получим

 

 

 

 

k

 

 

x(c x)

 

 

Rk+1

(c) = max{x Rk

(c x)}= max

 

 

.

kk

 

 

0≤xc

0≤xc

 

 

 

 

 

 

 

 

38

Путём простейших вычислений получаем оптимальное значение x =

c

 

,

k +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

оптимальную стратегию деления {ui }

 

 

c

 

 

 

c

 

c

 

 

 

 

 

=

 

 

,

 

 

,...,

 

 

 

и максимальное

 

 

 

+1

k +1

 

 

 

 

 

 

 

 

 

 

 

k +1

 

k

 

 

 

 

 

 

 

 

(c) =

c

k+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

произведение R

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k+1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

k +1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Окончательно, оптимальная стратегия деления на n частей

 

 

 

 

 

 

 

 

 

 

 

 

c

 

c

 

 

c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

{ui

}=

 

,

 

,...,

 

,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

и максимальное произведение равно

n

Rn (c) = c .n

Задача, рассмотренная в данном примере, очень простая и она могла быть решена обычными методами. Но этот пример имел целью показать, каким образом данная задача может быть сформулирована как многошаговый процесс оптимизации. Во многих более сложных задачах подобная формулировка часто является ключом к их решению при применении метода динамического программирования.

1.4.3. Дискретный вариант метода динамического программирования

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

Пусть имеются дискретные возможные значения x X ={x1, x2,..., xl }. Время также течет дискретно, шагами t = kT .

Ставится задача из начального состояния x(k0 ) перейти в заключительное состояние x(kf ) с минимальным показателем качества

k f

 

R(x(k0 ),u(k),k0 )= T r(x(k),u(k),k),

(1.61)

k=k0

 

то есть найти оптимальную траекторию, соединяющую точку

x(k0 ) и точку

x(kf ).

 

В критерии (1.61) r (x (k ),u (k )) – потери от сделанного k-го шага. Например, это могут быть затраты энергии или штраф на k-м шаге.

39

Поскольку на каждом шаге (а таких шагов N = k f k0 ) состояние объекта принимает только одно из l значений, то число возможных траекторий конечно

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

Возьмём некоторую промежуточную точку k j . Показатель качества R на

интервале от k j до k f определяется состоянием объекта x (k j )

и управляющи-

ми воздействиями u (k ) при k j k k f :

 

kf

 

R(x(kj ),u(k),kj )= T r(x(k),u(k),k).

(1.62)

k=kj

 

Принцип оптимальности означает, что если выражение (1.61) минимально, то часть (1.62) также должна быть минимальной. Более того, оптимальная стра-

тегия управления u (k) на интервале (k j ,k f ) является только функцией состояния x (k j ), то есть u (k ) = gk (x (k j )). Поэтому оптимальное значение критерия (1.62) является лишь функцией состояния x (k j ) и самого k j :

 

kf

 

R (x(kj ),kj )= min Tr(x(k),u(k),k).

(1.63)

u(k)

k=kj

 

Очевидно, что при kj = kf R (x(kf ),k f ) = 0. Приняв это граничное усло-

вие за исходное, можно воспользоваться уравнением (1.63) для вычисления u (k) при попятном движении от k = k f до k = k0 .

Действительно, на шаге k f 1 находим управление u (kf 1), соответствующее минимальному значению R, то есть, определяем и запоминаем R (x (k f 1),k f 1), которое будет являться функцией значения x в начале по-

следнего шага. Поиск минимума при этом ведётся только по одной переменной u(kf 1)

R (x (k f 1),k f 1) = minu(k ) Tr (x (k f 1),u(k f 1),k f 1). Важно отметить, что и u (kf 1), и значение R зависят от x(kf 1).

40

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