Descargar la presentación
La descarga está en progreso. Por favor, espere
Publicada porÁngeles Roldán Camacho Modificado hace 9 años
1
OPTIMIZACIÓN CON RESTRICCIONES DE IGUALDAD
2
PASO 1 Introducir la función: fun=inline(‘-x(1) * x(2)’); (Colocar la expresión entre comillas simples y terminar la sentencia con ;)
3
Paso 2 Como la restricción es lineal y de igualdad, se definen la matriz Aeq y el vector beq. Aeq = [1 1]; beq =[2];
4
Se define un valor inicial para que comience el algoritmo (los valores van entre corchetes separados por un espacio). Paso 3 x0 = [-1 1];
5
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’);
6
Paso 5 Se invoca la función fmincon [x,fval,exitflag,output,lambda] = fmincon(fun,x0,[],[],Aeq,beq,[],[],[],options);
7
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 La ventana de comandos se ve de la siguiente forma:
9
OPTIMIZACIÓN CON RESTRICCIONES DE DESIGUALDAD
10
Paso 1 Introducir la función de la siguiente manera: fun=inline(‘(x(1)-3)^2+(x(2)-4)^2’); (Colocar la expresión entre comillas simples y terminar la sentencia con ;)
11
Paso 2 Como la restricción es de desigualdad lineal, se definen la matriz A y el vector b. Además se agrega la condición de no negatividad de las variables A = [1 1]; b =[4]; lb=[0]
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,[],[],A,b,lb,[],[],options); La ventana de comandos con la solución se ve de la siguiente forma:
15
Programación no lineal Introducir la función de la siguiente manera: Paso 1 fun=inline(‘x(1)^2+x(2)^2+x(2)-1’); Paso 2 La restricción es no lineal y de desigualdad. Se debe crear un programa separado al cual se convoca en el programa principal: FileNewM-File
16
Function[c,ceq]=restrdesig(x); C=[x(1)^2+x(2)^2-1]; C=ceq=[]; Paso 3: se define un valor inicial para que comience el algoritmo x0 = [0 1];
17
Paso4: se introduce un conjunto de opciones de optimización Options = optimset(‘LargeScale’,’off’); Paso5: se invoca la función fmincon [x,fval,exitflag,output,lambda] = fmincon(fun,x0,[],[],[],[],[],[],’restrdesig’, options);
Presentaciones similares
© 2025 SlidePlayer.es Inc.
All rights reserved.