Está en la página 1de 52

La Universidad del Zulia

Facultad de Ingeniera
Divisin de Estudios para Graduados
Programa: Computacin Aplicada

Asignatura:
Optimizacin para Ingenieros

1. Optimizacin sin restricciones


Condiciones de primero y segundo orden para la existencia de extremos
Bsqueda Lineal
Mtodos bsicos de descenso para funciones de varias variables

Prof. Luis Zerpa, M.Sc.


Email: lzerpa@ica.luz.ve
Derivada direccional
La derivada direccional permite tener informacin del
comportamiento de la funcin si sus variables se modifican
siguiendo el sentido indicado por el vector gradiente

La Derivada direccional de f en p segn el vector unitario


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

D f(p) = f(p)T

En qu sentido deberan desplazarse las variables de f, partiendo del


punto p, para que los valores de f crezcan ms rpidamente?
Derivada direccional
Como la rapidez est dada por : f(p)T

En esta expresin se suponen ya conocidos f y p; faltando conocer


que haga mximo el producto escalar

Siendo f(p)T = f(p). Cos = f(p).(1). Cos

Donde : , es el ngulo formado por los vectores f(p) y

f(p)T , ser mximo si y slo si Cos es mximo, 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
significa que el vector gradiente de una funcin f en
un punto p, f(p), de su dominio se orienta en el
f p sentido en el cual f crece mas rpidamente
Gradiente

El gradiente de una funcin escalar de n variables f(x1, x2,, xn,),


denotado por f, es el vector n-dimensional



fx





fx
,

f
x
,

,
f
x



x1 x
2 n
x

-5

-10

El gradiente de una funcin en un -15

punto indica la direccin, a partir de -20


2

ese punto, en la que dicha funcin 0

crece ms rpidamente y, adems, la -2 -1.5 -1 -0.5 0 0.5 1 1.5


2
2

-2 1.5
direccin ortogonal a las curvas de 1

nivel de f (curvas en las que la funcin 0.5

tiene un valor constante) 0

-0.5

-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Optimizacin Sin Restricciones

Formulacin del problema de optimizacin


Cualquier problema de optimizacin, por complejo que sea, puede
expresarse en los siguientes trminos

Encontrar un vector x tal que se minimice una funcin objetivo f(x)


Sujeto a restricciones de la forma:
gk x 0
k 1,...,
m

donde x es un vector de variables independientes

La funcin objetivo puede tener un solo mnimo, en cuyo caso se


denomina unimodal, o varios mnimos locales o globales, en cuyo
caso se denomina multimodal
Clasificacin de problemas de
optimizacin
De acuerdo a la forma de f(x) y las restricciones:
Programacin Lineal: f(x) y las restricciones son lineales
Programacin No-lineal: f(x) es no-lineal y las restricciones pueden ser
no-lineales
De acuerdo a la presencia o no de restricciones:
Optimizacin no restringida: El problema de optimizacin no tiene
restricciones
Optimizacin restringida: El problema de optimizacin tiene
restricciones
Segn su dimensionalidad:
Optimizacin unidimensional: funcin objetivo de una variable
Optimizacin multidimensional: funcin objetivo de varias variables
Segn el nmero de funciones objetivo:
Optimizacin con un objetivo: Una sola funcin objetivo
Optimizacin con mltiples objetivos: varias funciones objetivo
Clasificacin de problemas de
optimizacin
Existen varios mtodos para resolver un problema de optimizacin

Estos mtodos pueden agruparse en dos grandes clases:

Mtodos de optimizacin basados en derivadas

Mtodos de optimizacin no basados en derivadas


Mtodos de optimizacin basados en
derivadas
Mtodos bsicos de descenso
Son tcnicas bsicas utilizadas en la solucin iterativa de
problemas de minimizacin sin restricciones

Ofrecen la forma ms simple y directa de resolver estos problemas

Ofrecen en trminos prcticos una referencia con relacin a la


dificultad de implementacin y velocidad de convergencia

En general, las tcnicas avanzadas se comparan con estas tcnicas


bsicas
Estructura bsica de los mtodos bsicos
de descenso
1. Se inicia en un punto, x0
2. Se determina la direccin de descenso mediante una regla fija
(Primera diferencia entre algoritmos)
3. Luego, se busca el mnimo en esa direccin (Bsqueda lineal)

La forma general de los mtodos bsicos de descenso se puede


expresar como,
x1 x0 d
Bsqueda Lineal

