Escolar Documentos
Profissional Documentos
Cultura Documentos
CIC210
Branch and Bound
Ramicar e Limitar
4 de dezembro de 2009
1/19
Idia Bsica
O algoritmo roda sob a rvore de enumerao das solues
possveis. No pior caso, todas as solues sero exploradas.
Na prtica, frequentemente vrios ramos so podados com o
uso de limites.
2/19
rvore de Enumerao
Branch
Branch consiste em dividir um problema em problemas menores.
Seja um problema P , divide-se em m subproblemas
P1 , P2 , . . . , Pm tal que
P1 P2 , . . . , Pm = P
3/19
rvore de Enumerao
Branch
4/19
rvore de Enumerao
Branch
5/19
rvore de Enumerao
Ex.: Problema com 3 variveis binrias: x1 , x2 , x3 .
Problema original P
6/19
rvore de Enumerao
Ex.: Problema com 3 variveis binrias: x1 , x2 , x3 .
Branch na varivel x1 , criam-se subproblemas P1 e P2
P1
P2
x1=1
x1=0
P
6/19
rvore de Enumerao
Ex.: Problema com 3 variveis binrias: x1 , x2 , x3 .
Branch na varivel x2 , criam-se subproblemas P11 ,P12 ,P21 e P22
P11
P12
P21
P22
x2=1
x2=0
x2=1
x2=0
P1
P2
x1=1
x1=0
P
6/19
rvore de Enumerao
Ex.: Problema com 3 variveis binrias: x1 , x2 , x3 .
Branch na varivel x3 leva as solues completas
x3=1 3=0
x
x
x3=1 3=0
x3=1 3=0
x
x
x3=1 3=0
P11
P12
P21
P22
x2=1
x2=0
x2=1
x2=0
P1
P2
x1=1
x1=0
P
6/19
rvore de Enumerao
Bound - Limites
usando somente o branch temos um algoritmo exato que em
um nmero nito de passos fornece a soluo tima
7/19
rvore de Enumerao
Bound - Limites
usando somente o branch temos um algoritmo exato que em
um nmero nito de passos fornece a soluo tima
mas extremamente ineciente !
7/19
rvore de Enumerao
Bound - Limites
usando somente o branch temos um algoritmo exato que em
um nmero nito de passos fornece a soluo tima
mas extremamente ineciente !
para
2n
ns a serem explorados.
7/19
rvore de Enumerao
Bound - Limites
usando somente o branch temos um algoritmo exato que em
um nmero nito de passos fornece a soluo tima
mas extremamente ineciente !
para
2n
ns a serem explorados.
7/19
Bound - Limites
Limites
Considere um problema onde queremos
achar o lucro mximo da soluo tima:
LimiteSuperior
Soluotima
LimiteInferior
z = max f (x)
8/19
n
C
li
pi
items
capacidade da mochila
lucro do item
peso do item
i
i
Deciso
xi =
1
0
item
incluso na soluo
caso contrrio
Objetivo
max
li x i
i=1,...,n
Restrio
pi xi C
i=1,...,n
9/19
li
pi
Heurstica:
capacidadeRestante
C
pi < capacidadeRestante
i com maior di tal que pi < capacidadeRestante
=
10/19
peso
li
pi
1,75
1,33
1,80
lucro
1,50
11/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
{3},
lucro: 9
11/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
tima
{3},
com certeza
lucro: 9
11/19
Limite Superior
O Mximo de Lucro
Para o problema da mochila 0/1, como calcular rapidamente um
limite superior para o lucro que pode ser obtido ?
O Problema Fracionrio da Mochila (PFM)
trocamos
xi {0, 1}
por
xi [0, 1],
12/19
Limite Superior
O Mximo de Lucro
Para o problema da mochila 0/1, como calcular rapidamente um
limite superior para o lucro que pode ser obtido ?
O Problema Fracionrio da Mochila (PFM)
trocamos
xi {0, 1}
por
xi [0, 1],
12/19
Limite Superior
O Mximo de Lucro
Para o problema da mochila 0/1, como calcular rapidamente um
limite superior para o lucro que pode ser obtido ?
O Problema Fracionrio da Mochila (PFM)
trocamos
xi {0, 1}
por
xi [0, 1],
12/19
Limite Superior
O Mximo de Lucro
Para o problema da mochila 0/1, como calcular rapidamente um
limite superior para o lucro que pode ser obtido ?
O Problema Fracionrio da Mochila (PFM)
trocamos
xi {0, 1}
por
xi [0, 1],
12/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
13/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
13/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
13/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
13/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
Limites Encontrados
Limite Superior (Relaxao PFM) lucro 10,75
? timo ?
14/19
lucro
peso
li
pi
1,75
1,33
1,80
1,50
Limites Encontrados
Limite Superior (Relaxao PFM) lucro 10,75
Soluo tima (itens 1 e 4)
lucro 10
14/19
Limites
Solues Parciais
Tanto a heurstica quanto a relaxao PFM podem ser
executadas em ns internos da rvore, considerando algumas
xaes de variveis. Atualiza-se a capacidade restante e items
disponveis).
Esse procedimento oferece um limite Limite Inferior e Superior
para esses ns.
15/19
Limites
Solues Parciais
Tanto a heurstica quanto a relaxao PFM podem ser
executadas em ns internos da rvore, considerando algumas
xaes de variveis. Atualiza-se a capacidade restante e items
disponveis).
Esse procedimento oferece um limite Limite Inferior e Superior
para esses ns.
15/19
Limites
Soluo Incumbente
a melhor soluo encontrada at o momento durante a busca.
Essa soluo pode aparecer durante a execuo de uma
heurstica ou durante o percurso na rvore (ao se chegar em ns
folha).
No caso de Maximizao, temos um Limite Inferior.
16/19
Limites
Soluo Incumbente
a melhor soluo encontrada at o momento durante a busca.
Essa soluo pode aparecer durante a execuo de uma
heurstica ou durante o percurso na rvore (ao se chegar em ns
folha).
No caso de Maximizao, temos um Limite Inferior.
16/19
Limite Superior
Relaxao
A soluo de um problema relaxado oferece uma soluo cujo
lucro melhor ou igual ao da soluo tima do problema
original.
Em Maximizao, temos um Limite Superior.
17/19
Poda
18/19
Incumbente: 11
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
LS:12,40
Incumbente: 11
LI:11
x1=1
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
LS:11
Incumbente: 11
Podado: continuar
x2=1
nesse n no
LS:12,40
oferecer nenhuma
LI:11
x1=1
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
LS:11
LS:12,4
LI:9
x2=1
x2=0
LS:12,40
Incumbente: 11
LI:11
x1=1
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
x3=1
LS:11
LS:12,4
LI:9
x2=1
x2=0
Incumbente: 11
LS:12,40
Podado:
LI:11
Infactibilidade.
x1=1
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
Peso=9
Infactvel
x3=1
x3=0
LS:11
LS:12,4
LI:9
x2=1
x2=0
Incumbente: 11
LS:12,40
LI:11
x1=1
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
Peso=9
Infactvel
x3=1
x3=0
LS:11
LS:12,4
Incumbente: 11
LI:9
x2=1
x2=0
como os lucros so
LS:12,40
inteiros, o melhor
LS:11,67
LI:11
lucro possvel
LI:11
considerando a
x1=1 x1=0
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19
Peso=9
Infactvel
x3=1
x3=0
LS:11
LS:12,4
LI:9
x2=1
x2=0
Incumbente: 11
LS:12,40
Soluo
LS:11,67
LI:11
Provadamente
LI:11
tima
x1=1 x1=0
LS:12,5
LI:11
C=7
i
li
pi
li/pi
xi
li
pi
li/pi
xi
1,75
1,80
1,33
1,00
19/19