• Viernes 1 de Noviembre de 2024, 11:35

Autor Tema:  Problema con fmincon para optimizacion  (Leído 1150 veces)

Portnoy56

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema con fmincon para optimizacion
« en: Lunes 8 de Junio de 2009, 17:57 »
0
Hola a todos, soy nuevo en el foro y 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