Você está na página 1de 26

República Bolivariana de Venezuela

Universidad del Zulia


Facultad de Ingeniería
División de Estudios para Graduados
Instituto de Cálculo Aplicado

OPTIMIZACIÓN PARA INGENIEROS


Optimización Sin Restricciones

(Notas de clase)

Instructores:
Luis Zerpa
Juan Colmenares

Febrero 2004
Índice General
1. Derivada Direccional ........................................................................................................................ 2
2. Gradiente........................................................................................................................................... 3
3. Optimización Sin Restricciones ........................................................................................................ 4
3.1. Condiciones de primer y segundo orden para la existencia de extremos.................................. 4
3.2. Formulación de problemas de optimización ............................................................................ 5
3.3. Clasificación de problemas de optimización ............................................................................ 6
3.4. Métodos de Optimización Basados en Derivadas..................................................................... 6
3.4.1. Métodos Básicos de Descenso .......................................................................................... 6
3.5. Búsqueda lineal ......................................................................................................................... 7
3.5.1. Tipos de Métodos de Búsqueda Lineal ............................................................................. 8
3.5.2. Búsqueda de Fibonacci ..................................................................................................... 8
3.5.3. Búsqueda de la Sección Dorada...................................................................................... 10
3.5.4. Ajuste Cuadrático (Método DSC, Davies, Swann y Campey) ....................................... 10
3.5.5. Ajuste Cúbico.................................................................................................................. 11
3.5.6. Método del Gradiente...................................................................................................... 12
3.5.7. Método de Newton.......................................................................................................... 12
3.5.8. Método Quasi-Newton.................................................................................................... 13
3.5.9. Convergencia de Métodos de Ajuste de Curvas ............................................................. 13
3.5.10. Búsqueda Lineal Inexacta ........................................................................................... 14
3.6. Métodos Básicos de Descenso para funciones de varias variables ......................................... 16
3.6.1. Método del Descenso más Rápido .................................................................................. 16
3.6.2. Método de Newton.......................................................................................................... 20
3.6.3. Levenberg-Marquardt ..................................................................................................... 22

1
1. Derivada Direccional

La derivada direccional permite tener información del comportamiento de la función si sus variables se
modifican siguiendo el sentido indicado por el vector gradiente.

La Derivada direccional de f en p según el vector unitario µ


[ Dµ f(p) ] es el producto escalar del gradiente en p, por µ :

Dµ f(p) = ∇f(p). µ

¿En qué sentido deberían desplazarse las variables de f, partiendo del punto p, para que los valores
de f crezcan mas rápidamente?

Como la rapidez está dada por : ∇f(p).µ. En esta expresión se suponen ya conocidos f y p; faltando
conocer “µ” que haga máximo el producto escalar.

Siendo ∇f(p). µ = ∇f(p). µ Cos θ = ∇f(p).(1). Cos θ

Donde : θ , es el ángulo formado por los vectores ∇f(p) y µ

∇f(p). µ , Será máximo si y sólo si Cos θ es máximo, ósea cuando


θ = 0 y ∇f(p) con µ son colineales. Lo cual significa que el
vector unitario µ debe tener el mismo sentido que el vector
gradiente de f en p.

∇f ( p )
µ= ........ (*)
∇f ( p )

(*) significa que el vector gradiente de una función f en un punto


p, ∇f(p), de su dominio se orienta en el sentido en el cual f
crece mas rápidamente.

2
2. Gradiente
El gradiente de una función escalar de n variables f ( x1 , x 2 ,K , x n ) , denotado por ∇f , es el vector n-
dimensional
 ∂f ∂f ∂f 
∇f =  , ,K , 


 1x ∂x 2 ∂x n
El gradiente de una función en un punto indica la dirección, a partir de ese punto, en la que dicha
función crece más rápidamente y, además, la dirección ortogonal a las curvas de nivel de f (curvas en
las que la función tiene un valor constante).

El Hessiano de una función escalar de n variables f ( x1 , x 2 ,K , x n ) , denotado por H f , es la matriz


de dimensión n × n
∂2 f ∂2 f ∂2 f 
 2 L 
 ∂x1 ∂x1∂x 2 ∂x1∂x n 
 2 
 ∂ f ∂2 f ∂2 f 
L
H f =  ∂x 2 ∂x1 ∂x 2 ∂x 2 ∂x n 
 2 
M 
 
 ∂2 f ∂2 f ∂2 f 
 ∂x ∂x L 
 n 1 ∂x n ∂x 2 ∂xn2 

Una matriz cuadrada A es definida positiva si :

x T Ax > 0 ∀x ≠ 0
y es negativa si la desigualdad es la contraria.

3
3. Optimización Sin Restricciones

3.1. Condiciones de primer y segundo orden para la existencia de extremos.


