Está en la página 1de 18

R AMIFICAR -ACOTAR

P LANOS

DE

C ORTE

E LISA S CHAEFFER
Programa de Posgrado en Ingeniera de Sistemas (P ISIS ) elisa@yalma.fime.uanl.mx

I NVESTIGACI ON

DE

O PERACIONES

E L M ETODO RAMIFICAR - ACOTAR (RA)


(ingl. Branch and Bound) el metodo mas comun de solucionar programas enteras se genera subtareas por limitar el rango de los valores de las variables enteras

S UBTAREAS DE RA
Variables binarias: dos casos por cada variable xi . Se ja xi = 0 y soluciona el problema que queda. Despues se ja xi = 1 y soluciona el problema que queda. Repetir esto con cada variable entera x1 , . . . , xk resulta en un arbol de ramos que corresponden a subtareas diferentes. Para limitar la busqueda, necesitamos prestar atencion a como deducir cotas para las soluciones de los varios ramos del arbol.

G ENERALIZACI ON A VARIABLES NO - BINARIAS


Si se conoce cotas inferiores y superiores a las variables enteras Ii xi Si , se elije un valor d donde dividir el PE en dos subproblemas: un problema donde I xi d, y otro problema donde d + 1 xi S.

U NA COTA POR RELAJACI ON A UN PL


Se obtiene una cota por relajar el PE, o sea, eliminar todas las restricciones de ser entero, como la solucion del PL que resulta. Con suerte, la solucion optima del PL es entera, es la solucion exacta de la subtarea. (No es muy frecuente...) Si se minimiza, la cota obtenida es una cota inferior; en maximizacion, superior. Se puede terminar la expansion de cada ramo del arbol que tiene una cota peor (o sea menos restrictivo).

P ROCEDIMIENTO DE RA
En un caso de cuatro variables binarias, el arbol completo de computacion contiene 14 relajaciones a PLs con las cotas obtenidas, se puede tpicamente evitar varios ramos.
PE orig x1 = 0
x2 = 0 x2 = 1 = 1 = 0 = 1 = 0 x2 = 0 = 1 = 0

x1 = 1
x2 = 1 = 1

x3 x4
0

= 0

El orden de las variables en la ramicacion tambien puede tener un efecto signicante en a que extenso se explora el arbol.

E JEMPLO : RA EN UN CASO SIMPLE


2x1 + 5x2 6x + 5x 1 2 mx(x1 + x2 ) sujeto a a x x1 , x2 x ,x
1 2

16 30 0 Z

Relajacion a un PL nos da un x con x1 = 3,5, x2 = 1,8. Simplicamos: ramicamos con x1 {3, 4}. (Tambien se podra empezar a ramicar con x2 {1, 2}.)

C ASO x1 = 3
2 3 + 5x2 6 3 + 5x 2 mx 3 + x2 s.a. a x x2 x2

16 30 0 Z

Por LP o manualmente x2 = 2; el valor optimo de la relajacion es entero. Ahora tenemos una solucion entera con f (3, 2) = 5. No se sabe todava si es optima. Nos hace falta explorar el otro ramo del arbolito.

C ASO x1 = 4
2 4 + 5x2 6 4 + 5x 2 mx 4 + x2 s.a. a x x2 x2

16 30 0 Z

Por LP o manualmente x2 = 1,2; el valor optimo no es entero. Tenemos una relajacion con cota superior 4 + 1,2 = 5,2. Continuamos la expansion del arbol...

R AMIFICAR CON RESPETO A x2


La relajacion de x1 = 4 tiene cota superior 4 + 1,2 = 5,2. Nuestra solucion entera de x1 = 3 era con f (3, 2) = 5. Fijamos x1 = 4 y continuamos a ramicar con x2 = 1 (dara f (4, 1) = 5) y x2 = 2 (no resultara factible). Como el ejemplo es tan simple, basta con vericar si ambos valores cumplen las restricciones y elegir el mejor valor de f () de las soluciones factibles. Hay otros metodos tambien...

P LANO DE CORTE
(denicion) = una restriccion rj violada por la solucion del PL relajado, pero no violada en ninguna solucion entera optima. Como identicar tal restriccion? Por interpretacion de la tabla de Simplex de la solucion relajada.

E JEMPLO : P LANO DE CORTE


Consideramos el problema siguiente: x1 + 3x2 7x + x 1 2 mx(7x1 + 9x2 ) sujeto a a x x1 , x2 x1 , x2

6 35 0 Z

E JEMPLO : LA TABLA INICIAL


Relajamos el PE a un PL y ejecutamos el algoritmo Simplex: -1 7 -7 3 1 -9 1 0 0 1 0 6 35 0

0 1 0

1 0 0

0 . . . 7/22

1/11 3/22 15/11

3.5 35 63

-1/22 28/11

E JEMPLO : LA TABLA FINAL


La solucion de la relajacion es la tabla siguiente: 0 1 0 1 0 0 7/22 -1/22 28/11 1/11 3/22 15/11 3.5 35 63

De la primera la, podemos leer la restriccion x2 + 7 1 11 s1 + s2 = 3 + . 22 22 22

E JEMPLO : U NA RESTRICCI ON CANDIDATA

x2 +

7 22 s1

x2 3 =

1 11 s2 = 3 + 22 22 11 7 1 22 s1 22 s2 22

a la izquierda tenemos un entero a la derecha, tenemos 0,5 algo, y el resultado debe ser entero s1 , s2 0 el lado derecha no puede ser positivo Llegamos a una restriccion r :
11 22

7 22 s1

1 22 s2

0.

E JEMPLO : P LANO DE CORTE IDENTIFICADO


La solucion de la relajacion x de la tabla nal de Simplex tiene x1 = 4,5, x2 = 3,5, s1 = s2 = 0. 0 1 0 1 0 0 7/22 -1/22 28/11 1/11 3/22 15/11 3.5 35 63
11 22

Ninguna solucion optima del PE rompera a

7 22 s1

1 22 s2

0.

Sin embargo, x del PL la rompe r , porque no es valido que 0,5 0. Entonces, nuestra r es un plano de corte!

R AMIFICAR - CORTAR (RC)


(ingl. Branch and Cut) 1. obtener una cota y una solucion de PL por relajacion 2. buscar un plano de corte r de la relajacion 3. anadir r en el PL 4. resolver el PL modicado, que ya tiene region factible mas limitada por la introduccion de r Iterar los pasos (2) y (3) hasta que se encuentre una solucion entera o resulta difcil (imposible o lento) encontrar otro plano de corte. Cuando ya no se puede iterar, se hace un paso de ramicacion normal.

A CONTINUACI ON ...
Teora de colaboracion.

También podría gustarte