J Nathan Lvarez Mart Nez

Páginas: 7 (1556 palabras) Publicado: 2 de marzo de 2015
OPTIMIZACIÓN DE
FUNCIONES CON
MATLAB

JÓNATHAN ÁLVAREZ MARTÍNEZ
5º INGENIERÍA QUÍMICA

Problema de optimización sin restricciones:
Para la resolución de problemas de optimización sin restricciones con Matlab, se van a usar
dos funciones, dependiendo de las condiciones del problema a tratar.
En el caso que tengamos problemas de optimización de una variable, tenga o no restricciones,
se usará lafunción “fminbmd”.
Para la resolución de problemas de optimización multivariable, sin restricciones, la función a
usar será “fminunc”.
Ejemplo:
Min f=(X1-1)^2
Para su resolución usaremos la función” fminunc”
fminunc: [x,fval,exitflag,output] = fminunc('funcionobjetivo',x0)
En un Script se realiza la llamada a la función:
x0=-4; % Punto inicial
[x,fval,exitflag,output] =fminunc('funcionobjetivo',x0)
A continuación definimos en otro scrpit la función:
function f=funcionobjetivo(x)
x1=x;
f=(x1-1)^2;
Una vez puesto el código se obtienen los siguientes resultados:
x = 1.0000
fval = 6.3159e-015
exitflag = 1
como era de esperar el mínimo de la función lo obtenemos en x=1.
Se resuelve el mismo ejemplo, pero usando la función “fminbmd”.
fminbnd: [x,fval,exitflag,output] =fminbnd('funcionobjetivo',lb,ub)
Esta función retorna o devuelve a la variable x la solución al problema, que está
definido en funcionobjetivo.
El algoritmo de optimización que utiliza esta función es el método de búsqueda de la
Sección Dorada y el de interpolación parabólica.
Los parámetros lb y ub definen la región de búsqueda de la solución.
En fval, se devuelve el valor de la función evaluada en la solución x.
En elparámetro exitflag la función devuelve un valor que describe la condición de salida de
fminbnd:

- > 0 indica que la función converge a la solución
-0 indica que se ha excedido el máximo número de evaluaciones de la función
- < 0 indica que no se ha encontrado solución

En el script principal definimos el código para llamar a la función fminbnd:
lb=-1;
ub=0,8;options=optimset(‘Display’,’iter’,’MaxIter’, 100, ‘Diagnostics’, ‘on’,‘TolFun’,1e-1)
[x,fval,exitflag,output] = fminbnd('funcionobjetivo',lb,ub);

En un script nuevo definimos la función objetivo:
function f=funcionobjetivo(x)
x1=x;
f=(x1-1)^2;
Resultado:
X=0.8000
Fval=0.0400
Exitflag=1
Iterations=21
funcCount=22

Problema de optimización con restricciones.
Para este tipo de problemas se va a usar la función de matlab “fmincon”, que permitebuscar
mínimos con restricciones de una función con varias variables.
xmin = fmincon (‘funcion_objetivo’,x0,M,N,Aeq,Beq,LB,UB) siendo:
función_objetivo: nombre del fichero donde esta implementada la función objetivo o función
de coste; x0: vector de inicio a partir del cual fmincon busca xmin; M y N: matrices
correspondientes a las restricciones en forma de inecuaciones lineales, expresadasmatricialmente; Aeq y Beq: matrices correspondientes a las restricciones en forma de
ecuaciones lineales, expresadas matricialmente y LB y UB, las cotas inferiores y superiores de
x, respectivamente, expresadas también matricialmente.

Ejemplo:
Min f= (X1-1)^2
X1 € [-5,0.5]
Llamada general a la función:
[x,fval,CondSalida,InfoSalida] = fmincon(‘fobjetivo',x0,M,N,Aeq,Beq,lb,ub)
Se abre un script y serealiza la llamada a la función, estableciendo un valor inicial X0, las
diferentes restricciones, (que en este ejemplo no hay) y los límites de las variables, de forma
que escribiéndolo en matlab queda:
x0=-4;
%Restricciones de igualdad
Aeq=[];
Beq=[];
%Restricciones lineales:
M=[];
N=[];
%Restricciones de desigualdad no lineales
%NO TIENE
%Límites de las variables
lb=-5;
ub=0.5;[x,fval,CondSalida,InfoSalida] =fmincon('funcionobjetivo',x0,M,N,Aeq,Beq,lb,ub)
A continuación, se realiza el fichero donde irá implementada la función objetivo:
function f=funcionobjetivo(x)
x1=x;
f=(x1-1)^2;
Se ejecuta la función y se obtienen los siguientes resultados:
Resultado:
Active inequalities (to within options.TolCon = 1e-006): lower upper ineqlin ineqnonlin 1
x = 0.5000
fval = 0.2500
CondSalida...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Caso Marta lvarez
  • Karen Torres Mart nez
  • Pedro Mart Nez
  • Eladio Mart Nez
  • Enrique Gonz lez Mart nez
  • Cuento De Fernando Mart Nez Sanabria
  • BIOGRAF A BALBINO CRUZ MART NEZ
  • Conclusiones de entrevistas de Fernando Mart nez

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS