1 / 17

Algoritmo Branch-and-Bound

Algoritmo Branch-and-Bound. Professora Adria Lyra. O algoritmo “branch-and-bound” (B&B). É uma estratégia de divisão e conquista para problemas de natureza inteira mista

xantha-beck
Download Presentation

Algoritmo Branch-and-Bound

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Algoritmo Branch-and-Bound Professora Adria Lyra

  2. O algoritmo “branch-and-bound” (B&B) • É uma estratégia de divisão e conquista para problemas de natureza inteira mista • A idéia é dividir um problema P em um conjunto de subproblemas menores {SPk} de forma que a solução de P possa ser obtida através da solução dos subproblemas.

  3. Algoritmo Branch-and-Bound • As divisões são feitas iterativamente, sempre observando que os subproblemas devem ser mais fáceis de serem resolvidos que o problema original. • Além disso, procuramos descartar subproblemas desde que estes não contenham a solução ótima.

  4. Estratégia de divisão e conquista • Considere o problema: P : z = max {cT x : x ∈ S} • Como “quebrar” P em subproblemas menores e depois os “recombinar”de maneira a se obter uma solução para o problema original?

  5. Estratégia de divisão e conquista • Proposição: • Seja S = S1 ∪ . . . ∪ SK uma decomposição de S em K conjuntos menores. • Seja também zk = max{cT x : x ∈ Sk} para k = 1, . . . ,K. • Então, z = max{zk : k = 1, . . . ,K}. • Uma estratégia de divisão e conquista, obedecendo as premissas da proposição acima, pode ser ilustrada com uma árvore de enumeração.

  6. Estratégia de divisão e conquista • Para S ⊆ {0, 1}3, podemos construir a árvore de enumeração abaixo. S x1 = 0 x1= 1 S1 S0

  7. Estratégia de divisão e conquista • Claramente S = S0 ∪ S1, onde • S0 = {x ∈ S : x1 = 0} e • S1 = {x ∈ S : x1 = 1}. • Podemos subdividir cada um dos subproblemas em subproblemas ainda menores, fazendo: • S0 = S00 ∪ S01 e • S1 = S10 ∪ S11, • onde Si1i2 = {x ∈ Si1 : x2 = i2}.

  8. Estratégia de divisão e conquista S x1 = 0 x1= 1 S0 S1 x2 = 0 x2 = 1 x2 = 1 x2 = 0 S10 S00 S01 S11 Árvore de Enumeração

  9. Estratégia de divisão e conquista S x1 = 0 x1= 1 S1 S0 x2 = 1 x2 = 1 x2 = 0 x2 = 0 S10 S11 S01 S00 x3 = 0 x3 = 1 S100 S101 S110 S111 S000 S001 S010 S011

  10. Estratégia de divisão e conquista • Uma folha da árvore de enumeração completa Si1i2i3 é não-vazia se, e somente se, x = (i1, i2, i3) ∈ S. • Portanto, as folhas da árvore correspondem precisamente as soluções candidatas que seriam examinadas se fosse conduzida uma enumeração completa.

  11. Enumeração Implícita • Enumeração completa é inviável para problemas práticos • Uma alternativa é utilizar os limites de {zk} de forma inteligente, tanto os limites superiores quanto os inferiores.

  12. Enumeração Implícita • Algoritmo Branch-and-Bound • Proposição • Seja S = S1∪ . . . ∪ Sn uma decomposição de S em n subconjuntos. • Seja zk = Max{cTx : x ∈ Sk} para k = 1, . . . ,n. • Seja um limite superior para zk. • Seja um limite inferior para zk . • Então: • = Max{ : k = 1, . . . ,n} define um limite superior para z • = Max{ : k = 1, . . . ,n} define um limite inferior para z

  13. O problema da Mochila 0, 1 ub = v + (W – w)(vi+1 / wi+1) A capacidade da Mochila é W = 10 Solução inicial: itens 1 e 3. Peso = 9, valor total = 65.

  14. Branch-and-Bound Expansão da árvore em largura para todos os nós W=0, v=0 Ub = 100 Sem 1 Com 1 x W=4, v=40 Ub = 76 W=0, v=0 Ub = 60 Descartado, pois ub <65 Escolhe-se o nó mais promissor para expandir todos os seus filhos

  15. Branch-and-Bound W=0, v=0 Ub = 119 Sem 1 Com 1 x W=4, v=40 Ub = 76 W=0, v=0 Ub = 60 Com 2 Sem 2 x W=11, W=4, v=40 Ub = 70 Escolhe-se o nó mais promissor para expandir todos os seus filhos Descartado, pois ub <65

  16. Branch-and-Bound W=0, v=0 ub = 119 Sem 1 Com 1 x W=4, v=40 ub = 76 W=0, v=0 ub = 60 Com 2 Sem 2 x W=11, W=4, v=40 ub = 70 Sem 3 Com 3 x Descartado, pois ub <65 W=9, v=65 ub = 69 W=4, v=40 ub = 64 Escolhe-se o nó mais promissor para expandir todos os seus filhos

  17. Branch-and-Bound W=0, v=0 ub = 119 Sem 1 Com 1 x W=4, v=10 ub = 76 W=0, v=0 ub = 60 Com 2 Sem 2 x W=11, W=4, v=10 ub = 70 Sem 3 Com 3 x W=9, v=65 ub = 69 W=4, v=10 ub = 64 Com 4 Sem 4 x W=12, W=9, v=65 ub = 65 Solução

More Related