Метод послідовних поступок

Розв’язок

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. Враховуючи , що максимальні значення критеріїв при оптимізації за кожним окремим критерієм знайдено, виконаємо пошук найбільшого значення другого критерію із врахуванням поступки за першим критерієм:

W1=a1*x1 + a2*x2 + a3*x3 W1max – 0.1* W1max =0.9* W1max

-a1*x1 - a2*x2 - a3*x3 - 0.9* W1max (-1)*C1 * [x1 ; x2 ; x3 ] - 0.9*W1max .

3.1.2. Виконаємо пошук найбільшого значення третього критерію із врахуванням поступок за першим та другим критеріями:

(-1)*C1 * [x1 ; x2 ; x3 ] - 0.9*W1max ;

W2=b1*x1 + b2*x2 + b3*x3 W2maxp1 – 0.1* W2maxp1 =0.9* W2maxp1

-b1*x1-b2*x2 - b3*x3 -0.9*W2maxp1 (-1)*C2*[x1 ; x2 ; x3] - 0.9* W2maxp1.

 

[Xw2,minusW2,flag]=linprog( (-1)* C2,[(-1)*C1;A],[- 0.9*W1max ;b],[],[],lb,[])

W2max p1 = -minusW 2

[Xw3,minusW3,flag]=linprog( (-1)* C3,[ (-1)* C2;(-1)*C1;A],[- 0.9* W2maxp1;-0.9*W1max ;b],[],[],lb,[])

W3maxp2 = -minusW3

Optimization terminated.

Xw2 =

28.9286

27.8571

20.0000

minusW2 =

-133.5714

flag =

1

W2maxp1 =

133.5714

Optimization terminated.

Xw3 =

40.8333

10.0000

20.0000

minusW3 =

-376.6667

flag =

1

W3maxp2 =

376.6667