Метод рівних та найменших відносних відхилень
Розв’язок
1.Задамо значення параметрів згідно варіанту завдання :
a1 = 2;
a2 = 2;
a3 = 3;
b1 = 2;
b2 = 2;
b3 = 1;
d1 = 8;
d2 = 3;
d3 = 1;
h11 = 6;
h12 = 11;
h13 = 19;
h21 = 12;
h22 = 8;
h23 = 11;
h31 = 1;
h32 = 1;
h33 = 10;
H1 = 860;
H2 = 790;
H3 = 820;
L1 = 10;
L2 = 10;
L3 = 20;
2. Використовуючи функцію “linprog” системи комп’ютерної математики MATLAB, обчислимо екстремум кожного окремого критерію на заданій ОДР G(! Пам’ятаємо, що функція “ linprog ” обчислює мінімум критерія):
>> A=[h11 h12 h13;h21 h22 h23;h31 h32 h33]
>> b=[H1;H2;H3]
>> lb=[ L1;L2;L3]
>> C1=[a1 a2 a3]
>> C2=[b1 b2 b3]
>> C3=[d1 d2 d3]
A =
6 11 19
12 8 11
1 1 10
b =
860
790
820
lb =
10
10
20
C1 =
2 2 3
C2 =
2 2 1
C3 =
8 3 1
>> [Xw1,minusW1,flag]=linprog((-1)*C1,A,b,[],[],lb,[])
W1max = -minusW1
[Xw2,minusW2,flag]=linprog( (-1)* C2,A,b,[],[],lb,[])
W2max = -minusW2
[Xw3,minusW3,flag]=linprog((-1)*C3,A,b,[],[],lb,[])
W3max=-minusW3
Optimization terminated.
Xw1 =
28.9286
27.8571
20.0000
minusW1 =
-173.5714
flag =
1
W1max =
173.5714
Optimization terminated.
Xw2 =
28.9286
27.8571
20.0000
minusW2 =
-133.5714
flag =
1
W2max =
133.5714
Optimization terminated.
Xw3 =
40.8333
10.0000
20.0000
minusW3 =
-376.6667
flag =
1
W3max =
376.6667
3. Методи розв’язання задач багатокритеріальної (векторної) оптимізації.
3.1. Метод рівних і найменших відносних відхилень
3.1.1. Побудуємо додаткові до ОДР G обмеження – рівності на основі співвідношень :
(W1max - a1*x1 - a2*x2 - a3*x3 )/W1max = 2 *(W2max - b1*x1 - b2*x2 - b3*x3)/W2max;
(W1max - a1*x1 - a2*x2 - a3*x3 )/W1max = 3*(W3max - d1*x1 - d2*x2 - d3*x3 )/W3max;
Для отримання стійкої обчислювальної процедури задамо точність виконання обмежень - рівностей:
-D21 (W1max - a1*x1 - a2*x2 - a3*x3 )/W1max -
2 *(W2max - b1*x1 - b2*x2 - b3*x3)/W2max
D21
або
(-1)*(alfa2*(W2max )^(-1)*C2-(W1max )^(-1)*C1) D21+1-alfa2;
;alfa2*(W2max )^(-1)*C2-(W1max )^(-1)*C1 D21-1+alfa2;
та
-D31 (W1max - a1*x1 - a2*x2 - a3*x3 )/W1max -
3*(W3max - d1*x1 - d2*x2 - d3*x3 )/W3max D31
або
(-1)*(alfa3*(W3max )^(-1)*C3-(W1max )^(-1)*C1) D31+1-alfa3;
;alfa3*(W3max )^(-1)*C3-(W1max )^(-1)*C1 D31-1+alfa3,
де D21 та D31 - малі додатні числа.
3.1.2. Критерій та мета оптимізації:
C1*X max ,
3.1.3.Розв’язок задачі у форматі системи комп’ютерної математики MATLAB
>> alfa2=0.5 ;
>> alfa 3=0.5 ;
D 21= 0. 1 ;
D 31= 0. 1 ;
AA=[(-1)*(alfa 2*( W 2 max )^(-1)* C 2-( W 1 max )^(-1)* C 1); alfa 2*( W 2 max )^(-1)* C 2-( W 1 max )^(-1)* C 1; (-1)*( alfa 3*( W 3 max )^(-1)* C 3-( W 1 max )^(-1)* C 1); alfa 3*( W 3 max )^(-1)* C 3-( W 1 max )^(-1)* C 1; A ]
AA =
0.0040 0.0040 0.0135
-0.0040 -0.0040 -0.0135
0.0009 0.0075 0.0160
-0.0009 -0.0075 -0.0160
6.0000 11.0000 19.0000
12.0000 8.0000 11.0000
1.0000 1.0000 10.0000
Bb = [D21+1-alfa2;D21-1+alfa2; D31+1-alfa3;D31-1+alfa3;b]
Bb =
0.6000
-0.4000
0.6000
-0.4000
860.0000
790.0000
820.0000
[Xw1,minusW1,flag]=linprog((-1)*C1,AA,Bb,[],[],lb,[])
Optimization terminated.
Xw1 =
28.9286
27.8571
20.0000
minusW1 =
-173.5714
flag =
1
Метод мінімаксу
Розв’язок
1.Задамо значення параметрів згідно варіанту завдання :
a1 = 2;
a2 = 2;
a3 = 3;
b1 = 2;
b2 = 2;
b3 = 1;
d1 = 8;
d2 = 3;
d3 = 1;
h11 = 6;
h12 = 11;
h13 = 19;
h21 = 12;
h22 = 8;
h23 = 11;
h31 = 1;
h32 = 1;
h33 = 10;
H1 = 860;
H2 = 790;
H3 = 820;
L1 = 10;
L2 = 10;
L3 = 20;
2. Використовуючи функцію “linprog” системи комп’ютерної математики MATLAB, обчислимо екстремум кожного окремого критерію на заданій ОДР G(! Пам’ятаємо, що функція “ linprog ” обчислює мінімум критерія):
>> A=[h11 h12 h13;h21 h22 h23;h31 h32 h33]
>> b=[H1;H2;H3]
>> lb=[ L1;L2;L3]
>> C1=[a1 a2 a3]
>> C2=[b1 b2 b3]
>> C3=[d1 d2 d3]
A =
6 11 19
12 8 11
1 1 10
b =
860
790
820
lb =
10
10
20
C1 =
2 2 3
C2 =
2 2 1
C3 =
8 3 1
>> [Xw1,minusW1,flag]=linprog((-1)*C1,A,b,[],[],lb,[])
W1max = -minusW1
[Xw2,minusW2,flag]=linprog( (-1)* C2,A,b,[],[],lb,[])
W2max = -minusW2
[Xw3,minusW3,flag]=linprog((-1)*C3,A,b,[],[],lb,[])
W3max=-minusW3
Optimization terminated.
Xw1 =
28.9286
27.8571
20.0000
minusW1 =
-173.5714
flag =
1
W1max =
173.5714
Optimization terminated.
Xw2 =
28.9286
27.8571
20.0000
minusW2 =
-133.5714
flag =
1
W2max =
133.5714
Optimization terminated.
Xw3 =
40.8333
10.0000
20.0000
minusW3 =
-376.6667
flag =
1
W3max =
376.6667
3. Методи розв’язання задач багатокритеріальної (векторної) оптимізації.
3.1. Метод мінімаксу
3.1.1. Побудуємо додаткові до ОДР G обмеження – нерівності на основі співвідношень :
(W1max - a1*x1 - a2*x2 - a3*x3 )/W1max
1*x4 ;
(W2max - b1*x1 - b2*x2 - b3*x3)/W2max
2 *x4 ;
(W3max - d1*x1 - d2*x2 - d3*x3 )/W3max
3*x4 ,
де 1+
2+
3 = 1
або
-(W1max )^(-1)*C1*X - 1*x4
-1;
-(W2max )^(-1)*C2*X - 2*x4
-1;
-(W3max )^(-1)*C3*X - 3*x4
-1;
або
[-(W1max )^(-1)*C1 - 1]*[X;x4 ]
-1;
[-(W2max )^(-1)*C2 - 2]*[X;x4 ]
-1;
[-(W3max )^(-1)*C3 - 3]*[X;x4 ]
-1;
3.1.2. Критерій та мета оптимізації:
x4 max
або
[0 0 0 1]*X max .
3.1.3.Розв’язок задачі у форматі системи комп’ютерної математики MATLAB
alfa1=0.5 ;
alfa2=0.25 ;
alfa3=0.25 ;
AA=[[-(W1max )^(-1)*C1 -alfa1];[-(W2max )^(-1)*C2 -alfa2];[-(W3max )^(-1)*C3 -alfa3];A [0;0;0]]
AA =
-0.0115 -0.0115 -0.0173 -0.5000
-0.0150 -0.0150 -0.0075 -0.2500
-0.0212 -0.0080 -0.0027 -0.2500
6.0000 11.0000 19.0000 0
12.0000 8.0000 11.0000 0
1.0000 1.0000 10.0000 0
Bb = [-1;-1;-1;b]
Bb =
-1
-1
-1
860
790
820
[XX4,X4,flag]=linprog([0 0 0 1],AA,Bb,[],[],[lb;0],[])
Optimization terminated.
XX4 =
35.5214
17.9678
20.0000
0.1974
X4 =
0.1974
flag =
1