УДК 517.518.2
А. А. БОСОВ, Е. В. БЕЗСАЛАЯ, Л. Н. САВЧЕНКО (ДИИТ)
ПРИМЕНЕНИЕ ДИФФЕРЕНЦИАЛЬНЫХ УРАВНЕНИЙ В ЗАДАЧАХ ВЕКТОРНОЙ ОПТИМИЗАЦИИ
Запропонован метод диференщальних piBHaHb в задачах векторно! onraMi3a^i'. Предположен метод дифференциальных уравнений в задачах векторной оптимизации. Offered method of the differential equations in problem of the vector optimization.
Рассматривается задача векторной оптимизации в следующей постановке
F (x)
F2 (x)
v2 f (x* ) =
• min
при условии, что x e X, где
X = {xe Rn :Иг (x)< 0,i = 1m}.
(1)
(2)
d2 F
dxi dx- —
V 1 1 Ji, j=1,n
V2F2 (x* )==
д2 F2
dxi dx. _
V i 1 Ji, j=1,n
относительно уравнения (4) будем предпо-
Напомним, что решением задачи (1)-(2) яв- лагать, что матрицы V2Е1(х*), V2Е2 (х*) таковы, что при X > 0 существует обратная
матрица (V2Е1(х*) + Х^2Е2(х*)) , таким
образом, используя уравнение (4) можно построить х* (X) применяя тот или иной численный метод решения дифференци-
ляется некоторое множество X* с X , такое, что любые две точки из этого множества несравнимы между собой по Паретто, т. е. имеет место:
'F (x )< F (У )
F (x )< f2 (y)
или
Fi (x)> Fi (y)
F2 (x)>F2 (y)J'
где х, у е X*, причем среди неравенств име- альных уравнений. Так, например, используя метод Эйлера, получим:
ется одно строгое.
Пусть х* е X*, тогда найдется такое X > 0 что будет иметь место (1):
VF (x*) + X-VF2 (x*) = 0
(3)
x* (X +дХ) = x* (X) -
-(v2F (x*(X)) + X-V2F2 (x*(X)))-1 X
xvF2 (x* (x))-Ax (5) Пусть Г = {x* (X): X > 0}, но может оказать-
т. е. данное х* является некоторой функцией X. Однако, в большинстве случаев решение уравнения (3) может быть получено только в приближенном случае. В данной ся что не все точки этого множества принад-работе предлагается метод дифференциальных уравнений для решения уравнения
лежат множеству X, тогда положим Г = Г п X , однако может оказаться, что среди
(3). Пусть функции Е1,Е2 дважды непре- множества Г имеются точки, которые сравни-
рывные и дифференцируемые, тогда имеет мы по Парета Если введем фильтр Паретго
ЕР (X) (2), который отбирает из множества X
1 точки не сравнимые по Парето, используя этот
—** = -(( ^(х* ) + X•v2 Е2 (х*)) (х* ),(4) фильтр, получаем Г* = ЕР (Г). Относительно
место дифференциальное уравнение:
дх д X
где V2Е1 (х*), V2Е2 (х*) - матрицы, элементы которой частные производные второго порядка:
множества Г*, мы можем сказать, что любые две точки из этого множества несравнимы по Паретто и удовлетворяют условию (3), так как являются решением дифференциального уравнения (4). Для доказательства этого факта вы-
ведем дифференциальное уравнение (4) из уравнения (3).
Пусть х» (А,) является решением уравнения (3), тогда рассмотрим уравнение (3) при А + АА т. е.
У^ (х* (А) + Ах) + (А + АА) • У^2 (х* (А) + Ах) = 0 .
Разлогая в ряд УР1, УК, в окрестности х* (А) и удерживая слагаемые порядка малости О (Ах, АА) получим:
(У2^ (х* (А)) + А • У2(х* (А))) • Ах =
= -УК, (х* (А)) + О(Ах, АА) .
Поделив на АА и устремив АА к нулю, приходим к уравнению :
(У2^ (х* (А)) + А • У2^ (х* (А))) •) = -У^ (х* (А))
если матрица
У2^ (х* (А)) +А^У2К, (х*(А))
имеет определитель отличный от нуля, то получаем уравнение (4).
Изложенные теоретические положения рассматриваем на примере, когда функции Е1 и ¥2 имеют вид:
Е1 = х12 +10 • х^; К2 = (х1 - 3)2 + (х2 - 6)2,
а множество X с Я2 представляет собой
X = {х е Д2 : Н1=(х1 - 8)2 +(х2 - 8)2 - 64 < 0, к2 = х1 + х2 - 6 < 0}.
Данное множество геометрически представлено на рис. 1.
Координаты точек А и В следующие:
х1А = 0.354;
х1в = 5.646; х2 в = 0.364.
Представленный пример решим двумя способами:
- используя уравнение (3);
- решая дифференциальное уравнение (4). Заготовим градиенты функций Е1 и ¥2, составляем систему уравнений, записав уравнение (3) в скалярной форме.
[2 • х1 + А- 2 •( х1 - 3) = 0; [20• х2 +А^2•(х2 -6) = 0,
откуда находим х1 (А) и х2 (А) , которые будут равны:
3 •А 1 + А
6 •А 10 + А
(6)
Параметр А изменяется от 0 до да . При А = 0 имеем
х = 0;
х2 = ^
х2 = 6.
а при А ^<х> получаем х1 = 3 ;
На рис. 2 представлена кривая Г рассчитанная с использованием параметрического представления (6). Очевидно, что точки кривой от о до С и от Б до Е не принадлежат множеству X.
Взяв пересечение Г с множеством X, получим кривую Г, которая представляет собой кривую от точки С до точки Б, что и является решением задачи данного примера.
Рис. 1. Геометрическое представление множества X
х1 =
х2 =
Рис. 2. Кривая Г = {х(А), А > 0} При построении кривой Г используем том что при построении кривой Г по форму-
функцию
Н (х) = тах{¡\ (х),Ъ^ (х)},
которая меньше или равна нулю, когда точка
х е X.
Применение данной функции заключается в
лам (6), каждая точка с помощью Н проверяется на принадлежность множеству X (рис. 3).
Таким образом на рис. 3 кривая СБ является Г = Г* и тем самым решением задачи векторной оптимизации для рассмотренного примера.
1 2 3 4 5 6 7 Рис. 3. Геометрическое представление пересечения Г П X
Теперь рассмотрим решение данного примера с помощью дифференциальных уравнений. В данном примере матрицы из вторых частных производных будут следующими:
а (У2 К +А^У2 К2) 1 имеет вид
Г 1 „ ^
У2 К =
Г 2 0 ^
V 0 20,
У2 К =
Г 2 0 ^
V0 2,
2 + 2 •А 0
20+2•А,
тогда
(
dx d X
1
2 + 2-X 0
1
20 + 2-X или в скалярной форме:
2-( -3)
2-(x2 - 6)
dx1 dX
d X
2 -(x1 - 3) _ x1 - 3;
2 + 2-X 2 -(x2 - 6)
20 + 2-X
1+ X ' x2 - 6 10 + X'
(7)
Решением системы (7) будем искать, используя метод Рунге-Кутта четвертого порядка. Программа реализующая данный подход в среде Maple представляет собой: >eq:={diff(x1(t1),t1)=-(x1(t1)-3)/(1+t1),diff(y1(t1),t1)=-(y1(t1)-6)/(10+t1),x1(0)=0,y1(0)=0};
** := {-щx1( tl)=-
x1( tl) - 3 d
1 + tl
, dly1( t1) = -
y1( tl) - 6 10 + tl
, x1(0) = 0, y1(0) = 0}
> deq:=dsolve(eq,numeric, method=rkf45,
output=procedurelist): >X1:=array(1..1000,[]);Y1:=array(1..1000,[]);
X1 := array( 1 „ 1000, [ ])
Y1 := array( 1 „ 1000, [ ])
>k:=0:for t1 from 0 by 0.1 to 100 do x11:=op(2,op(2,deq(t1))):y11:=op(2,op(3,deq(t1))):if H(x11,y11)<=0 then k:=k+1:X1[k]:=x11:Y1[k]:=y11:end if:end do:
В этой программе параметр X обозначим как , а решение системы дифференциальных уравнений оформлено в виде процедуры deq ) , которая выдает х1 и х2 при конкретном значении t1.
3.2-
На рис. 4 представлено точное решение в виде точек и приближенное в виде сплошной линии. Как следует из этого рисунка с точки зрения точности оба подхода эквивалентны. Естественно возникает вопрос, когда необходимо отдавать предпочтение тому или иному подходу.
2.8
2.6-
2.4-
2.2-
2.6
2.65
2.7
2.75
Рис. 4. Точное решение (точки) и приближенное - сплошная линия
Заметим, что при использовании дифферен- которое в нашем случае принимает вид: циальных уравнений можно избежать опреде- ^ 1 ^
ления обратной матрицы (V2F1+X-V2F2) , а пользоваться уравнением
(v 2 f +x-v 2 f2 )-—
v 1 2/
2 + 2-X 0
dx 2-(x1 -3) dX
2 - (x2 - 6)
dX
_ -V2F2
20 + 2-x;
или в скалярной форме:
(2 + 2-X)-|l = -2.(xi -3); (20 + 2.X).^T = -2•( -6).
d X
Решением этой системы полностью совпадает с решением системы, когда производные разрешены с помощью обратной матрицы
(V2Е + X • V2Е2) , т. е. с системой (7).
Замечание. Применение метода дифференциальных уравнений представляет собой задачу
3.2
Коши. К этим уравнениям необходимо придать начальные условия, которые можно определить из уравнения VЕ = 0 .
В общем случае решение данного уравнения получаем некоторым численным методом, т.е. с определенной погрешностью. Так, например, в нашем примере приближенное решение уравнения VЕ = 0 равно х (0) = 0.05;х2 (0) = 0 .
На рис. 5 представлено отклонение приближенного решения от точного.
2.8-
2.6-
2.4-
2.2-
2.55
2.6
2.65
2.7
2.75
Рис. 5. Сплошная линия точное решение, точки - приближенное решение из-за ошибки в начальных условиях
В общем случае метод дифференциальных уравнений необходимо применять только, когда точное решение уравнения не может быть получено, но весьма осторожным надо быть при получении начальных условий.
Определение начальных условий задачи Каши при определении множества Парето
Задача Каши при определении множества Парето представляет собой:
Vf (x* )|
|VF2 (x* )|
= X*
(10)
а скалярное произведение
(VF1 (x*), VF2 (x* < 0 . Причем cos ф* = -1, где
Ф* угол между векторами VF (x*) и VF2 (x*) .
В общем случае для произвольной точки x имеем
(v2 f +X-V2 f2 )•— v 1 2> dX
= -V2 f2
с начальными условиями
x(x0 ) = x0 •
(8)
(9)
cos ф = \
VF (x*) VF2 (x*) |VF (x*)' |VF1 (x*) l
(11)
Однако, в общем случае решение уравнения (8) при начальных условиях существенно зависит от условий (9), которые как правило неизвестны.
Если кривая X* является множеством Паре-то, то взяв любую точку х* е X* имеем
и если cos ф* ^-1, то данная точка не принадлежит X * .
Введем вектор U(x,а) = -(а •),—1 ( *^ +
v ' v |VF (x*)
, . VF2 (x*)
■ где 0 <a<L
Новое значение xH будем вычислять по формуле
xH = x +1 • U(x,а) ,
где t некоторый шаг.
Подставим в (11) xH получим
/vF (x + tU(x,x)) vF2 (x + tU(x,а))
cos фн =\ • vFwi I
и определим а* и t* так, чтобы cos фн был бы минимальным.
Если mincos фн =-1, то xH e X*, а ему со-
X,t
ответствующее X0 определенное по соотношению (10).
Очевидно, если пересечение конуса с вершиной в точке x и образующими параллельно антиградиентам с множеством X* не пусто, то всегда найдутся такие а* и t*, что cos ф* = -1.
Реализация данной задачи в среде Maple представляет собой:
>b0:=0:for t from 0.01 by 0.01 to 0.1 do x1:=1;x2:=10; b:=0:for a from 0 by 0.001 to 1 do
c:=evalf(u12):z1:=evalf(u[1],5):z2:=evalf(u[2],5):x1:=x1-t*z1:x2:=x1-t*z2:if (c<b and H(x1,x2)<=0) then b:=c:x11:=x1:x22:=x2:a0:=a:end if:end do:if b<b0 then b0:=b:x111:=x11:x222:=x22:a0:=a:end if:end
do:print(4alfa=4,a0):print(4cos=4,b0):print(4x1=4,x111,4x2=4,x22
2): Поиск начальных условий задачи Коши.
Так, например, если x1 = 1, x2 = 10, то при X = 1, cos фн =-0,9999999990 в качестве начальных значений необходимо взять x1 = 2,69497840.; x2 = 2,77917940.
Этому начальному условию соответствует X = 8,630650947 и выполнив решение дифференциального уравнения получим часть множества X*, когда X изменяется до 100.
Данное решение представлено на рис. 6.
Рис. 6. Решение дифференциального уравнения (4) при полученных начальных условиях
Остальные значения множества X* получа-будем рассматривать
ются, когда X< 8,630650947 .
БИБЛИОГРАФИЧЕСКИМ СПИСОК
1. Босов. А. А. Функции множества и их применения.- Днепродзержинск: Изд. дом «Андрей», 2007. -182 с.
2. Mattson C., Messac A. Pareto Frontier Based Concept Selection Under Uncertainty, with Visualization. Optimization and Engineering. Vol.6 № 1, March 2005, pp. 85-115.
Поступила в редакцию 27.07.2007.