26
 mificación y acotación Pág. 1 Ramificación y acotación (Branch and Bound) y Introducción y El problema del viajante de comercio y El problema de la mochila 0-1 y El juego del 15

Branch and Bound

Embed Size (px)

Citation preview

Page 1: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 1/25

 

mificación y acotación Pág. 1

Ramificación y acotación(Branch and Bound)

y Introducción

y El problema del viajantede comercio

y El problema de la mochila 0-1

y El juego del 15

Page 2: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 2/25

 

mificación y acotación Pág. 2

Introducción:Branch and Bound

y Al igual que los métodos debúsqueda con retroceso:

– se aplica a problemas de optimización con

restricciones (algunas veces también aprobl. de decisión)

– se genera el espacio de soluciones,organizándolo en un árbol.

– Se podan subárboles inútiles.

y Terminología:– Nodo vivo: nodo del espacio de soluciones

del que no se han generado aún todos sushijos.

– Nodo muerto: nodo del que no se van a

generar más hijos porque:x no hay másx no es completable,x no producirá una solución mejor que la

solución en curso

– Nodo en curso (o en expansión): nodo delque se están generando hijos

Page 3: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 3/25

 

mificación y acotación Pág. 3

y Diferencia fundamental con elmétodo de búsqueda conretroceso:

– Búsqueda con retroceso:

 Tan pronto como se genera unnuevo hijo delnodo en curso, este hijo pasa aser el nodo en curso.

– Ramificación y acotación:

Se generan todos los hijos delnodo en cursoantes de que cualquier otronodo vivo pase a ser el nuevo

nodo en curso.

y En consecuencia:– Búsqueda con retroceso:

Los únicos nodos vivos son losque están en el camino de la raízal nodo en curso.

– Ramificación y acotación:

Introducción:(1) Ramificación…

Page 4: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 4/25

 

mificación y acotación Pág. 4

 Backtracking para

 problemas de

optimización(minimización)

algoritmo BackTracking(ent k:entero;

entsal X:vector[1..n]de valor)

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

cota(X,k-1)<CosteMejorSol}

 para todo v en Ci hacer

X[k]:=v;

  si (completable(X,k) ∧cota(X,k)<CosteMejorSol) entonces

  si Sol(X,k) entonces 

MejorSol:= X;

CosteMejorSol:= Coste(X)

  fsi;

  si k<n entonces BackTracking(k+1,X)

fsi;

  fsi

fpara

 

algoritmo BackTracking(ent k:entero;

entsal X:vector[1..n]de valor){Pre: X[1..k-1] es completable,

cota(X,k-1)<CosteMejorSol}

 para todo v en Ci hacer

X[k]:=v;

  si (completable(X,k) ∧cota(X,k)<CosteMejorSol) entonces

  si Sol(X,k) entonces 

MejorSol:= X;

CosteMejorSol:= Coste(X)

  fsi;

  si k<n entonces BackTracking(k+1,X)

fsi;

  fsi

fpara

Page 5: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 5/25

 

mificación y acotación Pág. 5

Backtracking Iterativo

 

algoritmo BackTracking()

variable P es pila de nodo;

CosteMejorSol:=∞pvacia(P); apilar(P,<X,1>)

 mientras ¬vacia(P) hacer

  <X,k>:=cima(P); desapilar(P);  para todo v en C

i hacer

X[k]:=v;

  si (completable(X,k) ∧cota(X,k)<CosteMejorSol) entonces

  si Sol(X,k) entonces 

MejorSol:= X;CosteMejorSol:= Coste(X)

  fsi;

  si k<n entonces 

apila(P,<X,k+1>)

fsi;

  fsi

fpara

fmientras

devuelve (MejorSol, CosteMejorSol)

 

algoritmo BackTracking()

variable P es pila de nodo;

CosteMejorSol:=∞pvacia(P); apilar(P,<X,1>)

 mientras ¬vacia(P) hacer

  <X,k>:=cima(P); desapilar(P); 

 para todo v en Ci hacer

X[k]:=v;

  si (completable(X,k) ∧cota(X,k)<CosteMejorSol) entonces

  si Sol(X,k) entonces 

MejorSol:= X;

CosteMejorSol:= Coste(X)

  fsi;

  si k<n entonces 

apila(P,<X,k+1>)

fsi;

  fsi

fpara

fmientras

devuelve (MejorSol, CosteMejorSol)

tipo nodo es tuplaX: vector[1..n]de valor