Las tcnicas de bsqueda lineal son realmente procedimientos de


optimizacin para una sola variable, los cuales son realizados
repetidamente en problemas de varias variables

La eleccin de una direccin de bsqueda tiene un alto costo


computacional, es por ello que los mtodos de descenso basados
en gradiente sufren modificaciones con el objeto de minimizar o
reducir el nmero de clculos de gradiente, Hessiano, e inversin
de matrices

La modificacin fundamental consiste en reducir el problema a uno


de optimizacin a lo largo de la direccin de descenso
Bsqueda Lineal

Especficamente se debe resolver el sub-problema de


optimizacin:
Encontrar , tal que

min
f(x d
) i
1

donde d es la direccin de descenso

Hallado el ptimo se inicia una nueva iteracin de descenso


Bsqueda Lineal

Este sub-problema es sensiblemente ms sencillo que la


optimizacin general ya que es un problema de una dimensin con
una nica variable,

La eleccin de un mtodo adecuado de bsqueda lineal es de gran


importancia en un algoritmo de optimizacin

La bsqueda lineal es responsable de un alto porcentaje del costo


de la evaluacin de la funcin objetivo
Tipos de Mtodos de Bsqueda Lineal

Directos Basados en intervalos


Gradiente Biseccin
Newton Bsqueda de Fibonacci
Quasi-Newton Bsqueda Dorada
Secante

Interpolacin Polinmica Mtodos Inexactos


Cuadrtica Armijo
Cbica Goldstein
DSC (Davies, Swann y
Campey)
Bsqueda de Fibonacci

Este mtodo determina el mnimo valor de una funcin f sobre un


intervalo cerrado [c1, c2]

Esta funcin puede estar definida en un dominio ms amplio, pero


el mtodo requiere que dicho intervalo de bsqueda sea definido

Se asume que f es unimodal

El mnimo es determinado (al menos aproximadamente) mediante la


evaluacin en un cierto nmero de puntos

Se pretende definir una estrategia de bsqueda que seleccione la


observacin siguiente basada en los valores funcionales de las
observaciones anteriores
Bsqueda de Fibonacci
Esto se define segn el siguiente problema:
Encontrar como seleccionar sucesivamente N observaciones, sin contar
con un conocimiento explcito de la funcin, de forma tal que podamos
encontrar la ms pequea regin de incertidumbre posible en donde se
encuentre el mnimo

Esta regin de incertidumbre es determinada en cualquier caso por:


las observaciones (sus valores funcionales) y la suposicin 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
La regin de incertidumbre es el intervalo [xk-1, xk+1] donde xk es el
mnimo de los N puntos evaluados. En ese intervalo se encuentra el
mnimo
Bsqueda de Fibonacci

La estrategia para seleccionar sucesivamente observaciones para


obtener la regin de incertidumbre ms pequea se describe a
continuacin:

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

dk es la amplitud de la regin de incertidumbre luego de k


observaciones
F 1
Si son realizadas N observaciones se tiene que dk
F
Nk
d
1
N
Donde Fk son los nmeros de la secuencia Fibonacci generados por
la relacin:

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

Donde cada nmero despus de los dos primeros representa la


suma de los dos precedentes
Bsqueda de Fibonacci

Procedimiento para la reduccin de la seccin de incertidumbre:


1. Especificar N, y calcular los nmeros de la serie Fibonacci {F0, F1,, FN}
FN 1
2. Calcular
FN
FN1
3. Colocar simtricamente desde los extremos del intervalo inicial a distancia
F d1
dos observaciones N

4. De acuerdo a donde se encuentre la muestra con menor valor funcional se


determina la regin de incertidumbre, F
d2
F
N
1
d1
N

1. La tercera muestra es colocada simtricamente dentro de este nuevo intervalo con


respecto a la observacin ya incluida en el intervalo, de forma tal que la amplitud de
la regin de incertidumbre sea FN2
d1
FN
Bsqueda de la Seccin Dorada

La primera condicin especfica l0 l1 l2


que la suma de las dos
sublongitudes l1 y l2 debe ser igual
l1 l 2
a la longitud original del intervalo
l 0 l1
La segunda indica que el cociente
o razn de las longitudes debe ser
igual
l1 l
2
l1 l2 l1

l2 1
R 1 R R2 R10
l1 R
xl xu



11

45

1
1

