- •Розділ 6 Керування й оцінювання станів
- •Специфікація входів і виходів системи
- •Зведення задачі синтезу до задачі керування в просторі станів
- •Синтез модального закону керування
- •Синтез оптимального за часом лінійного закону керування
- •Керування лінійною системою на скінченному інтервалі
- •Модальне оцінювання станів
- •Синтез систем зі зворотним зв’язком
- •Розділ 7 Оптимальне керування Динамічне програмування
- •Задача середньоквадратичної оптимізації
- •Процеси оптимізації в зворотному часі
- •Середньоквадратична оптимізація процесів у зворотному часі
- •Фільтр Калмана
- •Двоїстість задач оптимального керування й оптимального оцінювання
- •Оптимальне програмне оцінювання
- •Оптимальне рекурентне оцінювання
- •Фільтр Калмана за відсутності запізнювання у вимірюванні виходу
- •Оцінювання стану керованих систем
- •Прогноз методом калманівської фільтрації
- •Оптимальне керування при випадкових збуреннях
- •Фільтр Калмана для оцінки параметрів рівняння регресії
Задача середньоквадратичної оптимізації
Розглянемо задачу (7.1) – (7.3), де k1=N+1, f – лінійна й g – квадратична функції, тобто
f(k,x(k),u(k))=A(k)x(k)+B(k)u(k),
g(N+1,x(N+1),u(N+1))=x*(N+1)P0x(N+1) і
g(k,x(k),u(k))=x*(k)P1(k)x(k)+u*(k)P2(k)u(k)
для k=k0, k0+1,…,N. Функціонал J(u[k0,k1]) у цьому випадку має вигляд
J=x*(N+1)P0x(N+1)+
(x*(j)P1(j)x(j)+u*(j)P2(j)u(j)).(7.8)
Будемо вважати, що матриці P0 та P1 є невід’ємно визначеними, а P2(k) – додатно визначена при всіх k.
Рівняння (7.5) для даної задачі має вигляд
S(k,x)=
(x*P1x+u*(k)P2(k)u(k)+S(k+1,A(k)x+B(k)u(k))).
(7.9)
Маємо для k=N+1:
S(N+1,x)=
g(N+1,x,u(N+1))=
x*P0x
= x*P0x,(7.10)
тобто S(N+1,x) є квадратичною формою від х.
Позначимо матрицю P0 через Г(N+1). Враховуючи (7.10), для k=N отримуємо:
S(N,x)=
(x*P1(N)x+u*(N)P2(N)u(N)+S(N+1,A(N)x+
+B(N)u(N)))=
(x*P1(N)x+u*(N)P2(N)u(N)+
+(A(N)x+B(N)u(N))*Г(N+1)(A(N)x+B(N)u(N)))=
= (x*(P1(N)+A*(N)Г(N+1)A(N))x+
+u*(N)(P2(N)+B*(N)Г(N+1)B(N))U(N)+
+x*A*(N)Г(N+1)B(N)u(N)+u*(N)B*(N)Г(N+1)A(N)x). (7.11)
Функція, що мінімізується в (7.11) за u(N), є квадратичною формою, причому матриця P2(N)+B*(N)Г(N+1)B(N) є додатно визначеною. З цієї причини мінімум досягається для такого u(N), при якому градієнт цієї функції є нульовим вектором, тобто маємо
2u*(N)(P2(N)+B*(N)Г(N+1)B(N))+2x*A*(N)Г(N+1)B(N)=0.
А звідси
F0(N,x)=−(P2(N)+B*(N)Г(N+1)B(N))-1B*(N)Г(N+1)A(N)x. (7.12)
Функцію S(N,x) знайдемо, підставивши (7.12) в (7.11). Маємо
S(N,x)=x*(A*(N)Г(N+1)A(N)+P1(N)−A*(N)Г(N+1)B(N)(P2(N)+
+B*(N)Г(N+1)B(N))-1B*(N)Г(N+1)A(N))x. (7.13)
Функція S(N,x) – також квадратична форма від х. Позначимо матрицю квадратичної форми в (7.13) через Г(N), тобто
Г(N)=A*(N)Г(N+1)A(N)+P1(N)−A*(N)Г(N+1)B(N)(P2(N)+
+B*(N)Г(N+1)B(N))-1B*(N)Г(N+1)A(N). (7.14)
При цьому Г(N+1)=P0.
У формулах (7.11)–(7.14) момент k практично не використовується, тому якщо S(k,x) – квадратична форма від х вигляду x*Г(k)x, то S(k−1,x) – також квадратична форма вигляду x*Г(k−1)x, й при цьому Г(k−1) виражається через Г(k) як
Г(k−1)=A*(k−1)Г(k)A(k−1)+P1(k−1)-A*(k−1)Г(k)B(k−1)×
×(P2(k−1)+B*(k−1)Г(k)B(k−1))-1B*(k−1)Г(k)A(k−1), де
k=N+1,N,…,k0. (7.15)
У результаті отримуємо метод розв’язання задачі середньоквадратичної оптимізації:
– використовуючи рівняння (7.15), обчислюємо послідовність матриць Г(k) для k=N,N−1,…,k ;
– отримуємо оптимальне керування за формулою
u(k)=−(P0(k)+B*(k)Г(k+1)B(k))-1B*(k)Г(k+1)A(k)x(k), (7.16)
де х(k) – стан, у якому знаходиться керована система в момент k у результаті переходу від початкового стану x0 при використанні керування (7.16).
Рівняння (7.15) не залежить від керування u(k) та
поточних станів x(k), тому його розв’язок Г(k) може
бути знайдений до початку процесу керування.
Рівняння (7.15) називається дискретним рівнянням Ріккаті. Для стаціонарних систем рівняння Ріккаті набуває вигляду
Г(k−1)=A*Г(k)A+P1−A*Г(K)B(P2+B*Г(K)B)-1B*Г(k)A.(7.17)
Відомо, що якщо система повністю керована, то
розв’язок Г(k) рівняння (7.17) при k→−∞ прямує до постійної матриці Гу, яка називається усталеною. Тоді система
x(k+1)=Ax(k)+Bu(k), де u(k)=−(P0+B*ГуB)-1B*ГуAx(k), є асимптотично стійкою.