r
Teorema: Si x0 es una solución óptima (finita) al problema de optimización sin restricciones entonces
r
∇f = 0 .
r r
Definición: Puntos críticos aquellos que satisfacen la condición ∇f = 0 ó ∇f no ∃ (e.g. extremos,
puntos de silla).
r
Teorema: Sea la función f ( x ) definida en En y cuyas derivadas parciales de segundo orden son
r r r
continuas. Si ∇f = 0 y la matriz Hesiana evaluada en x0 es definida negativa (positiva), entonces x0
r
es un máximo (mínimo) local de f ( x ) .

Como consecuencia del Teorema de Taylor

r r r r r 1 r r r
f ( x ) = f ( x0 ) + ∇f T ( x0 ) ⋅ ( x − x0 ) + ( x − x0 ) Η ( x0 )( x − x0 )
T

2!

r r 1 r r r
f ( x ) − f ( x 0 ) = ( x − x 0 ) Η ( x0 )( x − x0 )
T

2
r r r
Si H( x0 ) es definida negativa, f(x) < f( x0 ) y x0 es un máximo.

r r
Teorema: Si x0 es un máximo (mínimo) local de f(x) en En luego la matriz Hesiana evaluada en x0
debe ser definida o semidefinida negativa (positiva).

Resumen:
r r
x0 es un máximo local x0 no es un máximo local
r r
H( x0 ) es definida negativa y ∇f = 0 þ ý
r r
H( x0 ) es semidefinida negativa y ∇f = 0 þ þ
r r
H( x0 ) es indefinida y ∇f = 0 ý þ

r r
x0 es un mínimo local x0 no es un mínimo local
r r
H( x0 ) es definida positiva y ∇f = 0 þ ý
r r
H( x0 ) es semidefinida positiva y ∇f = 0 þ þ
r r
H( x0 ) es indeifnida y ∇f = 0 ý þ
4
r
Teorema: Cualquier función f ( x ) definida en En con primeras derivadas y segundas derivadas
parciales continuas es cóncava (convexa) en una región suficientemente pequeña alrededor de cualquier
r
máximo (mínimo) local x0 .

El gradiente y el Hessiano cumplen para funciones de varias variables el mismo rol que las
derivadas primera y segunda en funciones de una variable. Si la función tiene un extremo local el
gradiente se anula y es máximo o mínimo dependiendo de que la matriz Hessiana sea definida positiva
o negativa respectivamente.

Lo expuesto hasta aquí sugiere que para hallar extremos locales es necesario resolver la ecuación
vectorial:
∇f ( x ) = 0

Sin embargo, hasta para funciones sencillas, la resolución del sistema de ecuaciones que se deriva de
la ecuación anterior es casi siempre más complejo que la propia optimización. Es por ello que surgen
diversos métodos que persiguen la solución del problema original basándose en consideraciones
geométricas.

Los métodos de optimización basados en derivadas, se fundamentan en los conceptos de gradiente y


Hessiano, para determinar la dirección de desplazamiento sobre la superficie de la función objetivo.

3.2. Formulación de problemas de optimización

Cualquier problema de optimización, por complejo que sea, puede expresarse en los siguientes
términos:

Encontrar un vector x tal que se minimice una


función objetivo f ( x )
Sujeto a restricciones de la forma:
gk (x) ≤ 0
k = 1,..., m
donde x es un vector de variables independientes.

La función objetivo puede tener un solo mínimo, en cuyo caso se denomina unimodal, o varios
mínimos locales o globales, en cuyo caso se denomina multimodal.

5
3.3. Clasificación de problemas de optimización

• De acuerdo a la forma de f ( x ) y las restricciones:


♦ Programación lineal: f ( x ) y las restricciones son lineales.
♦ Programación no lineal: f ( x ) y/o las restricciones son no lineales.
• De acuerdo a la presencia o no de restricciones:
♦ Optimización no restringida: El problema de optimización no tiene restricciones.
♦ Optimización restringida: El problema de optimización tiene restricciones.
• Según su dimensionalidad:
♦ Optimización unidimensional: función objetivo de una variable.
♦ Optimización multidimensional: función objetivo de varias variables.
• Según el número de funciones objetivo:
♦ Optimización con un objetivo: Una sola función objetivo.
♦ Optimización con múltiples objetivos: Varias funciones objetivo.

Existen varios métodos para resolver un problema de optimización. Estos métodos pueden agruparse
en dos grandes clases: Métodos de optimización basados en derivadas y métodos de optimización no
basados en derivadas.

3.4. Métodos de Optimización Basados en Derivadas

3.4.1. Métodos Básicos de Descenso

Son técnicas básicas utilizadas en la solución iterativa de problemas de minimización sin restricciones.

Ofrecen la forma más simple y directa de resolver estos problemas.

Ofrecen en términos prácticos una referencia con relación a la dificultad de implementación y


velocidad de convergencia.

