UNIDAD 01 del area de comunicación 2do grado secundariax
Optimizacion Univariada
1. Optimización
El supuesto más importante de comportamiento que se hace en economía
es que los agentes optimizan. (Ejemplos: Consumidor, Firmas, Teoría de
Juegos y Bienestar).
Adicionalmente en Econometría la optimización es utilizada. Para los econometris-
tas el problema consiste en minimizar una función, maximizar una verosimil-
itud o encontrar una matriz de pesos que minimiza la distancia entre mo-
mentos.
Por todo lo anterior, los métodos de optimización son un tema central para
el análisis económico.
2. 1. El problema general
El problema más general de optimización usualmente toma la siguiente forma
mı́n
x
f (x)
s.a. g (x) = 0,
h (x) ≤ 0,
donde f : Rn → R es la función objetivo, g : Rn → Rm es el vector de
m restricciones de igualdad y h : Rn → Rl es el vector de restricciones de
inigualdad.
3. 2. Clases de métodos numéricos
En general, todos los métodos numéricos que veremos buscan dentro del espacio
de posibles soluciones, generando una secuencia de conjeturas que se espera
converjan a la solución verdadera.
2.1. Clasificación de los métodos de optimización (diferen-
ciados por el tipo de información utilizada)
Calcular las funciones objetivo y las restricciones en muchos puntos y se-
leccionar el punto que proporciona el mayor (o menor) valor. (útiles cuando
se presentan discontinuidades o saltos súbitos en la función objetivo).
4. Los gradientes de la función objetivo y de las restricciones pueden ser
utilizados para obtener información sobre puntos a los cuales moverse.
(Diferenciabilidad de la función objetivo y las restricciones es necesaria.
No usan mucho espacio en términos del computador)
En adición al gradiente, información sobre la curvatura de la función obje-
tivo y de las restricciones puede ser utilizada. (Requieren que las funciones
sean doblemente diferenciables y usan más espacio en el computador. Sin
embargo, pueden converger muy rápido)
5. 3. Minimización Unidimensional
El problema más sencillo de optimización toma la forma
mı́n
x∈R
f (x)
donde f : R → R.
3.1. Método de bracketing
La idea detrás del método de bracketing consiste en particionar el espacio de
soluciones de tal manera que se garantiza en la partición obtenida un mínimo
6. local. Para ello, es necesario encontrar puntos a, b y c tales que a b c y
tanto f (a) como f (c) son mayores que f (b) . La figura 1 ilustra el caso.
f(x)
x
a m1 m2
d b c
f(x)
x
a m1 m2
d b c
Figura 1: Método de Bracketing
7. 3.1.1. Algoritmo de Bracketing
1. Encuentre a b c tales que f (a) , f (c) f (b). Elija un criterio de
convergencia ε.
2. Elija d: Si b − a c − b, entonces d = (b + c) /2. En caso contrario,
d = (a + b) /2.
3. Calcule f (d).
4. Elija una nueva tripleta (a, b, c) : Si d b y f (d) f (b) , reemplace
(a, b, c) con (d, b, c) . Si d b y f (d) f (b) , reemplace (a, b, c) con
(a, d, b) . Si d b y f (d) f (b) , entonces reemplace (a, b, c) con
(b, d, c) . En caso contrario, reemplace (a, b, c) con (a, b, d) .
8. 5. Convergencia: Si c − a ε, DETÉNGASE. En caso contrario, vuelva al
paso 2.
Es importante recordar que este método llegará a una solución, pero la única
garantía es que esa solución es un mínimo local. Si el tipo de función que se
está minimizando cumple con propiedades como convexidad por ejemplo, la
convergencia al mínimo global implica convergencia al mínimo global
9. 3.2. Método de Newton-Raphson-Simpson
Para funciones en C2 del tipo f (x), el método de Newton es a menudo utiliza-
do. El método de Newton consiste en aproximar la función f (x) a través de
un polinomio cuadrático (p (x)) y entonces encontrar la solución óptima para
la aproximación. El supuesto es que si la aproximación es lo suficientemente
buena, la solución encontrada para p (x) debe ser la misma o por lo menos
muy cercana a la solución de f (x). Para llevar a cabo Newton se necesita un
punto inicial (a) alrededor del cual se aproxima la función
p (x) ≡ f (a) + f′ (a) (x − a) +
f′′ (a)
2
(x − a)2 .
El valor que minimiza la anterior función viene dado por
10. xm = a −
f′ (a)
f′′ (a)
y de aquí la descripción típica del método de Newton unidimensional viene dada
por
xn+1 = xn −
f′ (xn)
f′′ (xn)
(1)
TEOREMA 4.1.1 Suponga que f (x) es minimizada en el punto x∗, C3 en
una vecindad de x∗, y que f′′ (x) = 0. Entonces hay un ε 0 tal que si
|x0 − x∗| ε, entonces la secuencia definida en (1) converge cuadráticamente
a x∗, en particular
11. lı́m
n→∞
|xn+1 − x∗|
|xn − x∗|2 =
1
2
f′′′ (x∗)
f′′ (x∗)
es la tasa cuadrática de convergencia.
3.2.1. Sobre criterios de convergencia con Newton
El teorema anterior garantiza que Newton nos llevará a una solución pero es
importante recalcar que esta es una propiedad asintótica, por consiguiente es
importante pensar en criterios de convergencia que nos digan cuando detenernos
en la búsqueda de un óptimo. La idea como siempre es detenernos cuando la
diferencia entre xk − x∗ es despreciable. Una manera tradicional de pensar en
cuando denerse consiste en usar el hecho que f′ (x∗) = 0 y detenerse cuando
12. f′ (xk) es lo suficientemente pequeño. Sin embargo la curvatura f′′ (x∗) nos
proporciona información sobre lo sabio de tomar esta decisión. En particular, si
f′′ (x∗) es cercano a cero, hay muchos puntos en los que f′ (x) es cercano a
cero, algunos para nada cerca a x∗. Así las cosas, la condición de convergencia
estándar requiere que f′ (xk) sea cerca a cero y que por lo menos las dos
iteraciones anteriores estén muy cerca.
La combinación de (1) con los criterios de convergencia da lugar al método de
Newton:
3.2.2. Método de Newton en R
1. Elija una conjetura inicial x0 y parámetros de convergencia δ, ε 0.
13. 2. xk+1 = xk − f′ (xk) /f′′ (xk) .
3. Si
xk − xk+1
ε (1 + |xk|) y
f′ (xk)
δ, DETÉNGASE; de lo con-
trario vaya al paso 2.
Comentarios
Escala numérica (hacerle la vida al computador más fácil)
Minimización Local vs Global
14. 4. Optimización multidimensional
La mayoría de problemas que se resuelven en economía corresponden a proble-
mas de optimización de la forma
mı́n
x
f (x)
donde x es un vector de variables y f : Rn → Rn.
4.1. Búsqueda a través de una malla de puntos (Grid Search)
El método más primitivo para encontrar un mínimo consiste en determinar una
malla de puntos, entre 100 y 1000, evaluar f (x) en esos puntos y elegir el
15. mínimo. Aunque suene simple y hasta tonto, este método puede ser muy útil
para determinar parámetros iniciales y hacer buenas conjeturas que pueden ser
utilizadas en los algoritmos más sofisticados.
4.2. Método Simplejo (Polytope methods)
El método simplejo es un método de comparación multidimensional. La idea
general consiste en pensar en alguien bajando una montaña. El procedimiento
empieza construyendo un simplejo en Rn, se analiza cada uno de los vértices
a las luz de la función f (x) y se busca un reemplazo para el vértice asoci-
ado al valor más alto de la función. Si dicho reemplazo no existe, se debe
entonces reducir el simplejo hacia el vértice asociado con el menor valor. Este
procedimiento se sigue hasta que algún criterio de convergencia se cumpla.
16. 4.2.1. Algoritmo simplejo
1. Elija el criterio de convergencia ε. Construya el simplejo inicial
x1, x2, ..., xn+1
.
2. Reordene los vértices del simplejo de tal manera que f
xi
≥ f
xi+1
, i =
1, ..., n.
3. Encuentre el mínimo i tal que f
xi
f
yi
donde yi es el reflejo de
xi. Si existe ese i, haga xi = yi y vaya al paso 2. De lo contrario, vaya al
paso 4.
4. Regla de convergencia: Si el ancho del simplejo actual es menor que ε,
DETÉNGASE. De lo contrario, vaya al paso 5.
17. 5. Reduzca el simplejo: Para i = 1, ..., n haga xi = 1
2
xi + xn+1
y vaya
al paso 2.
A C B’
B
A’ A’’ C’
B’’
A’’’
A C B’
B
A’ A’’ C’
B’’
A’’’
Figura 2: Método Simplejo
18. 4.3. Método de Newton para problemas multivariados
Cuando existe información adicional sobre la función objetivo (en particular
sobre la curvatura de la misma), métodos como el de Newton pueden ser uti-
lizados para tomar ventaja de dichas características. De manera similar a la
versión univariada, el método buscará una solución a la aproximación de se-
gundo orden de la función objetivo. Esta solución será el nuevo conjunto de
parámetros utilizados en el proceso de minimización, proceso que seguirá hasta
que dichos parámetros no cambien demasiado.
Formalmente tenemos que el método de Newton una secuencia de puntos xk
es analizada, donde en cada iteración se reemplaza f (x) con una aproximación
cuadrática alrededor de xk y se elige xk+1 el cual es el punto crítico de la
aproximación local. En xk la aproximación cuadrática es
19. f (x) ≈ f
xk
+ ∇f
xk
x − xk
+
1
2
x − xk
′
H
xk
x − xk
con solución (sin importar si H
xk
es positiva definida o no)
xk+1 = xk − H
xk
−1
∇f
xk
′
. (2)
TEOREMA 4.3.1 Suponga que f (x) es C3, minimizada en x∗, y que H (x∗)
es no singular. Entonces hay algún ε 0 tal que si
x0 − x∗
ε, entonces
la secuencia definida en (2) converge cuadráticamente a x∗.
20. 4.3.1. Sobre criterios de convergencia en Newton (de nuevo)
Igual que en el caso univariado, se requiere de un criterio de convergencia para
detener el proceso iterativo cuando estamos cerca a un mínimo. En el caso
multivariado la decisión se hace basados en xk, f
xk
, ∇f
xk
y H
xk
.
El primer paso consiste en determinar si la secuencia convergió. El test de
convergencia es de la forma
xk+1 − xk
ε
1 +
xk
.
El segundo paso, si el test de convergencia se satisface, consiste en determinar si
la última iteración satisface las condiciones de primer orden. El test se concentra
en saber si el gradiente ∇f
xk
es zero y para ello toma la forma
21. ∇f
xk
≤ δ
1 +
f
xk
.
4.3.2. Algoritmo: Método de Newton en Rn
1. Elija la conjetura inicial x0 y criterios de convergencia δ y ε 0.
2. Calcule el hesiano, H
xk
, y el gradiente, ∇f
xk
y resuelva H
xk
sk =
−
∇f
xk
′
para el incremento sk ≡ xk+1 − xk.
3. xk+1 = xk + sk.
22. 4. Si
xk − xk+1
ε
1 +
xk
vaya al paso 5, de lo contrario vaya al
paso 2.
5. Si
∇f
xk
≤ δ
1 +
f
xk
, DETÉNGASE y reporte convergencia,
de lo contrario DETÉNGASE y reporte convergencia a un punto no óptimo.
Comentarios
Local vs. Global.
Cálculo del gradiente y del hesiano.
23. 4.4. Métodos de direccionamiento
Los métodos más útiles en optimización de funciones suaves y diferenciables
son los métodos de direccionamiento. Estos métodos consisten en determinar
un conjunto de direcciones hacia las cuales moverse y llevar a cabo búsquedas
unidimensionales en cada dirección. Estos métodos reducen un problema mul-
tidimensional a una serie de problemas unidimensionales (los cuales son más
sencillos de solucionar). Lo que se espera es encontrar un punto en donde el
gradiente desaparece al encontrar un mínimo
∇f · u = 0 ∀u ∈ Rn.
Lo métodos difieren en la forma como se eligen las direcciones y aproximaciones.
Sin embargo, el procedimiento seguido por ellos es muy similar: Tomando como
24. dada la información de f evaluada en xk, se calcula una búsqueda de dirección,
sk. Después de esto se debe encontrar el λk que minimiza f sobre la línea
xk + λksk. El siguiente valor de la iteración es determinado por xk+1 = xk +
λksk. Si las derivadas de f evaluada en xk+1 y
λksk
son lo suficientemente
cercanas a cero, el proceso convergió, en caso contrario se continúa.
4.4.1. Algoritmo: Método de direccionamiento genérico
1. Elija conjetura inicial x0 y parámetros de convergencia δ y ε 0.
2. Calcule una búsqueda de dirección sk.
3. Resuelva λk = arg mı́nλ f
xk + λsk
.
25. 4. xk+1 = xk + λksk.
5. Si
xk − xk+1
ε
1 +
xk
vaya al paso 6, de lo contrario vaya al
paso 2.
6. Si
∇f
xk
≤ δ
1 +
f
xk
, DETÉNGASE y reporte convergencia,
de lo contrario DETÉNGASE y reporte convergencia a un punto no óptimo.
26. 4.4.2. Direccionamiento por Coordenadas
El método de direccionamiento por coordenadas se mueve a través del conjun-
to de vectores unitarios
ej : j = 1, ..., n
. Así en la iteración mn + j + 1,
sea λ∗ el argumento que minimiza f
xmn+j + λej
y la siguiente iteración
xmn+j+1 = xmn+j + λ∗ej. Este método convergerá a un mínimo para fun-
ciones suaves dado que siempre se mueve hacia abajo. Sin embargo, puede
tomar tiempo para que llegue a una solución.
4.4.3. Descenso más pronunciado (steepest descent)
En el método de descenso más pronunciado, la búsqueda de dirección desde
un punto x se lleva a cabo seleccionando la dirección a través de la cual f cae
27. más rápidamente por unidad de largo. Del cálculo se sabe que el ascenso más
pronunciado viene dado por el gradiente. Así, el paso 2 del método genérico de
direccionamiento para este caso es
sk+1 = −
∇f
xk
′
.
Este método tiene la ventaja de que siempre se moverá hacia menores valores
de la función y localmente siempre se moverá hacia abajo. Sin embargo, el
problema radica en su lentitud y en el hecho de que su aproximación es local.
En general el problema con los métodos de direccionamiento por coordenadas
y el descenso más pronunciado es que pueden ser muy lentos. Además, el direc-
cionamiento por coordenadas puede no encontrar el verdadero punto óptimo,
mientras que el método de descenso sólo nos garantiza una solución local.
28. 4.4.4. Método de Newton con búsqueda lineal
El método de Newton se puede entender como un caso especial de un método
de direccionamiento en el que la búsqueda de dirección viene dada por sk =
−H
xk
−1
∇f
xk
′
y λk = 1. Así las cosas, el método de Newton se
puede entender como un método de direccionamiento con una elección fija de
λk = 1. De aquí tenemos que una manera de refinar el método de Newton
puede ser buscando el λk = arg mı́nλ f
xk + λsk
en lugar de fijarlo en 1.
Lo que se sabe es que cuando se usa este método en un comienzo puede ser
adecuado elegir λk pero si estamos cerca de la solución, es mejor fijar el λk = 1
ya que este es que garantiza la convergencia cuadrática mostrada en el Teorema
4.3.1.
29. 4.4.5. Métodos Quasi Newton
Potencialmente cualquier método que utiliza el hesiano puede tener problemas
ya que hay que calcularlo y guardarlo en memoria. Una manera de solucionar
este problema, consiste en reemplazar el verdadero hesiano por otra matriz que
desempeña el papel del hesiano a la hora de buscar la mejor dirección. Este
hesiano aproximado es siempre semidefinido positivo y es más fácil de calcular
e invertir. Lo que estos métodos hacen entonces es buscar un hesiano Hk que
genere una buena búsqueda de dirección sk = −H−1
k
∇f
xk
′
la cual debe
ser como el verdadero hesiano en el sentido que
H−1
k
∇f
xk
′
−
∇f
xk−1
′
= xk − xk−1,
y que garantice que sk es siempre en una dirección descendente.
30. 4.4.6. Algoritmo: Método BFGS (Broyden-Fletcher-Goldfarb-Shanno)
1. Elija conjeturas iniciales para x0, H0 = I y criterios de convergencia δ y
ε 0.
2. Resuelva Hksk = −
∇f
xk
′
para la búsqueda de direccionamiento
sk.
3. Resuelva λk = arg mı́nλ f
xk + λsk
.
4. xk+1 = xk + λksk.
31. 5. Actualice Hk :
zk = xk+1 − xk
yk =
∇f
xk+1
′
−
∇f
xk
′
,
Hk+1 = Hk −
Hkzkz′
kHk
z′
kHkzk
+
yky′
k
y′
kzk
6. Si
xk − xk+1
ε
1 +
xk
vaya al paso 7, de lo contrario vaya al
paso 2.
7. Si
∇f
xk
≤ δ
1 +
f
xk
, DETÉNGASE y reporte convergencia,
de lo contrario DETÉNGASE y reporte convergencia a un punto no óptimo.
32. Existe una fórmula anterior a la propuesta por BFGS que funciona en algunas
ocasiones, esta es la desarrollada por Davidon-Fletcher-Powell (DFP) y toma
la forma
Hk+1 = Hk +
(yk−Hkzk)y′
k+yk(yk−Hkzk)′
y′
kzk
−
z′
k(yk−Hkzk)yky′
k
(y′
kzk)2 .
Es importante destacar que bajo métodos quasi newton el verdadero hesiano
nunca es calculado y por consiguiente si es necesario estimarlo para hacer in-
ferencia, este debe ser calculado al final. Una manera rápida de hacer esto (y al
mismo tiempo de confirmar convergencia) consiste en utilizar la solución final
de BFGS como parámetros iniciales de Newton. Si en verdad estamos en una
solución, tan sólo tomará una iteración para que el algoritmo converja y nos
calcule el hesiano. En caso contrario, la búsqueda por un óptimo debe continuar.
33. 4.4.7. Dirección por Conjungados
Los métodos Newton y Quasi Newton necesitan de un estimador del hesiano.
Este puede ser grande y pueden haber problemas con su almacenamiento en un
computador (aunque con el avance de los computadores esto es cada vez menos
probable). El método de dirección por conjugados es un método que requiere
menos almacenamiento ya que utiliza solamente el gradiente e implícitamente
guarda información acerca de la curvatura de la función sin tener que calcular
un hesiano.
4.4.8. Algoritmo: Método del gradiente conjugado
1. Elija conjetura inicial x0, s0 = −∇f
x0
y criterios de convergencia δ y
ε 0.
34. 2. Resuelva λk = arg mı́nλ f
xk + λsk
.
3. xk+1 = xk + λksk.
4. Realice la búsqueda de dirección
sk+1 = −
∇f
xk+1
′
+
∇f xk+1
2
∇f(xk)2 sk.
5. Si
xk − xk+1
ε
1 +
xk
vaya al paso 6, de lo contrario vaya al
paso 2.
6. Si
∇f
xk
≤ δ
1 +
f
xk
, DETÉNGASE y reporte convergencia,
de lo contrario DETÉNGASE y reporte convergencia a un punto no óptimo.