Upload
pablo-bravo-riveros
View
224
Download
0
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