En general, las técnicas avanzadas se comparan con estas técnicas básicas.

Estructura Básica
1. Se inicia en un punto.
2. Se determina la dirección de descenso mediante una regla fija. (Primera diferencia entre
algoritmos)
3. Y luego se desplaza hacia el mínimo en esa dirección. (Búsqueda lineal)

La forma general de los métodos básicos de descenso se puede expresar como,


r r
x1 = x 0 − αd

6
En seudo código:
algoritmo.setStartingPoint(Double Matrix point)
if (!algoritmo.checkStopCondition())
{
algoritmo.determinarDireccionDescenso();
algoritmo.avanzar();
}

3.5. Búsqueda lineal


Las técnicas de búsqueda lineal son realmente procedimientos de optimización para una sola variable, y
que es realizado repetidamente en problemas de varias variables.

La elección de una dirección de búsqueda tiene un alto costo computacional, es por ello que los
métodos de descenso basados en gradiente sufren modificaciones con el objeto de minimizar o reducir
el número de cálculos de gradiente, Hessiano, e inversión de matrices. La modificación fundamental
consiste en reducir el problema a uno de optimización a lo largo de la dirección de descenso.

Específicamente se debe resolver el sub-problema de optimización:

Encontrar α

min f (x i −1 − α ⋅ d )
α

donde d es la dirección de descenso. Hallado el α óptimo se inicia una nueva iteración de descenso.

Este sub-problema es sensiblemente más sencillo que la optimización general ya que es un


problema de una dimensión con una única variable α.

La elección de un método adecuado de búsqueda lineal es de gran importancia en un algoritmo de


optimización. La búsqueda lineal es responsable de un alto porcentaje del costo de la evaluación de la
función objetivo.

Estos métodos pueden ser con o sin uso de derivadas.

7
3.5.1. Tipos de Métodos de Búsqueda Lineal

Directos
• Gradiente
• Newton
• Quasi-Newton
• Secante

Interpolación Polinómica
• Cuadrática
• Cúbica
• DSC (Davies, Swann y Campey)

Basados en intervalos
• Bisección
• Búsqueda de Fibonacci
• Búsqueda Dorada

Métodos Inexactos
• Armijo
• Goldstein

3.5.2. Búsqueda de Fibonacci

Este método determina el mínimo valor de una función f sobre un intervalo cerrado [c1, c2]. Esta
función puede estar definida en un dominio más amplio, pero el método requiere que dicho intervalo de
búsqueda sea definido.

Se asume que f es unimodal.

El mínimo es determinado (al menos aproximadamente) mediante la evaluación en un cierto número de


puntos. Se pretende definir una estrategia de búsqueda que seleccione la observación siguiente basada
en los valores funcionales de las observaciones anteriores.

Esto se define según el siguiente problema:

• Encontrar como seleccionar sucesivamente N observaciones, sin contar con un conocimiento


explícito de la función, de forma tal que podamos encontrar la más pequeña región de
incertidumbre posible en donde se encuentre el mínimo.

Esta región de incertidumbre es determinada en cualquier caso por: las observaciones (sus valores
funcionales) y la suposición de que f es unimodal.

Luego que encontremos los valores funcionales en N puntos dentro del intervalo cerrado [c1, c2]
c1 ≤ x1 ≤ … ≤ xN-1 ≤ xN ≤ c2

8
la región de incertidumbre es el intervalo [xk-1, xk+1] donde xk es el mínimo de los N puntos evaluados.
En ese intervalo de encuentra el mínimo.

La estrategia para seleccionar sucesivamente observaciones para obtener la región de incertidumbre


más pequeña se describe a continuación:

d1 = c2 – c1 ; es la amplitud inicial de la incertidumbre

dk à es la amplitud de la región de incertidumbre luego de k observaciones

F 
Si son realizadas N observaciones se tiene que d k =  N − k +1 d1
 FN 

Donde Fk son los números de la secuencia Fibonacci generados por la relación:

FN = FN -1 + FN -2 donde F0 = F1 = 1

Donde cada número después de los dos primeros representa la suma de los dos precedentes.

Procedimiento para la reducción de la sección de incertidumbre:


1. Especificar N
F
2. Calcular N −1
FN
F 
3. Colocar simétricamente desde los extremos del intervalo inicial a distancia  N −1 d 1 , dos
 FN 
observaciones
4. De acuerdo a donde se encuentre la muestra con menor valor funcional se determina la región
F 
de incertidumbre, d 2 =  N −1 d1
 FN 
5. La tercera muestra es colocada simétricamente dentro de este nuevo intervalo con respecto a la
observación ya incluida en el intervalo, de forma tal que la amplitud de la región de
F 
incertidumbre sea  N − 2 d1
 FN 

9
3.5.3. Búsqueda de la Sección Dorada

Pertenece a los métodos de