R
0. Primera
61803 l0
2 2 Iteracin
l 1 l2
La Razn Dorada
Segunda
Bsqueda de la Seccin Dorada
1. Se comienza con los valores
extremos del intervalo xl, xu que
contienen el extremo local de f(x)
2. Dos puntos interiores de escogen
de acuerdo a
x1 = xl + d 5
d
1
xuxl
2
x2 = xu - d
xl x2 x1 xu
1. Se evala la funcin en los dos
puntos interiores Primera
l0
Iteracin
Si f(x1) < f(x2) xl = x2; x2 = x1; l1 l2
xl x1 xu

x
1x
l
5 1

xu
xl
Segunda
2 Iteracin l2

Si f(x2) < f(x1) xu = x1; x1 = x2;



x 2 x u
5 1
xu xl
2
Ajuste Cuadrtico (Mtodo DSC, Davies,
Swann y Campey)
El mtodo DSC es un mtodo de
bsqueda lineal por ajuste de
curvas (interpolacin polinmica),
es recomendado para determinar 1
la regin donde se encuentra el f(x) 2
mnimo en funciones de una sola
3
variable

En la bsqueda unidimensional 4
6
5

DSC, se toman pasos cuya x 2x 4x 8x


dimensin se va incrementando
x(m-3) x(m-2) x(m-1) x(m+1) x(m)
sucesivamente hasta que el
mnimo es sobrepasado y luego
se realiza una interpolacin
cuadrtica
Ajuste Cuadrtico (Mtodo DSC, Davies,
Swann y Campey)
1. Se evala 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/2 y repita el paso 1 1

2. Calcule x(k+1) = x(k) + x f(x) 2

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

4. Si f(x(k+1)) f(x(k)), duplique x 4


6
5

(x = 2x) y regrese al paso 2 con k = x 2x 4x 8x


k+1
x(m-3) x(m-2) x(m-1) x(m+1) x(m)
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 clculo adicional
Ajuste Cuadrtico (Mtodo DSC, Davies,
Swann y Campey)
1. 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 ms lejano 1
de la x de menor valor funcional. f(x) 2
Los tres valores restantes del
3
conjunto pueden ser denotados
como x(a), x(b), x(c), donde x(b) es
4 5
el punto central y 6
x(a) = x(b) - x y x(c) = x(b) + x x 2x 4x 8x

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


2. Se realiza una interpolacin
cuadrtica para estimar x* (el
valor de la variable independiente
correspondiente al mnimo de f(x))



x
f
xfx


a

c


b
x
*x
* x
2
fx
2
fxf
a
x
b

c donde x = x(a) - x(b)
Ajuste Cbico

Dados xk-1 y xk junto a f(xk-1), f (xk-1), f(xk), y f (xk) es posible ajustar


una ecuacin cbica en los puntos

El punto xk+1 (mnimo) puede ser determinado como el punto mnimo


relativo de esta ecuacin cbica

f
'xuu1
x
x
xx

k 2


k
1 k k k
1

f
'x
kf
'x
k
12
u
2

donde,
f
x fx
uf
' xf
' x3 k
1 k


1 k1 k
x
k1 xk

2
u u
f'
x
2
1
k
1f'
xk 1
2
Mtodo del Gradiente

Supongamos que f(x) es una funcin de una variable a ser


minimizada y que f(x) y f (x) existen
xk+1 = xk f (xk)
Un factor de escalamiento es empleado para escalar el gradiente
xk+1 = xk f (xk) Mtodo del gradiente modificado

El valor de (0,1], es decir, es un parmetro f(x)


ajustable seleccionado por el usuario
Es deseable que decrezca a medida que
progresa la bsqueda, lo que hace que
tengamos dos parmetros por ajustar: 0 y la
f(x)
tasa de disminucin de
Con el mtodo de Newton tales parmetros son
calculados directamente en cada iteracin
xk xk+1
Mtodo de Newton

Supongamos una funcin 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 funcin cuadrtica a partir del
desarrollo de Taylor:


q
xf
xk
f
'x
k


x
x
k
1
f
'
'x
k

x
x
2
k
2
Se puede estimar xk+1 determinando el punto donde la derivada de q
se hace cero

q
'x
k
1
f
'x
kf
'
'x
k
x
k
1
x
k0

f'xk
x 1xk
f(x)
f''x
k
k

xk xk+1
Mtodo de Newton

Implementacin
Para la implementacin de este mtodo en una funcin de varias
variables es necesario calcular la primera y segunda derivada de la
funcin como derivadas direccionales, obteniendo un valor escalar,
de la siguiente manera,

