Matlab - Problemas con fmincon para optimización

   
Vista:

Problemas con fmincon para optimización

Publicado por Tomás (1 intervención) el 08/06/2009 17:51:29
Hola, quisiera saber si alguno ha utilizado la herramienta fmincon para realizar algun tipo de optimización.
Yo estoy trabajando con un metodo el cual como funcion objetivo estoy ocupando la norma(norm(x,y)) y al ocupar el fmincon me tira un error que no encuentra un punto factible. He puesto las restricciones que mi problema tiene pero tengo problemas tambien con el punto de partida, cambia el resultado a medida que cambio el punto de partida. Mi función no tiene restricciones no lineales.

Aqui esta el programa del fmincon que hice:

x0=[0.01; 10; 30; 130; 630; 2990; 14130; 66830; 500000];

A=[1,-1,0,0,0,0,0,0,0;0,1,-1,0,0,0,0,0,0;0,0,1,-1,0,0,0,0,0;0,0,0,1,-1,0,0,0,0;0,0,0,0,1,-1,0,0,0;0,0,0,0,0,1,-1,0,0;0,0,0,0,0,0,1,-1,0;0,0,0,0,0,0,0,1,-1;1,0,-1,0,0,0,0,0,0;1,0,0,-1,0,0,0,0,0;1,0,0,0,-1,0,0,0,0;1,0,0,0,0,-1,0,0,0;1,0,0,0,0,0,-1,0,0;1,0,0,0,0,0,0,-1,0;1,0,0,0,0,0,0,0,-1;0,1,0,-1,0,0,0,0,0;0,1,0,0,-1,0,0,0,0;0,1,0,0,0,-1,0,0,0;0,1,0,0,0,0,-1,0,0;0,1,0,0,0,0,0,-1,0;0,1,0,0,0,0,0,0,-1;0,0,1,0,-1,0,0,0,0;0,0,1,0,0,-1,0,0,0;0,0,1,0,0,0,-1,0,0;0,0,1,0,0,0,0,-1,0;0,0,1,0,0,0,0,0,-1;0,0,0,1,0,-1,0,0,0;0,0,0,1,0,0,-1,0,0;0,0,0,1,0,0,0,-1,0;0,0,0,1,0,0,0,0,-1;0,0,0,0,1,0,-1,0,0;0,0,0,0,1,0,0,-1,0;0,0,0,0,1,0,0,0,-1;0,0,0,0,0,1,0,-1,0;0,0,0,0,0,1,0,0,-1;0,0,0,0,0,0,1,0,-1];
b=[0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0];

Aeq=[1,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,0;0,0,0,0,0,0,0,0,1];
beq=[0;0;0;0;0;0;0;500000;];

lb=[1e-3;0;0;0;0;0;0;0;500000;];
ub=[1e-3;500000;500000;500000;500000;500000;500000; 500000; 500000];

options = optimset('Display','iter',...
'FunValCheck','on',...
'LargeScale','off', ...
'Algorithm','interior-point', ...
'TolCon',1e-10, ...
'MaxIter',5000, ...
'MaxFunEvals',5e+10, ...
'TolFun',1e-10, ...
'TolX',1e-10);

[x,fval,exitflag,output] = fmincon('sistema2',x0,A,b,Aeq,beq,lb,ub,[],options)


Mi funcion está en otro archivo, pero probandolo a fuerza bruta funciona, osea debiera funcionar con el fmincon. Si alguien ha ocupado esta herramienta y no ha tenido problemas que me pueda ayudar se lo agradecería mucho
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder