УДК 681.511
DOI: 10.14529/ctcr180106
МОДИФИЦИРОВАННЫЙ АЛГОРИТМ ПОСТРОЕНИЯ ОБЛАСТЕЙ ДОСТИЖИМОСТИ ЛИНЕЙНЫХ ДИСКРЕТНЫХ ДИНАМИЧЕСКИХ СИСТЕМ
В.В. Булаев1'2, И.О. Осипов3
1 Уральский федеральный университет им. первого Президента России Б.Н. Ельцина, г. Екатеринбург, Россия,
2 АО «НПО Автоматики им. академика Н.А. Семихатова», г. Екатеринбург, Россия,
3 Южно-Уральский государственный университет, г. Челябинск, Россия
Рассматривается модифицированный общий рекуррентный алгебраический метод построения областей достижимости линейных дискретных динамических систем. Приводятся алгоритмы прикладных программ для построения областей достижимости. На численном примере производится сравнительный анализ оригинального (Шориков А.Ф. Минимаксное оценивание и управление в дискретных динамических системах. Екатеринбург: Изд-во Урал. гос. ун-та, 1997. 242 с.) и предлагаемого алгоритмов.
Ключевые слова: области достижимости, дискретная динамическая система, выпуклые множества.
Введение
В ряде задач современной теории управления возникает потребность в построении и анализе областей достижимости исследуемой динамической системы. В рамках данной статьи изложен модифицированный алгоритм построения точных областей достижимости линейных дискретных динамических систем (ЛДДС).
В основе предлагаемой модификации лежит общий рекуррентный алгебраический метод построения областей достижимости [1, 2], разработанный А.Ф. Шориковым и В.А. Тюлюкиным (Институт математики и механики имени Н.Н. Красовского, г. Екатеринбург). Детальное описание модификаций оригинального метода изложено в работе [3]. Целью настоящей статьи является изложение алгоритмов пакета программ для построения областей достижимости ЛДДС, которые могут быть без особых затруднений реализованы на современных ЭВМ.
1. Теоретические основания алгоритма
Для построения дальнейших рассуждений примем ряд обозначений: М" - n-мерное евклидово пространство векторов столбцов; N - множество всех натуральных чисел; 0 - пустое множество; X [7] - 7-я строка матрицы X; X[у] - j-й столбец матрицы X; символом [\ j] обозначим все множество элементов, за исключением j-го; множество всех вершин выпуклого компактного и ограниченного многогранника X будем считать матрицей, обозначаемой с «крышкой» - X, в которой координаты каждой вершины представлены векторами-столбцами; In - единичная матрица " х " ; Enxm - матрица " х m , состоящая из единиц; Onxm - нулевая матрица " х m ; NaN -неопределенность, необходимая при описании алгоритма.
Рассмотрим класс ЛДДС на целочисленном промежутке времени t е 0,T, T е N:
x(t +1) = A(t) x(t) + B(t)u (t), (1)
где x(t) - фазовый вектор системы, x(t) е М" ; u(t) - вектор управления, u(t) е Мp ; A(t) - матрица состояния системы, A(t) е М"х"; B(t) - матрица управления, B(t) е М"хp .
В дальнейшем примем ряд предположений относительно динамики исследуемой системы. Будем считать, что множество начальных состояний системы (1) является выпуклым, замкнутым и ограниченным многогранником с конечным числом вершин:
х(0) е X(0) с Мп. (2)
Также положим, что вектор управления удовлетворяет геометрическим ограничениям и^) е P с Мр Vt е 0,Т -1, (3)
где P является выпуклым, замкнутым и ограниченным многогранником с конечным числом вершин.
При условии выполнения указанных предположений введем определение области достижимости для дискретной управляемой системы (1)-(3) на финальный момент времени Т [2, 4].
Определение 1. Областью достижимости фазовых состояний управляемой системы (1)-(3) на финальный момент времени Т, соответствующей паре (0, X(0)) , называется множество, определяемое соотношением
G (0,X(0);T) = {х(Т) | х(Т) е М", x(t +1) = А(0х^) + В^)и^), t е 0,Т -1, х(0) е X(0), и^) е P}. В работах А.Ф. Шорикова [1, 2] показано, что область достижимости G (0, X(0);T), соответствующая определению 1, представляет собой выпуклый, замкнутый и ограниченный многогранник с конечным числом вершин. Для такой области достижимости справедливо следующее рекуррентное (полугрупповое) свойство:
О(0,X(0);T) = О (t,С + ^);Т) Vt е 1,Т -1, где С + ^) = С (0, Х(0)^) - область достижимости на момент времени t, соответствующая паре (0, Х(0)) , которая является выпуклым, замкнутым и ограниченным многогранником с конечным числом вершин.
Тогда задача построения области достижимости С (0,Х(0);Т) ЛДДС (1)-(3) сводится к рекуррентной процедуре построения одношаговых областей достижимости:
С С + ^); t + 1), t е 0,Т -1, С + (0) = Х(0). (4)
Поскольку указанные области достижимости являются выпуклыми многогранниками, то удобно воспользоваться вершинным описанием этих множеств.
2. Алгоритм построения областей достижимости
Далее изложим алгоритм построения областей достижимости (4) ЛДДС в форме псевдокода. В пакет программ построения областей достижимости входит три программы: ReachSets, ConvSM и SimplexHull.
2.1. Описание программы ReachSets
Программа ReachSets является основной программой для вычисления вершин областей достижимости ЛДДС (1)—(3).
Входные данные: п — порядок системы; т — количество вершин многогранника начальных фазовых состояний; k — количество вершин многогранника управлений; Т — количество шагов
алгоритма; А^) е Мпхп х 0,Т -1 — матрица системы (задается как трехмерный массив);
B(t) е Mnxp х 0,T -1 - матрица управления (задается как трехмерный массив); X(0) е Mnxm -
множество всех вершин многогранника начальных фазовых состояний; P е Mрхк - множество всех вершин многогранника допустимых управлений.
Выходная информация: G(t) с Mn х 0,T - набор матриц, столбцы которых являются вершинами областей достижимости для соответствующих моментов времени.
Синтаксис: G : = ReachSets(n,m,к,T, A(t),B(t),X(0),P).
Алгоритм:
G(0) : = X(0); % присваиваем начальное множество
% вершин области достижимости for all t from 0 to T -1 do
G: = 0;
for all j from 1 to m do % формируем набор точек в Мn
G: = GU end
m
A(t) • repmat (G[j] (t), k) + B(t)P
G(t +1), m : = ConvSM ( G, n, к • m); % ищем вершины конечного
% множества точек G
end
Примечание: операция repmat(x, к) превращает вектор x в матрицу путем его повторения
к раз. Здесь и далее операция объединения «U » подразумевает «наращивание» матрицы столбцами справа.
2.2. Описание программы ConvSM
ConvSM - основная вспомогательная программа, предназначенная для поиска всех вершин выпуклой оболочки множества достижимости из множества точек G е Mnxm .
Входные данные: G е Mnxm - набор точек, сформированный путем перебора крайних допустимых управлений; n - порядок системы; т - количество точек в G.
Выходная информация: G - набор всех вершин конечного множества точек G; т - количество вершин.
Синтаксис:
G, m
: = ConvSM(G, n, m). Алгоритм:
col: = 1; % присваиваем переменную столбца
while col < m do
|ver, G, l, mj : = SimplexHull(G, col, n, m); % проверяем точку
% c индексом col if ver == 1 % проверяем признак вершины
col: = col +1;
else
col: = col +1;
end
end
G: = G;
2.3. Описание программы SimplexHull
Программа SimplexHull является адаптацией модифицированного симплекс-метода (СМ) для решения задачи поиска выпуклой оболочки конечного множества точек в Мn [3]. В качестве дополнительных функций в ней фигурирует поиск внутренних точек, которые могут быть охвачены симплексом, опирающимся на базисные векторы, а также поиск вершин, которым соответствуют базисные векторы.
Входные данные: G - набор точек, сформированный путем перебора крайних допустимых управлений; col - номер столбца, соответствующий проверяемой точке; n - порядок системы; m - количество точек в G.
Выходная информация: G - набор точек, с учетом проверки точки с индексом col; ver - признак вершины, если G[col] вершина, то ver = 1, иначе - ver = 0 ; l - количество обнаруженных вершин; m - количество точек в G.
Синтаксис: \ver, G, l, m J: = SimplexHull(G, col, n, m) . Алгоритм:
в : = «установить требуемую точность (например, 10- )»; M : = G; % создаем симплекс-таблицу
M: = «все строки матрицы M, в которых элементы столбца M¡col] отрицательны, умножить на -1»; M[n+1]: = Eixm;
M[n+2] : = «дополнить матрицу M строкой, элементы которой равны суммам элементов соответствующих столбцов»; A : = M; % создаем вспомогательную матрицу
B: = Iп+2; % создаем матрицу базисных векторов
basis : = Oixn+i; % присваиваем список базисных векторов
while 1 do % запускаем «бесконечный» цикл
if A ¡ПО] < в % проверяем условие остановки СМ
if A ¡n+i^ < в % проверяем условие вершины
ver: = 0;
b : = «найти ненулевые элементы списка basis »; A: = «удалить последнюю строку матрицы A»;
A¡b] : = NaN; % защищаем базисные векторы от удаления
b : = «оставить только элементы, которые меньше col»;
Xb: = Gи;
s: = «составить вектор-строку, равную суммам абсолютных значений элементов
столбцов матрицы A»; ns: = «найти номера элементов массива s, которые меньше чем 1 + в »;
G: = «удалить из G столбцы с номерами b и ns »;
G: = Xb U G;
l: = dim(b); m: = m - dim(ns);
else
ver: = 1;
G: = G; l: = 0; m : = m;
end break;
end
A: = A;
A[col] : = NaN;
j: = «найти номер элемента последней строки матрицы A с наибольшим значением»;
г : = A ¡>п+2]. xj : = A [ j ] ;
A ¡i] A ¡i]
• ^[col] ^[col] - „
i: = «найти номер строки из условия min—L—L, —i-—1- > 0 »;
ie!,n+1 Xj Xj
B]: = M[ jV A: = B_1M; basis{l] : = j;
% производим смену базиса
% пересчитываем вспомогательную матрицу А % формируем список базисных векторов
end
Примечание: операция dim(x) сообщает размерность вектора х. 3. Пример численного моделирования
Продемонстрируем результаты работы оригинального [1] и изложенного алгоритмов на примере следующей динамической системы:
A(t) =
0,8877 -0,012 0,0258 0,4215
t e 0,69, x(t) e M
% %
cos—t Sin — t
18 36
% %
- Sin— t cos—t
36 18 _
B =
1 0.5 01
(5)
1*1(0)1 <5, |x2(0)|<5, U1 < 1, \и2\< 1,5.
Области достижимости динамической системы (5) изображены на рис. 1.
Рис. 1. Области достижимости системы (5)
Моделирование производилось на персональном компьютере Intel(R) Core i7-3770, 3.40 GHz, 8 GB RAM в программном пакете MATLAB 8.4 (R2014b). На рис. 2 приведены графики времени вычислений (T) области достижимости и количества вызываемых итераций СМ (Niter) на каждом шаге для оригинального (Original) и модифицированного (Modified) алгоритмов.
Построение указанных областей достижимости оригинальным алгоритмом заняло 7,60 с, общее число итераций СМ составило 109 726. Время вычислений модифицированным алгоритмом составило 2,95 с, общее число итераций СМ - 44 993.
2
2
60 65 69
Рис. 2. Сравнительные характеристики алгоритмов
Заключение
По результатам сравнительного анализа можно сделать вывод, что модифицированный алгоритм построения областей достижимости ЛДДС работает существенно быстрее, чем оригинальный алгоритм [1]. Ускорение быстродействия достигается за счет сокращения числа решаемых задач линейного программирования на этапе поиска выпуклой оболочки конечного множества точек.
Предлагаемый алгоритм построения областей достижимости является сравнительно простым и может играть центральную роль в задаче построения множества допустимых программных управлений ЛДДС. Очевидно, что указанный алгоритм справедлив и для построения обратных областей достижимости при условии существования обратной матрицы системы А-.
Литература
1. Шориков, А.Ф. Минимаксное оценивание и управление в дискретных динамических системах /А.Ф. Шориков. - Екатеринбург: Изд-во Урал. гос. ун-та, 1997. - 242 с.
2. Тюлюкин, В.А. Алгоритм решения задачи терминального управления для линейной дискретной динамической системы /В.А. Тюлюкин, А.Ф. Шориков //Автоматика и телемеханика. -1993. - № 4. - С. 115-127.
3. Булаев, В.В. Модификация общего рекуррентного алгебраического метода построения областей достижимости линейных дискретных управляемых систем / В.В. Булаев, А.Ф. Шориков. -Тр. Шестой Междунар. науч. конф. «Информационные технологии и системы». - Челябинск: Изд-во Челяб. гос. ун-та, 2017. - С. 47-52.
4. Красовский, Н.Н. Теория управления движением (Линейные системы) /Н.Н. Красовский. -М.: Наука, 1968. - 476 с.
Булаев Владимир Владимирович, аспирант кафедры прикладной математики, Уральский федеральный университет им. первого Президента России Б.Н. Ельцина, инженер-конструктор отдела управления движением, АО «НПО Автоматики им. академика Н.А. Семихатова»; г. Екатеринбург; [email protected].
Осипов Иван Олегович, студент кафедры систем автоматического управления, ЮжноУральский государственный университет, г. Челябинск; [email protected].
Поступила в редакцию 27 июня 2017 г.
DOI: 10.14529/ctcr180106
THE MODIFIED ALGORITHM FOR THE LINEAR DISCRETE-TIME DYNAMIC SYSTEMS REACHABLE SETS COMPUTATION
V.V. Bulaev1'2, [email protected], I.O. Osipov3, [email protected]
1 Ural Federal University named after the first President of Russia B.N. Yeltsin, Ekaterinburg, Russian Federation,
2 JSC "Scientific and Production Association of automatics named after academician N.A. Semikhatov", Ekaterinburg, Russian Federation,
3 South Ural State University, Chelyabinsk, Russian Federation
The paper considered the modified general recursion algebraic method for the linear discrete-time dynamic systems reachable sets computation. The algorithms of application programs for reachable sets constructing is described. The comparative analysis of original (Shorikov A.F. [Minimax Estimation and Control in Discrete-Time Dynamic Systems]. Yekaterinburg. Ural State University Publ., 1997. 242 p. (in Russ.)) and suggest algorithms is provided by giving of numerical example.
Keywords: reachable sets, discrete-time dynamic system, convex sets.
References
1. Shorikov A.F. Minimaksnoe otsenivanie i upravlenie v diskretnykh dinamicheskikh sistemakh [Minimax Estimation and Control in Discrete-Time Dynamic Systems]. Ekaterinburg, Ural State University Publ., 1997. 242 p.
2. Tyulyukin V.A., Shorikov A.F. [The Solution Algorithm of Terminal Control Problem for Linear Discrete-Time System]. Automatics and Telemechanics, 1993, no. 4, pp. 115-127. (in Russ.)
3. Shorikov A.F., Bulaev V.V. [A Modification of the Generalized Recursion Method of the Linear Control Systems Reachable Sets Computation]. Trudy shestoy mezhdunar. nauch. konf. "Informatsionnye tekhnologii i sistemy". [Proc. of 6 International Scientific Conference "Information Technologies and systems" (MMIT 2016)]. Chelyabinsk, Chelyabinsk State Univ. Publ., 2017, pp. 47-52. (in Russ.)
4. Krasovskiy N.N. Teoriya upravleniya dvijeniem (Lineynie sistemi) [The Theory of Control of Motion (Linear Systems)]. Moscow, Nauka Publ., 1968. 476 p.
Received 27 June 2017
ОБРАЗЕЦ ЦИТИРОВАНИЯ
Булаев, В.В. Модифицированный алгоритм построения областей достижимости линейных дискретных динамических систем / В.В. Булаев, И.О. Осипов // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». - 2018. - Т. 18, № 1. -С. 56-62. DOI: 10.14529Мсг180106
FOR CITATION
Bulaev V.V., Osipov I.O. The Modified Algorithm for the Linear Discrete-Time Dynamic Systems Reachable Sets Computation. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics, 2018, vol. 18, no. 1, pp. 56-62. (in Russ.) DOI: 10.14529/ctcr180106