búsqueda lineal basados en
intervalos, además es una versión
mejorada de la búsqueda de
Fibonacci.

En la búsqueda de la Sección
Dorada se usan tres valores de la
función para detectar el valor
extremo, se toma un cuarto número,
y se determina donde ocurre el xl xu
mínimo, en los primeros tres o los
últimos tres valores. Primera
l0
Iteración
Se minimiza la evaluación de la l1 l2
función objetivo al reemplazar los
valores anteriores con los nuevos,
Segunda
haciendo que se cumplan las
siguientes condiciones: Iteración l2

l0 = l1 + l2
la primera condición específica que la suma de las dos sublongitudes l1 y l2
l1 l 2 debe ser igual a la longitud original del intervalo. La segunda indica que el
= cociente o razón de las longitudes debe ser igual.
l 0 l1

sustituyendo,
l1 l
= 2
l1 + l 2 l1
l2
se toma el reciproco y haciendo R = , se llega a
l1
1
1+ R =
R

R2 + R −1 = 0

resolviendo para la raíz positiva

− 1 + 1 − 4(− 1) 5 −1
R= = = 0.61803K à este valor se conoce como la Razón Dorada
2 2

y permite encontrar de forma eficiente el óptimo.

• Se comienza con los valores extremos del intervalo xl, xu que contienen el extremo local de f(x).
10
• Dos puntos interiores de escogen de acuerdo a
5 −1
d= ( xu − xl )
2
x1 = xl + d
x2 = xu - d
• Se evalúa la función en los dos puntos interiores
5 −1
o Si f(x1) < f(x2) à xl = x2 ; x2 = x1 ; x1 = xl + ( xu − xl )
2
5 −1
o Si f(x2) < f(x1) à xu = x1 ; x1 = x2 ; x 2 = xu − (xu − xl )
2

A continuación se presentan algunos métodos de Búsqueda Lineal por ajuste de curvas. Estos se basan
en que en la mayoría de los problemas, además de asumir que la función objetivo es unimodal, también
se asume que posee cierto grado de suavidad (derivable). Entonces se pueden desarrollar técnicas más
eficientes que aprovechen esta propiedad. Técnicas de esta naturaleza se basan en procedimientos de
ajuste de curvas suaves para estimar el mínimo.

3.5.4. Ajuste Cuadrático (Método DSC, Davies, Swann y Campey)

El método DSC es un método de búsqueda lineal por ajuste de curvas (interpolación polinómica), es
recomendado para determinar la región donde se encuentra el mínimo en funciones de una sola
variable.

En la búsqueda unidimensional DSC, se toman pasos cuya dimensión se va incrementando


sucesivamente hasta que el mínimo es sobrepasado y luego se realiza una interpolación cuadrática. En
la figura se muestra el procedimiento del método DSC

1
f(x) 2

4 5
6

∆x 2∆x 4∆x 8∆x

x(m-3) x(m-2) x(m-1) x(m+1) x(m)

1. Se evalúa f(x) en el punto inicial x(0)


Si f(x(0) + ∆x) ≤ f(x(0)), pase al paso 2
Si f(x(0) + ∆x) > f(x(0)), haga ∆x = - ∆x y pase al paso 2.

10
2. Calcule x(k+1) = x(k) + ∆x

3. Calcule f(x(k+1))

4. Si f(x(k+1)) ≤ f(x(k)), duplique ∆x (∆x = 2∆x) y regrese al paso 2 con k = k+1


Si f(x(k+1)) > f(x(k)), denote x(k+1) como x(m), x(k) como x(m-1), etc., se reduce ∆x a la mitad y se
regresa al paso 2 y 3 para un solo cálculo adicional.

5. De los 4 valores igualmente espaciados de x en el conjunto { x(m+1), x(m), x(m-1), x(m-2)}, descarte
x(m) o x(m-2), el que esté más lejano de la x de menor valor funcional. Los tres valores restantes
del conjunto pueden ser denotados como x(a), x(b), x(c), donde x(b) es el punto central y
x(a) = x(b) - ∆x y x(c) = x(b) + ∆x

6. Se realiza una interpolación cuadrática para estimar x* (el valor de la variable independiente
correspondiente al mínimo de f(x))
(b )
x* ≈ x* = x +
[ ( ) ( )]
∆x f x ( a ) − f x (c )
donde ∆x = x(a) - x(b)
[ ( ) ( ) ( )]
ˆ (a ) (b ) (c )
2 f x −2f x + f x

Estos pasos completan la primera etapa del método DSC. Para continuar, se realiza el mismo
procedimiento desde x̂ * o x(c), si f(x(c)) < f( x̂ * ), se reduce ∆x y se inicia el procedimiento.

3.5.5. Ajuste Cúbico

Dados xk-1 y xk junto a f(xk-1), f’(xk-1), f(xk), y f’(xk) es posible ajustar una ecuación cúbica en los puntos.

