1.2 Multiplicadores de Lagrange
Ejemplo 1
Hallar los valores extremos de:
sujeta a las restricciones:
solución
Tomando el gradiente de esta función e igualando a cero:
( a )
( b )
( c )
( d )
( e )
De (a y b) entonces
De (b y c)
i) Para se tiene . De aquí se pasa al sistema
de la segunda ecuación , sustituyendo en la primera resulta , Resolviendo .
Como y se tiene los puntos críticos p1=, p2=
ii) para se tiene . De aquí el sistema
de la segunda ecuación , sustituyendo en la primera da. Resolviendo luego , . De este modo los puntos críticos son: p1=(,,) , p2=(,,)
Valor de la función en los puntos críticos
En p1:
x=1+2*3^(0.5)/3;
y=1+2*3^(0.5)/3;
z=1-4*3^(0.5)/3;
f1=2*x+2*y+z^2+10;
= 20.3333
En p2
x=1-2*3^(0.5)/3;
y=1-2*3^(0.5)/3;
z=1+4*3^(0.5)/3;
f2=2*x+2*y+z^2+10;
= 20.3333
En un punto cualquiera del conjunto restricción p
x=1;
y=3;
z=-1;
f3=2*x+2*y+z^2+10;
= 19
Luego p1 y p2 son los puntos que satisfacen las restricciones y donde la función objetivo toma su máximo y que es = 20.3333
1.3 Método del Gradiente o descenso rápido
Ejemplo
Hallar los valores extremos de la función:
La función y sus derivadas parciales:
f(x,y)=-(x-3)^2 – (y-2)^2 + 3x*y + 2
fx=-2*(x-3) + 3*y;
fy=-2*(y-2) + 2*x;
Valor de la función
» f='-(x-3)^2-(y-2)^2+3*x*y+2'
f = -(x-3)^2-(y-2)^2+3*x*y+2
» x=1; y=4;
» eval(f)
ans = 6
Valor del gradiente en p0=(1,4)
» fy='-2*(x-3)+3*y';
» fy='-2*(y-2)+2*x';
» x=1;
» y=4;
» eval(fx)
ans =4
» eval(fy)
ans =-2
» eval(f)
ans =6
% Luego el gradf(1,4)=(4,-2)
Maximizar( o minimizar) la función
g(t) = f(p0+t*gradf(p0))
g(t) = f((1,4)+t*gradf(1,4))=f((1,4)+t*(4,-2))=f(1+4*t,4-2*t)
» g='-(4*t-2)^2-(2-2*t)^2+3*(1+4*t)*(4-2*t)+2'
g =-(4*t-2)^2-(2-2*t)^2+3*(1+4*t)*(4-2*t)+2
» Dg=diff(g,'t')
Dg =-88*t+66
» to=solve('-188*t+66=0')
to=33/94
El nuevo punto es p1=p0+to*gradf(p0) =(1,4)+to*gradf(1,4)=(1,4)+(33/94)*(4,-2)=
p1=(1,4)+(33/94)*(4,-2)
p1=(2.4043 , 3.2979)
p1=(113/47, 155/47)
b) Segunda aproximación
gradf(p1)=gradf(113/47,155/47)
» x=113/47;
» y=155/47;
» eval(fx)
ans=11.0851
» eval(fy)
ans=2.2128
% gardf(p1)=(11.0851, 2.2128)
Maximizar ( o minimizar) la función
g(t) = f(p1+t*gradf(p1))
g(t) = f((113/47, 155/47) +t*gradf(113/47, 155/47))=f((1,4)+t*(4,-2))=f(1+4*t,4-2*t)
Asi sucesivamente.
Solución de un problema de Programación Cuadrática con SOLVER
Planteamiento del problema
La siguiente tabla muestra el rendimiento histórico de los activos de tres empresas: (AT&T, GM, STEEL), durante 12 años. Los rendimientos medios de cada activo son .
AT&T | G. M. | S. STEEL |
0,3 | 0,225 | 0,149 |
0,103 | 0,29 | 0,26 |
0,216 | 0,216 | 0,419 |
-0,046 | -0,272 | -0,078 |
-0,071 | 0,144 | 0,169 |
0,056 | 0,107 | -0,035 |
0,038 | 0,321 | 0,133 |
0,089 | 0,305 | 0,732 |
0,09 | 0,195 | 0,021 |
0,083 | 0,39 | 0,131 |
0,035 | -0,072 | 0,006 |
0,176 | 0,715 | 0,908 |
Un inversionista desea saber qué porcentaje de su capital debe invertir en cada una de los tres activos de tal modo que pueda obtener un rendimiento anual mayor o igual al 15% y no desea colocar más del 75% en cada una de las tres acciones.
Esto equivale a resolver el siguiente problema de programación cuadrática
Min
Sujeto a:
,
donde la Matriz de covarianzas ( de los tres activos).
LLENADO DE DATOS
Se llenan las columnas con el rendimiento histórico de los activos de las empresas, en este caso son tres:
CONSTRUCCIÓN DE LA FUNCIÓN OBJETIVO EN SU FORMA MATRICIAL.
Para esto se necesita construir la matriz de covarianza:
- Para calcular la componente
de la matriz de covarianza, fijamos el curso en la celda A14, luego vamos a la barra de funciones y hacemos clic en , buscamos la función COVAR
Se clic en Aceptar y sale la tarjeta
Para llenar el rango de la ventana Matriz 1, se arrastra el Mouse sobre columna de datos de AT&T, que va de A2 a A13 y esto se refleja en dicha ventana
Para llenar el rango de la ventana Matriz 2, se arrastra el Mouse sobre misma columna de datos de AT&T que se ve en la ventana Matriz 2.
Se hace clic en Aeptar y se obtiene el valor de la componente .
b) Para calcular la componente de la matriz de covarianza, fFijamos el curso en la celda B14, luego vamos a la barra de funciones y activamos la función COVAR, hacemos clic en Aceptar y de vuelta sale la tarjeta correspondiente.
Para llenar el rango de la ventana Matriz 1, se arrastra el Mouse sobre columna de datos de AT&T, que va de A2 a A13 y luego para llenar la ventana Matriz 2 se arrastra el Mouse sobre columna de datos de G. M. que va de B2 a B13, lo que se observa en la ventana Matriz 2. Se hace clic en Aceptar y sale el valor de en la celda B14
c) Para calcular la componente de la matriz de covarianza, se deja el curso en la celda C14, luego se activa la función COVAR, hacemos clic en Aceptar y de vuelta sale la misma tarjeta. Para llenar la ventana Matriz 1, se arrastra el Mouse sobre columna de datos de AT&T y luego para llenar la ventana Matriz 2, se arrastra el Mouse sobre columna de datos de GS. STEEL que va de C2 a C13, lo que se observa en la ventana Matriz 2. Se hace clic en Aceptar y sale el valor de en la celda C14
Se repite el mismo procedimiento para el resto de las componentes de la matriz de covarianza, obteniendo el siguiente cuadro
Celdas para las variables de decisión
Se separan las celdas E2, F2, G2 para las variables de decisión x,y,z.
Celdas para el producto de la matriz de covarianza con las variables de decisión
En las celdas E3, F3, G3 se guarda el producto de la matriz de covarianza por la fila de las variables. Por ejemplo en E3 se guarda el producto de la primera fila de la matriz de covarianza por la fila de las variables E3 = A15*E2+B15*F2+C15*G2. Esto Se consigue con la función SUMAPRODUCTO del Excel, donde se llenan sus ventanas arrastrando el Mouse sobre las filas de las celdas que se quiere multiplicar. Igualmente se hace con las celdas F3 y G3.
Celdas para la función objetivo
En las celdas E4 se guarda la función objetivo=E2* E3+ F2* F3+G2*G3, que se consigue con la función SUMAPRODUCTO del Excel.
De esta forma se ha definido con el Excel la función objetivo pero en su forma matricial.
COEFICIENTES DE LAS ECUACIONES DE RESTRICCIÓN Y EL LADO DERECHO
Las ecuaciones de restricción son
, ; ; ; ;
Las medias son coeficientes de la primera restricción y ocupan las celdas E7, F7, G7
La otra restricción es una ecuación cuyos coeficientes son todos unos. Estos ocupan las celdas: E8, F8, G8.
La tercera restricción tiene solo una variable. Por razones de estética consideramos la fila de coeficientes 1, 0, 0 y ocupan las celdas E9, F9, G9. Así sucesivamente los otros coeficientes.
El lado derecho de las inecuaciones ocupan las celdas H13, H14, H15. H16, H17.
LAS ECUACIONES DE LAS RESTRICCIÓNES
La ecuación de la primera restricción es y se escribe en la celda E13,
allí con la función SUMAPRODUCTO del Excel se hace el producto indicado. Una vez activada esta función, la ventana Matriz 1, se llena arrastrando el Mouse sobre las celdas E7, F7, G7 donde están los coeficientes, luego la ventana Matriz 2, se llena arrastrando el Mouse sobre la fila de las variables esto es E2, F2, G2. De esta manera se completan todas las ecuaciones.
SOLUCIÓN CON EL SOLVER
a) Se ubica el cursor en la celda de la función objetivo E4
b) Clic en el menú Herramientas y después Solver, luego se marca Minimo, se sigue con el botón Estimar, en cuya ventana de deja el cursor y con el Mouse se arrastra las celdas de las variables: E2, F2, G2
c) Luego se incorporan al Excel las ecuaciones de las restricciones. Se hace clic en el botón Agregar. Se hace clic en Referencia de la celda y luego clic en la celda E13 donde se encuentra la primera ecuación. Se elige el tipo de desigualdad. Clic en Restricción y luego clic en la celda H13
Se hace clic en Aceptar y se tiene incorporada la primera restricción. Las demás siguen el mismo camino.
- Se hace clic en el botón Opciones y sale el diálogo, donde se eligen las siguientes opciones: Cuadrática(por que la función objetivo es cuadrática), Derivadas progresivas, Hallar por Newton
e) Luego clic en Aceptar y sale de nuevo la tarjeta anterior (parte c). Allí Resolver. Se marca: Respuesta, Sensibilidad y Límites
f) Clic en el botón Aceptar y sale la hoja de cálculo con los resultados buscados:
Respuesta:
la recomendación es la siguiente: Invertir en AT&T el 53.00%, en G. M. el 35.64% y en S. STEEL el 11.34%.
El mínimo de la varianza del rendimiento es de 0,02054595
g) Salen también los tres informes en las tres pestañas inferiores: Informe de Respuestas, Informe de Sensibilidad y el Informe de Límites.
Ejercicios
1) Sea la función .
- Determine los puntos críticos.
- Determine los máximos , mínimos y puntos de silla, haciendo uso de la matriz Hessiana.
2) Hallar los valores extremos de:
sujeta a las restricciones:
3) Aplicando el método del gradiente, determine el valor extremo de la función:
1.6 Comandos del MatLab para Máximos y Mínimos
Gráfica de funciones de dos variables
Para esto se define el dominio de la función, que es un rectángulo. Este rectángulo se subdivide mediante una una partición o malla.
» a=linspace(-1,1,30);
» b=a;
» [x,y]=meshgrid(a,b); % esta es la malla
Se define la función
» z=x.^2+x*y.^2-x*y ;
Para graficar la función sobre esta malla se llama a surfl(x,y,z) y sale la nueva superficie.
» surfl(x,y,z)
Minimización de funciones cuadráticas usando el MatLab
x=quadprog(H,f,A,b)
min (0.5*x'*H*x+f'*x) sujeto a A*x<=b
[x,fval]=quadprog(H,f,A,b)= es el valor de la función objetivo en x
Ejemplo 1 (pocas restricciones):
» H=[2,1;3,-1]; % es la forma cuadrática
» f=[3,-1]; % es la parte lineal
» A=[2,2]; % matriz de restricciones
» b=3;
» x=quadprog(H,f,A,b)
x =
1.0e+016 *
-3.0000
1.0000
Autor:
Mg. Ing. Mohammed Portilla Camara Universidad de Lima Grupo Groming Ingeniería SAC. Gerencia de Operaciones www.grupo-groming.com Surco, Lima, Perú
Página anterior | Volver al principio del trabajo | Página siguiente |