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

Методы и системы оптимального управления. Ч. 2

.pdf
Скачиваний:
3
Добавлен:
24.11.2025
Размер:
720.19 Кб
Скачать

Из (26) при t = tk n 1 1.

 

 

 

n

 

 

(tk ) xn 1.

 

H (x,u, ,t) tk i (tk ) xi

(27)

 

 

 

i 1

 

 

 

 

В то же время

 

 

 

 

 

 

 

 

x

n 1

 

J0

x

J0

t,

(28)

 

 

 

 

x

 

t

 

 

 

 

 

 

 

при t tk , δt 0, δxn 1(tk ) δ f0(tk ).

 

 

 

 

Подставив (27) и (28) в (25), получим выражение

 

0(tk ) H (x ,u , ,t) tk

 

n

 

 

i (tk ) xi (tk ) 0,

(29)

 

 

 

 

 

i 1

 

 

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

Для других классов задач условия трансверсальности будут от-

личаться и иметь сложную форму.

 

 

Алгоритм применения принципа максимума:

 

 

1. Для модели процесса x f (x,u,t) и функционала J0

соста-

вить Гамильтониан.

 

 

n

 

 

H (x, u, , t) j f j (x,u, t) fn 1

(x, u, t).

(30)

j 1

 

 

2. Найти структуру управления u (t) u (x, ,t) из условия мак-

симума Гамильтониана по управлению.

 

H

0.

(31)

u

 

 

11

3. Составить систему канонических уравнений.

 

 

 

 

 

 

fi (x ,u , ,t),

xi (t0) x0i ,

xi (t)

H (x ,u , ,t)

 

 

 

 

t

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i 1,n. (32)

 

 

(t) H (x ,u , ,t)

 

 

 

 

 

 

 

,

(t

k

)

ki

,

 

 

 

 

i

 

 

xi

 

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Получить недостающие условия для уравнений составленной системы из условий трансверсальности.

n

0(tk ) H (tk ) tk i (tk ) xi (tk ) 0. (33)

i 1

5. Решить двухточечную краевую задачу для системы канонических уравнений. В результате определяется тройка оптимальных значений (t*, x*, u*), на которой достигается экстремум функционала качества. Необходимо отметить, что при других подстановках задачи решения могут несколько отличаться.

Пример решения задачи с помощью принципа максимума. Дано: модель объекта управления описывается уравнением

x(t) x(t) u(t), x(0) 0, t [0,1] 0.

 

1

 

 

 

Функционал качества: J0 u2(t)dt x(1) min.

 

0

 

 

 

Имеет место задача со свободным правым концом.

Сравнивая с общей постановкой задачи, имеем:

 

f (x,u,t) x u,

F (x,u,t) u2,

 

0

x2.

 

0

 

 

1. Составим Гамильтониан.

 

 

 

 

H (x u) u2.

 

 

(34)

12

2. Находим максимум Гамильтониана по управлению. Так как ограничения на управления отсутствуют, то можно применить необходимые условия безусловного экстремума.

 

 

 

 

 

H (x, u, , t) 2u 0.

(35)

 

u

 

 

 

 

 

 

 

 

 

 

u

 

,

 

 

 

2

H (x,u, ,t) 2 0.

 

 

 

 

 

 

 

 

 

2

 

 

u2

 

 

 

 

 

 

 

 

 

 

 

 

3. Необходимо записать систему канонических уравнений.

 

 

 

(t)

 

H

x(t)

(t)

,

 

x

 

2

 

 

 

 

 

 

 

 

 

 

 

 

(36)

 

 

 

 

 

 

 

 

 

 

 

 

 

(t) H (t),

x(0) 0.

 

 

 

 

 

 

 

 

x

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4. Проверяем условия

трансверсальности. Так

как

0

x,

