metodos de bifurcacion y acotacion

Upload: sarmiento-ruiz

Post on 02-Jun-2018

218 views

Category:

Documents


0 download

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