Está en la página 1de 6

Mtodo de Ramificacin y Acotamiento

(Branch and Bound)

Resumen
Hasta el momento solo hemos visto mtodos de resolucin de problemas
lineales continuos. Sin embargo es muy frecuente que la naturaleza del
problema nos diga que las variables son enteras o binarias. Una alternativa es
simplemente aproximar la solucin hacia el entero mas cercano, pero esta
estrategia podra ser bastante mala como de hecho ocurre para las variables
binarias. El algoritmo de ramificacin y acotamiento ( o de branch and bound)
comienza con una relajacin del problema (no considerar restricciones de
integralidad) y construye un rbol con soluciones enteras particionado el
conjunto de soluciones factibles de modo de descartar soluciones fraccionarias.
Sin embargo, este solo hecho de descomponer nos puede llevar a un problema
inmanejable por lo que debemos podar el rbol de manera inteligente.

Abstract
So far we have only seen methods of solving continuous linear problems.
However, it is very common for the nature of the problem to tell us that the
variables are whole or binary. An alternative is simply to approximate the
solution for the closest set, but this strategy could be quite bad as it actually
happens for binary variables. The branch and bound algorithm begins with a
relaxation of the problem (does not need integrality constraints) and builds a
tree with whole solutions partitioning the set of feasible solutions in order to rule
out fractional solutions. However, this single fact of decomposing can lead to an
unmanageable problem so we must prune the tree intelligently.

Introduccion
Un problema de programacin entera es un problema de programacin lineal.
El sentido comn dicta que este tipo de problemas deben ser mucho ms sencillos que
los problemas de programacin lineales convencionales.
Existen tres casos de programacin entera:

-Programacin entera pura.

-Programacin entera mixta.

-programacin entera binaria.

Un enfoque para obtener soluciones enteras a un problema es resolver de la solucin


ptima obtenida de la solucin del Simplex y redondear las soluciones a nmeros
enteros.
Uno de los mtodos ms usados para solucionar este tipo de problemas es el mtodo
de ramificacin y acotamiento

Objetivos

El objetivo de esta investigacin es presentar un mtodo para resolver problemas de


programacin entera (PE) mediante la tcnica de ramificacin y acotamiento.

Adems de conocer la ramificacin y acotacin de programacin entera y los pasos


para llevarla acabo asimismo encontrar la solucin optima del PE mediante la
enumeracin exhaustiva de los puntos en una regin factible de un subproblema.

Marco terico

Bases tericas
ALGORITMO DE RAMIFICACION Y ACOTAMIENTO

Paso 1: Resuelva el Problema Lineal utilizando el mtodo correspondiente.

Paso 2: La solucin es entera?

2.1 Si, Se obtuvo la Solucin Optima, ir al Paso 8.

2.2 No, ir al Paso 3.


Paso 3: Escoger de la solucin final una variable entera Xj, cuyo resultado es
fraccionario e igual a Xbi.
Paso 4: Resolver 2 P.L. iguales al anterior uno con restriccin Xj <= [Xbj] y el
otro con restriccin Xj >= [Xbj]+1
Paso 5: Incluir en el anlisis aquellos programas cuyo resultado sea el mejor
(mx., min.), a cualquiera de las soluciones enteros conocidos.
Paso 6: Seleccionar el Programa que tenga el mximo valor de la F.O.
Paso 7: Ir al Paso 2.

Paso 8: Fin.
Diagrama de flujo

Inicio

Resolver el P.L. correspondiente (Mtodo


Simplex)

0 1
La solucin
es entera?

Escoja de esta estructura una variable


entera Xj , cuyo resultado es fraccionario Solucin
e igual a XBi. ptima

Resuelva dos P.L.s iguales al anterior uno con


restriccin adicional Xj <= [XBj] y el otro con
restriccin adicional Xj >= [XBj]+1 Fin

Incluir en el anlisis aquellos programas cuyo


resultado sea mejor a cualquiera de las
soluciones enteros conocidos

Seleccinese el programa que tenga el


mximo valor de la F.O.
Ejemplo

Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 24


8x1 + 3x2 24
x10,x20, x1,x2Z+

Resolviendo en primer lugar el PL, es decir

Max F(X) = 8x1 + 10x2

s.a. 4x1 + 6x2 24


8x1 + 3x2 24
x10,x20

x1 = 2, x2 = 8/3, f(x) = 128/3

Primera Ramificacin:

Solucin: x1 = 2, x2 = 8/3, f(x) = 128/3

subproblema 1 subproblema 2

Max F(X) = 8x1 + 10x2 . Max F(X) = 8x1 + 10x2


s.a. 4x1 + 6x2 24 s.a. 4x1 + 6x2 24
8x1 + 3x2 24 8x1 + 3x2 24
x2 3 x2 2
x10,x20 x10,x20

solucin x1=1,5, x2=3, F(x)=42 solucin x1=2,5, x2=2, F(x)=38

Segunda ramificacin:

Solucin anterior mejor: x1=1,5, x2=3, F(x)=42

subproblema 1.1 subproblema 1.2

Max F(X) = 8x1 + 10x2 . Max F(X) = 8x1 + 10x2


s.a. 4x1 + 6x2 24 s.a. 4x1 + 6x2 24
8x1 + 3x2 24 8x1 + 3x2 24
x2 3 x2 3
x1 1 x1 2
x10,x20 x10,x20

solucin x1=1, x2=10/3,F(x)=124/3 solucin infactible.

Tercera ramificacin

Solucin anterior mejor: x1=1, x2=10/3,F(x)=124/3

subproblema 1.1.1 subproblema 1.1.2

Max F(X) = 8x1 + 10x2 . Max F(X) = 8x1 + 10x2


s.a. 4x1 + 6x2 24 s.a. 4x1 + 6x2 24
8x1 + 3x2 24 8x1 + 3x2 24
x2 3 x2 3
x1 1 x1 2
x2 3 x2 4
x10,x20 x10,x20

solucin x1=1, x2=3,F(x)=38 solucin x1=0, x2=4,F(x)=40


Solucin OPTIMA x1 = 0, x2 = 4, F(x) = 40

El rbol del problema resuelto es el siguiente:

2 X1=2,5,X2=2,F=3 1.1.1 X1=1,X2=2,F=3

X22 X23

PL X1=2,X2=8/3,F=128/3
1.1 X1=1,X2=10/3,F=124/3

X23 X24
X11

1 X1=1,5,X2=3,F=4 1.1.2 X1=0,X2=4,F=4

X12
1.2 INFACTIBLE

Grfico 1

Conclusiones
-La programacin entera representa problemas donde las variables de decisin son enteras, lo
cual es un caso muy frecuente.

-El mtodo de Acotamiento y Ramificacin ofrece una manera sencilla para solucionar
problemas de programacin entera de manera sencilla, aunque no siempre de manera eficiente.

-A pesar de tener un nmero de soluciones finitas, los problemas de programacin entera tienen
un grado de dificultad considerable, y muchas veces no existe solucin para estos problemas.