Sei sulla pagina 1di 69

Mtodos de Bsqueda basados en el Gradiente

y el Gradiente Conjugado.
Mtodos de Bsqueda Directa.
Universidad de los Andes-CODENSA

Algoritmos de Optimizacin
sin Restricciones
Los mtodos para obtener la solucin de un PPNL se basan
en obtener una sucesin de puntos tales que su lmite sea
una solucin ptima del problema que se considera. Para
asegurar la convergencia debe suponerse que el PPNL es un
problema convexo diferenciable. Sin embargo, estos
algoritmos se aplican an cuando no se satisfacen estas
condiciones.
El criterio de parada se basa en las CKKT. Cuando stas se
satisfacen con una cierta tolerancia, se para el proceso
iterativo y se toma como mnimo el punto correspondiente.
Considere el problema:
Z f ( x)

Minimizar

x f :

donde
cada

y
.

es una funcin diferenciable para

Los mtodos se dividen en dos categoras:


1. Los que usan informacin sobre las derivadas. Se basan
en aplicar mtodos numricos para resolver las
condiciones necesariasf '(de
x* ) KKT:
0
donde x* es la solucin que se busca.
2. Los que slo usan evaluaciones de la funcin objetivo.
Utilizan frmulas de interpolacin para estimar
iterativamente el mnimo de un problema
unidimensional.
Si f es convexa, el problema de obtener un ptimo es
equivalente al de resolver la anterior ecuacin. Pueden
usarse mtodos de bsqueda de races para resolverlo.

Bsquedas Lineales con


Derivadas Mtodo de
Newton
Puesto que se tiene:
g ( x (t 1) ) g ( x (t ) ) g '( x (t ) )( x ( t 1) x (t ) )

Si se quiere que sea cero se obtiene:


x

( t 1)

g ( x (t ) )
x
g '( x (t ) )
(t )

( x) f '( x )
Considerandogque
x

( t 1)

obtenemos:
g ( x (t ) )
x
g '( x (t ) )
(t )

Que utiliza las derivadas primera y segunda de f.

Mtodo quasi-Newton o de la
Secante
(t )

g '( xanterior
)
Reemplazando en la expresin
aproximacin
g ( x (t ) ) g ( x ( t 1) )
x ( t ) x (t 1)

Se llega a :

( t 1)

g ( x (t ) )
(t )
( t 1)
x
(
x

x
)
g ( x (t ) ) g ( x (t 1) )
(t )

Con lo que:
x

( t 1)

f '( x (t ) )
(t )
( t 1)
x
(
x

x
)
(t )
( t 1)
f '( x ) f '( x )
(t )

Que solo requiere derivadas primeras.

por la

Ejemplo Mtodo de Newton/Mtodo quasi-Newton

Minimizar

Z f ( x) ( x 1) 4

Realizando el anlisis mediante el mtodo de Newton tenemos:


Las derivadas primera y segunda son:
f '( x) 4( x 1)3
2
f
''(
x
)

12(
x

1)
y la sucesin asociada al mtodo de Newton resulta

f '( x (t ) )
4( x (t ) 1)3
x
x
x (t )
(t )
f ''( x )
12( x (t ) 1) 2
1
2
1
x (t ) ( x (t ) 1) x (t )
Ntese que si la sucesin
3
converge
3
3al punto
entonces,
tomando lmites en ambos lados
x de la relacin se obtiene
tiene como su nica
x, y 2esta
x / 3 1ecuacin
/3
solucin*
.
x x 1
( t 1)

(t )

Si realizamos el anlisis mediante el mtodo quasi-Newton


obtenemos:
f '( x (t ) )
( t 1)
(t )
x
x
f '( x (t ) ) f '( x (t 1) )
x ( t ) x (t 1)

x (t ) x ( t 1)
(t )
3
x (t )
(
x

1)