k: [1..n+1]

ftipo // X[1..k-1] es una asignación parcial

 

tipo nodo es tuplaX: vector[1..n]de valor

k: [1..n+1]

ftipo // X[1..k-1] es una asignación parcial

Page 6: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 6/25

 

mificación y acotación Pág. 6

y Diferentes estrategias deelegir el siguiente nododel conjunto de nodos vivos

⇒ Distintos órdenes derecorrido del árbol desoluciones

– pila:

⇒ recorr. en profundidad– cola:

⇒recorrido por niveles

– cola con prioridades (Branch andBound): selección del nodo vivo másprometedor.

⇒ recorrido “extraño”

La prioridad de un nodo secalcula de acuerdo con unafunción de estimación quemide cuánto de “ rometedor” es

Introducción:

Page 7: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 7/25

mide cuánto de rometedor es 

mificación y acotación Pág. 7

Ramificación y poda

algoritmo BranchAndBound()

variable C es cola_prioritaria de nodo;

CosteMejorSol:= ∞cvacia(C); encolar(C,<X,1,pr(X,1)>)

 mientras ¬ vacia(C) hacer

  <X,k>:=primero(C); desencolar(C);

para todo v en Ci hacer

X[k]:=v;

  si (completable(X,k) ∧cota(X,k)<CosteMejorSol) entonces

  si Sol(X,k) entonces 

MejorSol:= X;

CosteMejorSol:= Coste(X)  fsi;

  si k<n entonces 

encola(C,<X,k+1,pr(X,k+1)>)

fsi;

  fsi

fparafmientras

devuelve (MejorSol, CosteMejorSol)

 

algoritmo BranchAndBound()

variable C es cola_prioritaria de nodo;

CosteMejorSol:= ∞cvacia(C); encolar(C,<X,1,pr(X,1)>)

 mientras ¬ vacia(C) hacer

  <X,k>:=primero(C); desencolar(C);

para todo v en Ci hacerX[k]:=v;

  si (completable(X,k) ∧cota(X,k)<CosteMejorSol) entonces

  si Sol(X,k) entonces 

MejorSol:= X;

CosteMejorSol:= Coste(X)  fsi;

  si k<n entonces 

encola(C,<X,k+1,pr(X,k+1)>)

fsi;

  fsi

fpara

fmientras

devuelve (MejorSol, CosteMejorSol)

tipo nodo es tuplaX: vector[1..n]de valor

k: [1..n+1]

ftipo // X[1..k-1] es una asignación parcial

 

tipo nodo es tuplaX: vector[1..n]de valor

k: [1..n+1]

ftipo // X[1..k-1] es una asignación parcial

Page 8: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 8/25

 

mificación y acotación Pág. 8

y La prioridad sirve para “guiar” labúsqueda y encontrar pronto unasolución óptima.

– Si prioridad(X,k) = “coste de la mejor

extensión de X”, el algoritmo irá directo a lamejor solución

y La cota sirve para descubrir prontoque es inútil continuar por elcamino actual

– Si, además, cota(X,k)= “coste de la mejorextensión de X”, podará el resto de ramas.

y En general, conseguir prioridades ycotas perfectas es imposible.

– Si prioridad(X,k) ≈ “coste de la mejorextensión de X”, el algoritmo irá casidirecto a la mejor solución

– Si cota(X,k) ≈ “coste de la mejor extensiónde X”, el algoritmo podará casi todas lasramas

y En general, el coste espacial ytemporal del método es O(p(n) dn)– d=max{|Ci|}

– p(n) es un polinomio

Ramificación y poda

Page 9: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 9/25

 

mificación y acotación Pág. 9

y Punto clave de los métodos deramificación y acotación:

Encontrar buenas funciones deprioridad y buenas cotas.

y Habitualmente se usa la cota comoprioridad del nodo (si la cota es

buena, es una buena medida de loprometedor que es el nodo). Si nodecimos lo contrario, nosotrostambién lo haremos.

Ramificación y poda

Page 10: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 10/25

 

mificación y acotación Pág. 10

El problema del viajantede comercio

y Recordar:

– Encontrar un recorrido de longitudmínima para un viajante que tieneque visitar varias ciudades y volveral punto de partida, conocida ladistancia existente entre cadados ciudades.

– Es decir, dado un grafo dirigido con arcosdelongitud no negativa, se trata de encontrarun circuito de longitud mínima quecomience y termine en el mismo vértice ypase exactamente una vez por cada uno delos vértices restantes(circuito hamiltoniano).