El punto xk+1 (mínimo) puede ser determinado como el punto mínimo relativo de esta ecuación cúbica.

 f ' ( x k ) + u 2 − u1 
x k +1 = x k − ( x k − x k −1 ) 
 f ' ( x k ) − f ' ( x k −1 ) + 2u 2 
donde,
f ( x k −1 ) − f (x k )
u1 = f ' ( x k −1 ) + f ' ( x k ) − 3
x k −1 − x k

[
u 2 = u1 − f ' ( x k −1 ) f ' ( x k )
2
]1
2

11
3.5.6. Método del Gradiente

Supongamos que f(x) es una función de una f’(x)


variable a ser minimizada y que f(x) y f ’(x)
existen.

xk+1 = xk – f ’(xk)

Un factor de escalamiento es empleado para f(x)


escalar el gradiente

xk+1 = xk – αf ’(xk) à Método del gradiente xk xk+1


modificado

Si g(x) = αf ’(x) à Nótese que el punto xk+1 no depende de f(x)


xk+1 = xk – g(xk)

En un principio el valor de α ∈ (0,1], es decir, es un parámetro ajustable seleccionado por el análista.

Es deseable que α decrezca a medida que progresa la búsqueda, lo que hace que tengamos dos
parámetros por ajustar: α0 y la tasa de disminución de α.

Con el método de Newton tales parámetros son calculados directamente en cada iteración.

3.5.7. Método de Newton

Supongamos una función f de una variable a ser minimizada y supongamos que en xk es posible evaluar
f(xk), f ’(xk) y f ”(xk). Entonces es posible construir una función cuadrática a partir del desarrollo de
Taylor:

q(x ) = f (xk ) + f ' (xk ) ⋅ (x − xk ) + f ' ' ( x k )( x − x k )


1 2

2
f(x)
se puede estimar xk+1 determinando el punto donde
la derivada de q se hace cero.

q' ( x k +1 ) = f ' ( x k ) + f ' ' ( x k )( x k +1 − x k ) = 0 xk xk+1

f ' (xk ) 1
x k +1 = x k − Nótese que no depende de f(x) y α =
f ' ' (xk ) f ' ' (x k )

El método puede ser visto como la resolución iterativa de ecuaciones de la forma g(x) = 0, donde,
cuando es aplicada a minimización, hacemos g(x) ≡ f ’(xk)

g (xk )
x k +1 = x k −
g ' (xk )
12
Implementación
Para la implementación de este método es necesario calcular la primera y segunda derivada de la
función como derivadas direccionales, obteniendo un valor escalar, de la siguiente manera,
r
f ' ( x k ) = ∇f ( x k ) ⋅ d
r r
f ' ' (xk ) = d T ⋅ H (xk ) ⋅ d

donde d es el vector unitario de la dirección de descenso

3.5.8. Método Quasi-Newton

Cuando no es posible evaluar analíticamente las primeras y segundas derivadas, se pueden emplear
métodos de diferencias finitas para calcularlas:

f ( x + ∆x ) − f ( x − ∆x ) f (x + ∆x ) − 2 f ( x ) + f ( x − ∆x )
f ' (x ) = f ' ' (x ) =
2∆x ∆x 2

3.5.9. Convergencia de Métodos de Ajuste de Curvas

Se han analizado la convergencia de estos métodos en la vecindad de la solución. La aplicación directa


de estos métodos en su forma pura tiene el riesgo de desviar el proceso sin sentido. Es decir, el proceso
de búsqueda puede nunca estar cerca de un mínimo global. Para evitar esto se debe combinar nuestro
conocimiento del comportamiento local con condiciones que garanticen la convergencia.

En este sentido: (e.g. Ajuste cuadrático DSC)


Asumamos una función f que se desee minimizar, tal función es unimodal y continua, y ∈ C2. Se inicia
el proceso de búsqueda lineal identificando a lo largo de la dirección de búsqueda los tres puntos
siguientes: x1, x2 y x3 tal que x1 < x2 < x3 y f(x1) ≥ f(x2) ≤ f(x3)

Esta secuencia de puntos puede ser determinada como lo hace DSC.

La principal razón de usar este patrón es que su ajuste cuadrático tendrá un mínimo (en lugar de un
máximo) y dicho mínimo caerá en el intervalo [x1, x3].

El punto x4 determinado a partir del ajuste cuadrático y f(x4) es evaluado, este reemplaza a uno de los
puntos de la triada anterior (x1, x2, x3).
Si f(x4) ≤ f(x2) à (x1, x2, x3)n = (x2, x4, x3)
Si f(x2) < f(x4) ≤ f(x3) à (x1, x2, x3)n = (x1, x2, x4)

Luego se prosigue iterativamente ajustando otra ecuación cuadrática y continua.