0 x, то [ δx H (tk tk ψ(tk x] 0. Так как tk

1,

то tk 0.

На x(tk ) ограничений не наложено, следовательно

 

 

 

ψ(tk ) 1 x 0 ψ(1) 1 0 ψ(1) 1.

 

(37)

5. Решаем полученную двухточечную задачу.

 

 

 

 

 

ψ(t)

, x(0) 0;

 

 

 

x(t) x(t)

 

2

 

 

(38)

 

 

 

 

 

 

 

ψ(t),

ψ(1) 1.

 

 

 

ψ(t)

 

 

 

Второе уравнение решается аналитически.

 

 

 

 

ψ(t) etk t.

 

 

(39)

13

Выражение для оптимального управления имеет вид:

u (t)

1etk t.

(40)

 

2

 

Получаем оптимальную траекторию:

x (t)

1

[etk t etk t ].

(41)

 

4

 

 

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

14

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

Этот метод вместе с принципом максимума является одним из основных аналитических методов поиска оптимального управления. В отличие от принципа максимума, метод динамического программирования позволяет определить оптимальное управление с обратной связью (С-управление). Метод применим более строго для оптимизации дискретных процессов. В основу метода динамического программирования положен принцип оптимальности Беллмана, справедливый для дискретных и для непрерывных систем.

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

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

Рассмотрим сущность метода на примере простейшей одномерной системы, описываемой разностным уравнением:

 

 

x(k 1) x(k) f (x,u, k).

(42)

На интервале tk t0 T:

 

T

tk t0

– интервал дискретности, k

 

.

 

1,N

 

 

 

n

N

 

 

 

 

 

 

 

 

 

x(t0) x0

,

(43)

 

u

 

Uдоп.

 

 

 

 

 

Требуется определить последовательность оптимальных управлений u(0),..., u(N 1), минимизирующую сумму (эквивалент функ-

ционала) следующего вида:

N 1

J0 F(x,u, k) Q(x, N ), (44)

k 0

где F, Q – заданные функции.

15

На основе принципа оптимальности, сформулированного выше, задача оптимизации функции многих переменных u(0, 1,…, N – 1) сводится к задаче последовательной минимизации функций одной переменной.

Дискретный многошаговый процесс построения оптимального управления (алгоритм синтеза) состоит из следующих шагов:

1. Рассмотрим последний интервал (N 1)Tn t NTn . Пусть x(N 1) известно (рис. 3):

Рис. 3. Диапазон известных значений

На основании принципа Беллмана управление на этом интервале u(N – 1) зависит от x(N – 1) и минимизирует сумму.

JN 1 F(x,u, N 1) Q(x, N ).

(45)

Заменив x(N) его выражением, получим

J N 1 F(x,u, N 1) Q(x(N 1) f (x, u, N 1)).

(46)

Так как сумма (46) зависит от одной переменной u, то из условия

минимума JN–1 определяется оптимальное управление на участке u*(N – 1).

Обозначим:

N 1(x, N 1) min

J N 1

u Uдоп

(47)

min F(x,u, N 1) Q(x(N 1) f (x,u, N 1)) .

Таким образом, минимизируя (46), определяется функция

N 1(x, N 1).

(48)

16

2. Переходим к интервалу времени (N 2)Tn t NTn . На рис. 4 представлен временной интервал:

Рис. 4. Временной интервал

Этому интервалу соответствует:

J N 2

F(x, u, N 2) J N 1.

(49)

Определяем минимум JN–2 по u(N – 2). Обозначим:

N 2(x, N 2)

min

J N 2.

(50)

 

u(N 1) Uдоп

 

 

u(N 2) Uдоп

 

 

3. С учетом определения оптимального управления на интервале до N – 1, запишем:

N 2(x, N 2)

(51)

min F(x,u, N 2) N 1(x(N 2) f (x,u, N 2)) .

В результате минимизации (51) определяется оптимальное управление u*(N – 2).

Продолжая процедуру оптимизации по шагам от конечного момента времени к начальному, получим рекуррентную формулу:

N k (x, N k)

(52)

min F(x,u, N k) N k 1(x(N k) f (x,u, N k)) .

Таким образом, минимизация проводится по одной переменной u(N – k) и определяется u*(N – k). Применяя последовательно формулу (52), в результате на последнем интервале оптимизации получаем u*(0), зависящую от x(0) = x0.

17

Алгоритм оптимизации справедлив и для многомерных систем с числом управлений u1…um. При этом скаляры x, u, f заменяются на соответствующие векторы и минимизируется функция m переменных, что при компьютерной реализации требует большого объема памяти.

При оптимизации непрерывных систем оптимальное управление определяется на основе уравнения Беллмана. Тогда поведение модели объекта управления описывается уравнением:

x f (x,u,t);

x(t0) x0;

x(tк) xк.

(53)

Минимизируем функционал следующего вида:

tк

F0(x,u,t)dt 0(x,tk ).

 

J0

(54)

t0

 

 

Постановка задачи формулируется следующим образом. Необходимо найти u*(x, t) и x*(t), используя информацию об x(t) в каждый текущий момент времени. Структура управления имеет вид, представленный на рис. 5.

x0

x(t) dxdt f (x,u,t)

u(t)

Рис. 5. Структура процесса управления

Достаточным условием минимума функционала (54) является так называемое функциональное уравнение Беллмана для функции φ(x,t) с конечными условиями 0(x, tk ), которые представляют

собой терминальный член минимизируемого функционала.

18

 

(x,t)

n

(x,t)

fi (x,u,t) F0

max

t

 

x

 

 

i 1

i

 

При этом φ(x,tk ) φ0(x, tk ).

Так как первое слагаемое явно не зависит от

 

 

 

(x,t)

n

(x,t)

 

u

 

(x,t) argmax

t

 

x

fi (x,u,

 

 

 

 

i 1

i

 

При этом:

minJ0 φ(x0, t0).

(x,u,t) 0.

u, то:

t) F0(x,u,t) .

(55)

(56)

(57)

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

Алгоритм синтеза оптимального управления с полной обратной связью:

1.Записать уравнение Беллмана с граничным условием φ0(x, tk ).

2.Определить структуру u (x,t) поиском минимума выражения (55) через производную φ(x,t).

3.Подставить u (x,t) в выражение (55).

4.Решить полученное выражение в частных производных, что является основной трудностью при решении задачи.

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

x f (x,u,t),

x(t0) x0,

(58)

x(tк) xк.

 

tк

 

J0 F0(x1u1t)dt.

(59)

t0

 

19

Уравнение Беллмана имеет следующий вид:

t0

n

(x,t) fi (x,u,t) F0

 

0.

max

(x,u,t)

u

i 1

xi

 

 

u*(t) – оптимальное управление.

 

 

n

(x t)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

fi (x,u,t) F0(x,u,t) 0.

 

 

x

 

 

 

 

 

i 1

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Продифференцируем (61) по xj,

j

 

 

.

 

 

 

 

 

1,n

 

 

 

 

 

n

2 (x,t)

 

 

 

n

 

(x,t)

 

f

(x,u,t)

 

 

F (x u t)

 

 

fi (x,u,t)

 

 

i

 

 

 

 

 

 

 

0 1 1

xi x j

xi

 

x j

 

 

x j

i 1

 

 

i 1

 

 

 

 

 

 

 

 

На основе (58) имеем:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

2 (x,t)

 

 

 

 

 

d

(x,t)

 

 

 

 

x x

 

 

 

fi (x,u,t)

 

 

x

 

 

.

 

 

j

 

dt

j

 

 

 

i 1

i

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dxi dt

(60)

(61)

0. (62)

(63)

Таким образом, (60) перепишем в следующем виде:

d

 

(x,t)

dt

x j

 

Обозначим:

Учтем, что

F0x j

 

 

F (x,u,t)

 

 

n

(x,t)

 

f

(x,u,t)

 

 

0

 

 

 

 

 

 

 

i

 

 

 

 

0.

 

x

 

 

x

x

 

 

 

 

 

j

 

 

i 1

 

 

j

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

ψ j

(x, t)

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x j

 

 

 

 

 

 

 

 

 

 

dxn 1

 

d

 

 

xn 1 ,

 

j

 

.

 

 

 

1,n

 

 

x j

dt

 

 

 

 

 

dt

 

 

 

x j

 

 

 

 

 

 

 

 

 

xn 1 F0;

n 1 1.

 

 

 

 

 

 

(64)

(65)

(66)

(67)

20