Vous êtes sur la page 1sur 7

CO-5423 (F05) 12/10/2005

18

Algoritmos de Branch and Bound


El nombre viene de el proceso de usar un rbol donde se ramica para examinar subregiones (y a sus relajaciones) de la regin factible y cotas para mantener el crecimiento del rbol bajo control y o a lograr optimalidad (). Es el mtodo general ms efectivo, el que aparece en todos los paquetes comerciales. e a La idea es usar una forma elaborada de la estrategia de relajacin-restriccin. o o Las restricciones se logran a travs de la ramicacin y las relajaciones (en conjunto) producen e o cotas superiores sobre el valor ptimo. o Una caracter stica fundamental de estas restricciones es que producen t picamente relajaciones no convexas de la regin factible (a diferencia del mtodo de planos cortantes). Regiones divididas o e en pedazos que deben ser analizadas separadamente. Para manejar esta situacin necesitamos un simple principio de descomposicin. o o

Principio de descomposicin. o
Teorema 1 Sea f una funcin de valores reales denida en S Rn. Consideremos el problema: o maximizar f(x) s.a. x S Supongamos que S =
jJ

(P)

Sj, con J nito, no vac o.

o Sea z el valor ptimo de j (Pj) maximizar f(x) s.a. x Sj (donde suponemos que z = + si Pj es no acotado y z = si Pj es no factible) j j ENTONCES El valor optimo de P es z = mx{z }. Adems, si k J y z = z , entonces cualquier solucin a j a o k
jJ

o ptima de Pk es solucin ptima de P. o o

CO-5423 (F05) 12/10/2005 Prueba. Sea z = mx{z } a j k


jJ

19

Casos: 1. a) z = + k Esto ocurre si y slo si existe j en J tal que f es no acotada superiormente en Sj, es decir, o si y slo si P es no acotado. o b) z = k Esto ocurre si y slo si todos los Sj = , es decir, si y slo si S = . o o c) z es nito. k En este caso existe xk Sk tal que f(xk) = z . Sea x S, entonces x Sj para algn u k j J. En consecuencia f(x) z z = f(xk), lo cual demuestra la optimalidad de xk en j k todo S.

Modicacin util del principio de descomposicin. o o


En vez de considerar los valores ptimos sobre los Pj se consideran cotas superiores sobre ellos. o El teorema queda enunciado as : Teorema 2 Sea f una funcin de valores reales denida en S Rn. Consideremos el problema: o maximizar f(x) s.a. x S Supongamos que S =
jJ

(P)

Sj, con J nito, no vac o.

o Sea zj una cota superior sobre el valor ptimo de maximizar f(x) s.a. x Sj

(Pj)

CO-5423 (F05) 12/10/2005 ENTONCES

20

Si zk = mx{zj}, entonces zk es una cota superior sobre el valor ptimo de P. Si adems zk = z , a o a k


jJ

entonces z es el valor ptimo de P y cualquier solucin ptima de Pk es solucin optima de P. o o o o k Prueba. a a j Como zj z , j J, se tiene que zk = mx{zj} mx{z } = z y se tiene la primera parte. j
jJ jJ

Para la segunda parte se tiene z

z k

= zk z , y por lo tanto z = z . k

Por ultimo, cualquier solucin ptima de Pk tiene valor objetivo z y como Sk S, dicha solucin o o o est en S. Listo. a (En el caso de programacin entera, si la RL tiene solucin entera se tiene zk = z .) o o k Ejercicio 1 (Generalizacin) Si zk + mx{zj} o a
jJ

y zk = z , entonces una solucin optima de o k

Pk es una solucin -optimal de P. o La estrategia puede ser llevada a cabo de varias formas, pero la ms exitosa ha sido aquella a basada en PL, es decir que resuelve los subproblemas que conforman las relajaciones sucesivas usando programacin lineal. A continuacin ilustramos el mtodo que estudiaremos (basado en PL) con un o o e ejemplo.

Ilustracin de B+B v PL para PE o a


Consideremos el problema (de knapsack): mx 6x1 + 10x2 a (P) s.a. 2x1 + 3x2 7 x1, x2 0 enteras Sea S0 la regin factible del problema, sea P0 la relajacin lineal y T0 su regin factible. o o o

CO-5423 (F05) 12/10/2005 Iteracin 1: o Se resuelve la relajacin inicial P0 (lo haremos grcamente). o a
x2

21