f'x
kfx
kd

f''
xk x
dH
T
kd

donde d es el vector unitario de la direccin de descenso


Mtodo Quasi-Newton

Cuando no es posible evaluar analticamente las primeras y


segundas derivadas, se pueden emplear mtodos de diferencias
finitas para calcularlas:


f
'
x


f
x
x
f
2
x


xx
f
'
'
x

f
x




x
2

f
x
2
x


f
xx

Bsqueda Lineal Inexacta
En la prctica no se determina el mnimo de la bsqueda lineal en
forma exacta
En este sentido, es deseable sacrificar precisin en la bsqueda
lineal con el propsito de favorecer el tiempo de computo general
Recordemos que el mnimo en una bsqueda local no tiene porque
ser el mnimo de la funcin
La imprecisin es generalmente introducida simplemente
terminando la bsqueda lineal antes de que converja
La naturaleza exacta de la imprecisin depende de:
La tcnica de bsqueda empleada
El criterio de parada
Bsqueda Lineal Inexacta
Criterios de terminacin de la bsqueda lineal
Prueba de porcentaje: Sea xk+1 = xk + d; este criterio determina
para estar dentro de un porcentaje del verdadero valor
Especficamente, se selecciona una constante c tal que 0 < c < 1
(tpicamente c = 0.1) y el parmetro en la bsqueda lineal es
determinado de forma tal que satisfaga | - *| c* donde * es el
verdadero valor de minimizacin
Bsqueda Lineal Inexacta
Regla de Armijo
Primero garantiza que no sea muy grande y luego que no sea
muy pequeo
fxk d k

La regla de Armijo es implementada al considerar la funcin


(0) + (0) para 0 < < 1
Esta funcin est representada por la lnea segmentada en la figura

Interv
a loaceptable
Bsqueda Lineal Inexacta
Regla de Armijo
Un valor de se considera que no es muy grande si el valor de la
funcin cae debajo de la lnea punteada; es decir, si
() (0) + (0)
Para asegurar que no sea muy pequeo, se selecciona un valor
de > 1, y se considera que no es muy pequeo si
() > (0) + (0) ,

Esto quiere decir que si es aumentado por un


factor , falla el criterio anterior que requera
que el valor de la funcin estuviera por debajo
de la lnea punteada
La regin aceptable definida por la regla de
Armijo en la figura corresponde a un valor de
Interv
a loaceptable
igual a 2
Bsqueda Lineal Inexacta
Regla de Armijo
En la prctica, la regla de Armijo es utilizada para definir una tcnica
de bsqueda lineal simplificada que no utiliza el ajuste de curvas
1. Se define un arbitrario
2. Si se satisface () (0) + (0) ; el valor de es aumentado
repetidas veces por hasta que ya no se satisface esta desigualdad
y se selecciona el penltimo
3. Si () > (0) + (0) ; el inicial se considera muy grande y se
divide repetidas veces por hasta que se consiga un apropiado
Valores tpicos: = 2, y = 0.2
Mtodo del Descenso ms Rpido

Este mtodo, denominado tambin mtodo del gradiente, es una de


las tcnicas ms antiguas para minimizar una funcin definida en
un espacio multidimensional
Su filosofa es muy sencilla: la direccin contraria a la del vector
gradiente en un punto es la direccin de ms rpido decrecimiento
de la funcin en ese punto
El procedimiento a seguir es el siguiente:
1. Se selecciona un punto inicial sobre la superficie y se determina el
gradiente en ese punto
2. Se determina un nuevo punto segn la frmula: x 1
i xi fxi

donde es un nmero positivo, dado por algn mtodo de bsqueda


lineal

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


f xi10
Mtodo del Descenso ms Rpido

Ejemplo 1:

Evolucin del mtodo para un = 0.25 Evolucin del mtodo para un = 0.9

2 2

1.5 1.5

1 1

0.5 0.5

0 0

-0.5 -0.5

-1 -1

-1.5 -1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Mtodo del Descenso ms Rpido

Ejemplo 2: Se desea minimizar la funcin


2 2
f(x
,y)
203
x
y
Esta funcin es unimodal

El mnimo est ubicado en el punto (0,0)

Supongamos que se asume como punto


inicial, el punto (-1.7, 1.7)

El gradiente en un punto cualquiera es,


f = {6x, 2y}
Mtodo del Descenso ms Rpido

Ejemplo 2: Se desea minimizar la funcin


