algoritmo de branch & bound

15
ALGORITMO DE BRANCH & BOUND Jose Hermoza Ordoñez

Upload: orlando-vidal-rojas-rodriguez

Post on 26-Jan-2016

13 views

Category:

Documents


0 download

DESCRIPTION

Presentacion del Algoritmo Branch and Bound para la solucion de problemas de programacion lineal entero mixta

TRANSCRIPT

Page 1: Algoritmo de Branch & Bound

ALGORITMO DE BRANCH & BOUNDJose Hermoza Ordoñez

Page 2: Algoritmo de Branch & Bound

1. DEFINICION

• METODO DE RESOLUCION DE UN PROBLEMA DE PROGRAMACION LINEAL ENTERA

• SE BASA EN EL CONCEPTO DE LA RAMIFICACION DEL PROBLEMA ORIGINAL EN SUB-PROBLEMAS RELAJADOS SUCESIVAMENTE, OBTENIENDO NUEVAS COTAS, HASTA ENCONTRAR LA SOLUCION CON VARIABLES ENTERAS, O LA INFACTIBILIDAD DE LA MISMA.

Page 3: Algoritmo de Branch & Bound

2. PROCEDIMIENTO• SE INICIA RESOLVIENDO EL PROBLEMA DE PLE, SIN

CONSIDERAR LAS RESTRICCIONES DE VARIABLES ENTERAS, A ESTO SE LE DENOMINA RELAJACION LINEAL CONTINUA

• CON LO ANTERIOR SE OBTIENE LA SOLUCION RELAJADA, QUE EQUIVALE A LA COTA DE LA SOLUCION.

• SI LAS VARIABLES HALLADAS, SON NO ENTERAS, SE PROCEDE A REALIZAR EL METODO, DE LO CONTRARIO, ESTA ES LA SOLUCION.

• SE TOMA UNA DE LAS VARIABLES QUE CUMPLA CON SER NO ENTERA, Y SE INICIA EL METODO.

Page 4: Algoritmo de Branch & Bound

2. PROCEDIMIENTO• SE APROXIMA LA VARIABLE ESCOGIDA AL ENTERO INFERIOR Y

SUPERIOR, CON ESTO SE RAMIFICA EL PROBLEMA EN DOS SUB-PROBLEMAS.

• SE RESUELVE CADA SUB-PROBLEMA, DE UNA MANERA RELAJADA, Y SE EVALUAN LOS RESULTADOS:

• SI LA SOLUCION ES INFACTIBLE, ESTA RAMA, QUEDA DESCARTADA COMO PARTE DEL CONJUNTO SOLUCION.

• SI LA SOLUCION ES FACTIBLE, CON LAS VARIABLES ENTERAS, ESTA ES LA SOLUCION.

• SI LA SOLUCION ES FACTIBLE, PERO CON ALGUNA VARIABLE NO ENTERA, SE PROCEDE A SUB-DIVIDIR, UNA VEZ MAS ESTE SUB-PROBLEMA EN DOS RAMAS, CON LA VARIABLE APROXIMADA AL ENTERO INFERIOR, Y SUPERIOR EN CADA RAMA RESPECTIVAMENTE.

Page 5: Algoritmo de Branch & Bound

2. PROCEDIMIENTO• DE ACUERDO A SI LAS VARIABLES HALLADAS SON

NO ENTERAS, SE PROCEDE A REPETIR LAS RAMIFICACIONES, HASTA QUE SE DEN ALGUNA DE LAS SIGUIENTES CONDICIONES:

• LAS VARIABLES HALLADAS, SEAN ENTERAS• LA SOLUCION SEA NO FACTIBLE• CUANDO SE FINALICEN TODAS LAS RAMAS, SE

PROCEDE A COMPARAR LOS VALORES DE LAS FUNCIONES OBJETIVOS EN CADA FINAL DE RAMA, Y SE ESCOGE LA QUE SE APROXIMA MAS A LA HALLADA CON LA PRIMERA RELAJACION CONTINUA.

Page 6: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO

1)Resolver el siguiente PLE:

Page 7: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO1. Relajamos el problema (obviamos la consideración de

restricción entera) y lo resolvemos.Con las tres restricciones consideradas, hallamos los vértices de

