Professional Documents
Culture Documents
El mtodo de bifurcacin y acotacin, que es muy elegante y simple, redondea y acota variables
enteras, resultante de la solucin de los problemas lineales correspondientes. Este proceso de
acotamiento y redondeo se hace de una manera secuencial lgica heurstica, que permite eliminar
con anticipacin un buen nmero de soluciones factibles alejadas del ptimo a medida que se
itera. De tal suerte que si una variable entera Xj, j=1., n, est acotada entre un lmite inferior
entero dj, j=1,, n, y un lmite superior entero uj, j=1,, n, el proceso de bifurcacin y acotacin
slo analiza un nmero muy pequeo de todas las posibles soluciones. Para que el lector se d
cuenta de la tremenda cantidad de posibles soluciones, debe tener presente que solo la variable Xj
puede tomar cualquiera de los siguientes valores enteros: dj, dj+1, dj+2,, uj-2, uj-1, uj. Si se
tienes n variables enteras, imagnese el nmero de posibles combinaciones que se pueden
obtener.
ALGORITMO DE LAND-DOIG
El primer algoritmo de bifurcacin y acotacin se presenta en Land y Doig(84). El nombre de
bifurcacin y acotacin se lo dan posteriormente Little, Murty, Sweeney, Karel (89). El algoritmo
de Land y Doig, fue modificado ms tarde por Dakin (48), que lo hace un poco ms general. A
continuacin se presenta el algoritmo de algoritmo de bifurcacin y acotacin de Land y Doig con
la modificacin hecha por Dakin, y suponiendo que se
maximiza la funcin objetivo.
Paso 1.
Resuelva el problema entero por medio del mtodo simplex de la programacin lineal. Si la
solucin es entera, parte, se ha conseguido la solucin ptima. Si no, contine en el paso 2.
Paso 2.
Escjase arbitrariamente una variable entera Xj cuyo resultado en el paso 1 sea fraccional e igual a
XBj.
Paso 3.
Resuelva un par de nuevos problemas, similares al problema anterior, pero uno con la restriccin
adicional Xj * XBj+, mientras que el otro tendr la restriccin adicional Xj * XBj+ + 1.
Paso 4.
De los programas lineales resueltos en el paso 3, inclyase en anlisis a seguir, solo aquellos
programas cuya solucin (entera o fraccional) sea mejor a cualquiera de las soluciones enteras
conocidas.
Paso 5.
Seleccinese aquel programa lineal que tenga el mximo valor de la funcin objetivo. Si las
variables enteras tienen valor entero, se ha conseguido la solucin ptima. Si no, regrsese alpaso
2 con la estructura del problema lineal resuelto en este paso.
Figura 1
Se presenta un diagrama de flujo de este algoritmo para facilitar la ilustracin de este algoritmo se
recomienda al lector se ayude de la figura 2en la solucin del siguiente ejemplo.
Ejemplo. Resolver
Problema (0).
Max. Z = 5X1 + 2x2
Sujeto a
2X1+2X2+X3= 9
3X1+X2+X4= 11
X1, X2, X3, X4 0 y enteros.
Interaccin 1
Paso 1.
La solucin ptima del programa lineal correspondiente es
Paso 2.
Se escoge arbitrariamente X2 =1.25 y
se resuelven dos problemas lineales distintos,uno con la restriccin adicional X2 *1.25+= 1 y el
otro con la restriccin adicional X2 *1.25+ + 1 =2 es decir
Problema (1)
Max Z = 5x1 +2x2
Sujeto a
2X1+2X2+X3= 9
3X1+X2+X4= 11
X2 + X5 =1
X1, X2, X3, X4, X5 0 enteros.
Problema (2)
Max Z = 5x1 +2x2
Sujeto a
2X1+2X2+X3= 9
3X1+X2+X4= 11
X2 - X5 = 2
X1, X2, X3, X4, X5 0 enteros.
Paso 3.
Aplicando el anlisis de sensibilidad, cuando se agrega una restriccin adicional a un problema
lineal, o bien el mtodo de cota superior, ambos discutidos en el captulo 2, se tienen los
siguientes tableaus ptimo de los problemas lineales.
Z
X1
X2
X3
X4
XB
1
0
0.33
0
1.67
18.75
0
0
-1.33
1
-0.67
0.33
Problema (1)
0
1
-0.33
0
0.33
3.33
Z
X1
X2*
X3
X4
XB
1
0
3
2.5
0
16.5
0
0
-2
-1.5
1
1.5
Problema (2)
0
1
1
0.5
0
2.5
Paso 4.
Como no ha habido ninguna solucin entera en todo el proceso, se incluyen ambos tableaus en el
anlisis.
Paso 5.
Como la mejor funcin objetivo hasta el momento corresponde a una solucin no entera (Z =
18.67, X1 =3.33, X3 = 0.33), se regresa al paso 2. La estructura seleccionada es la que lleva el
nmero (1).
Interaccin 2.
Paso 2.
Arbitrariamente, de la estructura (1) se escoge la variable X1 =3.33 y se resuelven dos nuevos
problemas. Uno que es igual al problema (1) ms la restriccin X1 *3.33+ = 3. El otro que es igual
al problema (1)
ms la restriccin X1 *3.33+ + 1 =4. Es decir
Problema (3)
Max Z = 5x1 +2x2
Sujeto a
2X1+2X2+X3 = 9
3X1+X2+X4 = 11
X2 + X5 = 1
X1+X6 = 3
X1, X2, X3, X4, X5, X6 0 enteros.
Problema (4)
Max Z = 5x1 +2x2
Sujeto a
2X1+2X2+X3 = 9
3X1+X2+X4 = 11
X2 + X5 = 1
X1-X6 = 4
X1, X2, X3, X4, X5, X6 0 enteros.
Aplicando el mtodo de cota superior, o cualquier otro mtodo, se obtiene n las soluciones
ptimas al problema lineal correspondiente a la estructura (3). La estructura (4), no tiene solucin
factible (el problema es inconsciente), y por lo tanto no se le incluye en el listado de estructuras a
analizar.
Z
X1
X2
X3
X4
XB
1
5
2
0
0
17
0
-2
-2
1
0
1
Problema (3)
0
-3
-1
0
1
1
Paso 4.
Por ser una solucin entera se incluye en el anlisis.
Paso 5.
Por ser el mejor valor de la funcin objetivo y adems, ser entero, es la solucin ptima, es decir
= 17, X1 = 3- X1 = 0, X2 = 1- X2 = 0, X3 =1, o sea
Z = 17, X1 = 3, X2 = 1, X3 =1, X4 =1.
El problema anterior puede describirse por medio de una representacin grfica que est
constituida por una red con estructura de rbol, donde a cada nodo se le asocia lo siguiente: un
nmero (el de la estructura del problema lineal correspondiente), el valor de las variables y el de la
funcin objetivo, para esa estructura.
Donde
0 1, para toda i, k
Si ik= 1, esto implica que la variable entera . Una vez hecha la substitucin del problema original
en trminos de la ik, la solucin ptima se encuentra utilizado programacin lineal con ciertos
ajustes penales del siguiente tipo:
a) Por cada variable ik no bsica, el costo penal por incrementar ik =1, es decir, , es el es el
precio sombra de ik, es decir zik-cik del tableau
correspondiente.
b) Por cada variable ik bsica, el costo penal por incrementar ik al valor 1, es decir, hacer , es el
mnimo incremento en la funcin objetivo por hacer ik = 1 (o sea, hay que usar anlisis de
sensibilidad al hacer el termino independiente correspondiente al vector bsico ik al igual a uno).
El cambio mnimo en el valor de la funcin en la primera iteracin del mtodo dual simplex, al
hacer el cambio correspondiente en el lado derecho del tableau, este cambio es igual a
Donde Xbr es el valor del vector bsico ik y son los valores del tableau correspondiente.
De los costos penales en (a) se selecciona el mnimo. Si hay un empate, se escogen todos. Se
combinan entonces con el coste mnimo penal calculado en (b) y se selecciona aquella solucin
factible cuya suma de costos penales (los calculados en (a) y (b)) sea mnima.
Ejemplo. Resolver el siguiente problema entero-mixto.
Max Z = 5x1 +2x2
2X1+2X2+X3 = 9
3X1+X2+X4 = 11
X1 0 X2 0 X3 0 X4 0
X1 , X2 enteros
Se hace el cambio
X1 = 010 + 111 + 212 + 313 +
X2 = 020 + 121 + 222 + 323 +
Con
ij = 0 1,
y
10 + 11 + 12 + 13 += 1
20 + 21 + 22 + 23 += 1
Se tiene que X1 puede alcanzar un valor mximo factible de 3, y X2 de 4, se toman los 4 trminos
de 1j y los 5 primeros trminos de 2j, y el problema original se convierte en:
Mx z = 010 + 511 + 1012 + 1513 + 020 + 221 + 422 + 623 + 824
Sujeto a
410 + 611 + 012 + 013 +
220 + 221 + 422 + 623 + 824 + X3 = 9
410 + 311 + 612 + 913 + 020 + 121 + 222 + 323 + 424 + X4 = 11
110 + 111 + 112 +1 13 = 1
120 + 121 + 122 + 123 = 1
El tableau es
Despus de la interaccin del mtodo simplex se obtiene la siguiente solucin ptima no-entera:
ij no bsicos
Entonces, asociada a cada variable bsica Xr, que aun fraccionaria, pero que en la solucin ptima
debe ser entera, se tiene dos costos personales, uno asociado con el cambio Xr=[XBr] yel otro con
Xr=. Para identificacin, dentese al primer costo penal por [CP]r y al segundo por r. la variable
que se selecciona para ramificarse es aquella cuyo [CP]r r es el mximo entre todas las variables
bsicas Xr, que siendo an fracciones, deben ser enteras en la solucin ptima. Este proceso
acelera al mtodo, pues al elegir una variable bsica con costo penal alto, se evita aumentar el
nmero de interacciones al eliminar implcitamente soluciones peores a las actuales.
Ejemplo. Resolver
Max Z = 5x1 +2x2
Sujeto a
2X1+2X2+X3 = 9
3X1+X2+X4 = 11
20X1 - 10X2 - X5 = 51
X1, X2,
X3, X4, X5, 0 enteros.
La solucin ptima del problema lineal asociado es
Donde I es el conjunto de todos los vectores bsicos en la iteracin en cuestin (cuando se para el
algoritmo) y N es el conjunto de todos los vectores no-bsicos.
Ejemplo. Considere el siguiente problema entero.
Mn. Z =7X1 +3X2+4X3
X1+2X2+3X3-X4=8
3X1+X2+X3-X5=5
X1, X2, X3, X4, X50, enteros
Se supone que despus de ramificarse como lo indica la figura 3, se ha obtenido una solucin
entera y se para el algoritmo, se desea conocer cuan alejada se encuentra esa solucin de la
solucin ptima. el tableau asociada con el nodo 2 es:
FIGURA 3
Calculando los costos penales [CP]r y r para toda variable bsica (X3) se tiene:
Sujeto a
Sujeto a
ki millones de pesos, y se pronostica que ese proyecto rendir vi millones de pesos anuales de
utilidad cuando el proyecto est funcionando. La capacidad total de inversin K es de 91 millones
de pesos. La siguiente tabla resume los datos asociados a cada proyecto de inversin:
El grupo financiero debe tomar la decisin de aceptar o rechazar cada proyecto, Qu proyecto se
deben incluir y cuales rechazar con objeto de maximizar el retorno total anual?
Antes de empezar el mtodo de bifurcacin y acotacin, conviene volver a listar los proyectos de
inversin en orden descendiente en funcin a un ndice que proviene del siguiente cociente:
(retorno anual i) / (inversin i). Este cociente indica los millones de pesos que se reciben por milln
de pesos invertidos.
Nodo 1. Si se incluye el proyecto 1, se invierten 30 millones y se reciben 60. Como an quedan 9130=61 millones por invertir, se selecciona adems el proyecto 2, que consume otros 36 millones,
pero rinde 54 millones. An quedan por invertir 61-36=25 millones. Si se incluyera el proyecto 3
completo, este consumira 32 millones, o sea 7 ms de la capacidad total de inversin. Como esto
no es posible, y por lo tanto no es una solucin factible, se asocia a este nodo un valor de
60+54+32-7(1)=146 millones, que provienen de la suma de los retornos anuales del proyecto 12 y
2 completos (60+54) y del retorno asociado a 32-7=25 millones de inversin del proyecto 3 (que
por coincidencia es
igual a 32-7 1) =25millones). En forma tabular se tiene para este nodo:
Para el nodo 1 (no se puede invertir en el proyecto 1) se tiene ahora en forma tabular
De los dos nodos sin ramificaciones (1) y (1), el primero tiene mejor valor de la funcin objetivo
que el segundo (139 millones contra 103.25). Por lo tanto, se analizan ahora los nodos (1, 2) y
(1,2).
Para el nodo (1, 2) se tiene:
De los nodos sin ramificacin (1), (1, 2) y (1, 2) el que tiene el mejor valor de la funcin objetivo es
precisamente el segundo (1, 2), con 139 millones (comparado a 103.25 y112.50). Por lo tanto, se
ramifica del nodo (1, 2) a analizar los nodos (1, 2, 3) y (1, 2, 3).
Para el nodo (1, 2, 3) se tiene:
Como la solucin de este nodo es imposible se le asocia un valor a la funcin objetivo, que
garantice que el proceso no se ramifique de este nodo. Este valor puede ser - (ya que se esta
maximizndola funcin objetivo).
Para el nodo (1, 2, 3) se tiene:
De los cuatro nodos sin ramificar (1), (1, 2), (1, 2, 3) y (1, 2, 3). El tercero tiene el mejor valor de la
funcin objetivo (132.50 millones contra 103.25 millones, mientras de (1), 112.50 millones de (1,
2) y - millones de (1, 2, 3). Por lo tanto se analizan a continuacin los nodos (1, 2, 3, 4) y (1, 2, 3, 4).
Para el nodo (1, 2, 3, 4) se tiene un valor de las funcin objetivo de 132.50 millones, mientras que
para (1, 2, 3, 4) es de 126.50
millones. Se bifurca entonces del nodo (1, 2, 3, 4) y se analizan los nodos (1, 2, 3, 4, 5) y (1, 2, 3, 4,
5). Para el nodo (1, 2, 3, 4, 5) se obtiene un valor - por ser una solucin imposible (pues
necesariamente se deben incluir los proyectos 1, 2, 4, 5 con inversin total de 116 millones que
rebasan la capacidad de inversin de 91 millones). Para el nodo (1, 2, 3, 4, 5 ) se tiene un valor de
132 millones. De todos los nodos sin ramificar, a saber, el (1) con 103.25 millones, el (1, 2) con
112.50 millones, el (1, 2, 3)con - millones, el (1, 2, 3, 4) con 126.50 millones, el (1, 2, 3, 4, 5) con millones, y el (1, 2, 3, 4, 5) con 132 millones, el mejor es el (1, 2, 3, 4, 5). Como esta solucin es
factible, tambin es ptima. En la figura 4 se resume el proceso de bifurcacin y acotacin para
este problema tipo binario (cero-uno).
Figura 4
Hay que hacer notar que el nmero total de posibles soluciones a este problema es de 25 =32 y
que el proceso de bifurcacin y acotacin solo examino 10 de ellas (aproximadamente un 30% del
total), para determinar el ptimo. A medida que el nmero de proyectos tiende a crecer, el
porcentaje de posibles soluciones que el mtodo de bifurcacin y acotacin examina, tiende a
bajar, haciendo este mtodo mucho ms eficiente.
El mtodo de bifurcacin y acotacin y el problema del agente viajero