УДК 517.977
Д. С. Лобарёв
ПОИСК ОПТИМАЛЬНОГО РЕШЕНИЯ В ДВУХКРИТЕРИАЛЬНОЙ ЛИНЕЙНО-КВАДРАТИЧНОЙ ЗАДАЧЕ С ЭКСПЕРТНЫМИ ОЦЕНКАМИ В СИСТЕМЕ MAPLE
Представлено решение двухкритериальной линейно-квадратичной задачи с экспертными оценками в системе Maple. Экспертные оценки представляют собой количественную информацию об относительной важности критериев задачи. Проводится линейная свертка критериев относительного весового вектора и решается задача оптимального управления.
Ключевые слова: динамическая задача, экспертные оценки, задача оптимального управления, метод динамического программирования, система Maple.
Работа посвящена поиску оптимального решения в двухкритериальной динамической задаче с экспертными оценками в системе компьютерной математики Maple, версии 14. Динамическая управляемая система имеет стандартную форму [1-3]. Экспертные оценки определяют матрицу, каждая строка которой представляет мнение эксперта, выраженное в числовой форме. Задано мнение лица, принимающего решение (ЛПР) об экспертах. Находится нормированный весовой вектор, который устраивает всех экспертов и ЛПР. Проводится линейная свёртка критериев относительно этого вектора. Далее решается задача оптимального управления методом динамического программирования. Решение систем дифференциальных уравнений с краевым условием будем искать численным методом Рунге-Кутта 4 или 5 порядка точности в системе Maple.
Maple — современный программный пакет, ориентированный на сложные математические вычисления, обладает развитыми графическими средствами. Система Maple направлена на проведение символьных вычислений, хотя имеет средства для проведения расчётов численными методами, например, при решении дифференциальных уравнений и их систем. Версия 14 пакета появилась в апреле 2010 года, до сих пор является популярным продуктом среди пользователей для проведения математических расчётов. В марте 2014 года компания Waterloo Maple Inc. выпустила обновлённую 18 версию программы.
Рассматривается многокритериальная динамическая задача
Г = (l, U, J Ц2, P, L) . (1)
Здесь Е — управляемая динамическая система
x(t) = A ■ x(t)+ B ■ u (t), x(t0 ) = x0, (2)
где A, B e R2.
В (1) U есть множество позиционных управлений u = K(t) ■ x , где K(t) непрерывная квадратная матрица второго порядка, выбором которых распоряжается ЛПР. Математические и технические причины такого выбора управлений обосно-
ваны в [1, 2]. В (2) представлено изменение фазового вектора х = (х1, х2 )е R2 . Здесь t е ^о, t1 ] — промежуток времени функционирования системы. Множество критериев динамической задачи
ч
Зг = |uTD1udt + хт (^ )С1х(^), 1 = 1,2 . (3)
Здесь Di и С1 — положительно определённые симметрические матрицы второго порядка. В матрице экспертных оценок Р = (р.) 2 каждая строка указывает на мнение эксперта в виде коэффициентов важности критериев (3) в задаче (1). Диагональная матрица L = ) даёт оценку экспертам от ЛПР.
Компромиссное решение сводится к нахождению весового вектора А = (а1,а2) из соотношения
А = ^ • Ь • Р . (4)
Здесь вр — есть вектор-строка, состоящая из единиц. Элементы весового
вектора А можно нормировать так, что = 1.
Решением многокритериальной задачи (1) считается то позиционное управление, которое доставляет возможно меньшее значение линейной свертке критериев ахЗх + а2J2 . Стратегия и* (^ х) находится как решение задачи (1).
Многокритериальную динамическую задачу (1) можно свести к задаче оптимального управления с функционалом качества
J = |uTD udt + хт (t1 )С х(t1), (5)
tо
т т
где D = D1 , С = С1.
1=1 1=1
Решение задачи (2), (5) подробно рассмотрены в [1, с. 368-369]. Используем достаточное условие минимума функционала (5).
Оптимальное управление и , х) в задаче (2), (5), имеет вид [3, с. 149-152]
и х) =1D 1ВТК ^ )• х, (6)
где К(:) — неизвестная симметрическая матрица, которую найдём из матричного дифференциального уравнения с краевым условием
° 1
К ^)+ АтК ^) + К ^)А + -К ^)В • D 1ВТК ^) = 0, К (t1) = -2С . (7)
[¡¿I Maple 14 - [dynamic_problem.r™/s - ¡Server 1]!
File
tait vi&v insert norm« winaow neip
□ & у ш % ш 1\т [> 1 1 1 ш *
«Two-criteria dynamic problem with expert estimations»
Управляемая динамическая задача: x(t)=A' x(r) + i? 'ti(i): -v(i,)= jc0, te [ibyf|] 1 = 1.2
Два критерия: J.= j liDfidt I Лг(г кГ Д/,!. i = 1,2 *
Матрица экспертных сценок: Е
Диагональная матрица оценки экспертов: L
И Input
Рн Solve
И Output
[>
Рис. 1. Главное окно программы в Maple 14
Программа поиска оптимального управления в двухкритериальной линейно-квадратичной задаче с экспертными оценками в системе Maple состоит из трёх блоков, представленных на рис. 1:
1. Ввод данных (Input). Динамическая управляемая система (2) однозначно определяется квадратными матрицами второго порядка A и B, а также начальным условием x(t0 ) = x0. Квадратичные критерии (3) задаются положительно определёнными симметрическими матрицами второго порядка Dt и Ci, i = 1,2 . Экспертные оценки определены матрицей P, мнение ЛПР об экспертах — диагональной матрицей L. Для работы с матрицами и векторами в пакете Maple содержится библиотека линейной алгебры LinearAlgebra, которую можно вызвать командой with(LinearAlgebra) [4, С. 35]. Пример применения библиотеки LinearAlgebra представлен ниже на рис. 2.
[¿I Maple 14 - [dynamic_problem,mws - [Server 1]]
^ File Edit View Insert Format Spreadsheet Window Help
[Q mmw \ ||т eï m | --и« >\ h WfyiïlHH IÄI
J Normal т lurries New Roman 1« ills: ж|;1 m
Input
> restart;
> with.{LinearAlgebra) :
> tO:=0;tl:=2;x0:=<5,3>;
A: =«0 ,1>|<0, 0»: B:=«l ,0>|<0,1>>: print [Матрици_А_и_В_системы,АгВ] ; D1 :=«1, 0>|<0, 4»: D2 : =«1, 0> | <0 ,1»: CI : =«2 , 0> КО , 1»: C2 : =«2 , 0> | <0 ,4»: print[Матрицы Di и Gi в критериях J1 и J2,D1,D2,CI,C2); E : =«1, 3> | <4 ,5»: L: =«1, 0> | <0 ,2»: print (Матрицы_оценок_Е_и_Ь, E, L} ;
to- 0 tl~2
5~
x0~
Матрщы_Л_и_В_системы
1 0 1 0 2 0
u_J2,
0 4 0 1 0 1
1 4 1 o"
_E_u_L,
_ 3 ; _ 0 2.
Рис. 2. Блок ввода данных (Input) программы в Maple 14
2. Решение задачи (Solve). Согласно (4) определяется нормированный весовой вектор, относительно которого проводится линейная свёртка критериев. Далее решается однокритериальная задача оптимального управления (5) методом динамического программирования. Оптимальное управление найдём из соотношения (6), решив систему дифференциальных уравнений с краевым условием (7) численным методом Рунге-Кутта.
Г > diffeql:=diff{K1(t) , t)+{l/aj *(K1(tj)л2+(2/b}*K1(t>*K2(t)=0, diff [K2 £t) ,t) +{l/bj * [K2 (t) ) л2 + [2/a.) *K1 [t) *K2 <t]=0;
diff_eql~ -K1(0 :"2Kl(f)2+ 6Kl(f)K2(f)=0. - -K2(f) : + 3 K2(t)2 + 4 Kl(f)K2(i) = 0
Viit ) \.dt J
Г > init aon : = K1{1)=- [1-a] , K2(1)=-11-b) ;
-1 -2
m\t_con ~ Kl( 1) = —. K2( 1) = —
Г> dsol:= dsolve([diff_eql, in.it_con] , type=nimeric, meth.od=rk.f 45 , relerr=Float(1,-12), abserr=Float[1,-123,
output=array[[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1]));
Рис. 3. Решение системы дифференциальных уравнений численным методом rkf45
117
Все методы решения дифференциальных уравнений и систем в Maple 14 реализуются с помощью встроенной функции dsolve() с параметром numeric или type=numeric [4, С. 49-50]. Для поиска решения численным методом Рунге-Кутта, модифицированным Фелбергом, порядка 4 или 5 воспользуемся процедурой rkf45, которая наглядно проиллюстрирована на рис. 3. Для графического отображения решения системы поможет функция plot() библиотеки plots, представленная на рис. 4 [4, С. 10-12].
3. Ответ (Output). В качестве ответа программа выдаёт значение фазового вектора x = (xx, x2) в табличном и графическом виде, а также в виде интерполяционного полинома 12 степени. Оптимальное программное управление представлено в виде интерполяционного полинома 24 степени. В ответе также выводятся значения функционалов качества (3).
IjjsJ Maple 14 - [dynamic_proЬlem для статьи.mws - [Server 1]] ^
File Edit View Insert Format Spreadsheet Window Help
IDligl^iawrWal Д МТЩ ilffll F№1 Ш Ш ffl
| |(У)|! И_
> with(linalg) :
M:=Matrix(dsol[2,l] ) :
tt:=ool[M,l): kll:=col[M,2): kl2:=col(M,3): k22:=col[M,i) : Г> # график фуикций матрицы Kit) with(plots):
X:=tt: Yl:=kll: Y2:=kl2: Y3:=k22: digits=5:
fl:-interp(X,Y1,t): f2:-interp(X,Y2,t): f3:-interp[X,Y3,t):
gll:=plot(fl(t),t=tO..tl, color-black): gl2:=plot[f2(t),t=tO..tl, color=blue): gl3:=plot(f3(t) , t=tO . . tl, color^green) :
g21 :=plot ( [ [X[l] , Y1 [i] ] $1=1 . . 13] , t=tt>. . tl , style=POINT , sy7nbol=clrcle, coloi=blaoic) : g22:=plot([[X[i],Y2[1]]$i=l..13], t=tO . . tl , style=POINT, sy7iibol=clrcle, color=blue): g23:=plot([[X[i],Y3[1]]$1=1..13], t=tO . . tl, styla=POINT, sy7iibol=circla, color=green): display[{gll,gl2,gl3,g21,g22,g23), title='Kll(t)-black, K12(t)-blue, K22(t)-green");
KHfiH&ick. K12flH*»!, K22l>i4fKML
Модельный пример. Рассматривается двухкритериальная динамическая задача с двумя экспертами. Динамическая управляемая система имеет вид
x1 (г) = x1 (t) + и1 (t), x1 (о) = 3 ,
x2 (t) = х1 (t) + 2х2 (t) + щ (t) + и 2 (t), х2 (о) = 3 . Здесь х = (х1, х2 ) е Я2, и = (и1, и2 ) е Я2, £ е [0,1]. Заданы критерии
(8) (9)
J1 =| (и2 + 4и 22 ^ + 2 х2 (1) + х22 (1), J 2 =| (2и12 + 3и 22 )dt + х2 (1) + 3 х22 (1).
о о
Оценка критериев экспертами, а также оценка ЛПР относительно компетентности экспертов имеют вид
(14 1 ( 2 0 1
Р =
2 5
L =
0 5
Первый эксперт (первая строка матрицы Р) считает, что критерий J2 является менее важным, чем критерий J2 в отношении 1:4; второй эксперт также отдаёт предпочтение второму критерию, но уже в отношении 2:5. Элементы на диагонали матрицы Ь указывает на то, что мнение второго эксперта предпочтительнее мнения первого в отношении 2 : 5 .
Тогда из выражения (4) находим вектор согласования и нормируем его
А = (%5.%).
Сводим полученную многокритериальную задачу к задаче оптимального управления (2), (5). Здесь матрицы
А =
D =
(1 01
V1 2у
В =
(1 01
V1 1 у
, С = 4/
(2 01
15
V (1 01 +11/ (2 0И261
/15 V 0 4 у /Ц 0 3 у 0
01 15
11
15
1 «и%
03
0
37/
15
49/
15
Целевая функция (5) примет вид
J =1 (% Щ2 + % и 2 V + % х2 (1)
+ 37/ х2
+ /15Х2
(1).
Оптимальное позиционное управление согласно (6)
Г х ) =
*
и (Г, х
(1/ /2 0
0 у
К2 (Г)• х .
(10)
Элементы неизвестной симметрической матрицы К (г ) =
(Ки (Г) К,2 (Г)1
V Ки (Г) К22 (г )
дём из системы дифференциальных уравнений типа Риккати с краевым условием
най-
0
Kn (t)+ 2Kn (t) + 2K12 (t) + K11 (t) + %Ku (t))• Kn (t) + Ku (t) + П%48K12 (t))• K12 (t) = 0 Ki2 (t)+3K12 (t)+K22 (t)+(% Ku (t)+% K12 (t ))• K12 (t )+(% Ku (t)+n%48ku (t ))• k21 (t )=0(11) K22 (t)+4K22 (t)+(% K12 (t)+% K22 (t ))• K12 (t)+(% K12 (t)+n%48K22 (t ))• K22 (t)=0
K11 (1) = - 38<5, K12 (1) = 0, K 22 (1)=-"%.
Представленное уравнение в матричной форме (7) сводится к трём обыкновенным дифференциальным уравнениям с краевыми условиям (11). Решение этой системы будем искать численным методом Рунге-Кутта 4 или 5 порядков точности в среде программирования Maple 14. В таблице 1 приведено численное решение системы (11).
Таблица 1
Табличные значения функций Kn(i), K12 (t), K22 (t)
t 0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9 1
Kn (t) - 6,081 - 5,796 - 5,194 - 4,879 - 4,558 - 4,231 - 3,896 - 3,554 - 3,209 - 2,865 - 2,533
K12 (t) 1,338 1,033 0,741 0,471 0,232 0,037 - 0,104 - 0,179 - 0,183 - 0,117 0
K22(t) - 9,828 - 9,458 - 9,096 - 8,741 - 8,385 - 8,013 - 7,601 - 7,113 - 6,516 - 5,786 - 4,933
На основании информации о табличных значениях функций матрицы Kit) можно определить аппроксимации для позиционного управления (10):
u1 (t,x) = x1 (-5,226t12 + 10,384t11 - 23,049t10 + 28,605t9 - 22,303t8 +11,158/7 - 3,525t6 + 0,731t5 + 0,072t4 + 0,253t3 + 0,242t2 -0,052t-1,286) + x2(-5,226t12 + 29,425t11 -69,121t10 + 89,852t9 - 72,609t8 + 37,631t7 - 12,154t6 + 2,719t5 + 0,175t4 + 0,151t3 - 0,003t2 + 0,185t - 2,449); u2 (t,x) = x1 (-0,795t12 + 4,280t11 - 9,651t10 + 12,141t9 - 9,574t8 + 4,854t7 - 1,539t6 + 0,292t5 + 0,031t4 + 0,191t3 + 0,039t2 - 0,473t + 0,205) + x2(-1,978t12 + 11,334t11 - 27,025t10 +
35,536t9 - 28,953t8 + 15,113t7 - 4,910t6 + 1,150t5 + 0,062t4 - 0,111t3 - 0,041t2 + 0,571t -1,504).
Подставляя найденное управление в исходную систему (8), найдём решение системы дифференциальных уравнений с начальным условием численным методом Рунге-Кутта. В пакете Maple 14 поиск решения продемонстрирован на рис. 5.
Значение фазового вектора x = (x1, x2) есть решение системы (8), в программе на языке Maple представлено в табличном и графическом виде, а также в виде интерполяционного полинома 12 степени. График фазового вектора x(t) проиллюстрирован на рис. 6.
Оптимальные значения функционалов (9): Jx = 41,499, J2 = 64,364.
> # решение исходной динамической системы будем искать численным методом Рунге-Кутта 4 или Б . порядка точности
print(Табличные Значения функций xl(t),х2(t));
dsol3 := dsolve({udsys[1]=0,udsys[2]=0,xl(0)=x0[1],x2(0)=x0[2]),numeric, method=rkf45, relerr=Float{1,-12) , abserr=Float(1,-12) , maxfun=0,
output=array([t0-tl/10,tO,t0+tl/10,t0+2*tl/10,t0+3*tl/10,t0+4*tl/10,t0+5*tl/10,t0+6*tl/10, t0+7*tl/10,t0+8*tl/10,t0+9*tl/10,tO+tl,t0+ll*tl/10] ) ) ;
Табличные_значет*я_фун1щий_х1( x2( t)
[(,*вд, ¿2(0!
3.91558554015734
dsoB =
-0.100000000000000 0.
0.100000000000000 0.200000000000000 0.300000000000000 0.400000000000000 0.500000000000000 0.600000000000000
2.26199572297370 1.66744498148524 1.18849661988119 0.802427251489116 0.490692974118343 0.238154979793779
Рис. 5. Поиск фазового вектора как решение системы дифференциальных уравнений
3.68147270075469 3.
2.45181854557321 2.01278388253345 1.66322889960691 1.38716607285589 1.17162448714321 1.00613084049663
> print(График фазового вектора х (t)) ;
display [ {gl 1~д12 , q21 ,~q22 } , title='xl(t)-black, x2 (t) -blue"} ;
График_фазов or o_e екгора._х( г) x1{l>itack, хЗрН*»
4
Рис. 6. График фазового вектора x(t) в блоке ответов
Таким образом, в работе представлен подход к решению двухкритериальных линейно-квадратичных задач c экспертными оценками в системе Maple. Написана программа на языке Maple, которая по входным данным выдаёт ответ: оптимальное управление, фазовый вектор и оптимальные значения критериев задачи. Решение систем дифференциальных уравнений численным методом Рунге-Кутта реализуются с помощью встроенной функции dsolve() с параметром numeric или type=numeric и процедурой rkf45. Ответ в программе представлен в табличном и графическом виде. В итоге найдено единственное решение (6) задачи (1).
Литература
1. Пантелеев А. В., Бортаковский А. С. Теория управления в примерах и задачах. М.: Высшая школа, 2003. 583 с.
2. Жуковский В. И., Салуквадзе М. Е. Риски и исходы в многокритериальных задачах управления. Тбилиси: Издательство Интелекти, 2004. 358 с.
3. Лобарёв Д. С. Решение многокритериальных динамических задач с экспертными оценками методом динамического программирования // Вестник Ижевского государственного технического университета. Издательство ИжГТУ, 2011. 3(51). С.149-152.
4. Касюк C. Т., Логвинова А. А. Высшая математика на компьютере в программе Maple 14: учебное пособие по лабораторным работам. Челябинск: Издательский центр ЮУрГУ, 2011. 57 с.
D. Lobaryov
SEARCH FOR OPTIMAL SOLUTIONS IN THE TWO-CRITERION LINEAR-QUADRATIC PROBLEM WITH EXPERT EVALUATION IN THE MAPLE SYSTEM
The decision of a two-criterion linear-quadratic problem with expert estimations is presented. Expert estimations represent the quantitative information on relative importance of a problem 's criteria. A linear convolution of criteria relative weight vector is conducted and the problem of optimal control is solved.
Key words: dynamic problem, expert estimations, the optimal control problem, the method of dynamic programming, MAPLE.