Научная статья на тему 'Определение соотношения оптимальности в линейно-квадратичной задаче управления с обобщенным функционалом'

Определение соотношения оптимальности в линейно-квадратичной задаче управления с обобщенным функционалом Текст научной статьи по специальности «Математика»

CC BY
72
13
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
MATLAB / КВАДРАТИЧНЫЙ ФУНКЦИОНАЛ / МАТРИЦЫ ОБЪЕКТА УПРАВЛЕНИЯ / ВЕСОВЫЕ МАТРИЦЫ ФУНКЦИОНАЛА / ОПТИМАЛЬНОСТЬ / QUADRATIC FUNCTIONAL / MATRICES OF THE CONTROL OBJECT / THE WEIGHT MATRIX FUNCTIONALITY / OPTIMALITY

Аннотация научной статьи по математике, автор научной работы — Афонин Виктор Васильевич

В данной статье рассматриваются особенности программной реализации в системе MATLAB соотношений оптимальности в линейно-квадратичной задаче управления с обобщенным функционалом. Соотношения оптимальности связывают между собой параметры объекта (матрицы А, В), функционала (матрицы Q, R, N) и П-регулятора (K).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

DETERMINING THE RATIO OF OPTIMALITY IN LINEAR-QUADRATIC CONTROL PROBLEM WITH GENERALIZED FUNCTIONALITY

This article discusses the features of a software implementation in MATLAB relations optimality in the linear-quadratic control problem with the generalized functionality. Optimal ratio between an associated object parameters (matrix A, B), functional (matrix Q, R, N) and the P controller (K).

Текст научной работы на тему «Определение соотношения оптимальности в линейно-квадратичной задаче управления с обобщенным функционалом»

ЭЛЕКТРОННЫЙ НАУЧНЫЙ ЖУРНАЛ «APRIORI. CЕРИЯ: ЕСТЕСТВЕННЫЕ И ТЕХНИЧЕСКИЕ НАУКИ»

№ 1 2016

УДК 519.71

ОПРЕДЕЛЕНИЕ СООТНОШЕНИЯ ОПТИМАЛЬНОСТИ В ЛИНЕЙНО-КВАДРАТИЧНОЙ ЗАДАЧЕ УПРАВЛЕНИЯ С ОБОБЩЕННЫМ ФУНКЦИОНАЛОМ

Афонин Виктор Васильевич

кандидат технических наук Мордовский государственный университет им. Н.П. Огарёва, Саранск