la región factible:a. x1=0,x2=13/4b. x1=13/7,x2=0c. x1=0,x2=0Evaluando en la función objetivo, escogemos el máximo:21*(0) + 11*(13/4)= 35.75,21*(13/7) + 11*(0)= 39,21*(0) + 11*(0)= 0;Se obtiene 39, y esta es la cota máxima de la solución.

Page 8: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO

(0,13/4)

(0,0) (13/7,0)

Región Factible

X1

X2

Page 9: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO2.Observamos que “x1”(13/7), toma un valor no

entero, por lo que ramificaremos el problema en dos, con x1 aproximada al entero inferior(1) y superior(2) respectivamente.

x1=13/7 x2=0

z= 39 x1<=1 x1>=2

x1=1 x1=2 x2=? x2=?

P0

P2P1

Page 10: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICOAhora resolvemos de manera relajada cada sub-

problema, intersectando x1, en la región factible:P1: x1=1, x2=(13-7*x1)/4=3/2……(1,3/2),z=37.5

,x2=0 ……..(1,0),z=21P2: x1=2, x2=(13-7*x1)/4=-1/4…..(2,-1/4)…infac. ,x2=0 …..(2,0),.….infac.En P1,obtenemos la mejor solución de z=37.5, para

(1,3/2), en P2, obtenemos infactibilidad, debido a que la variables obtenidas no pertenecen a la región factible.

Page 11: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO x1=13/7

x2=0 z= 39

x1<=1 x1>=2

x1=1 x1=2 x2=3/2 x2 z=37.5 infactible

x2<=1 x2>=2

x1=1 x1=2 x2=? x2=?

Vemos que con P2, terminamos ese lado de la rama, caso contrario, con P1 donde el valor X2(3/2)no entero, obliga, a subdividir en dos nuevas ramas, repitiendo la metodología.

P0

P2P1

P11 P12

Page 12: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO

3. Siguiendo los criterios anteriores, resolvemos:

P11: x2=1, x1=(13-4*x2)/7=9/7……(9/7,1),z=38 ,x1=0 ……..(0,1),z=11

Notamos que con x1=9/7, se obtiene un z mayor, pero notamos que este valor viola la restricción principal de P1(x1<=1), que es la que dio origen a estas dos sub-ramas. Por lo que igualaremos x1 a 1, con lo que se obtiene un z=32.

P12: x2=2, x1=(13-4*x2)/7=5/7…..(5/7,2),z=37 ,x1=0 …..(0,2),Z=22

Page 13: Algoritmo de Branch & Bound

3. EJERCICIO PRACTICO• Notamos en P11, que sus variables son

enteras(1,1), por lo que esta rama finaliza aquí con un z=32.

• Caso contario con P12, donde se obtuvo (5/7,2), por lo que habrá que subdividir en nuevas ramas.

• Seguiremos el método hasta que se consigan que la variables sean enteras, o el sistema sea infactible, para finalizar la rama.

• Siguiendo el método obtuvimos lo siguiente

Page 14: Algoritmo de Branch & Bound

3. EJEMPLO PRACTICO

P0

P11

P2P1

P12

P122

P1212

P121

P1211

X1=13/7X2=0Z=39

X1=0X2=3Z=33

InfactibleX1=13/7X2=0Z=39

X1=1X2=1Z=32

X1=5/7X2=2Z=37

X1=0X2=13/4Z=35.75

X1<=1 X1>=2

X1<=0 X1>=1

X2<=1 X2>=2

X1<=3 X1>=4

Infactible

Infactible

Observamos, que el árbol de ramificaciones acabo, con dos juegos de variables, P11(z=32), y P1211(z=33).Por lo que la que se aproxima mas a la cota inicial(z=39), es P1211.

Así concluimos que la solución optima del problema de PLE, existe y es 33, con valores de x1=0, y x2=3

Page 15: Algoritmo de Branch & Bound

4. CONCLUSIONES

• El algoritmo de Branch & Bound es una herramienta muy importante para agilizar la resolucion de un problema de PLE, por que el problema en sub-problemas mas pequeños.