2 2
f(x
,y)
203
x
y

Las curvas de nivel de esta funcin son de 1.5

forma elptica, y el cambio de la direccin 1

0.5
de bsqueda de una iteracin a otra, se
0
observa en la trayectoria en forma de
-0.5
zigzag
-1

-1.5

-2
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
Mtodo de Newton

En este caso, la direccin de bsqueda se determina utilizando la


segunda derivada de la funcin objetivo
El mtodo aproxima la funcin objetivo f en la vecindad de un
mnimo con una serie de Taylor truncada hasta el trmino de
segundo orden,


f
a
x

fx

i
1

f

x1
x

i1 T

x
x
i
1
H
fx
x

i
1
2

Dado que la aproximacin fa es una funcin de segundo orden, sta


es unimodal, y su mnimo es una buena aproximacin del mnimo
de la funcin objetivo
El mnimo de la funcin fa se determina haciendo fa= 0 y calculando
el valor de xi que satisface la ecuacin

f
H f
xi
x
i
1 0
Mtodo de Newton

Si la inversa de Hf existe, se tiene que:



1
i
x x
i
1Hf
f

Que es el denominado mtodo de Newton o de Newton-Raphson

Direcciones de bsqueda calculada por los mtodos de descenso ms rpido y de Newton


Mtodo de Newton

Ejemplo 3: Se desea minimizar la funcin


2 2
f(x
,y)
203
x
y
utilizando el mtodo de Newton
2

1.5
El gradiente en un punto cualquiera es,
f = {6x, 2y}
1

0.5

mientras que el Hessiano es la matriz 0

-0.5


1 0

60 1 6 -1

f
H H

02 f
0 1 -1.5

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

La aproximacin de esta funcin utilizando la serie de Taylor es exacta, debido a


que es una funcin cuadrtica
Mtodo de Newton
En los casos en los que la funcin no es cuadrtica, se hacen
aproximaciones sucesivas del mnimo utilizando la ecuacin

x
ix
i
1
H
1
ff

donde es positivo, hasta que se encuentra un valor cercano al


extremo mnimo relativo, segn una tolerancia especificada

En cada punto en los que se evale la ecuacin anterior, debe


ocurrir que el Hessiano sea una matriz positiva definida, para que la
direccin de bsqueda sea una direccin descendente

En general, la condicin de matriz positiva definida se cumple en la


vecindad del mnimo, pero no existe garanta que ocurra en puntos
lejanos al mismo
Mtodo de Levenberg-Marquardt

Est dado por la ecuacin

xi
x
IH

i1f f

1

donde y son positivos e I es la matriz identidad


La idea es seleccionar de manera que la matriz I - Hf sea positiva
definida
La ecuacin anterior se aproxima al mtodo del descenso ms
rpido si , y al mtodo de Newton 0
Estrategia de descenso

En la prctica se utilizan estrategias de descenso que utilizan


varios mtodos, de la siguiente manera:

1. Se inicia con el mtodo de Newton, si no hay descenso (la matriz


Hessiano NO es definida positiva)
2. Se emplea el mtodo de Levenberg-Marquardt con un inicial, por
ejemplo k = 0.001, se realiza la factorizacin de Cholesky a la
matriz para verificar si es definida positiva. Si la factorizacin de
Cholesky falla (i.e. la matriz no es definida positiva) se incrementa
en una razn, k = k
3. Si no hay descenso despus de varios intentos (por ejemplo 10),
se emplea el mtodo del descenso ms rpido
ANEXO
Descomposicin de Cholesky

La descomposicin o factorizacin de Cholesky expresa una matriz


simtrica como el producto de una matriz triangular y su transpuesta

A = LLT L: matriz triangular inferior

No todas las matrices simtricas se pueden factorizar de esta forma

Las matrices que tienen este tipo de factorizacin son las matrices
simtricas definidas positivas. Esto implica que todos los elementos
de la diagonal sean positivos y que los elementos fuera de la
diagonal no sean muy grandes
Seudo cdigo para la descomposicin de
Cholesky
for k = 1:n
for i = 1:k-1
sum = 0;
for j = 1:i-1
sum = sum + A(i,j)*A(k,j);
end
A(k,i) = (A(k,i) - sum)/A(i,i);
end
sum = 0;
for j = 1:k-1
sum = sum + A(k,j)^2;
end
A(k,k) = sqrt(A(k,k) - sum);
end

También podría gustarte