3
( t 1)
1)3
( x 1) ( x
(t )

x x

(t )

x (t )

( t 1)

( t 1)

x
1
1

(t )

El mtodo de Newton requiere slo un punto inicial, pero el


quasi-Newton necesita dos puntos para comenzar. La
siguiente tabla muestra las algunas iteraciones de ambos
mtodos, cuando se utiliza como punto inicial x1 = 0, para
el mtodo de Newton, y x1 = 0 y x2 = 1/3 para el quasiNewton.

Tabla 1. Resultados de los Mtodos de Newton y quasi-Newton.

Bsquedas Lineales sin


Derivadas Ajuste Cuadrtico

Figura 1. Funcin objetivo a minimizar junto a una parbola interpolante.

El mtodo de ajuste cuadrtico usa una interpolacin


parablica de f, basada en tres puntos. Supngase que
se trata de minimizar una funcin convexa f(x), y que se
tienen tres puntos a < b < c tales que
f ( a ) f (b ) f ( c )

Sin prdida de generalidad se puede suponer que una de las


desigualdades es
estricta. Seguidamente se ajusta una
parbola pasando por los tres puntos (a, f(a)), (b, f(b)) y (c,
f(c)). Su vrtice es:
2
2
2
1 (b a ) f (b) f (c) (b c) f (b) f (a )
v b
2 (b a) f (b) f (c) (b c) f (b) f (a )
Si los tres puntos estn alineados, el denominador degenera a
cero y la expresin anterior no es vlida. Sin embargo, esto no
ocurre si se cumple al menos una de las condiciones: f(a)>f(b)
y f(b)<f(c).
Ahora se tiene un conjunto de cuatro puntos (a, b, c, v) para
elegir los tres nuevos puntos necesarios para continuar con el
proceso. El criterio de seleccin de estos tres puntos se basa
en satisfacer la condicin inicial.
Hay tres casos a considerar:
f (b) f (v)
{a ', b ', el
c '} mnimo
{a, v, b}
Caso 1: v < b. Hay dos posibilidades: Si
de f est en el intervalo (a, b), entonces el nuevo conjunto de
tres puntos es
otra
si f(b)<f(v), el
{a. ',Por
b ', c '}
{v,parte,
b, c}
mnimo de f est en el intervalo (v, c), por ello, el nuevo
conjunto de tres puntos resulta
.

Figura 2. Ilustracin de los casos 1a y 1b de la bsqueda lineal mediante


interpolacin cuadrtica

Caso 2: v > b. Similarmente,

, y si
f (v) f (b)
, se elige
f (v) f (b)
{a ', b ', c '} {b, v, c}

, se elige
{a ', b ', c '} {a, b, v}
.

Caso 3: v = c. En este caso se recobran los tres puntos

iniciales, y no se puede decidir cul es el nuevo intervalo


reducido. Para evitar este problema, se reemplaza b por (a +
b)/2 y se repite el proceso de nuevo, con la garanta de que la
nueva situacin estar en los Casos 1 2.

Optimizacin
Multidimensional sin
Restricciones
Sea el problema
Minimizar

Z f ( x)

Donde
yn
es diferenciable. Este problema se
n
f
:

puede resolver por el mtodo de descenso,


que genera un
(t )
{x }
sucesin de puntos
tales que:
f ( x (1) ) f ( x (2) ) ... f ( x (t ) ) ...
hasta que se satisface una
condicin de parada.
El mtodo consiste en iterar las etapas:
Problema de generacin de una direccin de descenso:

Dado x(t), el problema consiste en obtener una direccin d(t) tal


que un ligero desplazamiento a partir de x(t) en tal direccin
disminuya el valor de la funcin objetivo. d esuna direccin
descendente de f en x si existe un nmero positivo
tal que:

f ( x d ) f ( x) para todo (0, )


Problema de bsqueda lineal: Una vez obtenida la direccin

descendente d(t) de f en el punto x(t), el problema consiste en


decidir el tamao del desplazamiento, (t ) , tal que
el nuevo punto
(t )

d
tenga tun valor asociado de la funcin
objetivo menor
t
que el del punto original x(t), es decir, elegir
tal que
para generar el
f ( x (t ) t d (t ) ) f ( x (t ) )
at 0
nuevo
punto
x (t 1) x ( t ) t d (t )
t
. En muchos casos, el desplazamiento
se
calcula de forma que se minimice la funcin objetivo en esa
direccin d(t).

f : n

LemaT 1 Sea

f ( x ) d 0

de

. Si

diferenciable en

. Sea d un vector

, entonces d es una direccin de descenso de f en x.

Figura 3. Ilustracin de las direcciones de descenso en R2.

Los algoritmos que se basan en direcciones descendentes


tienen la siguiente estructura:
Algoritmo 1 (Direccin descendente)
n
Etapa 1: (Valor inicial). Elegir un punto
x (1) inicial

y hacer t = 1.

Etapa 2: (Generacin de la direccin de bsqueda).

Obtener una direccin descendente d(t).

Etapa 3: (Comprobacin de la Optimalidad). Si d(t) = 0,

entonces parar (x(t) es un punto KTT del problema). En otro


caso, continuar.
t

Etapa 4: (Bsqueda lineal). Encontrar el salto,

resuelve el problema unidimensional


(t )
(t )
Z LS f ( x d )

Minimizar
sujeto a

,que

Etapa 5: (Actualizar el punto). Hacer

x (t 1) x (t ) t d ( t )
(t )
Etapa 6: (Criterio de parada).
x (t 1) xSi

,
entonces parar. En otro caso, hacer t = t + 1, e ir a la
Etapa 2.

Algoritmo 2 (Regla de Armijo)

Figura 4. Ilustracin grfica de la regla de Armijo.

Etapa 1: (Valor inicial).


Elegir
0, (0,1)

Valores
son
2 tpicos
10
y

. Se toma
g ( ) g ( )

Etapa 2: Si

a la Etapa 4.

g ( ) g ( )

Etapa 3: Si

otro caso, hacer


g ( / 2.
) g ( / )
e ir a la Etapa
Etapa 4: Si

e ir a la Etapa 3.

0.2
.

.
ir a la Etapa 3. En otro caso, ir
t

parar, y hacer

. En

parar. En otro caso, hacer

Determinacin de las
Direcciones de Descenso
f ser
( x (t ) )
El criterio de parada suele
, que se basa en la
condicin necesaria
y en la
f ( x) 0 de optimalidad
f ( x )
continuidad de
.
Los mtodos ms importantes para seleccionar la direccin de
descenso son:
d (t ) f ( x (t ) )
f ( x ( t ) ) 0
1.Mtodo de la mxima pendiente. Este mtodo usa ,
(t ) T
se
como
f ( x (t ) )Tdireccin
d ( t ) f ( xde
) descenso
f ( x (t ) ) en
( fx((t)
x (.t ) Si
) )2 0
cumple

2 f (mtodo
d (t ) Este
x (t ) ) f usa
( x (t ) )
2.Mtodo de Newton.
2 f ( x (t ) )

f ( x ( t ) ) 0

Si
es(t )definida
positiva
y (t )
1
(t ) T (t )
T
2
(t )
f ( x ) dlo es,
fy( xentonces
) fd( x(t) es
) descendente
f ( x ) 0
inversa tambin

su

3. Mtodos quasi-Newton. La direccin de bsqueda del


mtodo de Newton resulta indefinida si la matriz hesiana es
singular. Adems, el esfuerzo computacional puede resultar
(t )
muy grande para problemas de dimensin
Para
[ 2 f ( xmodesta.
)]
resolver este problema se aproxima
por una
matriz definida positiva B(t),que se actualiza sucesivamente
para que converja a la matriz hesiana en el punto solucin.
La direccin de bsqueda se calcula as:
d (t ) B ( t )

f ( x ( t ) )

Un ejemplo es la frmula de Davidon-Fletcher-Powell (DFP),


que actualiza mediante:
p ( t ) ( p ( t ) )T H ( t ) q ( t ) ( q ( t ) )T H ( t )
H (t 1) H (t ) (t ) T ( t )
(p ) q
( q ( t ) )T H ( t ) q ( t )
( t ),
donde p(t) = x(t+1)-xq(t)
, y H(1) es la
f ( x (t 1) ) f ( x (t ) )
matriz identidad In, y la de Broyden- Goldfarb-Shanno
(BFGS) que actualiza mediante:

p (t ) (q (t ) )T
q (t ) ( p (t ) )T
p ( t ) ( p ( t ) )T
( t )
H (t 1) I n (t ) T (t ) H I n ( t ) T (t) (t ) T ( t )
(q ) p
(q ) p
(q ) p

donde H

(t )

[ B (t ) ]1

4. Un Mtodo general. Los mtodos anteriores son


casos particulares de considerar una transformacin
T (t )
A x 0 mediante una matriz
del gradiente cambiado dex signo
(t)
t)
definida
para todo
d (t ) A(positiva
[f ( x (t ) )]A , es decir,
x0.
T (t )
f ( x (t ) )T d (t ) f ( x (t ) ),entonces
A [ f ( x (t ) ] 0
Sea

(t )
gradiente
f ( x ( t ) ) t 1d (t 1) conjugado.
,con d (1) 0
5. Mtodo ddel
Este mtodo
utiliza
(t )

f ( x ) 0

f ( x ) d
(t ) T

(t )

f ( x ) t 1f ( x ( t ) )T d (t 1)
(t )

que es descendente, ya que, si


demostrar que:

FR
t 1

0
f ( x ( t ) )

,se puede

si t es un mltiplo de n
2

en caso
contrarioLa de FletcherHay varias variantes
de este
mtodo:

( t 1) 2
f ( la
x frmula:
)
Reeves, que usa

El mtodo de Polak-Ribire define este parmetro como:

FR
t 1

(t ) T
(t )
( t 1)
f ( x ) (f ( x ) f ( x ))
( t 1) 2

f ( x )

si t es un mltiplo de n
en caso contrario

Ejemplo Mtodo de la Mxima Pendiente

Minimizar

f ( x1 , x2 ) 2 x1 x2 2 x2 x12 2 x22

Etapa 1: (Punto inicial). Se toma x(1) = (0, 0)T.

Etapa 2: (Generacin de la direccin de bsqueda). En


la iteracin t, se usa la direccin de bsqueda:
d (t ) f ( x (t ) ) (2 x2 2 x1 , 2 x1 2 4 x2 )T

En la primera iteracin

x (1) (0,0)T y d (1) f (0,0) (0,2)T

Etapa 3: (Comprobacin de optimalidad). Como d(1)0


se trata de una direccin de descenso.

Etapa 4: (Bsqueda lineal). Para calcular el salto, se


resuelve el problema
Minimizar

Z LS f ( x (1) d (1) );

x (1) d (1) (0,0)T (0, 2)T (0, 2 )T


Puesto que
, la
(1)
(1)
g ( ) f ( x d )
g ( ) de
f (0,este
2 ) problema
4 8 2 es
funcin objetivo
. Como
g '( )es
0convexa, la
condicin
. Por tanto,
g '(suficiente
) 4 16 de
0 optimalidad es
se resuelve
y se obtiene 1=1/4.
x (2) x (1) 1d (1)

Etapa 5: (Actualizacin). Sea

1
1
(0,0)T (0, 2)T 0,
4
2

Figura 5. Progreso del mtodo del gradiente.

f
Etapa 6:(Comprobacin
de
convergencia).
Puesto que
T
(2)
0,1 / 2 se repite con
esx grande,

, y t=2.

Etapa 2: (Generacin de la direccin de


d (2) bsqueda).
f (0,1/ 2) (1,0)T
Etapa 3: (Comprobacin de optimalidad). Como d(2)0

se trata de una direccin de descenso.


Etapa 4: (Bsqueda lineal).
x (2)Como
d (2) (0,1 / 2) (1,0) ( ,1 / 2)T

se tienef ( x (2) d (2) ) f ( ,1 / 2) 2 1 / 2


y el problema lineal es:
Z LS 2 1 / 2;

Minimizar

0
g '( ) 1 2 0

g ( ) 2 1 / 2
Como 1 / 2 0
2

es convexa, se resuelve
y se obtiene
.

Etapa 5: (Actualizacin). Se hace t = 3, entonces:

(3)

(2)

2d

(2)

1
1
T
0, 1,0
2
2

1 1
,
2 2

Ejemplo Mtodo de Newton

La matriz hesiana y su inversa son:

1
2 2
2
2
2
f ( x1 , x2 )
f ( x1 , x2 )

2
4
1
1

2 2
Etapa 1: (Punto inicial). Se toma x(1) = (0, 0)T .

Etapa 2: (Generacin de la direccin de bsqueda).


Puesto que:
1
resulta:
d ( t ) 2 f ( x ( t ) ) f ( x ( t ) )

1

0 1
2
(1)
2
(1) 1
(1)
d [ f ( x )] f ( x )

1
1
2 1

2
2
Etapa 3: (Comprobacin de optimalidad). Como d(1)0 y f
es estrictamente convexa, se trata de una direccin de
descenso.
1

Etapa 4: (Bsqueda lineal). El problema lineal es:

Minimizar

Z LS f ( x (1) d (1) );

2
(1)
(1)
T
T
T
f
(

Puesto que
se
x d (0,0) (1,1) ( , )
obtiene
y el ptimo se alcanza en
1 1
.

x (2) x (1) 1d (1) (0,0)T (1,1)T (1,1)T

Etapa 5: (Actualizacin). Se hace

f ( x (2) ) 0

Etapa 6: (Comprobacin de convergencia). Puesto que

se trata del ptimo.

Ejemplo Mtodo quasi-Newton

Etapa 1: (Punto inicial). Se toma


x (1) (0,0)T ;

1 0
H (1)
;
0
1

d (1) H (1)f ( x (1) ) f ( x (1) )

Por tanto coincide con el mtodo de la mxima


pendiente,
x (2)
(0,1 / 2)T resultando t = 2 y
.

Etapa 2: (Generacin de la direccin de bsqueda).


Para usar la frmula de DFP se necesitan los vectores y
0
0
matrices:
0

(1)
(2)
(1)
(2)
(1)

x

;
0

0
;

f ( x (1) )

1 ;

2

1
f ( x (2) ) ;
0

1

2

1
q (1) f ( x (2) ) f ( x (1) )
2

p (1) p (1)

0
1

2

0 0
1

;
1
0,

0
2

1 1
p (1) q (1) 0, 1

2 2

1 0
1
2
T
1 0 1

H (1) q (1) q (1) H (1)

1,
2

2
0 1 2 4
0
1

1 0 1
2 5
0
1

q (1) H (1) q (1) 1, 2


T

Ejemplo Mtodo del Gradiente Conjugado.

Etapa 1: (Punto inicial). Se toma x(1) = (0, 0)T. De


nuevo, la
,
d (1)direccin
f ( x (1) ) de bsqueda es
por lo que no se repite, y se hace:
t=2 y x2 = (0,1/2)T.

Etapa 2: (Generacin de la direccin de bsqueda). Se


0
0
1
(1)
(2)
(n)
( n )
obtiene
f ( x ) ; f ( x ) ; d f ( x )
2

f ( x (1) ) 02 (2) 2 4
2

f ( x (2) ) 12 02 1

1FR

f ( x (2) )
f ( x (1)

2
2

1
4

1
1
bsqueda
1 0
como:
(2)
(2)
FR (1) de
y se calcula
la
direccin
d f ( x ) 1 d

4 2

1/ 2

Etapa 3: (Comprobacin de optimalidad). Como d(2) 0,

se trata de una direccin de descenso.


Etapa 4: (Bsqueda lineal). Para calcular el salto, se

resuelve el problema:
Minimizar

Z LS f ( x (2) d (2) );

puesto que

1
x (2) d (2) (0,1 / 2)T (1,1 / 2)T ( , )T
2 2

Se obtiene

1
1
2
g ( ) f ,
2 2
2
2

el valor ptimo de la bsqueda lineal es: 2=1 > 0.


Etapa 5: (Actualizacin). Se hace

x (3) x (2) 2 d (2) 0,1 / 2 1 1,1 / 2 (1,1)T


T

Etapa 6: (Comprobacin de optimalidad). Puesto


f ( x (3)que
)0

x(3) satisface
se ha alcanzado el ptimo, y el algoritmo para.
Para el caso de funciones cuadrticas convexas, el
ptimo se alcanza tras un nmero de iteraciones igual a
la dimensin de la matriz hesiana.

Algoritmos para la
Optimizacin con
Restricciones
El

problema de la optimizacin con restricciones


resolverse mediante los siguientes mtodos:

puede

1.Mtodos duales: Resuelven el problema dual en vez del


problema primal.
2.Mtodos de penalizacin: Transforman el problema
restringido en uno nuevo en el que las restricciones e
incorporan a la funcin objetivo por medio de una seleccin
adecuada de parmetros de penalizacin. Estos algoritmos
transforman el problema restringido en una sucesin de
problemas sin restricciones.
3.Mtodos de linealizacin parcial: Extienden los algoritmos
de direccin descendente al caso de restricciones. Ahora se
fuerza a que las direcciones sean admisibles.
4.Mtodo de los multiplicadores o del lagrangiano
aumentado: Son mtodos de penalizacin cuadrtica que
usan el lagrangiano aumentado como funcin objetivo.

5. Mtodos de programacin secuencial cuadrtica:


Resuelven
una
secuencia
de
problemas
de
programacin cuadrtica que aproximan el problema
original. Cuanto mayor sea el nmero de iteraciones
mayor ser la aproximacin obtenida.

Mtodos Duales
La principal razn para usar los mtodos duales es que en la
mayora de los casos resulta una funcin cncava en un conjunto
convexo muy sencillo, por lo que no tiene mximos locales no
globales. Deben plantearse dos cuestiones:
a) Cmo obtener la solucin del primal tras resolver el dual.
b)Cmo resolver el problema dual.

Sea el problema
Minimizar
Sujeto a
Donde

f : n ,h : l

Z P f ( x)
h( x ) 0
g ( x) 0
y g : n

son continuas.

El problema dual es:


Maximizar

Z D ( , ); 0

Donde la funcin dual es

( , ) Infimox f ( x) k hk ( x) j g j ( x)
k 1
j 1

Con dominio de definicin


D ( , ) 0, existe el minimo L( x, , )

Para evaluar la funcin dual para (t) y (t) es necesario


resolver el problema
(t )
(t )
Minimox

L ( x, , )

que se llama Problema lagrangiano.


Para discutir la primera cuestin, se define el conjunto

x( , ) x x minimiza L( x, , )
Z D es
Z P decir,
Si no existe la holgura dual,
, y somos
*
*
( ,dual
) y obtener como
capaces de resolver el problema
X * Xptimos
( * , * )
valores
, entonces cualquier punto
factible
resuelve el problema primal. El
teorema que sigue justifica que para los problemas
convexos no existe la holgura dual, y que se puede
obtener una solucin primal basndose en las soluciones
del problema dual.
*

( * , * )

Teorema ( *1
, * ) (Condicin

( , )
suficiente
X * Xpara
( * , * ) una

solucin primal basada en la dual.)


Sea
una solucin del problema dual y
supngase que
es diferenciable en
.
Entonces, cualquier elemento
resuelve el
problema primal.

Mtodos de Penalizacin
Los mtodos de penalizacin transforman el problema
restringido original en una secuencia de problemas sin
restringir mediante funciones de penalizacin. La idea de
convertirlos en problemas no restringidos es muy atractiva,
pues stos se resuelven muy fcil y eficientemente.
Puesto que todos los mtodos tratan las igualdades de la
misma forma, stos se clasifican por la forma de tratar las
desigualdades. Hay dos tipos de mtodos:
1.Mtodos del punto exterior. La secuencia de soluciones
de los problemas sin restricciones contiene slo puntos no
factibles (exteriores a la regin factible).
2.Mtodos del punto interior o mtodos barrera. La
secuencia de soluciones de los problemas sin restricciones
contiene slo puntos factibles (interiores a la regin factible).
Un caso particular interesante es el mtodo del punto interior
que se analiza posteriormente.

Mtodo del Punto Exterior


En el mtodo del punto exterior la penalizacin impuesta
al punto x aumenta cundo ste se desva de la regin
factible.
De nuevo, al actualizar los parmetros de penalizacin, la
sucesin correspondiente de puntos mnimos de los
problemas penalizados converge a la solucin ptima del
problema inicial. En este caso los puntos de la sucesin
estn fuera de la regin factible.

Ejemplo Mtodo del Punto Exterior

Considere el problema
Minimizar

Z f ( x)

Sujeto a

h( x ) 0
g ( x) 0

y h:
Donde f : , g :
continuas. La funcin de penalizacin exterior es
n

P( x; r ) f ( x) r (h( x), g ( x))

donde r es el parmetro de penalizacin


: l m y
es la funcin de penalizacin que satisface
(h( x), g ( x)) 0;
(h( x), g ( x)) 0;

x S
x S

son

Teorema 2 (Convergencia del mtodo del punto

exterior.)
: l m
rt
Sea
una sucesin divergente de nmeros positivos, y
una funcin de penalizacin continua exterior. Se define
x (t ) arg minimizar f ( x) rt ( h( x), g ( x)) , t 1, 2,....
la secuencia:

x
(t )

y se supone que para cada rt, existe una solucin ptima


de este problema. Todo punto lmite de la sucesin
x(t ) por este mtodo exterior es un mnimo global
generada
del problema original con restricciones. En particular, si
el problema original l tiene una
nica solucin ptima,
m

entonces
lmite
P , ( xes
; r ) el
fpunto
( x) r
hk ( x) de
g j ( x ) . ; , 1
j 1
k 1

La funcin de penalizacin mas comn es:


x max x,0

k 1

j 1

hk ( x) g j ( x)

P1 ( x; r ) f ( x) r

Donde

. Dos
casos mparticulares son:
l

P2 ( x; r ) f ( x) r

2
hk ( x) g j ( x)

k 1

j 1

Algoritmo 3 (Mtodo del punto exterior)


Etapa 1: (Iniciacin). Hacer x(0), r1 > 0 y t = 1. Sea >

0 una tolerancia dada, y > 1 un nmero dado.


Etapa 2: (Sub-problema). Resolver por un mtodo de

descenso, con x(t-1) como punto inicial, el problema:


Minimizar

f ( x) rt ( h( x), g ( x))

cuya solucin es x(t).


( t 1)

x x Si
Etapa 3: (Criterio de parada).
(t )

parar y salir. En otro caso, ir a la Etapa 4.


Etapa 4: Hacer rt+1 = rt, t = t + 1, e ir a la Etapa 2.

Los mtodos de penalizacin tienen las siguientes


propiedades:
P( x(r ), r ) y f ( x(r ))

1.

, donde x(r) minimiza P(x,r), son


funciones no decrecientes en r.
(h( x(r )))

2.

es una funcin no creciente en r.

3. Se cumplen las siguientes


condiciones
lmites:
(t )
(t )

lim rt h( x ), g ( x ) 0

Ejemplo Mtodo de Penalizacin Exterior

Considere el problema
Minimizar

17
Z x1 6 x2
2

Sujeto a

x12 x2 0

Ntese que en la iteracin t, el problema a resolver para


obtener x(t) es
Z x1 6

17
x2 rt x12 x2
2

La siguiente tabla resume los clculos realizados para =1


y =2. El punto de partida es x(0)= (0,0). El valor inicial
del parmetro de penalizacin se ha tomado como r1 =
0.001 y = 10.

Tabla 2. Resultados del ejemplo Mtodo de penalizacin exterior.

Mtodo Interior o Barrera


Sea el problema
Minimizar

Z f ( x)

Sujeta a

g ( x) 0

dondef : n , g : n m
son funciones
S x g ( x ) 0

continuas, y
S x g (es
x) la
0 regin factible. Se
supone que
es no vaca, y el cierre de S es el conjunto S.
Se considera la funcin objetivo
P( x; r ) f ( x) r ( g ( x))
donde r es el parmetro de penalizacin y es la funcin de
penalizacin. Esta funcin forma una barrera infinita a lo
largo del contorno de la regin factible, que favorece la
seleccin de los puntos factibles frente a los que no lo son.

Las funciones de penalizacin son funciones


y m y en
0
R m definidas
,
que satisfacen las condiciones siguientes:

o Son positivas en el interior de la regin factible

( g ( x)) 0; x S

o Tienden a en la frontera de la regin factible

lim ( g ( x))

xS S

Ejemplos del trmino de penalizacin vlidos para la


regin factible g(x) 0, son:
m

( g ( x)) log( g j ( x))


o La barrera logartmica
j 1
1

(
g
(
x
))

o La barrera inversa
j 1 g j ( x )
m

Teorema 3 (Convergencia de los mtodos barrera)

: m
Sea rt
una sucesin de nmeros positivos que convergen
a cero, y sea
una funcin de penalizacin interior, se define
x (t ) arg min imiza xS f ( x) rt ( g ( x)) , t 1, 2,...

x
(t )

Todo punto lmite de una sucesin


generada por un
mtodo barrera por medio de la anterior ecuacin es un
x(t ) original con restricciones.
mnimo global del problema
En particular, si el problema original tiene una nica
solucin ptima, entonces es el punto lmite de
.

Algoritmo 4 (Mtodo de Barrera)


(0)
S que
Etapa 1: (Iniciacin). Elegir un punto inicial xx(0)
tal

, un parmetro de penalizacin inicial r1 > 0 y


(0,1)
hacer t = 1.
Sean > 0, un nmero pequeo, y
dados.

Etapa 2: (Solucin del problema sin restricciones).

Resolver por un mtodo de descenso, con x(t-1) como


punto inicial, el problema:
Z f ( x ) rt ( g ( x))

Minimizar

xS

sujeto a
cuya solucin ptima es x(t).

x ( t ) x (t 1)

Etapa 3: (Criterio de parada). Si

parar y salir. En otro caso, se va a la Etapa 4.

Etapa 4: Se hace rt+1 = rt, t = t + 1, se va al paso 2.

Ejemplo Mtodo Interior o de Barrera

Considere el problema
Minimizar
Sujeto a

Z 5 x1 x12 8 x2 2 x22
3x1 2 x2 6

La funcin barrera logartmica es


P( x, r ) 5 x1 x12 8 x2 2 x22 r log(6 3 x1 2 x2 )

Los puntos estacionarios de P(x,r), como funciones de r,


son
P
3r
2 x1 5
0
x1
6 3 x1 2 x2

P
2r
4 x2 8
0
x2
6 3 x1 2 x2

2 x1 a
6 x2 7 0
lo que conduce

. Por lo tanto

3r
0
7 x
6 3 x1 2 1
6 3
2r
4 x2 8
0
7

6 3 3 x2 2 x2
2

2 x1 5

que es equivalente a
22 x12 77 x1 9r 55 0
22 x22 77 x2 r 66 0

La solucin del anterior sistema da los puntos


estacionarios como una funcin de r:
77 99(11 8r )
44
77 11(11 8r )
x2 (r )
44
x1 (r )

donde las otras dos races has sido rechazadas porque son
no factibles. La figura muestra las curvas de nivel de la
funcin objetivo, as como la regin factible. Ntese que la
solucin ptima se alcanza en la frontera de la regin
factible, y que la trayectoria hacia el ptimo est
contenida en la regin factible.
lim x1 (r ) 1
r
Ntese tambin que: 0
lim x2 (r )

r 0

3
2

lim r ( x) 0

r 0

El Mtodo del Punto


Interior
Sea el problema
Minimizar

cT x
Ax b
x0

sujeta a
n
Donde x, c , b

Maximizar
sujeta a

y A

. Su dual es

bT y
AT y c

que usando variables de holgura equivale a:

Maximizar

bT y
AT y z c
z0

sujeta a
y m y z n
con variables
logartmicas, resulta

. Usando barreras

Maximizar
sujeta a

b y Ln Z j
T

j 1

AT y z c

Debe notarse que Zj nunca es cero, por lo que el problema


est bien planteado.
El mtodo del punto interior aborda la solucin del
problema anterior para diferentes valores del parmetro
barrera , de forma tal que:
0>1>2>> = 0.

Teorema 4 (Convergencia)

La sucesin de parmetros
genera una secuencia de
k k o

problemas como el mostrado anteriormente, tal


la
xk que
k o
sucesin de las soluciones
, de stos converge a la
solucin de las ecuaciones.

El lagrangiano del problema tiene la forma


m
T
L( x, y, z , ) b y Ln Z j xT ( AT y z c )
j 1

Ntese que los multiplicadores de Lagrange, x, son las


variables del problema original (primal). Utilizando dicho
lagrangiano, las condiciones de optimalidad de primer orden
del problema son:
x L( x, y, z , ) AT y z c 0

y L( x, y, z , ) Ax b 0
L( x, y, z , ) XZe e 0
z

Donde

X diag ( x1 , x2 ,..., xn )
Z diag ( z1 , z2 ,..., zm )
e (1,1,...,1)T

y la dimensin de e es nx1.

Ejemplo del Mtodo del Punto Interior

Considere el problema primal

Minimizar

Sujeto a

x1
x
2
Z ( 3 5 0 0 0) x3

x4
x
5
x1

1 0 1 0 0 x2
0 1 0 1 0 x

3
3 2 0 0 1 x

4
x
5
x1 , x2 , x3 , x4 , x5 0

4
6

18

La regin factible del problema se da en la siguiente


figura.

Figura 6. Progreso del mtodo del gradiente.

Su dual es:
y1

Maximizar 4 6 18 y2
y
3

Sujeto a

1
0

0
0

0
1
0
1
0

3
z1 3
z
2
5
y

1 2
z3
0 y2
0

0 y3
0

z4
z
1

5 0
z1 , z2 , z3 , z4 , z5 0

La funcin Lagrangiana es:


y1
L( x, y, z , ) 4 6 18 y2

y
3

x1
x
2
5
Ln Z j x3
j 1

x4
x
5

1

0
1
0

0

0
1
0
1
0

y las condiciones de optimalidad son:


3
z1 3
z
y1
2
5

z3
0 y2
0

0 y3
0

z4
z
1

5 0
x1

1 0 1 0 0 x2 4
0 1 0 1 0 x 6

3
3 2 0 0 1 x

4 18
x
5

1
0

0
0

0
1
0
1
0

0
0

0
0

0
0

3
2

0
1

y1

y
2

y3

z1 3


z
5
2
z3
0

z4
0

z5 0

x1

x2

x3
x4

z1

x5

z2
z3
z4

z5

1
1

1

1
1

0
0

0
0

Para resolver el sistema por el mtodo de Newton, se


sustituyen x, y y z por x+x,
y+ y z+z,
respectivamente, que despreciando trminos de
segundo orden conducen
Ax al
0sistema incremental
AT y z 0
Z x X e e XZe

Las direcciones de bsqueda primales-duales se obtienen


resolviendo el anterior sistema
de ecuaciones en x, y
1
y z, es decir: y AXZ 1 AT AZ 1v( )
z AT y
x Z 1v( ) XZ 1z

donde v()=e-Xze.

Se procede a una iteracin de Newton para obtener el punto


x t 1 xt p x
y t 1 y t d y
z t 1 z t d z

Donde0 1, y 0 1
son los saltos primales y
p
d
duales, respectivos. El salto primal se aplica a las variables
primales x, mientras que el salto dual, a las duales y y z.
La seleccin de p y d se hace de forma tal que x y z
permanezcan estrictamente positivas (y no tiene por qu
ser positiva). Se usa el parmetro (0 << 1) para
asegurar la positividad.
xiPor tanto:

x min
tal que xi
xi
p min 1, x
z j

z min

tal que z j

z j
x min 1, z

donde
es una tolerancia (e.g.
0.999959.

= 0.0001) y =

Holgura Dual

Para x e y factibles, la holgura dual es:


c T x bT y

que se usa para medir la cercana al ptimo.


Infactibilidad inicial.

Si el punto inicial no es factible, aplicando el mtodo de


Newton al sistema (condiciones de primer orden) se
obtiene el sistema incremental
Z x X Vz e XZe
Ax b Ax

AT y z c AT y z

Cuya solucin es

y AXZ 1 AT

AZ
1

v ( ) AXZ 1rd rp

z AT y rd
x Z 1v ( ) XZ 1z

donde
rp b Ax; rd c AT y z

son los residuos primales y duales, respectivamente.


Factibilidad y optimalidad se obtienen simultneamente
(residuos y holgura dual tienden a cero simultneamente).
Actualizacin del parmetro barrera.

Una posible seleccin de es la que sigue. De las


condiciones de optimalidad se obtiene
zT x

Para conseguir un camino central, es decir, para evitar un


aproximacin prematura a la frontera, se introduce el
parmetro . Entonces
zT x

Los valores del parmetro se ajustan experimentalmente


por prueba y error.

Una eleccin razonable es


0.1 si cT x bT y

T
T
0.2 si c x b y

Si cT x bT y

, la solucin ptima ha sido encontrada.

Criterio de parada.

El

algoritmo para cuando la holgura


suficientemente pequea, es decir, cuando
c T x t bT y t

max 1, c x

dual

es

donde es una tolerancia en tanto por uno.


El numerador de esta fraccin representa la holgura dual
en curso, mientras que el denominador es el mximo
entre 1 y el valor de la funcin objetivo primal. Esta
forma de denominador evita la divisin por cero.

Cotas.

Considrese un problema primal que incluya cotas


inferiores y superiores de las variables x, es decir,
Minimizar
Sujeto a

cT x
Ax b
l xu

donde algunas de las componentes de u pueden ser


infinitas y algunas de las de l pueden ser nulas. Con
variables de holgura, s y v, el problema puede
escribirse:
cT x

Minimizar
Sujeto a

Ax b
xsu
xv l
s0
v0

Y usando barreras logartmicas:


Minimizar

Z c x

Sujeto a

( Ln si Ln vi )
n

i 1

Ax b
xsu
xv l

Y su lagrangiano tiene la forma

L( x, y , z , ) c x

( Ln si + Ln vi ) y T ( Ax b) wT ( x s u ) z T ( x v l )
n

i 1

donde las variables duales asociadas a las restricciones Ax


= b son y, las variables duales asociadas a las
restricciones x + s = u son w, y las variables duales
asociadas a las restricciones x-v = l son z.

Las condiciones de optimalidad son


x L( x, y, z , ) AT y z w c 0

y L( x, y, z , ) Ax b 0

z L ( x, y , z , ) x v 1 0
s L( x, y, z , ) SWe e 0
v L( x, y, z , ) VZe e 0
w L ( x, y , z , ) x s u 0

Para el caso usual en que l = 0, que implica x = v, se tiene


Ax b
xsu
AT y z w c
XZe e
SWe e

Las direcciones de bsqueda (mtodo de Newton) son:

y ( AA) 1 (b Ax) A (c AT y z w) ( )

x AT y ( ) (c AT y z w)
z X 1e Ze X 1Z x

donde

w S 1e We S 1W x
s x

( X 1Z S 1W ) 1

( ) ( S 1 X 1 )e (W Z )e
Seleccin del punto inicial.
Si no se dispone de un punto factible, el mtodo de
Vanderbei suministra un buen
punto de comienzo. Primero se calcula el vector
mediante
x
x j

Aj 1
2
donde Ai es la columna j de la matriz
de restricciones A, y
la norma cuadrtica.
.

es

Despus, se calcula el escalar mediante


b 2 1

Ax 2 1

y se corrige el vector inicial x(0) con


x (0) 10 x

Si alguna componente del vector x es mayor que la mitad


de su cota superior, se fija a ese valor. El vector de las
variables duales y se hace cero. El vector de las
variables duales z se inicia como una funcin del vector
x, como sigue.
si c j 0se hace
1
Si xj tiene una cotaz 0superior
finita,
j
c j 1 en otro caso
si c j 1de x es infinita, se hace
1 superior
Si, por otra parte, laz 0cota
j
j
c j en otro caso

Algoritmo 5 (Barrera logartmica primal-dual)

Entrada: Un problema de programacin lineal.


Salida: Su solucin o un mensaje indicando que es no acotado o
no tiene solucin.
o Etapa 0. Hacer t=0 y seleccionar un punto
( xt , y t inicial
, t )

z t c de
AT holgura
yt
.Calcular el vector
dual

o Etapa 1. Calcular

Z t diag z1t , z2t ,..., zmt

las

diagonales
X t diag x1t , x1t ,..., xnt

, y los
residuos
t
v ( t ) t e X Z e
rp Ax t b y
. Si el punto es factible primal y dual, los

o Etapa 3. Resolver el sistema

las direcciones
y t , z t y x t

matrices

o Etapa 2. Calcular el vector


t
rdt c AT son
y t zcero.
residuos

de Newton para encontrar

psaltos
y d
o Etapa 4. Calcular los
t

o Etapa 5. Actualizar las variables primales y duales.


o Etapa 6. Si la holgura dual es suficientemente pequea,

parar, se ha encontrado un - ptimo. En otro caso,


hacer t t + 1 y continuar.
o Etapa 7. Actualizar el parmetro barrera t e ir a la

Etapa 1.

Bibliografa
Formulacin

y Resolucin de Modelos de Programacin


Matemtica en Ingeniera y Ciencia, Enrique Castillo, Antonio
J. Conejo, Pablo Pedregal, Ricardo Garca, Natalia Alguacil,
2002.

Potrebbero piacerti anche