13.04.2013 Views

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

Algoritmos e complexidade Notas de aula - Arquivo Escolar

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Algoritmos</strong> B&B<br />

Algoritmo 7.3 (B&B)<br />

Instância Programa inteiro P = max{c t x | Ax ≤ b, x ∈ Z n +}.<br />

Saida Solução inteira ótima.<br />

7.2. Branch-and-bound<br />

1 { usando função z para estimar limite superior }<br />

2 z:=−∞ { limite i n f e r i o r }<br />

3 A:= {(P, g(P ))} { nós ativos }<br />

4 while A = ∅ do<br />

5 Escolhe : (P, g(P ) ∈ A ; A := A \ (P, g(P ))<br />

6 Ramifique : Gera subproblemas P1, . . . , Pn .<br />

7 for a l l Pi , 1 ≤ i ≤ n do<br />

8 { adiciona , se permite melhor solução }<br />

9 i f z(Pi) > z then<br />

10 A := A ∪ {(Pi, z(Pi))}<br />

11 end i f<br />

12 { atualize melhor solução }<br />

13 i f ( s o l u ç ã o z(Pi) é v i á v e l ) then<br />

14 z := z(Pi)<br />

15 end i f<br />

16 end for<br />

17 end while<br />

Exemplo 7.2 (Aplicação Branch&Bound no PCV)<br />

Consi<strong>de</strong>ra uma aplicação do PCV no grafo<br />

2<br />

1<br />

2<br />

2 3<br />

1<br />

1<br />

1<br />

3<br />

1<br />

3 4<br />

2<br />

Aplicando somente backtracking obtemos a seguinta árvore <strong>de</strong> busca:<br />

1<br />

5<br />

165

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!