Académique Documents
Professionnel Documents
Culture Documents
Mtodos Analticos
Introduccin
Hasta aqu hemos analizado la forma de plantear un problema de optimizacin, ahora es el turno
de resolverlo. Si bien existen numerosos software para ese fin (Solver, LINGO, GAMS), poco
se podra hacer con ellos si no se tiene una nocin por lo menos de la forma en que trabajan. Por
ejemplo, suponga que quiere resolver el siguiente simple problema:
Max f(x) x3 9 x2 26 x 24
x
s.a. (1)
x 1.5
x 4.75
Utilizando el Solver de Excel, la solucin reportada (inicializando con x = 1.5) es xopt = 2.42 con
yopt = 0.38. Cualquier usuario sin experiencia podra tomar este resultado y utilizarlo ignorando
que en realidad no es el ptimo. En efecto, graficando f(x) vemos cul es el problema:
El Excel nos da una pista cuando le pedimos el informe de Lmites, la solucin ptima es xopt =
4.75 con yopt = 3.61, bastante diferente de la reportada al principio!. Este problema aumenta
geomtricamente con el nmero de variables.
Por otra parte, Solver tiene varios parmetros para regular, sin un conocimiento cabal de sus
significados dependeramos peligrosamente de la capacidad de los programadores para anticipar
Otro tanto ocurre con LINGO. Este programa nos facilita enormemente la tarea de ingresar el
modelo. Por ejemplo, el problema de los sensores planteados en el captulo anterior se formula
de la siguiente manera:
MODEL:
TITLE Validacion_II;
!En este ejemplo se considera la posibilidad de sensores
fallados;
SETS:
!Cada corriente tiene una valor verdadero otro medido
y una bandera de estado del sensor. Si la bandera es 1,
el sensor funciona bien;
Corrientes/Entrada1, Entrada2, Entrada3, Entrada4
Salida1, Salida2/: Caudal, Medido, Activo;
ENDSETS
DATA:
!Lecturas de los sensores;
Medido = 10, 11, 15, 14, 24, 25;
ENDDATA
INIT:
Caudal = 10, 11, 15, 14, 24, 25;
Activo = 1, 1, 1, 1, 1, 1;
ENDINIT
!Queremos minimizar el error y maximizar los sensores;
[Objetivo] MIN =
((@SUM( Corrientes: Activo*(Caudal-Medido)^2))/
(@SUM( Corrientes: Activo)-4));
!Sujeto a;
[Balance_Global] Caudal(1) + Caudal(3) = Caudal(5);
[Balance_Local1] Caudal(1) = Caudal(2);
[Balance_Local2] Caudal(3) = Caudal(4);
Observe que hay un bloque de inicializacin, qu tan sensible es LINGO a los valores
especificados en esta seccin. Por otra parte, cul es el significado del reporte de LINGO:
Para lograr un uso correcto de estas potentes herramientas, es necesario dominar algunos
conceptos tericos que sern tratados en este captulo.
Antes de resolver cualquier problema, debemos estudiar las funciones a fin de saber qu esperar
de sus comportamientos.
Funciones continua
Una funcin f(x) es continua en a si:
1. Existe f(a).
2. Existe el Lim f(x) para x tendiendo a a.
3. El valor de (1) es igual al valor de (2).
Funcin monotnica
Una funcin f(x) es monotnica si para todo par de puntos x1, x2 con x1 x2, se cumple f(x1)
f(x2) (montona creciente), o se cumple f(x1) f(x2) (montona decreciente). No es necesario
que se trate de una funcin continua.
Funcin unimodal
Un funcin es unimodal en a si es montona creciente para x a y montona decreciente para
x a. Tambin vale para la situacin inversa.
Definicin
Una funcin es unimodal en el intervalo [a, b] si y slo si es monotnica en ambos lados del
nico punto ptimo xopt en el intervalo. En otras palabras, si xopt es un punto mnimo de f(x) en
dicho intervalo, luego la funcin es unimodal si y slo si para todo punto x1 y x2,
y
x opt x1 x2 < f(x opt) f(x1) f(x2) (3)
Sea f(x) definida en la regin R, el punto xopt R es un mnimo local si y slo si existe un valor
/ >0 tal que f(xopt) f(x) para todo x que cumpla con |x - xopt| < /.
Observaciones:
Invirtiendo las desigualdades tenemos las definiciones para los mximos.
Si la funcin es unimodal, el mnimo local es automticamente el mnimo global.
Cuando la funcin no es unimodal, pueden existir mltiples puntos mnimos locales, y
el mnimo global slo puede ser determinado buscando todos los locales y seleccionando
el mejor.
Una funcin es cncava sobre una regin R si la siguiente relacin vale para todo par de puntos
xa y xb (pueden ser vectores) pertenecientes a R:
f[ xa (1 ) x b] f(xa) (1 ) f(x b)
(4)
[0,1]
Otra observacin interesante es que una la recta es cncava y tambin convexa, pero no
satisface las condiciones de estrictamente cncava ni convexa. Adems, la suma de dos
funciones mantiene el carcter.
Las ecuaciones utilizadas para definir las funciones cncavas y convexas no son muy cmodas
Regin convexa
Una regin R es convexa si para todo par de puntos xa y xb (pueden ser vectores) pertenecientes
a R se cumple:
x x a (1 ) x b
[0,1] (5)
x R
Es muy importante contar con un mtodo para determinar si una regin es o no es convexa
porque esto afecta la solucin del problema; en la Figura 5 se muestran dos casos donde una
funcin cncava est siendo maximizada. En el primer caso, el dominio es convexo, por lo tanto
basta con encontrar el nico mximo relativo (fcil de encontrar) que automticamente ser
tambin el mximo absoluto. En cambio, en el segundo caso misma funcin es maximizada en
un dominio no convexo; ahora, es necesario estudiar lo que ocurre en las fronteras.
La Figura 8 muestra los puntos que deben ser explorados en la bsqueda de un mximo en el
intervalo [a,b].
Si f(x) es continua y sus derivadas tambin, entonces podemos de desarrollar la serie de Taylor
alrededor del punto candidato a:
h2 h j (j)
f(a h) f(a) h f (a) f (a) ... f () (6)
2! j!
La condicin necesaria para que en a exista un punto ptimo se deriva de la siguiente manera.
Supongamos que en x = a existe un mnimo, debido a que para valores pequeos de h es el
primer trmino de la mano derecha el que domina, tenemos que el signo de la diferencia f(a+h) -
f(a) depende del signo de h, hecho que se opone con la definicin de mnimo. Para asegurar que
la definicin de mnimo no es violada no queda otra alternativa que f(a) = 0. Esta es la
condicin necesaria para que un punto interno o sin restricciones sea mnimo. De la misma
manera se puede demostrar para un punto mximo.
Sabiendo que el primer trmino debe ser nulo, ahora nos concentramos en el segundo trmino.
Para h pequeos, este trmino predomina sobre el resto y fija el signo de la diferencia f(a+h) -
La extensin de las mayoras de las definiciones antes realizadas son triviales, basta con pensar
que la variable x ahora es un vector. Aqu slo se repasarn las definiciones que incorporen
algn grado de dificultad.
En primer lugar, la f(x) ser reemplazada por el gradiente /f(x), mientras las segunda derivada
ser reemplazada por /2f(x) o Hessiano H(x) definido como:
02f(x) 02f(x)
0x12 0x10x2
H(x) (7)
02f(x) 02f(x)
0x20x1 0x22
Para los H semidefinidos, basta incorporara la igualdad. Cuando los autovalores tienen signos
mezclados, la funcin no es ni cncava ni convexa.
Mientras que los autovectores se obtienen de resolver el siguiente sistema de ecuaciones, una
vez por cada autovalor (la solucin no es nica):
(H i I) v i 0 (10)
Ejemplo
Clasifique la siguiente funcin:
2 2
f(x) 2 x1 3 x1 x2 2 x2 (11)
Calculando el Hessiano:
0f(x)
4 x1 3 x2 (12)
0x 1
0f(x)
3 x1 4 x2 (13)
0x 2
02f(x)
4 (14)
0x12
02f(x) 02f(x)
3 (16)
0x10x 0x20x
2 1
Ejemplo
Clasifique la siguiente funcin utilizando autovalores:
2 2
f(x) 2 x1 2 x1 x2 1.5 x2 7 x1 8 x2 24 (18)
El Hessiano es:
4 2
H(x) (19)
2 3
los autovalores son 5.56 y 1.44, ambos positivos; por lo tanto, la funcin es estrictamente
convexa.
Regiones convexas
Se mantiene la misma definicin pero ahora se utiliza el Hessiano. Veamos un ejemplo.
x1 x2 2 (22)
g2(x) x1 x2 2 0 (24)
Debemos demostrar que las dos funciones son cncavas, entonces calculamos los Hessianos:
2 0
H[g1(x)] (25)
0 0
0 0
H[g2(x)] (26)
0 0
como todos los autovalores son nulos o negativos, las matrices son semidefinidas negativas; por
lo tanto, las funciones son cncavas, y la regin es convexa. La Figura 9 muestra esta regin.
En la Figura 10 se puede ver los problemas que trae una regin no convexa, se pueden
Ejemplo
Calcule los puntos extremos de la siguiente funcin:
2 2 4 2
f(x) 4 4.5 x1 4 x2 x1 2 x2 2 x1 x2 x1 2 x1 x2 (28)
La forma ms aconsejable de manejar las restricciones de igualdades es utilizar las mismas para
eliminar una cantidad equivalente de variables (mtodo de sustitucin) y transformar el
problema original en un problema sin restricciones y con menor cantidad de variables. Este
mtodo ya fue explicado en un captulo anterior. A continuacin veremos un ejemplo:
Ejemplo
2 2
Min f(x) 4 x1 5 x2
s.a. (32)
2 x1 3 x2 6
sustituyendo en la funcin objetivo, tenemos la nueva funcin objetivo de una nica variable
y sin restricciones:
2
Min f(x2) 14 x2 36 x2 36 (34)
Como es una funcin de una nica variable podemos resolverlo con el mtodo estudiado en la
seccin anterior:
0f(x2)
28 x2 36 0 (35)
0x 2
Multiplicadores de Lagrange
Para aplicar el mtodo de los multiplicadores de Lagrange necesitamos llevar el problema
original a una forma donde slo existan restricciones fuertes (igualdades). A fin de analizar el
fundamento del mtodo, veamos el siguiente problema:
Min f(x1, x2)
s.a. (36)
h(x1, x2) 0
para que un punto sea considerado ptimo deber satisfacer las siguientes ecuaciones:
0f 0f
df 0 dx1 dx2
0x 1 0x 2
0h 0h (37)
dh 0 dx1 dx2
0x 1 0x 2
Debido a que las variables x1 y x2 no son independientes (estn vinculadas por la restriccin),
no es necesario pedir que ambas derivadas parciales de f sean nulas, sino que simplemente
pediremos que ambos trmino se cancelen mutuamente asegurando un df nulo (condicin para
ser un ptimo). Por otra parte, la segunda igualdad se debe cumplir porque h est igualada a una
constante (cero).
Las ecs. 37 constituyen un sistema de ecuaciones homogneo, el cual tendr solucin no trivial
(dx1 y dx2 no nulos) cuando el determinante sea igual a cero, esto es:
0f 0h
0x 2 0x 2
(39)
0f 0h
0x 1 0x 1
o tambin:
0f 0f
0x 2 0x 1
(40)
0h 0h
0x 2 0x 1
o lo que es equivalente:
0f 0h
0
0x 1 0x 1
0f 0h (41)
0
0x 2 0x 2
Si aplicamos a esta funcin las condiciones para un ptimo sin restricciones, obtendremos el
siguiente sistema de ecuaciones:
con incgnitas , x1 y x2. Observe que estas ecuaciones son las que obtuvimos en la ec. 41 y en
la ec. 36 como las condiciones que deba satisfacer un punto ptimo.
En este caso la solucin fue encontrada con tan slo resolver un sistema lineal de ecuaciones.
Sin embargo, en los casos en que el sistema a resolver es no lineal deberemos sopesar la
conveniencia de utilizar el mtodo de los multiplicadores debido a que la resolucin de un
sistema de ecuaciones lineales es tan o ms complejo que el problema original de optimizacin.
Se debe siempre verificar el xopt debido a que la funcin Lagraneana exhibe un punto de
ensilladura con respecto a x y .
M M (g (x)
m p
L(x, ) f(x) j h j(x) j j 12j ) (49)
j 1 j m 1
0L
0 i 1, ..., n
0x i
0L
0 j 1, ..., p
0j (50)
0L
2 j 1j 0 j m 1, ..., p
01j
j 0 j m 1, ..., p
Para un mximo de f(x) se debe cambiar el signo de la ltima desigualdad por j 0. Observe
que el valor de j se elige de tal modo que penaliza el no cumplimiento de las restriccin de
desigualdad.
Ejemplo
Resolvamos el siguiente problema:
Min f(x) x1 x2
s.a. (51)
g(x) 25 x1
2 2
x2 0
La Lagrangeana es:
L(x,) x1 x2 (25 x1
2
x2
2
1 2) (52)
El sistema es homogneo, por lo tanto las ecuaciones son dependiente, se debe probar para =
0 y para no nulo. La solucin para estos casos es:
x1 x2 1 f(x) Comentarios
0 0 0 5 0 Ensilladura
-0.5 3.54 -3.54 0 -12.5 Mnimo
-0.5 -3.54 3.54 0 -12.5 Mnimo
0.5 3.54 3.54 0 12.5 Mximo
0.5 -3.54 -3.54 0 12.5 Mximo
Entonces, el multiplicador indica la sensibilidad de tanto L(x) como de f(x) con respecto a e.
El parmetro e puede ser interpretado como los recursos existentes, mientras el correspondiente
multiplicador ser el precio sombra. El estudio de estos multiplicadores nos permite decidir
dnde conviene colocar inversiones adicionales, se colocar en las restricciones que afecten ms
favorablemente la funcin objetivo.
Los pueden ser positivos o negativos, pero los deben ser positivos. Si la desigualdad de las
restricciones fuera del tipo menor o igual a cero, debera ir sumando en lugar de ir restando el
la sumatoria correspondiente a las restricciones dbiles. Entonces, siempre pediremos 0.
Una direccin vlida de bsqueda s, debe asegurarnos que disminuir el valor de f(x). Esto se
verifica si se cumple /Tf(x) s < 0. Recuerde que el gradiente de una funcin indica hacia el
mximo, por lo tanto una direccin cuya proyeccin sobre el gradiente es negativa debe
necesariamente conducir hacia un mnimo. Analizando la Figura 12, vemos que el nico modo
de que no exista una direccin s que posibilite continuar minimizando (y por lo tanto ya
estaramos en un mnimo) es que el gradiente sea una combinacin lineal de los gradientes de
las restricciones activas, es decir:
/f(x opt) 1 [ /g1(x opt)]
opt
2 [ /g2(x opt)]
opt
(57)
Otra forma de decir esto es, la interseccin del cono de direcciones descendentes (toda s con
proyeccin negativa sobre /f(x)) con el cono de direcciones factibles (todas las s con proyeccin
positivas sobre los /g(x) de las restricciones activas) es vaca.
M
p
/f(x opt) j
opt
[ /g j(x opt)]
j m 1 (58)
opt
j 0
Sin embargo, como la relacin debe cumplirse slo para las restricciones activas, imponemos:
j
opt
0 si gj(x opt) 0
opt
(59)
j 0 si gj(x opt) >0
o lo que es lo mismo:
opt
j g j(x opt) 0 (60)
M M
m p
/L(x opt, opt) /f(x opt) opt
j /hj(x opt) opt
j /g j(x opt) (61)
j 1 j m 1
Note que no figuran las variables 1 porque se hacen nulas para las restricciones activas, mientras
que para las restricciones no activas es nulo. Dada la relacin deducida anteriormente entre
los gradientes de las restricciones y de la funcin, concluimos que /L(xopt) debe ser nulo.
En resumen, las condiciones necesarias para que xopt sea un mnimo son:
1. f(x), hj(x) y gj(x) son todas diferenciables dos veces en xopt.
2. Las restricciones son satisfechas (tanto las fuertes como las dbiles).
3. Vale la calificacin de restricciones de segundo orden. Para esto, es suficiente con que
los gradientes de las restricciones activas (/gj(xopt)) y de las igualdades (/hj(xopt)) sean
linealmente independientes.
4. Vale jopt gj(xopt) = 0.
5. Vale /Lx(xopt, opt, opt) = 0.
6. Los jopt son no negativos.
7. La Hessiana de L sea semidefinida positiva para todo v para el cual vT*/gj(xopt) = 0 (de
las activas) y vT*/hj(xopt) = 0: vT*/2[L(xopt, opt, opt)]*v 0
vT*/hj(xopt) = 0
Observaciones: si f(x) es convexa, las hj(x) son lineales, las gj(x) son cncavas y xi 0, entonces
un mnimo local tambin es un mnimo global. Anlogamente, un mximo local es un mximo
global si la funcin objetivo es cncava y las restricciones forman un conjunto convexo.
Note que todas las condiciones que vimos pueden ser utilizadas para:
1. Verificar si un candidato dado es un punto ptimo.
2. Para encontrar candidatos. Si se hace esto, hemos transformado el problema de
Optimizacin en un problema de resolucin de un sistema de ecuaciones. Generalmente,
este nuevo problema puede ser tanto o ms complejo que el problema inicial, y por lo
tanto conviene la utilizacin de otro mtodo.
Ejemplo
Determinar si el punto (1.00, 4.90) es un mnimo local para el problema.
2
Min f(x) 4 x1 x2 12
s.a.
2 2
h1(x) 25 x1 x2 0
34 0
2 2
g1(x) 10 x1 x1 10 x2 x2 (62)
g2(x) (x1 3) (x2 1) 0
2 2
g3(x) x1 0
g4(x) x2 0
opt opt
c1 (10 2 x1 ) c2 ( 2 x1 ) 0
opt opt (63)
c1 (10 2 x2 ) c2 ( 2 x2 ) 0
es decir:
8 c1 2 c2 0
0.2 c1 9.8 c2 0 (64)
4. 1 puede tener cualquier valor porque g1(xopt) = 0, pero 2, 3 y 4 debern ser nulos.
5. Debemos verificar que el gradiente de la Lagrangeana es nulo.
opt opt opt opt
4 1 ( 2 x1 ) u1 (10 2 x1 ) 0 0
opt opt opt opt opt (65)
2 x2 1 (2 x2 ) u1 (10 2 x2 ) 0 0
es decir:
opt opt
4 2 1 8 u1 0
opt opt (66)
9.8 9.8 1 0.2 u1 0
6. Estos son valores permitidos por las condiciones que estamos verificando ya que 1opt
debe ser positivo, mientras 1opt puede tener cualquier valor.
7. Calculamos la Hessiana de la Lagrangeana:
02L
2 1 2 1
2
0x 1
(67)
02L
2 2 1 2 1
2
0x 2
Las derivadas cruzadas son nulas, por lo tanto el Hessiano en xopt es:
3.54 0
H(x opt) (68)
0 1.54
es definida positiva.
Sin embargo, el nico vector v que satisface vT*/g1(xopt) = 0 y vT*/h1(xopt) = 0, es el vector nulo;
por lo tanto, slo podemos demostrar la condicin necesaria vT*/2[L(xopt, opt, opt)]*v 0, pero
no la suficiente vT*/2[L(xopt, opt, opt)]*v > 0. Lo que ocurri es que para este problema, en xopt
no tenemos grados de libertad porque tenemos dos variables y dos restricciones fuertes.