close

Вход

Забыли?

вход по аккаунту

?

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

код для вставкиСкачать
2006
ИЗВЕСТИЯ ВЫСШИХ УЧЕБНЫХ ЗАВЕДЕНИЙ
МАТЕМАТИКА
Є 12 (535)
УДК 517.977
Р. ГАБАСОВ, Н.М. ДМИТРУК, Ф.М. КИРИЛЛОВА
РАСПАРАЛЛЕЛИВАНИЕ ВЫЧИСЛЕНИЙ ПРИ ОПТИМАЛЬНОМ
УПРАВЛЕНИИ БОЛЬШИМИ ДИНАМИЧЕСКИМИ СИСТЕМАМИ
Введение
Большие динамические системы, поведение которых описывается большим числом обыкновенных дифференциальных уравнений, встречаются во многих приложениях. Они возникают и
при оптимальном управлении системами с запаздываниями, системами с распределенными параметрами. Синтез оптимальных обратных связей для таких систем представляет весьма сложную задачу.
В данной работе оптимальное управление большими системами осуществляется с помощью
принципа управления в реальном времени [1]. Согласно ему оптимальные обратные связи не
строятся заранее (до начала процесса управления), их текущие значения, необходимые для
управления, вычисляются в режиме реального времени по ходу процесса управления. Для динамических систем умеренной размерности принцип оптимального управления в реальном времени реализован в [2]{[4]. При этом с повышением размерности систем растет и трудоемкость
операций, что требует привлечения вычислительных устройств большей мощности. Понятно,
что всегда существует такая размерность системы управления, при которой доступные вычислительные устройства не справляются с необходимыми вычислениями в реальном времени.
Цель данной работы | описать методы распараллеливания вычислений, позволяющие оптимально управлять в реальном времени большими системами. Другие способы управления большими системами описаны в [5], [6].
1. Постановка задачи
Рассмотрим систему управления, поведение которой на промежутке времени T = [t ; t ] описывается уравнением
x_ = A(t)x + b(t)u; x(t ) = x0 ;
(1)
где x = x(t) 2 Rn | состояние системы управления в момент времени t; u = u(t) 2 R | значение
управляющего воздействия; A(t) 2 Rnn , b(t) 2 Rn ; t 2 T; | кусочно-непрерывные матричная и
векторная функции.
Будем считать, что матричная функция A(t), t 2 T , имеет специальную структуру (рис.1).
3
Рис. 1
Для системы (1) в классе дискретных управляющих воздействий1 с периодом квантования h
рассмотрим линейную задачу терминального управления
c0 x(t ) ! max;
x_ = A(t)x + b(t)u; x(t ) = x0 ;
(2)
g Hx(t ) g ; ju(t)j 1; t 2 T
(H 2 Rmn ; g ; g 2 Rm ):
Дискретное управляющее воздействие u(t), t 2 T , удовлетворяющее ограничению ju(t)j 1,
t 2 T , будем называть программой (допустимым программным управляющим воздействием),
если соответствующая ему траектория x(t), t 2 T , системы (1) в момент времени t попадает на
терминальное множество x(t ) 2 X = fx 2 Rn : g Hx g g.
Программа u0 (t), t 2 T , и траектория x0 (t), t 2 T , называются оптимальными (программным
решением задачи (2)), если вдоль них критерий качества достигает максимального значения:
c0 x0 (t ) = max
c0 x(t ).
u
При заданном " 0 субоптимальные ("-оптимальные) программу u" (t), t 2 T , и траекторию
"
x (t), t 2 T , определим неравенством c0 x0 (t ) ; c0 x"(t ) ".
Для определения позиционного решения (оптимального управления типа обратной связи)
задачи (2) погрузим ее в семейство задач
c0 x(t ) ! max;
x_ = A(t)x + b(t)u; x( ) = z;
(3)
g Hx(t ) g ; ju(t)j 1; t 2 T ( ) = [; t ];
зависящее от скаляра 2 Th и вектора z 2 Rn .
Пусть u0 (t j ; z ), t 2 T ( ), | оптимальная программа задачи (3) для позиции (; z ); X |
множество состояний z , для которых существуют программные решения задачи (3).
Функцию
u0 (; z ) = u0 ( j ; z ); z 2 X ; 2 Th;
(4)
назовем оптимальным управлением типа дискретной обратной связи (позиционным решением
задачи (2), оптимальной обратной связью).
Оптимальное управление (4) определяется по математической модели (1), но предназначено
для управления реальной (физической) системой. Замкнем последнюю оптимальной обратной
1 Функция u(t), t
2 T , называется [3] дискретной с периодом квантования h = (t ; t )=N (N | натуральное число), если u(t) u( ); t 2 [; + h[; = Th = ft; t + h; : : : ; t ; hg.
4
связью (4) и запишем поведение замкнутой системы в следующей форме:
x_ = A(t)x + b(t)u0 (t; x) + w; x(t ) = x0 ;
(5)
где u0 (t; x(t)) = u0 (; x( )), t 2 [; + h[, 2 Th ; w | совокупность членов, описывающих
неточности математического моделирования и построения оптимальной обратной связи, а также
возмущения, действующие на физическую систему в процессе управления. Для краткости будем
в дальнейшем w называть возмущением.
Под траекторией нелинейной замкнутой системы (5) понимается решение линейного дифференциального уравнения x_ = A(t)x + b(t)u(t) + w, x(t ) = x0 , с u(t) u0 (t; x(t)), t 2 T .
Рассмотрим поведение замкнутой системы (5) в конкретном процессе управления, по ходу
которого реализуется неизвестное ограниченное кусочно-непрерывное возмущение w (t), t 2 T .
Оно породит траекторию x (t), t 2 T , удовлетворяющую тождеству
x_ (t) A(t)x (t) + b(t)u0 (t; x (t)) + w (t); x (t ) = x0 ; t 2 T:
Функцию u (t), t 2 T :
u(t) u( ) = u0(; x ( )) = u0 ( j ; x ( )); t 2 [; + h[; 2 Th ;
назовем реализацией оптимальной обратной связи (4) в конкретном процессе управления.
Получение управляющих воздействий u (t), t 2 T , с помощью заранее (до начала процесса управления) синтезированной обратной связи (4) называется оптимальным управлением по
принципу обратной связи. Эта проблема до сих пор остается нерешенной даже для систем (1)
умеренной размерности.
Цель данной работы | описать метод оптимального управления в реальном времени большими системами (1), при котором оптимальная обратная связь (4) не строится, а текущие значения
u( ), 2 Th, ее реализации вычисляются в каждый текущий момент времени 2 Th за время,
не превосходящее h.
2. Опорная программа и сопровождающие ее элементы
Предварительно введем вспомогательные понятия [7]. Используя формулу Коши
x(t) = F (t; t )x0 +
Zt
t
F (t; #)b(#)u(#)d#
(6)
F (t; #) = F (t)F ;1 (#); F (t) 2 Rnn : F_ = A(t)F; F (t ) = E ;
запишем задачу (2) в эквивалентной функциональной форме
X
X
ch (s)u(s) ! max; g (t) dh (s)u(s) g (t ); ju(s)j 1; s 2 Th ;
s2Th
s2Th
где ch (s), dh (s), s 2 Th ; g (t ), g (t ) строятся \динамически" с помощью функций
t 2 T , представляющих решения сопряженных уравнений
_ c0 = ; c0 A(t); c (t ) = c; G_ = ;GA(t); G(t) = H;
по формулам
Z s+h
(7)
c (t),
G(t),
Z s+h
0 (t)b(t)dt;
dh (s) =
G(t)b(t)dt; s 2 Th ;
(8)
c
s
s
g (t) = g ; G(t )x0 ; g (t ) = g ; G(t )x0 :
Задача линейного программирования (7) имеет m основных двусторонних ограничений-неравенств, N переменных и плотно заполненную матрицу условий (dh (s), s 2 Th ). Если период
квантования h достаточно большой, то размеры m N задачи (7) невелики и она может быть
ch (s) =
решена стандартными методами линейного программирования с использованием небольшого
5
объема оперативной памяти за время, не превосходящее h. Однако, при малых периодах квантования h задача (7) становится \полубольшой", для хранения ее параметров требуется большой
объем оперативной памяти, соседние столбцы dh (s), dh (s + h) ее матрицы условий становятся
почти коллинеарными, что затрудняет быстрое решение задачи стандартными методами.
Прежде чем перейти к описанию эффективных методов решения задачи (2) с учетом ее
динамической природы и структуры модели (1), приведем некоторые необходимые понятия.
Основным инструментом предлагаемых методов является опора. Выделим в I = f1; 2; : : : ; mg
и в Th такие непустые подмножества Iоп , Tоп , что jIоп j = jTоп j и не вырождена матрица
D = D(I ; T ) = dhi (s); s 2 Tоп
оп
оп
i 2 Iоп
оп
(dhi (s) | i-ая компонента вектора dh (s)).
Пару Kоп = fIоп ; Tоп g назовем опорой. В случае Iоп = Tоп = ; совокупность Kоп = fIоп ; Tоп g
| пустая опора по определению. Пару fu(); Kоп g из программы u() = (u(t); t 2 T ) и опоры
Kоп будем называть опорной программой.
Опорную программу fu(); Kоп g сопровождают следующие элементы.
1. Допустимая траектория x(t), t 2 T , и выходной сигнал z = Hx(t ).
2. Вектор потенциалов = (оп ; н ): н = (i ; i 2 Iн ) = 0, Iн = I n Iоп ; оп = (i ; i 2 Iоп ) |
решение векторного уравнения
0 D = c0 ; c = (c (s); s 2 T ):
оп
(9)
оп
оп
h
оп
оп
Если опора пустая, то = 0.
3. Котраектория (t), t 2 T , | решение сопряженного уравнения _ 0 = ; 0 A(t) с начальным
условием 0 (t ) = c0 ; 0 H .
4. Копрограмма
h (s) =
Z s+h
s
(t)dt; s 2 Th; (t) = 0 (t)b(t); t 2 T:
(10)
В моменты s 2 Tоп выполняется равенство h (s) = 0, Tоп | множество опорных нулей
копрограммы. Множество неопорных нулей копрограммы определяется как
Tн0 = fs 2 Th n t : h (s ; h)h (s) < 0g:
5. Псевдопрограмма !(s), s 2 Th . Сначала задаются значения псевдопрограммы в неопорные
моменты !(s) = sign h (s), s 2 Tн = Th n Tоп . Затем находятся опорные компоненты псевдопрограммы !оп = (!(s), s 2 Tоп ) из уравнения Dоп !оп = оп ; Hоп {0(t ), где оп = (i ; i 2 Iоп ):
i = gi , если i < 0; i = gi , если i > 0; i 2 [gi ; gi ], если i = 0; i 2 Iоп ; Hоп | матрица, составленная из строк hi , i 2 Iоп , матрицы H ; {0 (t ) | состояние (6) в момент t при управляющем
воздействии u(t) = !(s), t 2 [s; s + h[, s 2 Tн ; u(t) = 0, t 2 [s; s + h[, s 2 Tоп .
6. Псевдотраектория { (t); t 2 T , | решение уравнения (1) с начальным условием x(t ) = x0
и управляющим воздействием u(t) = !(s), t 2 [s; s + h[, s 2 Th .
7. Выходной псевдосигнал = H { (t).
Регулярной назовем опору Kоп , сопровождающие элементы которой удовлетворяют соотношениям i 6= 0, i 2 Iоп ; h (s) 6= 0, s 2 Tн ; h (s ; h)h (s + h) < 0, если s 2 Tоп , t < s < t ; h;
h (t + h) 6= 0, если t 2 Tоп; h(t ; 2h) 6= 0, если t ; h 2 Tоп .
3. Критерий субоптимальности программы
и критерий оптимальности опоры
Введенные понятия используются прежде всего для формулировки критериев субоптимальности программы и оптимальности опоры, вытекающих из соответствующих критериев для задач линейного программирования [7].
6
Принцип "-максимума. При любом " 0 для "-оптимальности программы u(t), t 2 T , и
соответствующей траектории x(t), t 2 T , необходимо и достаточно существования такой опоры
Kоп , что на элементах, сопровождающих опорную программу fu(); Kоп g, выполняются
1) условие квазимаксимума для программы
Z s+h
Z s+h
0 (t)b(t)dt u(s) = max
juj1 s
s
0 (t)b(t)dt u ; "u (s);
s 2 Tн ;
2) условие квазитрансверсальности на правом конце траектории
z ; "zi ; i 2 Iоп ;
i zi = gimax
zg i
i
3) условие "-точности
X
s2Tн
"u (s) +
X
i2Iоп
"zi ":
При " = 0 утверждение называется принципом максимума. Опора Kоп , о которой идет речь
в принципе максимума, идентифицирует оптимальную программу u0 (t), t 2 T , и называется
оптимальной; ее сопровождают оптимальные элементы.
Из построения псевдопрограммы !(t), t 2 T , видно, что эта функция удовлетворяет принципу
максимума, однако на ней и порожденной ею псевдотраектории { (t), t 2 T , могут нарушаться
прямые органичения ju(s)j 1 в опорные моменты s 2 Tоп либо терминальные ограничения
gi h0i x(t ) gi для неопорных индексов i 2 Iн . Отсюда следует
Критерий оптимальности опоры. Для оптимальности опоры Kоп необходимо и достаточно, чтобы на некоторых сопровождающих ее псевдопрограмме !(s), s 2 Th , и выходном
псевдосигнале выполнялись неравенства
j!(s)j 1; s 2 Tоп ; gi i gi ; i 2 Iн:
(11)
Указанная псевдопрограмма является оптимальной программой задачи (2):
u0 (t) = !(s); t 2 [s; s + h[; s 2 Th :
4. Квазидекомпозиция фундаментальной матрицы решений
В основу метода оптимального управления в реальном времени большими системами (1)
положим процедуру квазидекомпозиции ее фундаментальной матрицы решений F (t), t 2 T . Во
избежание в общем случае сложных обозначений ограничимся частным случаем системы (1)
вида
x_ i =
x_ i =
n
X
1
aik (t)xk + ai (t)xn1+1 + bi (t)u; xi (t ) = x0i ; i = 1; n1 ;
k=1
n
X
k=n1 +1
aik (t)xk + ai (t)x1 + bi (t)u; xi (t ) = x0i; i = n1 + 1; n;
(12)
где aik (t), ai (t), bi (t), t 2 T , i; k = 1; n, | кусочно-непрерывные функции.
Фундаментальная матрица решений F (t) = (fij (t); i; j = 1; n), t 2 T , системы (12) для каждого j = 1; n удовлетворяет уравнениям
f_ij =
f_ij =
n
X
1
aik (t)fkj + ai (t)fn1+1 j ; i = 1; n1 ;
k=1
n
X
k=n1 +1
aik (t)fkj + ai (t)f1j ; i = n1 + 1; n;
7
с начальными условиями fij (t ) = ij , где ij = 1 при i = j , ij = 0 при i 6= j , i; j = 1; n (символ
Кронекера).
Таким образом, для вычисления фундаментальной матрицы решений нужно параллельно
проинтегрировать n систем из n обыкновенных дифференциальных уравнений. Под квазидекомпозицией фундаментальной матрицы решений будем понимать сколь угодно точную ее аппроксимацию функциями f~ij (t), t 2 T , i; j = 1; n, для вычисления которых достаточно параллельно интегрировать системы не более чем n1 и n2 = n ; n1 обыкновенных дифференциальных
уравнений.
Процедуру квазидекомпозиции начнем с аппроксимации функций fn1 +1 j (t), f1j (t), t 2 T ,
j = 1; n. Для этого промежуток T разобьем на части T s , s = 1; s , на каждой из которых аппроксимируем указанные функции конечно-параметрическими функциями. Совокупность полученных таким образом функций обозначим через pn1 +1 j (t), p1 j (t), t 2 T , j = 1; n.
Выберем моменты t0 = t < t1 < t2 < < tq < tq +1 = t . Проинтегрируем систему
(1) на всем промежутке управления T и запомним значения F (tq ), q = 1; q + 1 (F (t0 ) = E ).
Построим функции ij (t), t 2 T , i = 2; n1 , j = 1; n, проинтегрировав систему обыкновенных
дифференциальных уравнений
_ ij =
n
X
1
k=2
aik (t)kj + ai1 (t)p1j (t) + ai (t)pn1 +1 j (t); i = 2; n1 ;
(13)
на промежутках [tq ; tq+1 [ с начальными условиями ij (tq )=fij (tq ), i=2; n1 , j =1; n, q=0; q ; и функции ij (t), t 2 T , i = n1 + 2; n, j = 1; n, проинтегрировав систему обыкновенных дифференциальных уравнений
_ ij =
n
X
k=n1 +2
aik (t)kj + ai (t)p1j (t) + ai n1 +1(t)pn1 +1 j (t); i = n1 + 2; n;
(14)
на промежутках [tq ; tq+1 [ с начальными условиями ij (tq ) = fij (tq ), i = n1 + 2; n, j = 1; n, q = 0; q .
Для любого > 0 можно подобрать участки T s , s = 1; s , количество параметров аппроксимации на них функций f1j (t), fn1 +1 j (t), t 2 T , j = 1; n, и моменты tq , q = 1; q , таким образом,
чтобы функции p1j (t), pn1 +1 j (t), ij (t), i; j = 1; n, t 2 T , аппроксимировали элементы фундаментальной матрицы решений F (t), t 2 T , с точностью , т. е. чтобы выполнялись неравенства
jf1j (t) ; p1j (t)j ; jfn +1 j (t) ; pn +1j (t)j ;
jfij (t) ; ij (t)j ; t 2 T; i = 2; n1 ; i = n1 + 2; n; j = 1; n:
1
Матрицу
1
0 p (t) : : : p (t) 1
BB 1121 (t) : : : 12nn (t) CC
BB: : : : : : : : : : : : : : : : : : : : :CC
B n 1(t) : : : n n(t) CC
Fe (t) = B
BBpn +1 1(t) : : : pn +1 n(t) CC
BBn +2 1 (t) : : : n +2 n (t)CC
B@: : : : : : : : : : : : : : : : : : : : :CA
1
1
1
1
1
1
n1 (t)
:::
(15)
nn (t)
назовем квазидекомпозицией фундаментальной матрицы решений системы (12) в момент времени t 2 T .
8
5. Вспомогательные построения
В дальнейшем для вычисления значений элементов (8) и копрограммы (10) в моменты s 2 Th
будем пользоваться (рабочими) формулами
ch(s) = c0 F (t )
Z s+h
s
Fe ;1 (t)b(t)dt; dh(s) = HF (t )
h (s) = (c0 ; 0 H )F (t )
Z s+h
s
Z s+h
s
Fe ;1 (t)b(t)dt; s 2 Th;
Fe ;1 (t)b(t)dt:
(16)
Копрограмму h (s) для всех s 2 Th вычислим лишь однажды, до начала работы алгоритма.
При этом вычислим и сохраним для использования на итерациях число = sign h (t ), если
t 2 Tн ; = sign h(t + h), если
S t S2 Tоп; и множество неопорных нулей копрограммы Tн0.
По множеству T0 = Tоп Tн0 ft ; t g = fsk ; k = 0; k + 1g опорных и неопорных нулей
копрограммы и концов промежутка управления определим промежутки Tk , k = 0; k , знакопостоянства копрограммы:
Tk = [sk ; sk+1 ; h]; если sk 2= Tоп ; Tk = [sk + h; sk+1 ; h]; если sk 2 Tоп
(если t ; h 2 Tоп , то считается Tk = ;). Тогда !(s) = (;1)k , s 2 Tk , k = 0; k .
Построим вектор
X
p = HF (t )x0 + (;1)k HF (t )
k
k=0
Z
t2Tk
Fe ;1 (t)b(t)dt:
Этот вектор будем хранить и использовать на итерациях для вычисления значений псевдопрограммы в опорные моменты времени
Dоп !оп = оп ; pоп; pоп = (pi ; i 2 Iоп);
(17)
и выходного псевдосигнала
= p + Djопj!оп ; Djопj = (dh (s); s 2 Tоп ):
(18)
Для дальнейшего использования на итерациях сохраним следующую информацию: 1) опорную программу fu(); Kоп g (для прямого метода) или опору Kоп (для двойственного метода);
2) матрицу Djопj ; 3) вектор потенциалов
; 4) число ; 5) множество неопорных нулей копроS
e
граммы Tн0 ; 6) значения F (s), s 2 Tоп Tн0 ; 7) вектор p; 8) значения псевдопрограммы !(s) в
опорные моменты времени s 2 Tоп ; 9) выходной псевдосигнал .
Естественной характеристикой эффективности методов решения задач оптимального управления является количество полных (на всем промежутке T ) интегрирований систем обыкновенных дифференциальных уравнений, необходимое для построения оптимального (субоптимального) управления [8]. В связи с этим за единицу трудоемкости k-го разряда методов возьмем
одно интегрирование системы из k дифференциальных уравнений на промежутке T . Как следует из предложенных выше правил построения квазидекомпозиции фундаментальной матрицы
и информации 1){9), трудоемкость этих операций равна одной единице n-го разряда и двум
единицам разряда nmax = maxfn1 ; 1; n2 ; 1g.
6. Прямой метод построения субоптимальных программ
Прямые методы построения субоптимальных программ целесообразно использовать в тех ситуациях, когда имеется достаточно хорошая начальная программа и проблема состоит в небольшом ее улучшении до субоптимальной программы. Предлагаемый прямой метод представляет
последовательное улучшение опорных программ
fu1 (); Kоп1 g ! fu2 (); Kоп2 g ! ! fuK (); KопK g;
9
при котором начальная опорная программа произвольна, а конечная удовлетворяет критерию
субоптимальности. Общая итерация метода
fu(); Kопg ! fu(); K оп g
(19)
основана на уменьшении оценки субоптимальности (u(); Kоп ) = c0 { (t ) ; c0 x(t ):
(u(); K оп ) (u(); Kоп ):
Итерацию (19) составим из двух процедур: 1) процедуры замены программы u() ! u()
согласно принципу уменьшения меры неоптимальности программы (u()) = c0 x0 (t ) ; c0 x(t ),
что эквивалентно выполнению неравенства c0 x(t ) c0 x(t ); 2) процедуры замены опоры Kоп !
K оп согласно принципу уменьшения меры неоптимальности опоры (Kоп ) = c0 { (t ) ; c0 { 0(t )
(эквивалентно c0 {(t ) c0 { (t )) [7].
Итерацию (19) начнем с проверки критерия оптимальности опоры. Если выполняются неравенства (11), то Kоп | оптимальная опора и решение задачи (2) завершается на оптимальной
программе u0 (t) !(t), t 2 T . В противном случае вычислим оценку субоптимальности опорной программы (u(); Kоп ). В случае (u(); Kоп ) " решение задачи (2) прекращается на
субоптимальной программе u" (t) = u(t), t 2 T .
Пусть (u(); Kоп ) > ". Построим допустимое направление изменения программы l(s) =
!(s) ; u(s), s 2 Th, и вычислим новую программу u(s) = u(s) + 0l(s), s 2 Th, где
0 = minf1; (s0 ); i0 g; (s0) = min (s); s 2 Tоп ; i0 = min i ; i 2 Iн;
(
(s) = (sign l(s) ; u(s))=l(s); если l(s) 6= 0;
+1;
если l(s) = 0; s 2 Tоп ;
8
>
<(gi ; zi )=li ; если li < 0;
i = (gi ; zi )=li ; если li > 0;
>
:+1;
если li = 0; i 2 Iн ;
l = ; z:
Оценка субоптимальности опорной программы fu(); Kоп g равна
(u(); Kоп ) = (1 ; 0) (u(); Kоп ):
Следовательно, при (1 ; 0) (u(); Kоп ) " решение задачи (2) прекращается на субоптимальной
программе u" (t) = u(t), t 2 T . При (u(); Kоп ) > " переходим к процедуре замены опоры.
Она осуществляется как итерация двойственного метода (см. п. 7), в которой используются
вычисленные выше элементы s0 , i0 .
7. Двойственный метод вычисления оптимальной программы
Двойственные методы построения оптимальных программ целесообразно использовать в тех
ситуациях, когда известна недостаточно хорошая начальная программа или ее нет. Предлагае1 ! K2 !
мый двойственный метод представляет собой последовательное улучшение опор Kоп
оп
K
! Kоп , начинающееся с произвольной опоры и заканчивающееся оптимальной. Общая итерация метода Kоп ! K оп основана, как отмечено в п. 6, на уменьшении меры неоптимальности
опоры.
Итерацию начнем с проверки критерия оптимальности опоры. При выполнении неравенств
(11) завершим решение задачи (2) на оптимальной программе u0 (t), t 2 T : u0 (s) = !(s), s 2 Tоп ;
u0 (s) = (;1)k , s 2 Tk , k = 0; k .
В противном случае по информации 8), 9) вычислим число 0 = maxf(s0 ); i0 g, (s0 ) =
max (!(s); [;1; 1]), s 2 Tоп , i0 = max (i ; [gi ; gi ]), i 2 Iн , где (c; [a; b]) | расстояние от числа c
до отрезка [a; b].
10
В дальнейшем будем различать ситуации I) 0 = (s0 ) или II) 0 = i0 (для процедуры замены
опоры прямого метода I) 0 = (s0) или II) 0 = i0 ).
В зависимости от I), II) построим направление изменения вектора потенциалов =
(оп ; н ) по правилам
I) i = 0; i 2 Iн ;
0 Dоп = ;(h (s); s 2 Tоп )0 ; h (s0 ) = sign !(s0 ); h (s) = 0; s 2 Tоп n s0 ;
оп
II) i0 = 1; если i0 > gi0 ; i0 = ;1; если i0 < gi0 ; i = 0; i 2 Iн n i0 ;
0 Dоп = ;i0 (dhi0 (s); s 2 Tоп )0 ;
оп
и определим направление изменения копрограммы
h
(s) = ; 0HF (t )
Z s+h
s
Fe ;1 (t)b(t)dt; s 2 Th :
(20)
Подсчитаем числа
(t); (t); e(t ); e(t ); (s); e(s); s 2 Tн0 ; i ; i 2 Iоп ;
(21)
по правилам1
(t ) = ;h(t)=h (t ); если h(t )h(t ) < 0; (t ) = 1 в противном случае;
(t ) = ;h(t ; h)=h (t ; h); если h (t ; h)h (t ; h) < 0;
(t ; h) = 1 в противном случае;
e(t ) = 0; e(t ) = ;1;
e(s) = ;1; если h(s ; h)h (s ; h) < 0; e(s) = 0; если h (s)h(s) < 0; s 2 Tн0 ;
[
(s) = ;h (s + e(s)h)=h (s + e(s)h); s 2 Tн0 T ft ; t g;
i = ;i=i ; если i i < 0; i = 1; если i i 0; i 2 Iоп :
Здесь для вычисления h (s ; h), h (s ; h) достаточно проинтегрировать системы (13), (14) на
отрезке [s ; h; s], а для вычисления h (s), h (s) | на отрезке [s; s + h] с известным начальным
значением Fe (s) (или F (tq ), если s = tq ) и воспользоваться формулами (16), (20).
Дальнейшие итерации представим в виде последовательности \коротких" шагов
fi1 ; s1 ; Tн10 ; 1; p1 ; 1 g ! fi2 ; s2; Tн20; 2 ; p2; 2 g ! ! fiL; sL; TнL0; L; pL; L g:
Начальная совокупность fi1 ; s1 ; Tн10 ; 1 ; p1 ; 1 g строится в зависимости от реализовавшейся ранее
ситуации:
I) i1 = ;; s1 = s0 ; Tн10 = Tн0 ; 1 = ; p1 = p; 1 = ;(!(s0 ); [;1; 1]);
II) i1 = i0 ; s1 = ;; Tн10 = Tн0 ; 1 = ; p1 = p; 1 = ;(i0 ; [gi0 ; gi0 ]):
Короткий шаг вида
l+1 l+1 l+1
fil = ;; sl ; Tнl 0; l ; pl ; l g ! fil+1 ; sl+1 ; Tнl+1
0 ; ;p ; g
начнем с вычисления
(sl ) = ;h (sl ; h)=h (sl ; h); если e(sl ) = ;1;
(sl ) = ;h (sl + h)=h (sl + h); если e(sl ) = 0;
1 Предполагается, что (s ; h)h (s) 0, s 2 Tн0 .
11
(22)
где при l = 1 e(s1 ) = ;1, если (;1)k0 sign !(s0 ) > 0, k0 | индекс момента s0 в множестве
T0 ; e(s1 ) = 0 в противном случае. При sl = t , e(sl ) = ;1 или sl = t ; h, e(sl ) = 0 положим
(sl ) = 1.
Для вычисления h (sl ; h), h (sl ; h) проинтегрируем системы (13), (14) на отрезке [sl ; h; sl ],
а для вычисления h (sl +h), h (sl +h) | на отрезке [sl ; sl +2h] с известным начальным значением
Fe (sl ) и воспользуемся формулами (16), (20). Если e(s1 ) = 0, то найденное значение Fe (sl + h)
сохраним вместо Fe (sl ).
S
Подсчитаем1 l = minf(se); ~i g, (se) = min (s), s 2 Tнl 0 fsl ; t ; t g; ~i = min i , i 2 Iоп .
Проведем замену (22), различая ситуации a) l = (se) и б) l = ~i :
а) il+1 = ;; sl+1 = se + e(se)h;
l
l
l+1
l
l
Tнl+1
0 = Tн0 ; если se = s ; Tн0 = Tн0 n se; если (s ) = 1;
[ l
l
l
Tнl+1
0 = (Tн0 n se) fs + (e(s ) + 1)hg в остальных случаях;
l+1 = ; l; если sl = t ; e(sl ) = 0 или sl+1 = t ; e(sl+1 ) = ;1;
l+1 = l в противном случае;
pl+1 = pl ; pl ; pl+1 ; pl = (;1)kl +e(sl ) l dh (sl );
l+1 = l + 2jh (sl+1 )j;
(kl | индекс момента sl в множестве T0l );
б) il+1 = ei; sl+1 = ;;
l [ l
l
Tнl+1
0 = Tн0 fs + (e(s ) + 1)hg;
l+1 = ; l; если sl = t; e(sl ) = 0; l+1 = l в противном случае;
pl+1 = pl ; pl ; l+1 = l + (g~i ; g~i )j~i j:
Короткий шаг вида
l+1 l+1 l+1
fil ; sl = ;; Tнl 0; l ; pl ; l g ! fil+1 ; sl+1 ; Tнl+1
0 ; ;p ; g
(23)
отличается от (22) отсутствием момента sl и соответствующих ему чисел (sl ), e(sl ).
Поэтому число l подсчитаем следующим образом:
[
l = minf(se); ~i g; (se) = min (s); s 2 Tнl 0 ft ; t g; ~i = min i ; i 2 Iоп :
Замену (23) проведем по правилам
l
a) il+1 = ;; sl+1 = se + e(se)h; Tнl+1
0 = (Tн0 n se);
l+1 = ; l; если sl+1 = t; e(sl+1 ) = ;1; l+1 = l в противном случае;
pl+1 = pl ; pl+1 ; l+1 = l + 2jh (sl+1 )j;
l
б) il+1 = ei; sl+1 = ;; Tнl+1
0 = Tн0 ;
l+1 = l ; pl+1 = pl ; l+1 = l + (g~i ; g~i )j~i j:
Как в ситуации I), так и в ситуации II) при реализации случая а) положим e(sl+1 ) = e(se).
При e(sl+1 ) = ;1 вместо значения квазидекомпозиции фундаментальной матрицы в точке se
подсчитаем ее значение в sl+1 = se ; h. Для этого достаточно проинтегрировать системы (13),
что все конечные числаS (s), s 2 Tнl 0 Sfsl; t; t)g, i , i 2 I , различны, кроме, возможно пары (t ), (t + h) при t + h 2 Tнl 0 sl, e(t + h) = ;1 или пары (t ), (t ; h) при t ; h 2 Tнl 0 ,
e(t ; h) = 0. В этих случаях полагаем s
e 2 Tнl 0.
12
1 Предполагается,
(14) на отрезке длины h. В случае б) положим ~i = 1. Если l = (t ), положим (t ) = 1; при
l = (t) положим (t) = 1.
Итерацию завершим при достижении такой совокупности
fiL ; sL; TнL0; L ; pL; SL g, что L0.
S
Новую опору K оп = fI оп ; T оп g построим в виде I оп = (Iоп i1 ) n iL , T оп = (Tоп n s1 ) sL. Модифицируем информацию 2){9) для соответствия ее новой опоре K оп . Для построения Djопj в случае
I) из матрицы Djопj удалим столбец, соответствующий моменту s0 и при sL 6= ; добавим столбец
dh(sL ). Новый вектор потенциалов найдем из уравнения (9). Положим = L , T н0 = TнL0 , p = pL.
Построим !оп , по формулам (17), (18).
Короткие шаги (22), (23) описывают перемещение неопорных нулей s 2 Tн0 и опорного нуля s0 копрограммы h (t), t 2 Th , сопровождающей \старую" опору Kоп до неопорных нулей
s 2 TнL0 и опорного нуля sL копрограммы h (t), tS2 Th , сопровождающей \новую" опору K оп .
При этом каждое перемещение момента s 2 Tнl 0 sl сопровождается интегрированием систем
(13), (14) либо на отрезке [sl ; sl + 2h], либо на [sl ; 2h; sl ]. Отсюда следует, что перемещение
нуля копрограммы из точки s в точку s обладает трудоемкостью 2js ; s j=(t ; t ) разряда
k = maxfn1 ; 1; n2 ; 1g. С учетом трудоемкости вычисления чисел (21) общая трудоемкость
замены опоры Kоп ! K оп равна
E=2
X
s2Tн0 [s1
js ; sj=(t ; t) + 1=N
(24)
| единицам k-го разряда.
Описанные в пп. 6, 7 методы конечны, если на их итерациях встречаются только регулярные опоры. В [7] приведены модификации адаптивного метода, конечные для любой задачи
линейного программирования.
8. Пример
Для иллюстрации предложенного в статье двойственного метода рассмотрим следующую
задачу успокоения за фиксированное время с минимальным расходом топлива колебательной
двухмассовой системы (рис. 2). Математическая модель задачи имеет вид
Z 25
u(t)dt ;! min;
x_ 1 = x2; x_ 2 = ;x1 + x3 + u; x_ 3 = x4 ; x_ 4 = 0;1x1 ; 1;01x3 ;
x1 (0) = 0; x2(0) = 2; x3 (0) = 0; x4(0) = 1;
x1(25) = x2 (25) = x3(25) = x4 (25) = 0; 0 u(t) 1; t 2 [0; 25[;
0
(25)
где x1 = x1 (t) | отклонение от положения равновесия первой массы, x2 = dx1 =dt, x3 = x3 (t) |
отклонение от положения равновесия второй массы, x4 = dx2 =dt, u = u(t) | секундный расход
топлива в момент времени t.
13
m
c1
?u
@
;
@;
x1
x2
M
@;
c2 @
;@
;
;;;;;;;;
Рис. 2
Задача (25) была решена двойственным методом п. 7 в классе дискретных управлений с
периодом квантования h = 0;01. В качестве начальной была выбрана пустая опора Kоп = ;.
Для построения квазидекомпозиции фундаментальной матрицы решений системы (25) ее 1-я и
3-я строки были представлены интерполяционными многочленами Лагранжа p1 (t), p3 (t), t 2 T ,
степени P на интервалах T s = [t + (s ; 1)ha ; t + sha [, s = 1; s , ha = (t ; t )=s .
Для различных значений параметров P , s были получены результаты решения: терминальное Sсостояние системы (25), оптимальное значение критерия качества, точки переключения
Tоп Tн0 = fsj ; j = 1; 6g оптимальной программы
8
S
S
>
0;
t 2 [0; s1 [S[s2 +
h;
s
3 [ [s4 + h; s5 [ [s6 + h; 25[;
<
u0 (t) = 1;
t 2 [s1 + h; s2 [S[s3 + h; s4 [S[s5 + h; s6 [;
>
:u0(t); t 2 [sj ; sj + h[; j = 1; 6;
и значения оптимального управляющего воздействия в них. Проведено сравнение с результатами
решения задачи (25) без использования квазидекомпозиции фундаментальной матрицы решений
системы (25).
9. Оптимальное управление в реальном времени
Опишем метод оптимального управления в реальном времени системой (1). Как отмечено
в п. 1, принцип управления в реальном времени подразумевает построение реализации u ( ),
2 Th, оптимальной обратной связи (4) в каждый текущий момент времени 2 Th для текущей
позиции (; x ( )) за время1, не превосходящее h. Устройство, способное выполнять эту работу, будем называть оптимальным регулятором, реализующим оптимальную обратную связь в
реальном времени.
Алгоритм работы оптимального регулятора составим из двух процедур: начальной, на которой до начала процесса управления строится оптимальная программа задачи (2) для управления реальной системой (5) на начальном отрезке [t ; t + h[; и общей, вычисляющей значения
u( ), 2 Th n t.
На начальной процедуре, используя двойственный метод, изложенный в п. 7, построим опти0 (t ) = fI 0 (t ); T 0 (t )g. С началом процесса управления оптимальный регумальную опору Kоп
оп оп лятор подает на вход системы (5) сигнал u (t) = !0 (t ), t 2 [t ; t + h[, если t 2 Tоп0 (t ); u (t) = ,
t 2 [t ; t + h[, если t 2= Tоп0 (t ).
1 Этим
временем запаздывания в данной работе пренебрегаем, его влияние на решение задачи незначительно и описано в [9].
14
Опишем общую процедуру алгоритма работы оптимального регулятора. Предположим, что
оптимальный регулятор проработал на промежутке [t ; [, выработав управляющие воздействия
u(t), t 2 [t; [. Пусть под влиянием этого управляющего воздействия и реализовавшегося возмущения w (t); t 2 [t ; [, физическая система управления в текущий момент оказалась в
состоянии x ( ). По предположению, в предыдущий момент ; h для нахождения значения
u( ; h) оптимальный регулятор решил задачу (3) для позиции ( ; h; x ( ; h)) и сохранил ее
0 ( ; h). Функциональная форма этой задачи имеет вид
оптимальную опору Kоп
X
s2Th ( ;h)
ch (s)u(s) ! max; g( ; h) X
s2Th ( ;h)
dh (s)u(s) g ( ; h);
(26)
ju(s)j 1; s 2 Th( ; h) = f ; h; ; : : : ; t ; hg;
где g ( ; h) = g ; HF (t )Fe ;1 ( ; h)x ( ; h), g ( ; h) = g ; HF (t )Fe ;1 ( ; h)x ( ; h).
Cостояние x0 ( ), в которое перешла бы система управления (5) с w(t) = 0, t 2 [ ; h; ], из
позиции ( ;h; x ( ;h)), связано с реализовавшимся состоянием x ( ) системы (5) соотношением
Z
x( ) = x0( ) + F ( )
;h
F ;1 (t)w (t)dt:
При ограниченном возмущении w (t); t 2 [ ; h; ], и достаточно малых h > 0 векторы x0 ( ),
x( ) различаются между собой незначительно, что позволяет говорить о малом отличии задачи
(26) от задачи
X
s2Th ( )
ch(s)u(s) ! max; g( ) X
s2Th ( )
dh (s)u(s) g ( ); ju(s)j 1; s 2 Th( )
g( ) = g ; HF (t)Fe;1 ( )x ( ); g ( ) = g ; HF (t )Fe ;1 ( )x ( ) ;
которую оптимальный регулятор должен решить в момент .
(27)
В результате решения задачи (26) двойственным методом п. 7 была получена и сохранена
0 ( ; h) = fI 0 ( ; h); T 0 ( ; h)g, 2) матрица
следующая информация: 1) оптимальная опора Kоп
оп
оп
0
0
Djопj( ; h), 3) вектор потенциалов ( ; h), 4) число 0 ( ; h), 5) множество неопорных нулей
S
S
оптимальной копрограммы Tн00 ( ; h), 6) значения Fe (s), s 2 Tоп0 ( ; h) Tн00 ( ; h) f ; hg,
7) вектор p0 ( ; h), 8) опорные значения псевдопрограммы !0 (sj ; h), s 2 Tоп0 ( ; h), 9) выходной
псевдосигнал 0( ; h).
Задачу (27) будем решать двойственным методом п. 7, выбрав в качестве начальной опоры
1 ( ) оптимальную опору K 0 ( ; h). Тогда
Kоп
оп
Dj1опj( ) = Dj0опj ( ; h); 1 ( ) = 0 ( ; h);
1( ) = 0( ; h); Tн10 ( ) = Tн00 ( ; h); если 62 Tн00 ( ; h);
1 ( ) = ; 0( ; h); Tн10( ) = Tн00 ( ; h) n ; если 2 Tн00 ( ; h);
p1( ) = p0( ; h) + HF (t )Fe ;1 ( )(x ( ) ; x0 ( )):
1 ( ) = (! (s j ), s 2 T 1 ( ))
Значения сопровождающей псевдопрограммы в опорные моменты !оп
оп
0
1
0
1
найдем из уравнения Dоп ( ; h)!оп ( ) = оп ( ; h) ; pоп ( ). Сопровождающий выходной псев1 ( ).
досигнал равен 1 ( ) = p1 ( ) + Dj1опj ( )!оп
При выполнении неравенств
j!1(sj )j 1; s 2 Tоп1 ( ); gi i1( ) gi ; i 2 Iн1 ( );
0 ( ) = K 0 ( ; h).
оптимальная опора задачи (26) является также оптимальной в задаче (27): Kоп
оп
В противном случае проведем итерации двойственного метода п. 7. При близких состояниях
0 ( ; h) задачи (26) до получения оптимальной
x( ), x0 ( ) для коррекции оптимальной опоры Kоп
15
0 ( ) задачи (27) достаточно небольшого числа итераций, сопровождающихся перемеопоры Kоп
щениями нулей копрограммы на небольших отрезках, на которых интегрируются уравнения
(13), (14). В результате общая трудоемкость коррекции опоры, определяемая формулой (24),
оказывается незначительной.
0 ( ) задачи (27), оптимальный регулятор подает на вход
Построив оптимальную опору Kоп
системы (5) сигнал
u(t) = !0 ( j ); t 2 [; + h[; если 2 Tоп0 ( );
u(t) = 0 ( ); t 2 [; + h[; если 62 Tоп0 ( ):
0 ( ) с 2 T 0 ( ), в качестве начальной
Замечание. Для того чтобы использовать опору Kоп
оп
в следующий момент + h, совершается один короткий шаг (22) с s0 = , 1 = 0, при котором
момент выйдет из опоры.
10. Пример
Для иллюстрации метода оптимального управления в реальном времени рассматриваем пример п. 8, когда на рассматриваемую динамическую систему действует кусочно-непрерывное возмущение, в результате чего поведение реальной физической системы описывается уравнениями
x_ 1 = x2 ; x_ 2 = ;x1 + x3 + u; x_ 3 = x4 ; x_ 4 = 0;1x1 ; 1;01x3 + w:
Пусть реализующееся в процессе управления возмущение имеет вид
w (t) = 0;3 sin(4t); t 2 [0; 9;75]; w (t) 0; t 2]9;75; 25]:
Это возмущение неизвестно регулятору, однако в каждый момент t 2 Th ему известно текущее
состояние системы x (t).
На рис. 3 представлена трудоемкость коррекции опор двойственным методом на отрезке действия возмущения.
Рис. 3
11. Другие типы структуры больших систем
Рассмотрим динамическую систему (1), в которой матрица A(t), t 2 T , имеет структуру,
изображенную на рис. 4.
16
Рис. 4
Во избежание громоздких обозначений процедуру квазидекомпозиции фундаментальной матрицы опишем для частного случая:
x_ 1 =
x_ i =
n
X
1
k=1
n1
X
k=1
a1k (t)xk +
n
X
k=n1 +1
ak (t)xk + b1 (t)u; x1 (t) = x01 ;
aik (t)xk + bi(t)u; xi (t ) = x0i ; i = 2; n1 ;
n
X
x_ n1+1 =
n
X
1
an1 +1 k (t)xk + ak (t)xk + bn1 +1 (t)u; xn1 +1 (t ) = x0n1 +1;
k=n1 +1
k=1
n
X
x_ i =
aik (t)xk + bi (t)u; xi (t ) = x0i ; i = n1 + 2; n;
k=n1 +1
(28)
где aik (t), ak (t), bi (t), t 2 T , i; k = 1; n, | кусочно-непрерывные функции.
Фундаментальная матрица решений F (t) = (fij (t), i; j = 1; n), t 2 T , системы (28) для каждого j = 1; n удовлетворяет уравнениям
f_1j =
n
X
1
k=1
n
X
a1k (t)fkj +
n
X
ak (t)fkj ; f_ij =
k=n1 +1
n1
X
_fn1 +1 j =
an1 +1 k (t)fkj + ak (t)fkj ;
k=n1 +1
k=1
f_ij =
n
X
1
aik (t)fkj ; i = 2; n1 ;
k=1
n
X
k=n1 +1
aik (t)fkj ; i = n1 + 2; n;
с начальными условиями fij (t ) = ij , i; j = 1; n.
По схеме п. 4 построим аппроксимации функций f1j (t), fn1 +1 j (t), t 2 T , j = 1; n, конечнопараметрическими функциями p1j (t), pn1 +1 j (t), t 2 T , j = 1; n. Вычислим функции ij (t), t 2 T ,
i = 2; n1 , i = n1 + 2; n, j = 1; n, проинтегрировав системы уравнений
_ ij =
n
X
1
k=2
aik (t)kj + ai1 (t)p1j (t); i = 2; n1 ;
n
_ij = X aik (t)kj + ai n1 +1 (t)pn1 +1 j (t); i = n1 + 2; n;
k=n1 +2
на промежутках [tq ; tq+1 [ с известными начальными условиями
ij (tq ) = fij (tq ); i = 2; n1 ; i = n1 + 2; n; j = 1; n:
Квазидекомпозицию фундаментальной матрицы решений системы (28) в момент времени
t 2 T построим в виде (15).
17
Рассмотрим динамическую систему (1), в которой матричная функция A(t), t 2 T , имеет смешанную структуру, включающую как связывающие переменные, так и связывающие уравнения.
Частный случай такой системы запишем в виде
x_ i =
n
X
1
k=1
aik (t)xk + bi(t)u; xi (t ) = x0i ; i = 1; n1 ;
n
X
x_ n1+1 =
an1 +1 k (t)xk +
n
X
1
ak (t)xk + bn1+1 (t)u;
k=n1 +1
k=1
n
X
x_ i =
aik (t)xk + ai (t)x1 + bi(t)u; xi (t ) = x0i ;
k=n1 +1
xn1 +1 (t ) = x0n1 +1 ;
(29)
i = n1 + 2; n:
Столбец fj (t), t 2 T , фундаментальной матрицы решений F (t), t 2 T , системы (29) удовлетворяет уравнениям
f_ij =
n
X
1
k=1
f_n1+1 j =
aik (t)fkj ; fij (t ) = ij ; i = 1; n1 ;
n
X
k=n1 +1
an1 +1 k (t)fkj +
n
X
1
k=1
ak (t)fkj ; fn1+1 j (t ) = n1 +1 j ;
(30)
n
_fij = X aik (t)fkj + ai (t)f1j ; fij (t ) = ij ; i = n1 + 2; n:
k=n1 +1
Построим квазидекомпозицию (15) фундаментальной матрицы решений системы (29) в виде
0 f (t) : : : f (t) 1
BB: : :11: : : : : : : : : : : : :1:n: : : :CC
B f (t) : : : f (t) C
eF (t) = BBBpn n+11 1(t) : : : pn n+1n n(t) CCC ;
BBn +2 1(t) : : : n +2 n(t)CC
B@: : : : : : : : : : : : : : : : : : : : :CA
1
1
1
1
1
1
n1 (t)
:::
nn (t)
где fij (t), t 2 T , i = 1; n1 , j = 1; n, | решение системы (30); функции pn1 j (t), ij (t), t 2 T ,
i = n1 + 2; n, j = 1; n, строятся по правилам п. 4 с заменой уравнений (14) на новые:
_ ij =
n
X
k=n1 +2
aik (t)kj + ai (t)f1j (t) + ai n1 +1(t)pn1 +1 j (t); i = n1 + 2; n:
12. Асимптотическая квазидекомпозиция
Рассмотрим ситуацию, когда матрицу A(t) системы (1) можно погрузить в семейство матриц
A(t; ) = A0 (t) + A1(t) + 2 A2(t) + : : : , 0, обладающее свойствами
1) A(t; 1 ) = A(t), 1 > 0 | достаточно малое число,
2) A0 (t) имеет специальную структуру одного из рассмотренных выше типов.
По семейству A(t; ), t 2 T , 0, построим семейство фундаментальных матриц
F (t; ) = F0 (t) + F1 (t) + 2 F2 (t) + ; 0;
18
где матричные функции Fi (t), t 2 T , i = 0; 1; 2; : : : , удовлетворяют дифференциальным уравнениям
F_0 = A0 (t)F0 ; F0 (t ) = E;
(31)
F_1 = A0 (t)F1 + A1 (t)F0 (t); F1 (t ) = 0;
F_2 = A0(t)F2 + A2 (t)F0 (t) + A1 (t)F1 (t); F2 (t ) = 0;
:::
Из (31) следует, что для каждой функции Fi (t), t 2 T , i = 0; 1; : : : , можно построить квазидекомпозиции Fei (t), t 2 T , i = 0; 1; : : : , по принципам, описанным в пп. 4, 10. Это позволяет распараллелить вычисление фундаментальной матрицы F (t; 1 ) системы (1) с матрицей
A(t) = A(t; 1 ) и решать задачу оптимального управления (2) такими системами.
13. Использование специального базиса
Рассмотрим систему управления (1) с достаточно гладкими функциями A(t), b(t), t 2 T , не
обладающими ни одной из специальных структур, описанных выше.
Построим n векторных функций
q1(t) = b(t); t 2 T; qk+1 (t) = A(t)qk (t) ; q_k (t); t 2 T; k = 1; n ; 1:
Cоставим матричную функцию Q(t) = (qk (t); k = 1; n), t 2 T , и предположим, что для нее
выполняется условие rank Q(t) = n, t 2 T .
Произведем замену фазовых переменных x(t) = Q(t)y(t), t 2 T . В новых переменных y(t) =
(yk (t), k = 1; n) система (1) примет вид
y_1 = 1(t)yn + u; y_ k+1 = yk + k+1 (t)yn ; k = 1; n ; 1;
(32)
где k (t), t 2 T , k = 1; n, | коэффициенты разложения функции qn+1 (t) = A(t)qn (t) ; q_n (t),
n
t 2 T , в базисе qk (t), t 2 T , k = 1; n; qn+1 (t) = P k (t)qk (t), t 2 T .
k=1
Квазидекомпозицию фундаментальной матрицы решений системы (32) в момент времени
t 2 T построим в виде
0 11(t) : : : 1n (t) 1
B: : : : : : : : : : : : : : : : : : : :CC :
Fe (t) = B
@n;1 1(t) : : : n;1 n(t)A
pn1 (t) : : : pnn(t)
Здесь pnj (t), t 2 T , j = 1; n, | конечно-параметрические аппроксимации функций fnj (t),
t 2 T , j = 1; n, построенные по схеме п. 4. Функции kj (t), t 2 T , k = 1; n ; 1, j = 1; n, |
решения систем уравнений
(33)
_ 1j = 1 (t)pnj (t); _ kj = k;1 j + k (t)pnj (t); k = 2; n ; 1;
на промежутках [tq ; tq+1 [ с известными начальными условиями kj (tq ) = fkj (tq ), k = 1; n ; 1;
j = 1; n. В силу простоты системы (33) можно выписать явные формулы для вычисления kj (t),
t 2 T , k = 1; n ; 1, j = 1; n:
Z t kX
kX
;1
;1 (t ; #)i
i
kj (t) = (t ;i!tq ) fk;i j (tq ) +
(
#
)
i! k;i pnj (#) d#:
tq i=0
i=0
Таким образом, вместо интегрирования систем обыкновенных дифференциальных уравнений
на интервалах [s; s], на итерациях предложенных методов достаточно вычислять интегралы на
тех же интервалах, для чего можно использовать разнообразные квадратурные формулы.
19
Замечание. Приведенные конструкции нетрудно обобщить на случай r -мерных управляющих воздействий.
Литература
1. Габасов Р., Кириллова Ф.М. Принципы оптимального управления // Докл. НАН Беларуси.
{ 2004. { Т. 48. { Є 1. { С. 15{18.
2. Gabasov R., Kirillova F.M., Balashevich N.V. On the synthesis problem for optimal control systems
// SIAM J. Control Optim. { 2000. { V. 39. { Є 4. { P. 1008{1042.
3. Балашевич Н.В., Габасов Р., Кириллова Ф.М. Численные методы программной и позиционной
оптимизации линейных систем управления // Журн. вычисл. матем. и матем. физ. { 2000.
{ Т. 40. { Є 6. { C. 838{859.
4. Gabasov R., Kirillova F.M. Fast algorithms for positional optimization of dynamic systems
// Proceedings of the Workshop \Fast solutions of discretized optimization problems"
(K.-H. Homann, R. Hoppe and V. Schulz eds.). { 2001. { V. 138. { P. 107{119.
5. Gabasov R., Kirillova F.M. Optimal on-line control with delays // Memoirs on Dierent. Equat.
and Math. Phys. { 2004. { V. 31. { Є 3. { P. 35{52.
6. Габасов Р., Дмитрук Н.М., Кириллова Ф.М., Ридченко О.В. Оптимальное децентрализованное управление в условиях неопределенности // Докл. НАН Беларуси. { 2004. { Т. 48. { Є 5.
{ С. 35{39.
7. Габасов Р., Кириллова Ф.М., Тятюшкин А.И. Конструктивные методы оптимизации. Ч. 1.
Линейные задачи. { Минск: Университетское, 1984. { 124 с.
8. Федоренко Р.П. Приближенное решение задач оптимального управления. { М.: Наука, 1978.
{ 487 с.
9. Балашевич Н.В. Оптимальное управление в реальном времени системами высокого порядка
// Докл. НАН Беларуси. { 2004. { Т. 48. { Є 2. { С. 27{31.
Белорусский государственный университет
Институт математики Национальной
академии наук Беларуси
20
Поступила
14.06.2005
Документ
Категория
Без категории
Просмотров
5
Размер файла
278 Кб
Теги
оптимальное, вычисления, системам, распараллеливания, управления, большими, динамических
1/--страниц
Пожаловаться на содержимое документа