Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porLaura Espinoza Quintero Modificado hace 7 años
1
OPTIMIZACIÓN CLASICA Y RESTRINGIDA UTILIZANDO MATLAB
2
Optimización sin restricción
Para optimizar utilizaremos la OPTIMIZACION TOOLBOX que es un conjunto de funciones que extiende la capacidad del MATLAB ya que incluye rutinas para diferentes tipos de problemas. Optimización sin restricción Consideramos el problema donde f es una función continua. La función a utilizar es fminunc (unconstrained nonlinear optimization): [x,fval,exitflag,output]= fminunc(fun,x0,options)
3
fun Es la función a minimizar .
inline: permite construir una expresión en términos de variables definidas fun= inline(‘…….’) A través de un M-file: File New M-file x Valor inicial para que comience el algoritmo options Conjunto de opciones de optimización Los argumentos de salida de fminunc son: x, fval, exitflag, output x guarda el punto óptimo calculado fval guarda el valor óptimo de la función exitflag >0 (converge), = 0 (máx. iterac.), <0 (no converge) output contiene información de la optimización
4
EJEMPLO 1 EJEMPLO 2
5
OPTIMIZACIÓN CON RESTRICCIONES DE IGUALDAD LINEALES
6
Paso 1 Paso 2 Aeq = [1 1 1]; beq =[1]; Introducir la función:
fun=inline(‘x(1)^2+x(2)^2+x(3)^2’); (*) (Colocar la expresión entre comillas simples y terminar la sentencia con ;) Paso 2 Como la restricción es lineal y de igualdad, se definen la matriz Aeq y el vector beq. Aeq = [1 1 1]; beq =[1]; (*) TP5: Problema 4
7
Paso 3 Paso 4 x0 = [-1 1 1]; Options = optimset(‘LargeScale’,’off’);
Se define un valor inicial para que comience el algoritmo (los valores van entre corchetes separados por un espacio). x0 = [-1 1 1]; Paso 4 Se introducen un conjunto de opciones de opti- mización, sólo se deja desactivada la opción LargeScale colocando para ello off Options = optimset(‘LargeScale’,’off’);
8
Paso 5 Se invoca la función fmincon [x,fval,exitflag,output,lambda] = fmincon(fun,x0,[],[],Aeq,beq,[],[],[],options); Paso 6 Para obtener la solución del problema se coloca x, se cliquea “enter”, aparece el valor de x que optimiza la función. Luego se coloca fval y se cliquea “enter”, aparece el valor óptimo de la función objetivo. Luego se escribe lambda, seguido de “enter” y el programa calcula el valor del multiplicador de Lagrange
9
OPTIMIZACIÓN CON RESTRICCIONES DE IGUALDAD NO LINEALES
10
Paso 1 Introducir la función de la siguiente manera:
fun=inline(‘-(x(1)^2+x(2)^2)’); (Colocar la expresión entre comillas simples y terminar la sentencia con ;)
11
Paso 2 Como la restricción es de igualdad no lineal, se debe crear un programa separado que contiene la función de la restricción, en la siguiente secuencia: File New M-file Function [c,ceq]=restrnolin(x) C=[]; Ceq=[x(1)^2+x(1)*x(2)+x(2)^2-3];
12
Pasos 3 y 4 Se define un valor inicial para que comience el algoritmo x0 = [0 1]; Se introducen un conjunto de opciones de opti- mización, sólo se deja desactivada la opción LargeScale colocando para ello off Options = optimset(‘LargeScale’,’off’);
13
Paso 5 Uso de la función fmincon [x,fval,exitflag,output,lambda] = fmincon(fun,x0,[],[],[],[],[],[],’restrnolin’,options);
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.