branch bound

Upload: daselknam

Post on 05-Mar-2016

21 views

Category:

Documents


0 download

DESCRIPTION

branch and bound

TRANSCRIPT

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Clase Auxiliar:Ejemplos de B&B y FCPA

    Diego A. Moran R.

    IN77O

    18 de junio de 2008

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Contenidos

    1 Ejemplo Branch & Bound

    2 Ejemplo FCPA

    3 Bibliografa

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Contenidos

    1 Ejemplo Branch & BoundPreliminaresAlgunas opciones de BrancheoAplicando Branch&Bound

    2 Ejemplo FCPA

    3 Bibliografa

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Preliminares

    Problema a Resolver

    zIP = max 7x1 + 2x2x1 + 2x2 45x1 + x2 202x1 2x2 7

    x Z2+Introduciremos variables de holgura x3, x4, x5 R+. No esnecesario pedir integralidad.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Preliminares

    Resolviendo la relajacion (1)

    El tableau en el optimo es:

    zLP + 311x3 +1611x4 =

    33211

    + x1 111x3 + 211x4 = 3611+ x2 + 511x3 +

    111x4 =

    4011

    + 811x36

    11x4 + x5 =7511

    con x1, x2 Z+ y x3, x4, x5 R+.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Preliminares

    Resolviendo la relajacion (2)

    Es decir,

    z0LP =33211

    x0 =(

    36511

    4011

    0 07511

    )El resultado no es el optimo entero hay que branchear,en x1, x3 o x2, variables fraccionarias.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Forma muy usada de elegir la variable

    Definiendo la parte fraccionaria:

    f ij = xij x ij

    Se usa la regla:

    maxjN i

    mn{Dij ,D+ij }con

    Dij = pij f

    ij

    D+ij = p+ij (1 f ij )

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Maxima infactibilidad

    El criterio de maxima infactibilidad esta dado seteando:

    D0j = f0j y D

    +0j = 1 f 0j

    Es decir, los coeficientes valen uno:

    pij = p+ij = 1

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Aplicando lo anterior al ejemplo

    Calculando,

    D01 =3

    11, D+01 =

    811

    , D02 =7

    11,D+02 =

    411

    Y ocupando la regla para elegir la variable:

    maxj{1,2}

    mn{D0j ,D+0j } = max(

    311

    ,4

    11

    )=

    411

    = D+02

    Con esto,podramos decidir branchear en la variable x2(x2 3 o x2 2) y examinar el hijo derecho asociado.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Uso de penalizaciones (1)

    De las restricciones podemos ver que si x3 o x4crecen, entonces x2 decrece. Con esto podemossetear p+02 =.Siguendo con este razonamiento, zLP decrece en 35(161 ) por unidad que x2 disminuye cuando x3 (x4)sehace variable basica. Con esto podemos setear:

    p02 = mn(

    35,161

    )=

    35

    Similarmente,

    p+01 = 3 y p01 =

    162

    = 8.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Uso de penalizaciones (1)

    De las restricciones podemos ver que si x3 o x4crecen, entonces x2 decrece. Con esto podemossetear p+02 =.Siguendo con este razonamiento, zLP decrece en 35(161 ) por unidad que x2 disminuye cuando x3 (x4)sehace variable basica. Con esto podemos setear:

    p02 = mn(

    35,161

    )=

    35

    Similarmente,

    p+01 = 3 y p01 =

    162

    = 8.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Uso de penalizaciones (2)

    Calculando

    D01 =3 811

    =2411

    , D+01 =8 311

    =2411

    D02 =35 7

    11=

    2155

    , D+02 =Luego,

    maxj{1,2}

    mn{D0j ,D+0j } = max(

    2411

    ,2155

    )=

    2411

    = D01 = D+01

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Uso de penalizaciones (3)

    Basados en lo anterior, podramos branchear en lavariable x1.Pero, la evidencia emprica indica que estos calculosno valen la pena para problemas de gran tamano.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Algunas opciones de Brancheo

    Uso de penalizaciones (3)

    Basados en lo anterior, podramos branchear en lavariable x1.Pero, la evidencia emprica indica que estos calculosno valen la pena para problemas de gran tamano.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Comienza el Bracheo

    Usando el criterio de maxima infactibilidad, decidimosbranchear en x2, agregando las restriccion:

    x2 4 (x2 t = 4, t 0)Al subproblema as generado lo llamaremos nodo 1

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Comienza el Bracheo

    Usando el criterio de maxima infactibilidad, decidimosbranchear en x2, agregando las restriccion:

    x2 4 (x2 t = 4, t 0)Al subproblema as generado lo llamaremos nodo 1

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Continuando con el branching. . .

    Las restricciones del subproblema (nodo 1) quedandadas por:

    zLP + 311x3 +1611x4 =

    33211

    + x1 111x3 + 211x4 = 3611+ x2 + 511x3 +

    111x4 =

    4011

    + 811x3 +611x4 + x5 =

    7511

    + 511x3 +111x4 + t = 411

    con x , t 0.OBS: En un sistema computacional la restriccion deacotamiento no es agregada explcitamente.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Primera poda

    El algoritmo simplex dual muestra inmediatamenteque el problema es primal infactible (miren la ultimarestriccion).Con esto podamos el nodo 1, por infactibilidad.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Primera poda

    El algoritmo simplex dual muestra inmediatamenteque el problema es primal infactible (miren la ultimarestriccion).Con esto podamos el nodo 1, por infactibilidad.

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Explorando otro nodo

    Analizando el unico otro subproblema posible, quellamaremos nodo 2, que corresponde al IP original conla restriccion adicional

    x2 3, (x2 + s = 3, s 0)La relajacion lineal resultante se escribe:

    zLP + 311x3 +1611x4 =

    33211

    + x1 111x3 + 211x4 = 3611+ x2 + 511x3 +

    111x4 =

    4011

    + 811x3 +6

    11x4 + x5 =7511

    511x3 111x4 + s = 711Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Relajacion lineal nodo 2

    Una iteracion del algoritmo dual entrega:

    zLP + x1 + 75x4 +35s =

    1495

    + x1 + 15x4 15s = 175+ x2 + s = 3

    + 25x4 + x5 +85s =

    295

    + x3 + 15x4 115 s = 75Con esto z2LP =

    1495 y x

    2 =(

    175 3

    75 0

    295

    )

    Diego A. Moran R. Modelos y Algoritmos de Optimizacion

  • Ejemplo Branch & Bound Ejemplo FCPA Bibliografa

    Aplicando Branch&Bound

    Explorando el nodo 2nodo 3

    Puesto que x21 es fraccionaria, brancheamos en x1,examinando primero el hijo izquierdo, quellamaremos nodo 3, pues f 21