Autor:
1
Jorge Mauricio Oviedo
Facultad de Ciencias Econmicas. Universidad Nacional de Crdoba
1
joviedo@eco.unc.edu.ar
1- INTRODUCCIN
La resolucin de problemas de optimizacin tanto numrica como simblicamente suele ser una
tarea larga, tediosa y engorrosa en el sentido del alto insumo de tiempo que esta demanda. En este
sentido, el uso de Softwares para facilitar esta tarea, surge como una idea atractiva pero
lastimosamente hasta el momento los paquetes internos provistos por los distintos programas
(Maple y Mathematica principalmente) no contienen comandos fciles y directos que permitan a
una persona sin dominio en le manejo de los mismos, resolver estos problemas.
El objetivo de este trabajo es brindar un paquete de optimizacin que resulte sumamente fcil de
implementar a cada problema con el que el usuario se enfrente. Vale destacar que el mismo provee
las soluciones tanto numricas como simblicas a cada tipo de problemas.
Los problemas que se resuelven mediante este paquete son los siguientes: Optimizacin Libre en n
variables, Optimizacin con restricciones de igualdad en n variables y m restricciones (m < n) y
Optimizacin con restricciones de desigualdad en n variables y m restricciones.
Optimizacin Dinmica: donde el objetivo es hallar una funcin o conjunto de funciones que
maximicen o minimicen una integral definida. Estos problemas pueden clasificarse en tiempo
discreto y continuo por un lado, en problemas determinsticos o aleatorios por otro y dentro de
estos en variables aleatorias continuas o discretas. Este tipo de optimizacin exceden el alcance
de este trabajo y se proveer en un traba jo posterior.
3- OPTIMIZACIN LIBRE
Caso 2 variables:
En este problema el objetivo consiste en determinar los valores de x1 y x2 que hacen mximo o
mnimo el valor de una funcin objetivo f. Formalmente el problema puede escribirse de la
siguiente manera:
Max f = f ( x1 , x2 )
x1 , x2
Donde la condicin de primer orden (condicin necesaria) viene dada por el siguiente sistema de
ecuaciones2 :
Geomtricamente la condicin de primer orden establece que hay que buscar los valores de las
variables, es decir el punto del dominio para el cual el plano tangente a la grfica de f es horizontal.
Dicho sistema por lo general es no lineal y puede tener varias soluciones es decir pueden existir
varios puntos para los cuales el plano tangente a la grfica de f es horizontal. Dichos puntos son
denominados puntos crticos o candidatos a ptimos de f. ya que los puntos donde f presenta plano
tangente horizontal pueden ser mximos, mnimos o puntos de inflexin (puntos de silla). Para
dicha distincin la condicin de segundo orden (condicin suficiente) hace referencia a la matriz
hessiana (matriz de derivadas segundas) evaluada en cada punto crtico:
Dicha matriz provee toda la informacin necesaria de f en las inmediaciones de cada punto por
medio de una aproximacin de Taylor de segundo orden en el sentido de que avisa si el entorno del
punto es cncavo o convexo. Algebraicamente, para discernir si cada punto crtico es efectivamente
un punto que optimiza a f se hace referencia la concepto de menores principales de orden n asociado
a una matriz cuadrada de orden m (m >= n). Un menor principal de orden n asociado a una matriz
de orden m es el determinante que surge de considerar una submatriz de orden n conformada por las
primeras n filas y las primeras n columnas. Con esta definicin la condicin de segundo orden se
puede enunciar en trminos de los menores principales de la matriz hessiana evaluada en cada punto
crtico. En efecto:
H1 > 0 H1 < 0
Mnimo Mximo
H2 > 0 H2 > 0
Es decir para que efectivamente un punto crtico (que satisface la condicin de primer orden) sea un
mximo local de f es suficiente que los menores principales asociados a la matriz hessiana evaluada
en el punto crtico en cuestin alternen en signo empezando por signo negativo. Para el caso de un
mnimo se requiere que todos sean positivos.
Caso n variables:
En esta situacin el problema se presenta como:
Max f = f ( x1 , x2 ,..., xn )
x1 , x 2 ,...,xn
donde ahora la condicin de primer orden viene dada por es siguiente sistema de n ecuaciones:
f x1 ( x1 , x2 ,..., xn ) = 0
f x 2 ( x1 , x2 ,..., x n ) = 0
( x1* , x2* ,..., xn* )
M
f x n ( x1 , x2 ,..., x n ) = 0
Donde al igual que en el caso anterior el sistema es no lineal y puede presentar mltiples soluciones.
Cada una de ellas ser un punto crtico y para decidir si dichos puntos son o no puntos ptimos se
recurre a analizar el signo de los menores principales de la matriz hessiana evaluada en cada punto
critico:
En esta situacin para el caso de mnimo es suficiente que todos los menores principales sean
positivos mientras que para el caso de mximo se requiere que alternen en signo comenzando por
signo negativo. Algebraicamente se tiene:
H1 > 0 H1 < 0
H2 > 0 H2 > 0
Mnimo Mximo
M M
Hn > 0 (1) Hn > 0
n
Max f = f ( x1 , x2 )
x1 , x2
st : g( x1 , x2 ) = m
Para su resolucin se hace uso de la funcin Lagrangeana (L) y de los multiplicadores de Lagrange
() como sigue:
MaxL = f ( x1 , x2 ) + [ m g ( x1 , x2 )]
x1 , x2
Lx1 ( x1 , x2 ) = 0
Lx2 ( x1 , x2 ) = 0 ( x1* , x2* , * )
L (x1 , x2 ) = 0
Al igual que en los otros casos las ecuaciones pueden resultar ser no lineales y con soluciones
mltiples. Cada una de dichas soluciones constituye los puntos crticos que luego debern verificar
las condiciones de segundo orden. En este caso se recurre a una matriz hessiana de la funcin
Lagrangeana orlada con ceros y evaluada en cada punto crtico. Luego sobre estas matrices se
toman los menores principales:
Como se aprecia los menores principales se toman a partir del orden tres por lo que en definitiva
solo hay que atender al signo del determinante de la matriz hessiana orlada evaluada en cada punto
crtico.
Max f = f ( x1 , x2 ,..., xn )
x1 , x 2 ,...,xn
st : g1 ( x1 , x2 ,..., x n ) = m1
g 2 (x1 , x2 ,..., x n ) = m2
M
g m ( x1 , x2 ,..., x n ) = mm
Max L = f ( x1 ,x2 ,..., xn ) + 1[m1 g1 (x1 ,x2 ,..., xn )] + 2[m2 g 2 (x1 , x2 ,..., xn )] + L+ m[ mm gm (x1 , x2 ,..., xn )]
x1 , x2 ,..., xn
Las soluciones para dicho sistema constituyen los puntos crticos candidatos a extremos relativos
(mximos o mnimos) de la funcin sujeta a las restricciones. A continuacin se debe recurrir a la
matriz hessiana orlada que para el caso de m restricciones adopta la siguiente forma en trminos
matriciales:
donde:
0 m x m es una matriz cuadrada de ceros de orden m x m
g1x (x1* ,x2* ,..., xn* , 1* ,...m* ) K g1x (x1* ,x2* ,..., xn* , 1* ,...m* )
1 n
g X (x1 ,x2 ,..., xn , 1 ,...m )m x n =
* * * * *
M O M
m
g x (x1* ,x2* ,..., xn* , 1* ,...m* ) L g m x (x1* ,x2* ,..., xn* , 1* ,...m* )
1 n
g X ( x1 , x2 ,..., xn , 1 ,...m ) m x n es la transpuesta de la matriz anterior
T * * * * *
Una vez obtenida la matriz hessiana orlada se debe atender al signo de los menores principales a
partir del orden 2 m +1. Para el caso de mnimo se requieren que todos tengan el signo de (-1)m y
para mximo se requiere que los menores alternen en signo comenzando por el signo de (-1) m+1 .
Max f = f ( x1 , x2 ,..., xn )
x1 , x 2 ,...,xn
st : g1 ( x1 , x2 ,..., x n ) < m1
g 2 (x1 , x2 ,..., x n ) < m2
M
g m ( x1 , x2 ,..., x n ) < m m
L L
xj =0 0 xj 0 ( j = 1,2,..., n)
x j x j
L L
i =0 0 i 0 (i = 1,2,..., m)
i i
Los problemas de minimizacin pueden resolverse en trminos de las condiciones para mximo
mediante el simple artilugio:
Primero se debe definir la funcin objetivo como la opuesta (es decir multiplicada por -1)
Los problemas de minimizacin suelen tener desigualdades del tipo mayor o igual en
consecuencia se las debe transformar el sentido de las desigualdades multiplicando ambos
miembros por -1 de modo que las desigualdades sean del tipo menor o igual
6- IMPLEMENTACIN EN MAPLE
Como se apreci en las secciones anteriores la tarea de resolver los sistemas de ecuaciones que
surgen de las condiciones de primer orden como as tambin el cmputo de las matrices hessianas,
su evolucin en los puntos crticos y el clculo de los menores principales, es realmente tediosa y
demandante de un alto insumo de tiempo. En este sentido el presente paquete de optimizacin
permite al usuario mediante sencillos comandos resolver las condiciones de primer y segundo orden
para todos los puntos crticos de los diversos problemas planteados en la seccin anterior. Posee
adems la generalidad de ser extensivo a n variables y m restricciones.
Para ello se han creado un conjunto de rutinas que permiten incorporar nuevas funciones al lenguaje
Maple
INICIALIZACIONES :
od;
end:
end:
if(qq=2*nops(X)) then
print(Punto_Critico[j]);
print(A[j]);
print(fvalue=eval(f,A[j]));
gg:= [op(gg),eval(f,A[j])]:
L := [op(L),A[j]]:
print(____________________________________________________________);
fi;
od;
for uuu from 1 by 1 to nops(gg) do
if(max(seq(gg[ii],ii=1..nops(gg)))=gg[uuu]) then print([MaxGlobal_fvalue=gg[uuu],L[uuu]])
fi;
od;
end:
7- SINTAXIS Y EJEMPLOS
OPTIMIZACIN LIBRE
Sintaxis
Ejemplo
> libre(x^3+3*x*y^2-x*y,[x,y]);
OPTIMIZACIN RESTRICCIONES DE IGUALDAD
Sintaxis
Ejemplo
> lagrange(x^2+y^2,[3*x+5*y-1],[x,y],[l]);
Sintaxis
Maxkt ( funcin , listado de restricciones igualadas a cero "del tipo menor que" , listado
de variables independientes, listado de multiplicadores de lagrange );
Ejemplo
st: 3 x + 5 y < 1
> Maxkt(x^2+y^2,[3*x+5*y-1],[x,y],[l]);
8- BIBLIOGRAFA