13
Se sugiere y se acepta implícitamente que uno debe requerir que f(xk+1) < f(xk). Si tal inecuación no se
cumple en algún sitio se debe emplear un método especial para encontrar un mejor xk+1 que si la
satisfaga.

Esta construcción puede ser empleada para producir procedimientos efectivos con los restantes
métodos de ajuste.

3.5.10. Búsqueda Lineal Inexacta

En la práctica no se determina el mínimo de la búsqueda lineal en forma exacta. En este sentido, es


deseable sacrificar precisión en la búsqueda lineal con el propósito de favorecer el tiempo de computo
general.

(Recordemos que el mínimo en una búsqueda local no tiene porque ser el mínimo de la función).

La imprecisión es generalmente introducida simplemente terminando la búsqueda lineal antes de que


converja.

La naturaleza exacta de la imprecisión depende de:


• La técnica de búsqueda empleada
• El criterio de parada

Criterios de terminación de la búsqueda lineal

• Prueba de porcentaje
r r r
Sea x k +1 = x k − αd ; este criterio determina α para estar dentro de un porcentaje del verdadero valor.
Específicamente, si se selecciona una constante c tal que 0 < c < 1 (típicamente c = 0.1) y el parámetro
α en la búsqueda lineal es determinado de forma tal que satisfaga α − α ≤ cα donde α es el
verdadero valor de minimización.

Por ejemplo, para el caso de ajuste por interpolación cuadrática (DSC) se usa un patrón de tres puntos
aplicado a una función unimodal, se sabe que el punto mínimo verdadero se encuentra entre en
intervalo cubierto por los tres puntos, por lo tanto se puede deducir un límite para el máximo error
fraccional posible. Entonces, se realizan las iteraciones hasta que este límite sea menor que c.

• Regla de Armijo
Primero garantiza que α no sea muy grande y luego que no sea muy pequeño.

Sea, φ (α ) = f ( x k + αd k )

La regla de Armijo es implementada al considerar la función φ(0) + ε φ’(0)α para ε ∈ (0,1). Esta
función está representada por la línea segmentada en la figura.

14
Un valor de α se considera que no es muy grande si el φ
valor de la función cae debajo de la línea punteada; es
decir, si φ(α) ≤ φ(0) + ε φ’(0) α ...................(*)

Para asegurar que α no sea muy pequeño, un valor de


η > 1 es seleccionado, y α no es considerado muy
pequeño si φ(ηα) > φ(0) + ε φ’(0) ηα , si α crece η
veces falla el criterio anterior. Intervalo aceptable α

Regla de Armijo como método de Búsqueda lineal:


1. Se comienza con una α arbitrario
2. Si se satisface (*), se incrementa α al multiplicarlo por η hasta que no se satisfaga (*) y la
penúltima α es seleccionada.
3. Si inicialmente, el α no satisface (*) entonces se divide por η hasta que se satisfaga (*)

Valores típicos: η = 2 ó η = 10, y ε = 0.2

• Prueba de Goldstein
Similarmente a la regla de Armijo, α se considera que no es muy grande si φ(α) ≤ φ(0) + ε φ’(0) α ...(*)
con 0 < ε < ½
φ
α se considera que no es muy pequeño
si φ(α) > φ(0) + (1 - ε)φ’(0) α

un valor aceptable de α esta dado por


f ( x k +1 ) − f ( x k )
ε≤ ≤ 1− ε
α∇f ( x k )d k
0.2 ≤ ………………≤ 0.8 Intervalo aceptable α

15
3.6. Métodos Básicos de Descenso para funciones de varias variables

3.6.1. Método del Descenso más Rápido


Este método, denominado también método del gradiente, es una de las técnicas más antiguas para
minimizar una función definida en un espacio multidimensional. Su filosofía es muy sencilla: la
dirección contraria a la del vector gradiente en un punto es la dirección de más rápido decrecimiento de
la función en ese punto.

El procedimiento a seguir es el siguiente:

1.- Se selecciona un punto inicial xi sobre la superficie y se determina el gradiente ∇f ( xi ) en ese


punto.

2. Se determina un nuevo punto según la fórmula:


xi +1 = xi − α∇f ( xi )
donde α es un número positivo.

3. Se repite el paso 2 hasta que se encuentre un punto xi+1 tal que


∇f ( xi +1 ) = 0

A continuación se ilustra el método con un ejemplo.

Ejemplo 1: Se desea minimizar la función

f ( x , y ) = −20 + x 2 + y 2

En la Figura 3.1 se muestra la superficie de esta función, evaluada en la región

{(x , y ) x ∈ [− 2, 2] ∧ y ∈ [− 2, 2]}
Como puede notarse en la gráfica, esta función es unimodal, es decir, tiene un único mínimo. Dicho
mínimo está ubicado en el punto (0,0). Supongamos que se asume como punto inicial, el punto (-1.7,
1.7635).

