Скачиваний:
64
Добавлен:
15.06.2014
Размер:
2.37 Mб
Скачать

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

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

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

A x b

Ae x b e

x m in x x m ax

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

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

05.01.2011

21

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

m in m a x f i ( x )

x D

i 1 ..k

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

05.01.2011

22

Пример

f

1

( x

1

, x

2

) ( x

1

1) 2

( x

2

2 ) 2

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

( x1 , x 2 ) x11 .3 2 x 2 0 .9 1

 

f 2

 

f

3

( x

1

, x

2

) 1 .7 x

1

x

2

3 .5

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 x1 2 x 2 2 .2

e x1 e x2

1.5

x1 0

 

 

x 2 0

05.01.2011

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

05.01.2011

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

05.01.2011

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

05.01.2011

26

Конец

05.01.2011

27