( )
0, 7 3
2

Solucin ptima

T0

( 7 ,0 ) 2

x1

Para representar el progreso del algoritmo llevaremos un rbol (que representa ramicaciones y a subproblemas) y un cuadro de cotas. En la primera iteracin el rbol consiste de un solo nodo 0 que o a representa P y P0. En este punto el conjunto J = {0} (del principio de descomposicin). o

x 0 = (0, 7 ) 3 ~* = 23,3 z0 ~ Valor ptimo de P0

Relajacin T0

z z 23,3

Donde la cota inferior es porque no hay todav una sol. factible. a No se satisface COR y entonces hay que ramicar. La unica variable con valor no entero es x2, entonces aadimos la restriccin vlida x2 2 x2 3. n o a Sea K0 = {(x1, x2) | x2 2 x2 3}, entonces la regin factible de la nueva relajacin es T0 K0 o o (ms fuerte que T0 pero no es convexa). a Pero T0 K0 = T1 T2 donde T1 = T0 {(x1, x2) | x2 2} y T2 = T0 {(x1, x2) | x2 3} . Entonces lo que se hace es usar el principio de descomposicin con T1 y T2 relajaciones de S1 y S2, respectivamente, y como no hemos o descartado ninguna solucin entera se tiene S = S1 S2 (J = {1, 2}). Hemos ramicado en el nodo 0, o en la variable x2.

CO-5423 (F05) 12/10/2005 Resolvemos grcamente P1: a

22

x2

T2 =
Solucin ptima

1 ( 2 ,2)

T1

( 7 ,0) 2

x1

Mientras que P2 es no factible. Las cotas y el rbol quedan: a


0 x2 2 x1 = ( 1 ,2) 2 ~ * = 23 z1
x2 3

Relajacin T1 T2 2 ~ * = z2

23

(Todav no sabemos si P es factible) a Por el principio de descomposicin, z = 23 es el valor ptimo de la funcin sobre T0 K0. o o o 1 Sin embargo todav no tenemos COR, entonces hay que ramicar en el nodo 1, en la variable x1. a Aadimos la restriccin vlida x1 0 x1 1. n o a Sea K1 = {(x1, x2) | x1 0 x1 1}, entonces la regin factible de la nueva relajacin es T1 K1. o o Pero T1 K1 = T3 T4 donde T3 = T1{(x1, x2) | x1 0} y T4 = T1{(x1, x2) | x1 1} . Ahora S = S3S4S2 con relajaciones T3, T4 y T2, respectivamente (J = {3, 4, 2}).

CO-5423 (F05) 12/10/2005 Resolvemos grcamente P3 y P4: a


x2

23

Sol. pt.

(2,0 )

Sol. pt.

T3
1

(1, 5 ) 3

T4
0 1 2 3

( 7 ,0 ) 2

x1

(esta simultaneidad es slo para simplicar la explicacin, puede haber otras estrategias de creo o cimiento de los rboles). a Las cotas y el rbol quedan: a
0 x2 2
x2 3

1
x1 0 x 3 = (0,2 )
* z3 = 20

2
x1 1 x 4 = (1, 5 ) 3 ) ~ * = 22,6 z4

~ * = z2
Relajacin T3 T4 T2 z z

) 20 22,6

Aun no tenemos COR. Ramicamos en el nodo 4, en la variable x1. K4 = {(x1, x2) | x2 1 x2 2}, entonces la regin factible de la nueva relajacin es T4 K4. o o Pero T4 K4 = T5 T6 donde T5 = T4 {(x1, x2) | x2 1} y T6 = T4 {(x1, x2) | x2 2} . Ahora S = S3 S5 S6 S2 con relajaciones T3, T5, T6 y T2, respectivamente (J = {3, 5, 6, 2}).

CO-5423 (F05) 12/10/2005 Resolvemos grcamente P5 y P6: a


x2

24

(0, 7 ) 3
2

T6 =

Sol. pt.
1

(2,1)
T5

( 7 ,0 ) 2

x1

Las cotas y el rbol quedan: a


0 x2 2
x2 3

1
x1 0 x 3 = (0,2 )
* z3 = 20

2
x1 1

~* = z2

Relajacin

4
x2 1 x 5 = (2,1)
* z5 = 22

T3 T5 T6 T2 x2 2

22 22

~ * = z6

Y hemos llegado al n del algoritmo.

Vous aimerez peut-être aussi