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 |