Скачиваний:
74
Добавлен:
15.06.2014
Размер:
131.07 Кб
Скачать

Программная реализация в МатЛаб

[x,f,ga]=fgoalattain(fun,xo,q,w,A,b,

Ae,be,xmi,xma<,nonlcon,options,p1,p2,..>);

Ax b

Ae xr be

rmin

r

rmax

x

x

x

[x,f,ga]=fgoalattain(fun,xo,q,w,[],[],

[],[],[],[],nonlcon);

06/25/19

21

Метод сведения к задаче минимакса

r

max

 

i

 

min

 

f

(x)

x D

i 1..k

 

 

 

Этот метод находит решение, на котором достигается минимум наихудшего случая.

06/25/19

22

Пример

f1(x1, x2 ) (x1 1)2 (x2 2)2 2

f2 (x1, x2 ) x11.3 2x20.9 1

f3(x1, x2 ) 1.7x1 x2 3.5

 

 

 

3x1 2x2 2.2

ex1

ex2

1.5

x1 0

 

 

 

x2 0

06/25/19

23

function minmax1;

%начальное приближение

x0=[1; 0];

% неравенства

A=[3 2];

b=2.2;

xm=[0; 0];

% обращение

[x,p]=fminimax(@fu3,x0,A,b,[],[],xm,[]

,@nonling)

return

06/25/19

24

function f=fu3(x)

f(1)=(x(1)-1)^2+(x(2)-2)^2-2.1;

f(2)=x(1)^1.3+2*x(2)^0.9-1;

f(3)=1.7*x(1)+x(2)-0.25;

Return

function [c, ceq]=nonling(x)

c=[]; %ограничений-неравенств нет

%ограничение-равенство:

ceq(1)=-exp(x(1))+exp(x(2))-0.5;

return

06/25/19

25

результат

x =

0.2048

0.5466

p =

0.6448

0.2885

0.6448

-f(xy)

x =

0.2664

0.5907

p =

-0.4244 -0.4244 -0.7935

06/25/19

26

Конец

06/25/19

27