El gradiente de esta función en un punto cualquiera ( xo , yo ) , está dado por:


∇f = (2 xo ,2 y o )

16
2
x
1.5

0.5

y
-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x

Figura 3.1  Curvas de nivel de la función objetivo del ejemplo 1

En la Figura 3.1 se muestran las curvas de nivel de la función así como también el punto inicial (con
una x) y la dirección del gradiente en dicho punto (con una flecha), y el punto en el que se ubica el
mínimo (con una o). Como puede observarse, las curvas de nivel corresponden a círculos concéntricos
con centro en el origen. Según el método, el segundo punto estaría ubicado sobre la recta que contiene
al vector dirección del gradiente, y a una distancia determinada por el valor de α. En la Figura 3.2 se
ilustra la evolución del método para un α = 0.25 . Los círculos representan las aproximaciones del
mínimo calculadas por el método.

1.5

0.5

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 10.4
Figura 3.2 – Evolución del método del descenso más rápido con α=0.25,
para la función objetivo del ejemplo 1

17
2

1.5

0.5

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 3.3  Evolución del método del descenso más rápido con α=0.9, para la función objetivo del
ejemplo 1

En la Figura 3.3 se ilustra nuevamente la aplicación del método, pero ahora con un valor α = 0.9 .
Como puede observarse, el segundo punto se pasa del valor del mínimo para después retornar y
estabilizarse en dicho valor.

En los dos casos anteriores, la dirección del gradiente siempre apunta hacia el mínimo global de la
función. Esto se debe a que las curvas de nivel son circulares. Cuando las curvas de nivel tienen otra
forma, la dirección del gradiente, que es ortogonal a la curva de nivel en el punto en el que se calcula,
no apunta necesariamente hacia el mínimo. En estos casos, la dirección de búsqueda del mínimo
cambia de una iteración a otra, haciendo que el proceso sea más lento.

Ejemplo 2: Se desea minimizar la función


f ( x , y ) = −20 + 3 x 2 + y 2
En la Figura 3.4 se muestra la superficie de esta función, evaluada en la región
{( x , y ) x ∈ [− 2 , 2] ∧ y ∈ [− 2 , 2]}

18
Figura 3.4 – Función objetivo del ejemplo 2

El gradiente de esta función en un punto cualquiera ( xo , yo ) , está dado por:


∇f = (6 xo ,2 yo )

Esta función, al igual que la anterior, es unimodal, con el mínimo ubicado en el punto (0,0). En este
caso se asume como punto inicial, el punto (-1.7, 1.7). Como puede observarse en la Figura 3.5, las
curvas de nivel de esta función son de forma elíptica, y el cambio de la dirección de búsqueda de una
iteración a otra, se observa en la línea en forma de zigzag que se muestra en dicha Figura.

1.5

0.5

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 3.5 – Ilustración del método del descenso más rápido,


para la función objetivo del ejemplo 2

19
3.6.2. Método de Newton
En este caso, la dirección de búsqueda se determina utilizando la segunda derivada de la función
objetivo. El método aproxima la función objetivo f en la vecindad de un mínimo con una serie de
Taylor truncada hasta el término de segundo orden, es decir:

f a ( x ) = f ( x i −1 ) + ∇ f ⋅ ( x − x i − 1 ) + (x − xi −1 )T H f (x − xi −1 )
1
2

Dado que la aproximación f a es una función de segundo orden, ésta es unimodal, y su mínimo es una
buena aproximación del mínimo de la función objetivo. El mínimo de la función f a se determina
haciendo f a' = 0 y calculando el valor de x i que satisface la ecuación. Se obtiene entonces:
∇f + H f ( x i − x i −1 ) = 0

(a) (b)
Figura 3.6 – Direcciones de búsqueda calculada por los métodos de descenso más rápido y de Newton.
Para una función con curvas de contorno: (a) circulares, y (b) elípticas

Si la inversa de H f existe, se tiene que:

x i = x i −1 − H −f 1 ⋅ ∇f
que es el denominado método de Newton o de Newton-Raphson.

En la Figura 3.6a y Figura 3.6b se muestran las direcciones calculadas por los métodos del descenso
más rápido y de Newton para el caso de curvas de nivel circulares y elípticas, respectivamente. Como
puede observarse, en la Figura 3.6a ambas direcciones coinciden y apuntan hacia el mínimo, no así en
la Figura 3.6b donde no coinciden ya que la dirección calculada por el método de Newton apunta hacia
el mínimo, mientras que la calculada por el método del descenso más rápido es perpendicular a la curva
de nivel.

20
Ejemplo 3: Para efectos de comparación, en este ejemplo se minimiza la misma función del ejemplo
anterior:
f ( x , y ) = −20 + 3 x 2 + y 2
utilizando el método de Newton.