Аннотация. В данной статье рассматриваются особенности программной реализации в системе MATLAB соотношений оптимальности в линейно-квадратичной задаче управления с обобщенным функционалом. Соотношения оптимальности связывают между собой параметры объекта (матрицы А, В), функционала (матрицы Q, R, N и П-регулятора

Ключевые слова: MATLAB; квадратичный функционал; матрицы объекта управления; весовые матрицы функционала; оптимальность.

DETERMINING THE RATIO OF OPTIMALITY IN LINEAR-QUADRATIC CONTROL PROBLEM WITH GENERALIZED FUNCTIONALITY

Afonin Victor Vasilievich

candidate of technical sciences Ogaryov Mordovia State University, Saransk

Abstarct. This article discusses the features of a software implementation in MATLAB relations optimality in the linear-quadratic control problem with the generalized functionality. Optimal ratio between an associated object parameters (matrix A, B), functional (matrix Q, R, N) and the P controller (K).

Key words: MATLAB; quadratic functional; matrices of the control object; the weight matrix functionality; optimality.

В данной статье рассматривается задача оптимальной стабилизации или задача аналитического конструирования оптимальных регуляторов (АКОР), для которой рассматриваются соотношения оптимальности [1-3] в плане особенностей их программной реализации для случая обобщенного функционала. Вывод соотношений оптимальности в случае традиционного квадратичного функционала дан в ранней работе автора [2]. В работе [3] рассмотрены некоторые теоремы относительно соотношений оптимальности. В [1; 2] рассмотрены различные виды традиционных функционалов, в которых задаются две весовые матрицы. Обобщенный квадратичный функционал содержит три весовые матрицы, традиционно их обозначают Q, R, N. В качестве среды и языка программирования выбран MATLAB R2014b, так как он предоставляет собой удобный и гибкий функционал для решения задач самого различного характера. Для поставленной задачи необходимо дополнение к ядру системы MATLAB, а именно пакет расширения (тулбокс) Control System Toolbox.

Особенности программирования можно понять из постановки задачи и полученных результатов. Опираясь на [1-3], приведем необходимые уравнения и собственно задачу управления, чтобы затем отметить особенности программной реализации полученных соотношений оптимальности.

Рассмотрим вполне управляемую модель объекта в виде

dX(t)

= AX(t) + BU(t), (1)

где X(t) - п-мерный вектор состояния, U(t) - /--мерный вектор управления, А - матрица состояния, матрица действительных чисел размера п*п, В - матрица входа, матрица действительных чисел размера п*г. Предполагается, что на управления uj(t) (j = 1,2,...,r) ограничения не

наложены. Управление должно быть выбрано так, чтобы при произволь-

ном начальном условии Х(0) минимизировать квадратичный функционал (обобщенный функционал) вида

00

(2)

О

где О - положительно-определенная симметрическая матрица действительных чисел размера пхп, [ - положительно-определенная симметрическая матрица действительных чисел размера гхг, Т - символ транспонирования, N - матрица действительных чисел, которая должна удовлетворять условию положительной определенности следующей коагулированной матрицы W:

Задача (1), (2) - это задача оптимальной стабилизации [4]. Рассмотрение задач оптимальной стабилизации с функционалом (2) -обобщенным функционалом - можно найти в [5-7]. Решение задачи (1), (2) имеет вид

где Р - (пхп) симметрическая матрица, положительно-определенное решение нелинейного матричного алгебраического уравнения Риккати

и (г) = + ЩХ(х),

(4)

АТР + РА- (РВ + Ы)Я-1(ВТР + Ыт) + (} = 0.

(5)

В(4) обозначим

К = /Г1^7/5 + ЛГ).

(6)

С учетом введенного обозначения (6) перепишем выражение (4) в виде

и = -КХ(0, (7)

где К - постоянная матрица оптимального регулятора размера гхп.

Предполагается, что все переменные состояния доступны для измерения, а система (1) полностью управляема по Калману, матрица вида (3) положительно-определенная.

Объект (1), замкнутый на оптимальное управление (7), имеет следующее описание:

=(А- ВК)Х{0. (8)

В (7) собственные числа матрицы А - В К будут располагаться в левой полуплоскости комплексной плоскости корней.

Объект управления (7) является устойчивым [7]. Если к объекту (7) приложить внешнее воздействие, которое обозначим П ( £) , то получим описание системы управления в виде

сIX (г)

= (А - В К) X (О + В П (0 . (9 )

Получим аналитическое соотношение оптимальности, подобное тому, которое приводится в работах [1, 2, 3].

Теорема. Для задачи (1), (2) с решением (4), (6), (7) и ограниченным внешним постоянным управляющим воздействием справедливо следующее соотношение:

Я = ВТБТ(25В + (Ег + ВТБТКТ)Я(ЕГ + КБВ) - 2ВТ5ТЫ(ЕГ + КБВ), (10)

где (2, Д, Ы- весовые матрицы обобщенного функционала (2), 5 = (л - вку1,

К- оптимальный П-регулятор, определяемый соотношением (6), £г - единичная матрица размера г хг, А, В- матрицы состояния и входа объекта управления (1), т- символ транспонирования.

Доказательство. В силу того, что оптимальная система (8) устойчивая, то при ограниченном воздействии на нее решение системы (9) будет стремиться к установившемуся значению. Следовательно, на достаточно большом отрезке времени (^ да) изменение вектора состояния Х(£) будет равным нулю, т.е.

ахи)

= 0, t->oo. (11)

С учетом (11) уравнение (9) становится алгебраическим. Разрешим его относительно вектора состояния х(£):

0 = (Л -5 / X ( 0 + 5 и ( 0 ; (Л - 5 / X (О = - 5 и (0 ; (Л - 5 / - 1 (Л - 5 / X (О = - (Л - 5 / - х5 и (0;

X (О = - (л - 5 / - ^ и (0 . В последнем соотношении обратную матрицу обозначим через 5, т.е.

5 = (л - вку1. (12)

С учетом (12) будем иметь следующее выражение относительно вектора состояния:

X (г) = - бв П (0 . (1 з )

Соответственно, транспонируя вектор состояния (13), получим

хт (г) = - Пт (О В тБт. (14)

Уравнение (9) может быть получено, если в (1) управление представить в виде

и (0 = - КХ (0 + П (0. (1 5 )

Соответственно, транспонируя выражение (15), получим

П П

Поскольку интегральный функционал (2) задается в пределах от нуля до бесконечности, то в него подставим значения векторов (13)-(16). При этом выполним над интегрантом функционала следующие эквивалентные преобразования, опуская для краткости зависимости вектора состояния и управления от аргумента - времени:

Хт((Х + ПтЯ П + 2 хты и = = ПтВтБт ((БВ П + (Пт + ПтВтБтКт) я (П + кбв П) - 2 ПтВтБтЫ (П + кбв П).

Вынесем за скобки П П (соответственно, влево и вправо), получим следующее выражение интегранта:

UT[BTSTQSB + (Er + ВTSTKT)R(Er + KSB) - 2 ВTSTN(Er + KSB) ]U. ( 1 7)

Поскольку в заданном функционале (2) между ит( г) и и(г) находится весовая матрица я, то с учетом (17), можно принять

Я = 5Т5Т(255 + (Ег + ВТБТКТ)Я(ЕГ + КБВ) - 2ВТБТЫ(ЕГ + КБВ). (18)

Тем самым, полученное соотношение (18) завершает доказательство теоремы.

Очевидно, выполнение (18) связано с численными расчетами обратных матриц и алгебраическими операциями над матрицами. Все это может привести к определенным погрешностям.

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

% Листинг 1. Script - скрипт-файл или М-сценарий clear,clc

format short %% long %% формат вывода числовых значений n = 8; %% размерность вектора состояния r = 6; %% размерность вектора управления rng(1119); %% для воспроизводимости результатов

%% Задание матриц объекта случайно по нормальному и равномерному законам A = randn(n); %% матрица состояния объекта управления B = rand(length(A),r); %% матрица входа if rank(ctrb(A,B)) < n

еппоп('Объект не полностью управляем по состоянию. Расчет прерывается'); end

fprintf('\n Размерность матриц объекта управления.\n')

fprintf(' A:%gx%g, B:%gx%g\n', size(A,1),size(A,2),size(B,1),size(B,2))

% Определение симметрических положительно-определенных матриц % из галереи библиотечных матриц MATLAB Q = 1.23*galleny('toeppd',n); R = galleny('lehmen',n)*6.78;

nng(1062) %% для воспроизводимости результатов и выбора матрицы N

%% Задание матрицы N по равномерному закону из интервала от 0 до 1

N = nand(length(Q), length(R));

W = [Q, N; N', R]; if eq(W, W')

disp(' Матрица W симметрическая') else

disp(' Матрица W не симметрическая')

end

fprintf('\n Размерность матриц функционала.\n')

fprintf(' Q: %gx%g; R: %gx%g; N: %gx%g \n',n,n,r,r, size(N,l),size(N,2))

fprintf('\n R = \n')

disp(R)

disp('============================================')

K = lqn(A,B,Q,R, N); % расчет оптимального регулятора S = inv(A - B*K); Sn = A - B*K;

En = eye(size(R)); % единичная матрица % Прямая кодировка формулы (18)

% R2=B'*S'*Q*S*B+(Er+B'*S'*K')*R*(Er+K*S*B)-2*B'*S'*N*(Er+K*S*B); % Кодировка с учетом интеллектуальной подсказки компилятора MATLAB R2=B'*S'*Q*(Sn\B)+(En+B'*S'*K')*R*(En+K*(Sn\B))-2*B'*S'*N*(En+K*(Sn\B)); fprintf('\n R2 = \n') disp(R2)

stn='\n Максимальная абсолютная ошибка (R - R2): %g\n\n'; fpnintf(stn, max(max(abs(R-R2))))

Расчетное выражение (18) в программном коде обозначено как R2. Следует отметить, что выбор матрицы N функционала (2) не однозначен. С матрицей N коагулированная матрица W должна быть положительной полуопределенной, т. е. все ее миноры главной диагонали не

должны быть отрицательными. Соответственно, собственные числа матрицы (3) также не должны быть отрицательными. В противном случае при расчете оптимального регулятора с помощью библиотечной функции lqr выводится сообщение:

Warning: The [Q N;N' R] matrix should be positive semi-definite. Сначала приведем результат выполнения рассмотренной программы: A:8x8, B:8x6 Размерность матриц функционала. Q: 8x8; R: 6x6; N: 8x6 Матрица Mn симметрическая R =

6 .7800 3 .3900 2 2600 1 .6950 1 3560 1 .1300

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

3 .3900 6 .7800 4 .5200 3 .3900 2 7120 2 2600

2 .2600 4 .5200 6 7800 5 .0850 4 0680 3 3900

1 .6950 3 .3900 5 0850 6 .7800 5 4240 4 .5200

1 .3560 2 .7120 4 0680 5 .4240 6 7800 5 6500

1 .1300 2 .2600 3 3900 4 .5200 5 6500 6 7800

Wanning: The [Q N;N' R] matrix should be positive semi-definite. Type "help lqr" for more information. R2 =

6 .7800 3 .5271 2 4101 1 .8163 1 2775 1 0008

3 .2529 6 .7800 4 .4415 3 .4422 2 7308 2 2218

2 .1099 4 .5985 6 7800 4 .9405 4 0868 3 3321

1 .5737 3 .3378 5 .2295 6 .7800 5 3155 4 5171

1 .4345 2 .6932 4 .0492 5 .5325 6 7800 5 5767

1 .2592 2 .2982 3 4479 4 .5229 5 7233 6 7800

Максимальная абсолютная ошибка ^ - К2): 0.150149

Теперь рассмотрим пример, когда параметры в программе следующие:

П = 8; г = 1; ^(111);

A = randn(n); B = rand(length(A),r);

Q = 1.23*gallery(,toeppd,,n); R = diag(1:(size(в,2)))*3.4; N = rand(length(Q), length(R));

Результат, выводимый в командное окно MATLAB:

Размерность матриц объекта управления. A:8x8, B:8x1 Матрица Ы симметрическая

Размерность матриц функционала. Q: 8x8; R: 1x1; ^ 8x1

R =

3.4000

R2 =

3.4000

Максимальная абсолютная ошибка (R - R2): 4.21041e-11

В заключение приведем результаты расчетов со следующими параметрами:

П = 15; г = 10; ^(1119)

A = randn(n); B = rand(length(A),r);

Q = 1.23*gallery(,toeppd,,n); R = gallery(,lehmer,,r)*6.78;

Результат без вывода матриц R и R2:

Размерность матриц объекта управления.

A:15x15, B:15x10

Размерность матриц функционала.

Q: 15x15; R: 10x10; N: 15x10

Матрица W симметрическая

Максимальная абсолютная ошибка ^ - R2): 0.418571

Заключение. В статье было выполнено доказательство одного соотношения оптимальности в линейно-квадратичной задаче управления с обобщенным функционалом, в котором три весовые матрицы. Полученное соотношение - формула (18) аналитически связывает между собой параметры линейного стационарного объекта управления (матрицы А, В), весовые матрицы квадратичного функционала (О, М) и матрицу оптимального регулятора (К). Данный результат, например, может быть использован при расчетах на компилируемом языке, которым не является MATLAB, служить критерием останова программы численного расчета оптимального регулятора, как на это указывалось в [2]. В программном коде численных расчетов оптимального регулятора с последующей проверкой соотношения оптимальности были учтены предупреждения компилятора системы MATLAB для случая прямой кодировки формулы (18). Подобный учет предупреждений компилятора не был сделан, например, в [3]. Изменение кодировки формулы (18) позволяет повысить быстродействие расчетов.

Список использованных источников

1. Афонин В.В. Аналитические соотношения оптимальности в линейно-квадратичной задаче управления // Математическое моделирование. РАН. 2000. Т. 12. № 3. С. 9.

2. Афонин В.В. Об одном выводе аналитической оценки решения задачи оптимальной стабилизации // Дифференциальная алгебра и динамика систем: межвуз. сб. науч. тр. Саранск: Изд-во Мордов. унта, 2008. С. 78-84.

3. Афонин В.В., Мурюмин С.М. Соотношения оптимальности в линейно-квадратичной задаче управления // Журнал Средневолжского математического общества. 2014. Т.16. № 2. С. 118-120.

4. Ройтенберг Я.Н. Автоматическое управление. М.: Наука,1978. 552 с.

5. Веремей Е.И. Линейные системы с обратной связью: Учеб. пособие. СПб.: Лань, 2013. 448 с.

6. Гуэрра М. Обобщенные решения особых задач оптимального управления // Современная математика. Фундаментальные направления. 2008. Т. 27. С. 60-184.

7. Мижидон А.Д., Имыхелова М.Б. Предельные возможности в задаче активной виброзащиты // Вестник Бурятского государственного университета. 2011. № 9. С. 26-30.

i Надоели баннеры? Вы всегда можете отключить рекламу.