Branch Bound 2

Embed Size (px)

Citation preview

  • 7/26/2019 Branch Bound 2

    1/25Ramifcacin y acotacin Pg. 1

    Ramifcacin y acotacin(Branch and Bound)

    Introduccin

    El problema del viajante

    de comercio El problema de la mochila 0-1

    El juego del 1

  • 7/26/2019 Branch Bound 2

    2/25Ramifcacin y acotacin Pg. !

    Introduccin:Branch and Bound

    "l igual #ue lo$ m%todo$ deb&$#ueda con retroce$o'

    ( $e aplica a problema$ de optimi)acin con

    re$triccione$ *alguna$ vece$ tambi%n aprobl. de deci$in+

    ( $e genera el e$pacio de $olucione$,organi)ndolo en un rbol.

    ( e podan $ubrbole$ in&tile$.

    erminolog/a'( odo vivo' nodo del e$pacio de $olucione$

    del #ue no $e han generado a&n todo$ $u$hijo$.

    ( odo muerto' nodo del #ue no $e van a

    generar m$ hijo$ por#ue' no hay m$ no e$ completable, no producir una $olucin mejor #ue la

    $olucin en cur$o

    ( odo en curso*o en epan$in+' nodo del

    #ue $e e$tn generando hijo$

  • 7/26/2019 Branch Bound 2

    3/25Ramifcacin y acotacin Pg. 2

    3i4erencia 4undamental con elm%todo de b&$#ueda con retroce$o'

    ( 5&$#ueda con retroce$o'

    an pronto como $e genera un nuevo hijodelnodo en cur$o, e$te hijo pa$a a $er el nodoen cur$o.

    ( Ramifcacin y acotacin'

    e generan todo$ lo$ hijo$ del nodo en cur$o

    ante$ de #ue cualquier otro nodo vivopa$e a $er el nuevo nodo en cur$o.

    En con$ecuencia'( 5&$#ueda con retroce$o'

    6o$ &nico$ nodo$ vivo$ $on lo$ #ue e$tn enel camino de la ra/) al nodo en cur$o.

    ( Ramifcacin y acotacin'

    Puede haber m$ nodo$ vivo$.e deben almacenar en una e$tructura dedato$ auiliar' lista de nodos vivos.

    Introduccin:(1) Ramifcacin

  • 7/26/2019 Branch Bound 2

    4/25Ramifcacin y acotacin Pg. 7

    Recordemos:Backtracking para

    problemas deoptimizacin(minimizacin)

    algoritmoBackTracking(entk:entero;

    entsal X:vector[1..n]devalor)

    {Pre: X[1..k-1] es completable,

    cota(X,k-1)

  • 7/26/2019 Branch Bound 2

    5/25Ramifcacin y acotacin Pg.

    Backtracking Iteratio

    algoritmoBackTracking()

    variable P es pila de nodo;

    CosteMejorSol:=pvacia(P); apilar(P,)

    mientras vacia(P) hacer

    :=cima(P); desapilar(P);para todov en Cihacer

    X[k]:=v;

    si(completable(X,k) cota(X,k)

  • 7/26/2019 Branch Bound 2

    6/25Ramifcacin y acotacin Pg. 8

    3i4erente$ e$trategia$ deelegir el $iguiente nododel conjunto de nodo$ vivo$

    3i$tinto$ rdene$ de recorridodel rbol de

    $olucione$

    ( pila:

    recorr. en pro4undidad

    ( cola:

    recorrido por nivele$

    ( cola con prioridades (Branch and

    Bound): $eleccin del nodo vivo m$prometedor.

    recorrido 9etra:o;

    6a prioridad de un nodo $e calcula de acuerdocon una funcin de estimacin#ue midecunto de 9prometedor; e$ un nodo.

    Introduccin:

  • 7/26/2019 Branch Bound 2

    7/25Ramifcacin y acotacin Pg. ,?+ @ 9co$te de la mejor eten$inde >;, el algoritmo ir directoa la mejor $olucin

    6a cota $irve para de$cubrir pronto #uee$ in&til continuar por el camino actual

    ( i, adem$, cota*>,?+@ 9co$te de la mejoreten$in de >;, podar el re$to de rama$.

    En general, con$eguir prioridade$ y

    cota$ per4ecta$ e$ impo$ible.( i prioridad*>,?+ 9co$te de la mejor eten$in

    de >;, el algoritmo ir ca$i directo a la mejor$olucin

    ( i cota*>,?+ 9co$te de la mejor eten$in de >;,el algoritmo podar ca$i toda$ la$ rama$

    En general, el co$te e$pacial y temporaldel m%todo e$ A*p*n+ dn+

    ( d@maBCDiC

    ( p*n+ e$ un polinomio

    Ramifcacin y poda

  • 7/26/2019 Branch Bound 2

    9/25Ramifcacin y acotacin Pg. F

    Punto clavede lo$ m%todo$ deramifcacin y acotacin'

    Encontrar buena$ 4uncione$ deprioridad y buena$ cota$.

    Gabitualmente $e u$a la cotacomo prioridad del nodo *$i la cota

    e$ buena, e$ una buena medida delo prometedor #ue e$ el nodo+. ino decimo$ lo contrario, no$otro$tambi%n lo haremo$.

    Ramifcacin y poda

  • 7/26/2019 Branch Bound 2

    10/25Ramifcacin y acotacin Pg. 10

    !l problema del ia"antede comercio

    Recordar'

    ( Encontrar un recorrido de longitud

    m/nima para un viajante #ue tiene#ue vi$itar varia$ ciudade$ y volveral punto de partida, conocida ladi$tancia ei$tente entre cadado$ ciudade$.

    ( E$ decir, dado un gra4o dirigido con arco$delongitud no negativa, $e trata de encontrarun circuito de longitud m/nima #uecomience y termine en el mi$mo v%rtice ypa$e eactamente una ve) por cada unode lo$ v%rtice$ re$tante$

    *circuito hamiltoniano+.

    HE$toyha$tala$ $de viajar J

  • 7/26/2019 Branch Bound 2

    11/25Ramifcacin y acotacin Pg. 11

    Kormali)acin'( ean #@*$,%+ un gra4o orientado,

    $@B1,!,L,n,

    &Mi,"N la longitud de *i,"+%,&Mi,"N@$i no ei$te el arco *i,"+.

    ( El circuito bu$cado empie)a en el v%rtice 1.

    ( Dandidato$'

    !@ B 1,>,1 C > e$ una permutacin de *!,2,

    L,n+ C!C @ *n-1+J

    ( olucione$ 4actible$'

    !@ B 1,>,1 C > @'1,'!,L,'n-1, e$ unapermutacin de *!,2,L,n+ tal #ue *i",i"O1+%,

    0"n*1,'1+ % *'n-1,1+ %

    ( Kuncion objetivo'

    K*>+@3M1,1NO3M1, !N O 3M!, 2NO...O3Mn-!, n-1NO

    O3Mn,1N

    !l problema del ia"antede comercio

  • 7/26/2019 Branch Bound 2

    12/25Ramifcacin y acotacin Pg. 1!

    Repre$entacin del e$pacio dee$tado$'

    ( Da$o de un gra4o completo con C$C @ 7.

    !l problema del ia"antede comercio

    1

    181121!11

    10F=

  • 7/26/2019 Branch Bound 2

    13/25Ramifcacin y acotacin Pg. 12

    3efnicin de una cota*,k+ muy$encilla'

    ( uma de ari$ta$ ya e$cogida$

    ( cota*,k+@&M1M1NNO [email protected]!&MMiN,MiO1NN

    Ejemplo' *n@+

    !l problema del ia"antede comercio

    !0 20 10 11

    1 18 7 !2 ! 7

    1F 8 1= 2

    18 7 < 18

    Ejemplo de matri) noreducida.

  • 7/26/2019 Branch Bound 2

    14/25Ramifcacin y acotacin Pg. 17

    Puede mejorar$e u$ando la matriz dedistancias reducida'

    ( Qna fla *columna+ de la matri) de di$tancia$ $e

    dice reducida$i $u$ elemento$ $on nonegativo$ y contiene al meno$ un 0.

    ( Qna matri) de di$tancia$ $e dice reducida $icada fla y columna e$ reducida.

    ( Para cada k, 1kn, todo circuito hamiltonianoincluye eactamente un arco de la 4orma *k,-+ yeactamente un arco de la 4orma *-,k+.

    ( i $e re$ta una con$tante tde cada elemento deuna fla *columna+ de la matri) de di$tancia$, lalongitud de todo hamiltoniano $e reduceeactamente en ty un hamiltoniano dedi$tancia m/nima lo $igue $iendo.

    !l problema del ia"antede comercio

    !0 20 10 11

    1 18 7 !

    2 ! 7

    1F 8 1= 2

    18 7 < 18

    Ejemplo de matri) noreducida.

  • 7/26/2019 Branch Bound 2

    15/25Ramifcacin y acotacin Pg. 1

    ( i $e elige tcomo el m/nimo de lo$ elemento$ de

    la fla *columna+ i-%$ima y $e re$ta tde todo$ lo$elemento$ de e$a fla *columna+, la flare$ultante e$ reducida.

    ( Repitiendo el proce$o para fla$ y columna$,$iempre $e puede con$eguir #ue la matri) dedi$tancia$ $ea reducida.

    6a cantidad total *re$tada de fla$ y columna$e$ una cota in4erior de la longitud de unhamiltoniano de longitud m/nima

    !l problema del ia"antede comercio

    Reduccin de la fla 1, t@ 10.

    !0 20 10 11

    1 18 7 !

    2 ! 7

    1F 8 1= 2

    18 7 < 18

    10 !0 0 1

    1 18 7 !

    2 ! 7

    1F 8 1= 2

    18 7 < 18

    10 1< 0 1

    1! 11 ! 0

    0 2 0 !

    1 2 1! 0

    11 0 0 1!

    !0 20 10 11

    1 18 7 !

    2 ! 7

    1F 8 1= 2

    18 7 < 18

    Reduccinde la matri),*@ !.

  • 7/26/2019 Branch Bound 2

    16/25Ramifcacin y acotacin Pg. 18

    ( Dlculo de la cota in4erior para lo$ nodo$di$tinto$ de la ra/) y de la$ hoja$'

    ea%la matri) de di$tancia$ reducida parael nodoy.

    ea'un hijo dey#ue corre$ponda aincluir el arco *i,"+ en el recorrido y #ue no$ea hoja.

    6a matri) Breducida para', y por tantocota*+, $e calcula de la $iguiente 4orma'

    1.Dambiar todo$ lo$ elemento$ de la fla iyde la columna"de%por .

    ( E$to evita el incluir m$ arco$ #ue$algan de io lleguen a".

    !.Dambiar el elemento *",1+ de%por

    ( E$to evita con$iderar el arco *",1+.2.Be$ la matri) #ue $e obtiene al reducir

    toda$ la$ fla$ y columna$ de la matri)re$ultante *ecepto a#u%lla$ 4ormada$ $lopor 9;+.

    i re$ el valor total re$tado en el pa$o *2+'

    cota*+@cota*y+ O 3Mi,jN O r

    !l problema del ia"antede comercio

  • 7/26/2019 Branch Bound 2

    17/25Ramifcacin y acotacin Pg. 10, pi >0, 1 i n

  • 7/26/2019 Branch Bound 2

    23/25Ramifcacin y acotacin Pg. !2

    El problema original'

    3eci$in' encontrar una $ecuencia

    de movimiento$ #ue lleven alobjetivo

    Aptimi)acin' encontrar la $ecuenciade movimiento$ m$ corta

    +n primer e"emplo:!l "uego del 10

    amuel 6oyd' El juego del 1 o 9ta?en;.

    Problema publicado en un peridico de ueva Xor?

    en 1=

  • 7/26/2019 Branch Bound 2

    24/25Ramifcacin y acotacin Pg. !7

    ( Donfguracin' permutacin de *1,!,...,18+

    ( olucin' $ecuencia de confguracione$#ue

    empie)an en el e$tado inicial y acabanen el fnal. 3e cada confguracin $e puede pa$ar

    a la $iguiente. o hay confguracione$ repetida$

    1 ! 2 7