¡Estoyhastalas θ’s

 

de viajar !

Page 11: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 11/25

 

mificación y acotación Pág. 11

y Formalización:– Sean G=(V , A) un grafo orientado,

V ={1,2,…,n},

D[i, j] la longitud de (i, j)∈ A,

D[i, j]=∞ si no existe el arco (i, j).– El circuito buscado empieza en el vértice 1.

– Candidatos:E = { 1,X,1 | X es unapermutación de (2,3,…,n) }

|E| = (n-1)!

– Soluciones factibles:

E = { 1,X,1 | X = x 1, x 2,…, x n-1, esuna permutación de (2,3,…,n) talque (i j,i j+1)∈ A, 0< j<n,

(1, x 1) ∈ A , ( x n-1,1) ∈ A}

– Funcion objetivo:

F(X)=D[1,x1]+D[x1, x2] + D[x2,

El problema del viajantede comercio

Page 12: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 12/25

 

mificación y acotación Pág. 12

y Representación del espacio deestados:

– Caso de un grafo completo con |V | = 4.

El problema del viajantede comercio

1

1615131211

109876

14

5

432

 x 1=2

 

 x 1=3  x 1=4

 x 2

=3  x 2

=4  x 2

=2  x 2

=4  x 2=2

 x 2=3

 x 3=4  x 3=3  x 3=4  x 3=2  x 3=3  x 3=2

Cada hoja es una solución y representa el viajedefinido por el camino desde la raíz hasta la hoja.

Page 13: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 13/25

 

mificación y acotación Pág. 13

y Definición de una cota( X ,k ) muysencilla:

– Suma de aristas ya escogidas

– cota( X ,k )=D[1,X [1]]+ Σi=1..k -2 D[ X [i], X [i+1]]

y Ejemplo: (n=5)

El problema del viajantede comercio

 

∞ 20 30 10 11

15 ∞ 16 4 23 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

Ejemplo de matriz no reducida.

Page 14: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 14/25

 

mificación y acotación Pág. 14

y Puede mejorarse usando la matrizde distancias reducida:

– Una fila (columna) de la matriz de

distancias se dice reducida si suselementos son no negativos y contiene almenos un 0.

– Una matriz de distancias se dice reducida sicada fila y columna es reducida.

– Para cada k , 1<k <n, todo circuitohamiltonianoincluye exactamente un arco de la forma

(k ,-) y exactamente un arco de la forma(-,k ).

– Si se resta una constante t de cadaelemento de una fila (columna) de la matriz

El problema del viajantede comercio

 

∞ 20 30 10 11

15 ∞ 16 4 2

3 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

Ejemplo de matriz no reducida.

Page 15: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 15/25

 

mificación y acotación Pág. 15

– Si se elige t como el mínimo de loselementos dela fila (columna) i-ésima y se resta t detodos los elementos de esa fila (columna),

la fila resultante es reducida.

– Repitiendo el proceso para filas y columnas,

siempre se puede conseguir que la matrizdedistancias sea reducida.

El problema del viajantede comercio

Reducción de la fila 1, t = 10. 

∞ 20 30 10 11

15 ∞ 16 4 2

3 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

∞ 10 20 0 1

15 ∞ 16 4 2

3 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

∞ 10 17 0 112 ∞ 11 2 0

0 3 ∞ 0 2

15 3 12 ∞ 0

11 0 0 12 ∞

∞ 20 30 10 1115 ∞ 16 4 2

3 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

Reducciónde la matriz,L = 25.

Page 16: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 16/25

 

mificación y acotación Pág. 16

– Cálculo de la cota inferior para los nodosdistintos de la raíz y de las hojas:

x Sea A la matriz de distancias reducidapara el nodo y .

x Sea x un hijo de y que corresponda aincluir el arco (i, j) en el recorrido y queno sea hoja.

x La matriz B reducida para x , y por tanto

cota(x), se calcula de la siguienteforma:

1. Cambiar todos loselementos de la fila i y de la

columna j de A por ∞.– Esto evita el incluir más arcos quesalgan de i o lleguen a j.

2. Cambiar el elemento ( j,1)de A por ∞

– Esto evita considerar el arco ( j,1).3. B es la matriz que se

obtiene al reducir todas lasfilas y columnas de la matrizresultante exce to a uéllas

El problema del viajantede comercio

Page 17: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 17/25

resultante exce to a uéllas 

mificación y acotación Pág. 17

y Ejemplo:

El problema del viajantede comercio

 

∞ 10 17 0 1

12 ∞ 11 2 00 3 ∞ 0 2

15 3 12 ∞ 0

11 0 0 12 ∞

∞ 20 30 10 11

15 ∞ 16 4 23 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

Grafo original. Matriz reducida, L = 25.

1

2 543

 x 1 = 2

 x 1 = 3  x 1 = 4

 x 1 = 5

 

∞ ∞ ∞ ∞ ∞

∞ ∞ 11 2 0

0 ∞ ∞ 0 2

15 ∞ 12 ∞ 0

11 ∞ 0 12 ∞

∞ ∞ ∞ ∞ ∞

1 ∞ ∞ 2 0

∞ 3 ∞ 0 24 3 ∞ ∞ 0

0 0 ∞ 12 ∞

∞ ∞ ∞ ∞ ∞

12 ∞ 11 ∞ 0

0 3 ∞ ∞ 2∞ 3 12 ∞ 0

11 0 0 ∞ ∞

∞ ∞ ∞ ∞ ∞

10 ∞ 9 0 ∞

0 3 ∞ 0 ∞

12 0 9 ∞ ∞

∞ 0 0 12 ∞

c = 25

 c= 25 c=25+10 = 35 c=25+17+11 = 53  c=25+1+5 = 31

Page 18: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 18/25

 

mificación y acotación Pág. 18

1

2 543

 x 1 = 2

 x 1 = 3  x 1 = 4

 x 1 = 5

UB = ∞

El problema del viajantede comercio

6 7 8

 x 2 = 2

 x 2 = 3

 x 2 = 5

 c= 25

 c= 25 c= 35  c= 53 c= 31

 c= 28

 c= 50

 c= 36

9 10

11

 x 3 = 3

 

 x 3 = 5 c= 32  c= 28

 c= 28

 x 4 = 3

Es hoja (solución),se actualiza UB = 28.

El siguiente nodo en curso sería el 5, pero cota(5)>UBluego el algoritmo termina y el hamiltoniano mínimoes 1,4,2,5,3,1.

Page 19: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 19/25

 

mificación y acotación Pág. 19

y Otras versiones, basadas en otrarepresentación del espacio deestados:

– G=(V , A),x |V |=n, | A|=a

x  A={(oi, di)}, oi ∈V, di ∈ V

x D[oi, di], distancia de la arista

– Un hamiltoniano es un conjunto de n arcos.

– Además, para cada vértice i, 0<i<n+1,debe haber en ese conjunto exactamenteun arco de la forma (i, j) y uno de la forma(k ,i).

– Soluciones Factibles: {X=()| ∀i  x i ∈{0,1},Σ x i =n,  ∀u ∈V ((∃!i ( x i =1 ∧ oi =u) ∧(∃! j ( x  j =1 ∧ d j =u)) }

– Función Objetivo: F(X)= Σ x i D[oi, di]

– Arbol de búsqueda= árbol binario:x

Un hijo izquierdo representa la inclusiónde un determinado arco en elhamiltoniano mientras que su hermanoderechorepresenta la exclusión de ese arco.

El problema del viajantede comercio

Page 20: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 20/25

 

mificación y acotación Pág. 20

– Si se elige, para empezar, el arco (i, j):x el subárbol izquierdo representa todos

los recorridos que incluyen el arco (i, j),y

x el subárbol derecho los recorridos queno lo incluyen;

x si hay un recorrido óptimo incluido en elsubárbol izquierdo, entonces sólo faltan

por seleccionar n-1 arcos paraencontrarlo,x mientras que si todos están en el

derecho, hay que seleccionar todavía n arcos.

– Ejercicio: pensar en como se calcula la cotade un nodo, dada la cota de su padre

El problema del viajantede comercio

Page 21: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 21/25

 

mificación y acotación Pág. 21

– Por ejemplo, con el grafo de antes:

Se llega al nodo 6.

Se han elegido ya tres arcos:

(3,1), (5,3), (1,4).Para los dos restantes, sóloqueda ya una opción:

(4,2) y (2,5).

Así, se obtiene el recorrido:5,3,1,4,2,5.

Con distancia total: 28 (así, UB = 28)

El problema del viajantede comercio

6 7

4 5

2 3

1

 

∞ 20 30 10 11

15 ∞ 16 4 2

3 5 ∞ 2 4

19 6 18 ∞ 3

16 4 7 16 ∞

incluir (3,1)

 

excluir (3,1)

incluir (5,3) excluir (5,3)

incluir (1,4) excluir (1,4)

 c= 25

 c= 25

 c= 28

 c= 28

 c= 36

 c= 37

 c= 36

 c(3)= 36>UB

Page 22: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 22/25

 

mificación y acotación Pág. 22

El problema de lamochila 0-1

y Recordar el problema de lamochila…

– Se tienen n objetos fraccionables y una

mochila.– El objeto i tiene peso pi y beneficio bi.

– El objetivo es llenar la mochila, decapacidad C, de manera que se maximice elbeneficio.

– ya vimos una cota que consistía en resolverel problema permitiendo fracciones en los

objetos sobre los que aún no se hadecidido.

 

maximizar bi x i1≤ i≤n∑

sujeto a  pi x i1≤ i≤n∑ ≤ C

con x i ∈ 0,1{ }, bi >0,  pi >0, 1≤ i ≤ n

Page 23: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 23/25

 

mificación y acotación Pág. 23

y El problema original:

Decisión: encontrar una secuencia de

movimientos que lleven al objetivo

Optimización: encontrar la secuenciade movimientos más corta

Un primer ejemplo:El juego del 15

 

Samuel Loyd: El juego del 15 o “taken”.

Problema publicado en un periódico de Nueva York

en 1878 y por cuya solución se ofrecieron 1000dólares.

Problema de Lloyd

1 2 3 4

5 7 8

9 10 1112

1314 15

6

El objetivo

1 2 3 4

5 7 8

9 10 1112

13 1415

6?

Page 24: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 24/25

 

mificación y acotación Pág. 24

– Configuración: permutación de (1,2,...,16)

– Solución: secuencia de configuraciones quex empiezan en el estado inicial y acaban

en el final.x De cada configuración se puede pasar a

la siguiente.x No hay configuraciones repetidas

 

1 2 3 4

57

89 10 11

121314 15

6

1 2

3

4

5

7

8

9 10 11

121314 15

6

1 2 3 4

5

7

8

9 10 11

121314 15

6

1 2 3 4

5 7 8

9 10 11

121314 15

6

1 2 3 4

5

7

8

9 10 11

121314 15

6

1 2

3

4

5

7

8

9 10 11

121314 15

6

1 2

3

4

5

7

8

9 10 11

121314 15

6

1 2 3

45

7

8

9 10 11

121314 15

6

1 2 3 4

5

7

8

9 10

11

121314 15

6

1 2 3 4

5 7 8

9 10 11

121314 15

6

1 2 3 4

5 7 8

9 10 11

121314

15

6

1 2 3 4

5 7 8

9 10 11

121314 15

6

1

2

3 4

5

7

8

9 10 11

121314 15

6

1 2 3 4

5

7

8

9

10

11

121314 15

6

1 2 3 4

5

7

8

9 10 11

121314 15

6

1 2

3

4

5

7

8

9 10 11

121314 15

6

1 23

45

7

8

9 10 11

121314 15

6 1 23

45

7

8

9 10 11

121314 15

6

1 2 3

45

7

8

9 10 11

121314 15

6

1 2 3 45

7

8

9 10

11

12

1314 15

61 2 3 45

7

8

9 10

11

121314 15

6

1 2 3 4

5 7

89 10 11

121314 15

6

1 2 3 4

5 7 8

9 10 1112

1314 15

6

↑→ ↓

→ ← ↑ ↓ → ↓ ← ↑ ↓ ←

↓ ↓ ← ← ←↓ ↑ ↓

objetiv

o

1

2 3 4 5

6 7 8 9 1

0

1

1

1

2

1

3

1

4

1

5

16

17

1

8

19

2

0

2

1

22

23

Un primer ejemplo:El juego del 15

Page 25: Branch and Bound

5/16/2018 Branch and Bound - slidepdf.com

http://slidepdf.com/reader/full/branch-and-bound-55ab55628fee5 25/25

 

mificación y acotación Pág. 25

y Problema muy difícil parabacktracking

– El árbol de búsqueda es

potencialmente muy profundo (16!niveles), aunque puede habersoluciones muy cerca de la raíz.

y Se puede resolver con branchand bound (aunque haymétodos mejores)

y funciones de prioridad:– numero de fichas mal colocadas (puede

engañar)

– suma, para cada ficha, de la distancia a laposición donde le tocaría estar

– ...

Un primer ejemplo:El juego del 15