Como se vio anteriormente, el gradiente de esta función en un punto cualquiera ( x , y ) , está dado por:

∇f = (6 x ,2 y )

mientras que el Hessiano es la matriz:

1 0 
6 0 −1  6 
Hf = ⇒Hf =
0 2  0 1 
 2

La aproximación de esta función utilizando la serie de Taylor es exacta, debido a que es una función
cuadrática. Entonces, el mínimo que calcula el método, coincide con el mínimo deseado. Por esta
razón, el método encuentra el mínimo en una iteración.
2

1.5

0.5

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

Figura 3.7 – Evolución del método de Newton, para la función objetivo del ejemplo 3

En la Figura 3.7 se muestra la evolución del proceso de minimización para este ejemplo. Puede
observarse la convergencia del método en una iteración.

En los casos en los que la función no es cuadrática, se hacen aproximaciones sucesivas del mínimo
utilizando la ecuación:

x i = x i − 1 − α ⋅ H −f 1 ⋅ ∇f

21
donde α es positivo, hasta que se encuentra un valor cercano según una tolerancia especificada. En
cada punto en los que se evalúe la ecuación anterior, debe ocurrir que el Hessiano sea una matriz
positiva definida (todos sus valores propios son positivos), para que la dirección de búsqueda sea una
dirección descendente. Los valores propios de una matriz cuadrada A de dimensión n × n , son las raíces
λ del polinomio:

det (λI − A)

el cual se conoce como polinomio característico de la matriz A. I es la matriz identidad de dimensión


n × n. En general, la condición de matriz positiva definida se cumple en la vecindad del mínimo, pero
no existe garantía que ocurra en puntos lejanos al mismo. Existe un conjunto de modificaciones al
método de Newton, para superar este inconveniente. Entre otros, puede citarse el método de
Levenberg-Marquardt.

3.6.3. Levenberg-Marquardt
Está dado por la ecuación:
xi = xi −1 − α (λI + H f ) ⋅ ∇f
−1

donde α y λ son positivos e I es la matriz identidad. La idea es seleccionar λ de manera que la matriz
λI − H f sea positiva definida. La ecuación anterior se aproxima al método del descenso más rápido si
λ → ∞ , y al método de Newton λ → 0 . Usualmente se seleccionan valores iniciales grandes de λ, los
cuales se disminuyen a medida que nos aproximamos al mínimo.

Los tres métodos discutidos hasta ahora son métodos de optimización local, debido a que están
basados únicamente en información proveniente de las derivadas de la función. Esto significa que si la
función objetivo es multimodal, es decir, tiene varios mínimos locales y globales, el método encontrará
aquel mínimo (global o local) que esté más cercano al punto inicial seleccionado.

Ejemplo 4: Minimice la función:

f (x , y ) = −
1 0.6

1 + 2( x − 1.5 )2 + ( y + 1)2 1 + ( x + 1)2 + ( y − 1.5 )2

En la Figura 3.8 se muestra la superficie definida por esta función. Como puede observarse la función
tiene dos mínimos (bimodal): uno local, ubicado en el punto (-1,1.5) y otro global, ubicado en el punto
(1.5,-1). Si se utiliza un método basado en derivadas, se encontrará el mínimo más cercano al punto
inicial seleccionado.

22
Figura 3.8 – Función objetivo del ejemplo 4

En la Figura 3.9 se muestran las curvas de nivel y la evolución del método del descenso más rápido en
la búsqueda del mínimo, a partir de dos puntos iniciales: (-2.8,2.8), desde el cual se llega al mínimo
global y el otro, (2.8,-2.8) desde donde se llega al mínimo local. Utilizando el método de Newton se
obtiene un resultado similar.

Existen algunas modificaciones a los métodos basados en gradiente para convertirlos en métodos de
optimización global, por ejemplo, comenzar el proceso iterativo desde varios puntos iniciales.

En todos los ejemplos anteriores la función objetivo está definida explícitamente, por lo que, el cálculo
del gradiente y del Hessiano se hace de manera analítica. Sin embargo, este no es el caso en la mayoría
de las aplicaciones reales de métodos de optimización, en las cuales se hace necesario calcular
aproximaciones numéricas tanto para el gradiente, como para el Hessiano.

0
y

-1

-2

-3
-3 -2 -1 0 1 2 3
x

23
Figura 3.9 – Evolución del método del descenso más rápido, para la función objetivo del ejemplo 4

En la práctica se utilizan estrategias de descenso que utilizan varios métodos, de la siguiente manera:
1. Se emplea el método de Newton clásico, si no hay descenso (esto lo responde búsqueda lineal)
2. Se emplea el método de Levenberg-Marquardt con un λ inicial, λk = 0.001, si no hay descenso
se incrementa en una razón, λk = β⋅λk
3. Si no hay descenso después de varios intentos, se emplea el método del descenso más rápido.

24

Você também pode gostar