next up previous
Next: 3 Решение задачи о Up: SAZ Previous: 1 Постановка задачи

2. Построение оптимального программного управления


Введем обозначения

\begin{displaymath}\begin{array}{c} c(k_0, x_0)=x_1-A^{N-k_0}x_0,\quad S(k)=A^{...
...0)}=\bigl[S(k_0), S(k_0+1),\ldots, S(N-1)\bigr] , \end{array}\end{displaymath} (2.1)

где матрица $ H^{(k_0)}$ имеет размерность $ n\times \bigl(m\cdot(N-k_0)\bigr).$ Предположим, что значения $ x_0$ и $ x_1$ и момент времени $ k_0$ таковы, что выполняется следующее

У с л о в и е 2.1. Вектор $ c\left(k_0, x_0\right)$ принадлежит подпространству, натянутому на линейно независимые столбцы матрицы $ H^{(k_0)}\quad
\bigl($заметим, что данное условие равносильно требованию полной управляемости систе-
мы 1.1$ \bigr)$.

Тогда в обозначениях (2.1) справедливо

Утверждение 2.1. Для того чтобы управления $ \bigl\{u(k_0),$ $ u(k_0 + 1),\ldots,\linebreak u(N-1)\bigr\}$ переводили систему (1.1) из состояния $ x(k_0)=x_0$ в состояние $ x(N)=x_1,$ необходимо и достаточно, чтобы $  u(k_0),$ $ u(k_0 + 1),\ldots,$
$ u(N-1)  $ удовлетворяли матричному уравнению

$\displaystyle \sum_{k=k_0}^{N-1} S(k) u(k)=c\left(k_0, x_0\right).$ (2.2)

Д о к а з а т е л ь с т в о. Необходимость. Пусть управления $ u(k_0),$
$ u(k_0+1),\ldots,u(N-1)$ переводят систему (1.1) из состояния $ x_0$ в состояние $ x_1.$ Тогда справедливы соотношения

$\displaystyle x(k_0+1)=Ax(k_0)+Bu(k_0)
$

$\displaystyle x(k_0+2)=Ax(k_0+1)+Bu(k_0+1)
$

$\displaystyle . . . . . . . . . . . . . . . . . . . . . . . .\
$

$\displaystyle x(N-1)=Ax(N-2)+Bu(N-2)
$

$\displaystyle x(N)=Ax(N-1)+Bu(N-1).
$

В правой части каждого уравнения заменим $ x(j), j=k_0+1, k_0+2,\ldots,N-1, $ его выражением согласно предыдущему уравнению; получим следующее равенство:

$\displaystyle x(N)=A^{N-k_0}x(k_0)+A^{N-k_0-1}Bu(k_0)+A^{N-k_0-2} Bu(k_0+1)+{}
$

$\displaystyle {}+\ldots+ABu(N-2)+Bu(N-1)
$

или, что то же,

$\displaystyle x(N)-A^{N-k_0}x(k_0)=\sum_{k=k_0}^{N-1} A^{N-k-1}Bu(k) .
$

Но $ x(N)=x_1, x(k_0)=x_0$ по условию; тогда, учитывая обозначения (2.1), получаем: управления $ u(k_0),$ $ u(k_0 + 1),\ldots,u(N-1)$ удовлетворяют уравнению $ c\left(k_0, x_0\right)=\sum\limits_{k=k_0}^{N-1}
S(k) u(k).$

Достаточность. Пусть управления $ \bar u(k_0),$ $ \bar u(k_0+1),\ldots, \bar
u(N-1)$ удовлетворяют уравнению (2.2) при $ u(k)=\bar u(k),$ $ k_0\le k \le
N-1.$ При заданных управлениях система (1.1) приходит в точку

$\displaystyle x(N)=A^{N-k_0}x(k_0)+\sum_{k=k_0}^{N-1} S(k) \bar u(k).
$

Поскольку начальное состояние есть $ x(k_0)=x_0,$ имеем

$\displaystyle \sum_{k=k_0}^{N-1} S(k) \bar u(k)=x(N)-A^{N-k_0}x_0.$ (2.3)

