metodos de bifurcacion y acotacion
TRANSCRIPT
-
8/10/2019 Metodos de Bifurcacion y Acotacion
1/14
METODOS DE BIFURCACION Y ACOTACION
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, dj1, dj2,, 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 algoritmode 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 enterasconocidas.
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.
-
8/10/2019 Metodos de Bifurcacion y Acotacion
2/14
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
-
8/10/2019 Metodos de Bifurcacion y Acotacion
3/14
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
-
8/10/2019 Metodos de Bifurcacion y Acotacion
4/14
1
-0.33
0
0.33
3.33
Z
X1
X2*
X3X4
XB
1
0
3
2.5
0
16.5
0
0
-2
-1.5
1
1.5
Problema (2)
0
-
8/10/2019 Metodos de Bifurcacion y Acotacion
5/14
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 elnmero (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
-
8/10/2019 Metodos de Bifurcacion y Acotacion
6/14
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
X2X3
X4
XB
1
5
2
0
0
17
0
-2
-2
1
0
1
Problema (3)
-
8/10/2019 Metodos de Bifurcacion y Acotacion
7/14
-
8/10/2019 Metodos de Bifurcacion y Acotacion
8/14
Z = 18.67, X1 = 3.33, X2 = 1, X3 =0.33, X4 = 0,
Por ser ese nodo el que, sin tener ninguna bifurcacin (arco que emana del nodo), tiene una
solucin factible, es decir X2 es entero, X1, X3, X4 continuos, y el valor de la funcin objetivo
asociada a ese nodo es la mayor de todas las funciones objetivo de los nodos sin bifurcacin.
Existe otro algoritmo para resolver problemas mixtos enteros, y es debido a Driebeek (52). Estealgoritmo, basado en el mtodo de Lang-Doig, convierte a todas las variables enteras en binaria
(cero-uno) de la siguiente manera. Sea Xi una variable entera, entonces
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 ciertosajustes 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
-
8/10/2019 Metodos de Bifurcacion y Acotacion
9/14
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 de2j, 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:
El clculo de costos al pasar de ik 1 a ik = 1 es el siguiente
ij no bsicas
ij no bsicos
los costos penales mnimos se obtienen cuando:
-
8/10/2019 Metodos de Bifurcacion y Acotacion
10/14
X1 =3 y X2=1 (solucin factible) con costos penal total 0+0=0,
X1 =3 y X2=2 (solucin no factible) con costos penal total 0+0=0,
X1 =3 y X2=3 (solucin no factible) con costos penal total 0+0=0.
Como las dos ltimas soluciones no son factibles, pues violan alguna de las restricciones y la
primera solucin es factible, tambin lo es
Z =17, X1 =3, X2=1.
Como vera el lector el algoritmo de Driebeek determina una cota superior de la funcin objetivo
en caso maximizacin o una cota inferior de la funcin objetivo en caso de minimizacin, y por
medio de los costos penales se ajusta con el costo penal mnimo, la solucin ptima del problema
entero. Driebeek ha refinado un poco ese algoritmo a fin de que comercialmente sea ms
econmico resolverlo en una computadora, al parar de iterar cuando la solucin factible que se
tiene se aproxima en un 80%-90% a la solucin ptima.
ACELERACION DE LOS METODOS DE BIFURCACION Y ACOTACION
Los mtodos de bifurcacin y acotacin, pueden acelerarse, es decir, hacerlos
converger ms rpidamente a la solucin ptima, si se tiene un poco ms de cuidado en la
seleccin de la variable entera que genera una bifurcacin.
Se entiende por [X] al nmero entero de z ms grande, menor o igual a X, y por al nmero entero z
ms pequeo, mayor o igual a X. por ejemplo
[6.5]=6, [-6.5]=-7, [0.3]=0, [-0.3]=-1.
=7, =-6, =1, =0.
Los costos penales de Driebeek [52] sirven para seleccionar al mejor candidato. Dada una variable
bsica Xr = XBr cuyo resultado final debe ser entero, y por el momento es todava fraccionario, se
tiene que el costo penal de hacer Xr = [XBr] es
mientras que el costo penal de hacer Xr = es
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 variableque 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
-
8/10/2019 Metodos de Bifurcacion y Acotacion
11/14
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
Z = 18.75, X1 = 3.25, X2 = 1.25, X3 =X4 =0, X5 =1.5.
El calculo de los costos penales [CP]i ,i,i=1,2 para las variables bsicas (X1,X2) es:
[CP]1 = (3.25-3) Mn.1 = (1-3.25+3) Mn.
[CP]2 = (1.25-1) Mn.
2 = (1-1.25+1) Mn.
La variable que se selecciona es la X2y las dos nuevas ramificaciones estarn dadas por las nuevas
restricciones X21 y X22. Termine usted este ejemplo.
Estos costos penales tienen la grandsima ventaja que permiten en cualquier instante del
algoritmo de bifurcacin y acotacin (aunque no se haya obtenido aun la solucin ptima),
calcular una cota superior en el caso de maximizacin y una cota inferior en el caso deminimizacin entre la diferencia del valor de la funcin objetivo de la mejor solucin entera
obtenida hasta ese momento y el valor ptimo de la funcin objetivo. Esta cota se calcula de
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:
-
8/10/2019 Metodos de Bifurcacion y Acotacion
12/14
FIGURA 3
Calculando los costos penales [CP]r y r para toda variable bsica (X3) se tiene:
=Mx. {Mn. (0,0), Mn. {4}}
=Mx. {0,4} = 4,
Lo que quiere decir que la funcin objetiva ptima no puede tener un valor mayor a -17 + 4 =-13.
Es decir 13 es una cota inferior del valor ptimo de la funcin objetivo del problema entero. De
hecho el valor ptimo es Z =15 con X2=5, X4=2, X1=X3=X5=0.
EL MTODO DE BIFURCACIN Y ACOTACIN Y EL PROBLEMA TIPO MOCHILA
El problema tipo mochila se presenta en dos versiones, a saber
Sujeto a
Y
Sujeto a
Donde vi es el valor del articulo i,i = 1,,n; Ki es un volumen y K, la capacidad mxima de
almacenamiento.
La diferencia entre ambas fabulaciones es obvia. En la primera se pueden incluir varias unidades
de un mismo artculo, mientras que en el segundo (mochila tipo binario) se incluye o no una sola
unidad de cada artculo.
El mtodo que se explica a continuacin es de Kolesar [80] y sirve para resolver el segundo tipo de
problema. Es un mtodo de bifurcacin y acotacin. Este mtodo considera que un nodo lleva unndice i, si el articulo i se incluye e si no se incluye. Un nodo con ndice (i,j) significa que se incluye
el articulo i primero y despus el articulo j, mientras que el ndice ( j)significa que el articulo i no
se incluye pero el j s. Se supone el siguiente ejemplo.
Un grupo financiero tiene 5 proyectos de inversin. Cada proyecto i, i =1,2,,5 necesita de una
inversin de
-
8/10/2019 Metodos de Bifurcacion y Acotacion
13/14
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 sedeben 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 91-
30=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 3completo, 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:
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:
-
8/10/2019 Metodos de Bifurcacion y Acotacion
14/14
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