Está en la página 1de 18

R AMIFICAR -ACOTAR

P LANOS

DE

C ORTE

E LISA S CHAEFFER
Programa de Posgrado en Ingenier a 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) comun el metodo mas 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 Se ja xi = 0 y soluciona el problema que queda. Despues 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. a como Para limitar la busqueda , necesitamos prestar atencion deducir cotas para las soluciones de los varios ramos del arbol.

A VARIABLES NO - BINARIAS G ENERALIZACI ON


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 .

A UN PL U NA COTA POR RELAJACI ON


Se obtiene una cota por relajar el PE, o sea, eliminar todas las del PL que resulta. restricciones de ser entero, como la solucion optima Con suerte, la solucion 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 , superior. maximizacion de cada ramo del arbol que Se puede terminar la expansion tiene una cota peor (o sea menos restrictivo).

P ROCEDIMIENTO DE RA
En un caso de cuatro variables binarias, el arbol completo de contiene 14 relajaciones a PLs con las cotas computacion obtenidas, se puede t picamente 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

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

E JEMPLO : RA EN UN CASO SIMPLE


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

16 30 0 Z

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

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

16 30 0 Z

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

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

16 30 0 Z

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

R AMIFICAR CON RESPETO A x2


de x1 = 4 tiene cota superior 4 + 1,2 = 5,2. Nuestra La relajacion entera de x1 = 3 era con f (3, 2) = 5. solucion Fijamos x1 = 4 y continuamos a ramicar con x2 = 1 f (4, 1) = 5) y x2 = 2 (no resultara factible). (dara 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) rj violada por la solucion del PL relajado, = una restriccion entera optima pero no violada en ninguna solucion . Como identicar tal restriccion? de la tabla de Simplex de la solucion relajada. Por interpretacion

E JEMPLO : P LANO DE CORTE


Consideramos el problema siguiente: x1 + 3x2 7x + x 1 2 m ax(7x1 + 9x2 ) sujeto 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


de la relajacion es la tabla siguiente: La solucion 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

CANDIDATA E JEMPLO : U NA RESTRICCI ON

x2 +

7 22 s1

x2 3 =

1 11 s = 3 + 2 22 22 11 7 1 s 1 22 22 22 s2

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 r : Llegamos a una restriccion
11 22

7 22 s1

1 22 s2

0.

E JEMPLO : P LANO DE CORTE IDENTIFICADO


de la relajacion x de la tabla nal de Simplex tiene La solucion 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

optima Ninguna solucion del PE romper a a

7 22 s1

1 22 s2

0.

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

R AMIFICAR - CORTAR (RC)


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

... A CONTINUACI ON
Teor a de colaboracion.

También podría gustarte