Сравнивая правые части (2.2) при $ u(k)=\bar u(k)$ и (2.3), приходим к равенству

$\displaystyle c\left(k_0, x_0\right)=x(N)-A^{N-k_0}x_0 ,
$

откуда, используя (2.1), находим: $ x(N)=x_1,$ т.е. управления $ \bar u(k_0),$
$ \bar u(k_0 + 1), \ldots, \bar u(N-1)$ приводят систему (1.1) из $ x_0$ в $ x_1.$ Утверждение доказано.

Далее рассмотрим вектор из $ m(N-k_0)$ компонент

$\displaystyle u^{(k_0)}= \left[ \begin{array}{c} u(k_0) \ [1ex] u(k_0+1) \ [1ex] \vdots \ [1ex] u(N-1) \end{array} \right].$ (2.4)

Соотношение (2.2) тогда может быть представлено уравнением

$\displaystyle H^{(k_0)}u^{(k_0)}=c\left(k_0, x_0\right).$ (2.5)

Для построения решения задачи 1.1 или (что то же, в силу Утверждения 2.1) решения уравнения (2.5) с условием (1.2) введем в рассмотрение псевдообратную матрицу $ H^{+ (k_0)}$ следующим ее представлением
([8, стр. 33]):

$\displaystyle H^{+ (k_0)}=H^{T (k_0)}\cdot \left[H^{(k_0)}H^{T (k_0)}\right]^+.
$

Для краткости, учитывая определение $ H^{(k_0)},$ обозначим

$\displaystyle {\cal D}(k_0)=H^{(k_0)}H^{T (k_0)}=\sum_{k=k_0}^{N-1} S(k)  S^T(k),$ (2.6)

где $ {\cal D}(k_0)$ - симметрическая, неотрицательно определенная матрица размерности $ n\times n.$ Для нее, согласно ([9, стр. 276]),

$\displaystyle {\cal D}^+(k_0)=\sum_{i=1}^r \lambda_i^{-1} v_i  v_i^T,$ (2.7)

где $ \lambda_1\!\ge\! \lambda_2\! \ge\! \ldots\! \ge\! \lambda_r\! >\! 0$ - собственные числа матрицы $ {\cal D}(k_0),  v_1,  v_2,\ldots,v_r$ - отвечающие им ортонормированные собственные векторы. Таким образом,

$\displaystyle H^{+ (k_0)}=H^{T (k_0)} {\cal D}^+(k_0).$ (2.8)

В указанных обозначениях нормальное псевдорешение ([8, стр. 39]) уравнения (2.5) выражается формулой

$\displaystyle u^{0 (k_0)}=H^{+ (k_0)}c\left(k_0, x_0\right)
$

или

$\displaystyle u^{0 (k_0)}=H^{T (k_0)} {\cal D}^+(k_0) c\left(k_0, x_0\right).$ (2.9)

Заметим, что относительно неизвестных $ u_1(k_0),$ $ u_2(k_0),\ldots,$ $ u_m(k_0)$,
$ u_1(k_0 + 1),\ldots,$ $ u_m(k_0+1),\ldots,$ $ u_1(N-1),\ldots,u_m(N-1) $ выражение (2.5) представляет собой систему $ n$ уравнений. При этом, как отмечалось в [10,11], $  u^{0 (k_0)}$ (2.9) совпадает с решением системы (2.5) с минимальной нормой в случае, если система совместна, и с нормальным псевдорешением, если система несовместна.

Взяв $ k$-ю компоненту вектора $ u^{0 (k_0)},$ получаем оптимальное программное управление на $ k$-м шаге, $ k_0\le k\le N-1:$

$\displaystyle u^0(k)=S^T(k) {\cal D}^+(k_0) c\left(k_0, x_0\right)\qquad (k=k_0, k_0+1, \ldots, N-1),$ (2.10)

которое далее будем обозначать $ u^0(k)=u^0\left(k;\
k_0, x_0\right)$.

Отметим в заключение, что применительно к решению задач теории управления псевдообратные матрицы использовались, в частности,
в ([4, стр. 124]).


next up previous
Next: 3 Решение задачи о Up: SAZ Previous: 1 Постановка задачи
2003-08-29