- •Домашня контрольна робота
- •Методика розрахунків до питання 1 Постановка задачі
- •Метод ідеальної точки
- •3.1. Метод ідеальної точки.
- •Метод цільового програмування
- •Метод послідовних поступок
- •3.1. Метод послідовних поступок
- •Метод рівних та найменших відносних відхилень
- •3.1. Метод рівних і найменших відносних відхилень
- •Метод мінімаксу
- •3.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. Методи розв’язання задач багатокритеріальної (векторної) оптимізації.
Метод цільового компромісного програмування(MЦKП)
Згідно завданню: р=2; 1=0.5, 2=0.3, 3=0.2.
Побудова файл-функції: File_New_M-file
function CKP=myfunCKPmin(x,C1,C2,C3,W1max,W2max,W3max)
CKP=sqrt(0.5*((C1*[x(1);x(2);x(3)]-W1max)/W1max)^2+0.3*((C2*[x(1);x(2);x(3)]-W2max)/W2max)^2+0.2*((C3*[x(1);x(2);x(3)]-W3max)/W3max)^2);
Save as…myfunCKPmin
Пошук оптимального значення змінних із використанням функції fmincon системи комп’ютерної математики MATLAB:
Формат функції fmincon
[x,W,flag]=fmincon(@myfun,[x0],[A],[b],[Aeq],[beq],[lb],[ub],
@mynon,options,P1,P2,…)
[x,Dckp,flag]=fmincon(@myfunCKPmin,lb,A,b,[],[],lb,[],[],[],C1,C2,C3, W1max,W2max,W3max)
Warning: Trust-region-reflective algorithm does not solve this type of problem,
using active-set algorithm. You could also try the interior-point algorithm: set
the Algorithm option to 'interior-point' and rerun.
> In fmincon at 460
In CilProgram at 41
Local minimum possible. Constraints satisfied.
fmincon stopped because the predicted change in the objective function
is less than the default value of the function tolerance and constraints
were satisfied to within the default value of the constraint tolerance.
<stopping criteria details>
Active inequalities (to within options.TolCon = 1e-006):
lower upper ineqlin ineqnonlin
3 2
x =
33.3230
21.2655
20.0000
Dckp =
0.0402
flag =
5
