Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula...
Transcript of Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula...
![Page 1: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/1.jpg)
Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP
Programação inteira
Branch-and-bound
Aula baseada em diversas fontes:“Integer programming” de L. Wolsey, 1998.“Integer and combinatorial optimization” de Nemhauser e
Wolsey, 1988Slides do curso “Optimization methods in management
sciente” – J. Orlin et al., MIT OpencoursewareSlides do curso “Systems Optimization” – John Vande Vate,
MIT Opencourseware
![Page 2: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/2.jpg)
FMBT/ AMC
Como resolver problemas combinatórios
• Exemplo:• três variáveis:
– x1
– x2
– x3
• Cada uma delas pode assumir valores 0 ou 1.
• Possibilidade: enumeração explícita (listar todas as soluções possíveis e verificar qual a melhor).
![Page 3: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/3.jpg)
FMBT/ AMC
• Através de ramificações, exploramos todas as possíveis soluções.Ex.: problema com três variáveis binárias
Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998
problemas que precisam ser resolvidos
![Page 4: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/4.jpg)
FMBT/ AMC
Crescimento exponencial
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 5: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/5.jpg)
FMBT/ AMC
Crescimento exponencial
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 6: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/6.jpg)
FMBT/ AMC
Ideia básica
• Enumeração implícita.
Land and Doig, Econometrica, 28, 497-520
![Page 7: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/7.jpg)
FMBT/ AMCLand and Doig, Econometrica, 28, 497-520
![Page 8: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/8.jpg)
FMBT/ AMC
Conceitos básicos
![Page 9: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/9.jpg)
FMBT/ AMC
Relaxação
• Ideia básica de vários métodos (incluindo branch-and-bound).
z
Min z
![Page 10: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/10.jpg)
FMBT/ AMC
Relaxação
• Ideia básica de vários métodos (incluindo branch-and-bound).
• Duas condições:
– O espaço factível da relaxação contém o espaço factível do problema original.
– O valor objetivo da relaxação é melhor que o do problema original para cada solução factível possível.
![Page 11: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/11.jpg)
FMBT/ AMC
Limitante dual
• Ao se resolver um problema de minimização (maximização), uma relaxação nos fornece um limitante inferior (superior).
![Page 12: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/12.jpg)
FMBT/ AMC
Limitante primal
• Ao se resolver um problema de minimização (maximização), uma solução factível nos fornece um limitante superior (inferior).
![Page 13: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/13.jpg)
FMBT/ AMC
Composição de limitantes
S2
S1
S3
S
Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998
e se fosse min ?
![Page 14: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/14.jpg)
FMBT/ AMC
Branch and bound(básico)
![Page 15: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/15.jpg)
FMBT/ AMC
• Retomando o exemplo da enumeração explícita.
• Ideia: não resolver os nós folha, mas eliminar ramos anteriores da árvore (com o auxílio de limitantes).
Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998
![Page 16: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/16.jpg)
FMBT/ AMC
![Page 17: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/17.jpg)
FMBT/ AMC
Prunning (optimality)
Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998
![Page 18: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/18.jpg)
FMBT/ AMC
Prunning (bound)
Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998
![Page 19: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/19.jpg)
FMBT/ AMC
Prunning (resumo)
• poda por otimalidade: zt = max{ cx: x2 St} resolvido.
• poda por limitante:
• poda por infactibilidade: St =
Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998
![Page 20: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/20.jpg)
FMBT/ AMC
Algoritmo
Slides do curso “Optimization methods” – Dimitris Bertsimas MIT Opencourseware
![Page 21: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/21.jpg)
FMBT/ AMC
Comentários
• A relaxação usada não necessariamente é a linear.
• Frequentemente usa-se a relaxação linear devido, sobretudo, à eficiência computacional do método simplex.
Slides do curso “Optimization methods” – Dimitris Bertsimas MIT Opencourseware
![Page 22: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/22.jpg)
FMBT/ AMC
Usando a relaxação linear
Slides do curso “Optimization methods” – Dimitris Bertsimas MIT Opencourseware
![Page 23: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/23.jpg)
FMBT/ AMC
Exemplo
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 24: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/24.jpg)
FMBT/ AMCSlides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 25: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/25.jpg)
FMBT/ AMCSlides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 26: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/26.jpg)
FMBT/ AMC
Exemplo
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 27: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/27.jpg)
FMBT/ AMC
Exemplo
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 28: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/28.jpg)
FMBT/ AMC
Exemplo
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 29: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/29.jpg)
FMBT/ AMC
Exemplo
• Dificuldade:
A árvore gerada se aproxima da árvore da enumeração explícita.
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 30: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/30.jpg)
FMBT/ AMC
Branch and bound(melhorando a performance)
![Page 31: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/31.jpg)
FMBT/ AMC
• Como melhorar o branch-and-bound ?
Resposta 1: melhorando o limitante primal.
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 32: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/32.jpg)
FMBT/ AMC
Exemplo (com melhor limitante primal)
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 33: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/33.jpg)
FMBT/ AMC
Exemplo (com melhor limitante primal)
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 34: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/34.jpg)
FMBT/ AMC
Exemplo (com melhor limitante primal)
Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware
![Page 35: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/35.jpg)
FMBT/ AMC
Limitante primal
• Solução factível.• Maneiras de obtê-lo:
– Heurísticas– Tipo de exploração da árvore
![Page 36: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/36.jpg)
FMBT/ AMC
Limitante primal
Obtenção “a priori”:
– Heurísticas– Meta-heurísticas
O branch-and-bound é usado, então, para provar a otimalidade.
![Page 37: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/37.jpg)
FMBT/ AMC
Limitante primal (cplex)
• Node Heuristic: “The node heuristic employs techniques to try to construct a feasible solution from the current (fractional) branch & cut node.”
• Relaxation Induced Neighborhood Search (RINS) Heuristic: “ Relaxation induced neighborhood search (RINS) is a heuristic that explores a neighborhood of the current incumbent solution to try to find a new, improved incumbent. It formulates the neighborhood exploration as another MIP (known as the subMIP), and truncates the subMIP optimization by limiting the number of nodes explored in the search tree.”
IBM ILOG Cplex user manual
![Page 38: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/38.jpg)
FMBT/ AMC
Limitante primal (cplex)
IBM ILOG Cplex reference manual
![Page 39: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/39.jpg)
FMBT/ AMC
Melhorando a performance (intrinsecamente).
Ou
Questões de implementação no B&B
![Page 40: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/40.jpg)
FMBT/ AMC
![Page 41: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/41.jpg)
FMBT/ AMC
![Page 42: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/42.jpg)
FMBT/ AMC
Divisão
• Seja Si o espaço factível do nó i.
Podemos dividir o nó i em dois nós, Si1 e Si2 , da seguinte forma:
• selecionando d e x de maneira adequada tal que a solução atual, x0, não atenda nenhuma das restições:
![Page 43: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/43.jpg)
FMBT/ AMC
Divisão
• Possibilidade 1:
• simples.• vantagem de adicionar apenas limites nas
variáveis, não aumentando o tamanho da base.
![Page 44: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/44.jpg)
FMBT/ AMC
Divisão
• Possibilidade 2:
• Dadas restrições da forma:
• Uma solução x0 é infactível se, para qualquer Ql 2 Q,
• Uma ramificação possível é:
![Page 45: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/45.jpg)
FMBT/ AMC
![Page 46: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/46.jpg)
FMBT/ AMC
Seleção do nó
• regras de seleção:– a priori– adaptativas
![Page 47: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/47.jpg)
FMBT/ AMC
Seleção do nó
• A priori (profundidade – depth-first): se o nó atual não for podado, o próximo nó a ser analisado é um dos seus filhos. Caso ele seja podado, volta-se na árvore (backtracking) até se encontrar um nó ativo.
• Vantagens:– Uso de reotimização (hot-start) na resolução
dos problemas lineares.*– soluções factíveis tendem a ser encontradas
em níveis mais fundos da árvore.
![Page 48: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/48.jpg)
FMBT/ AMC
*hot-start
• Uma ramificação implica na adição de uma restrição (no problema primal)
• = adição de uma coluna (variável) no problema dual.
• A solução ótima do nó pai é factível para o nó filho (e, com frequência, não muito distante da solução ótima).
Consequência: menos iterações do algoritmo simplex são necessárias para resolver o problema em cada nó.
![Page 49: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/49.jpg)
FMBT/ AMC
Seleção do nó
• A priori (largura – breadth first): todos os nós de um dado nível são considerados antes de se passar para o nível seguinte.
• Pode ser interessante em heurísticas (beam search).
![Page 50: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/50.jpg)
FMBT/ AMC
Seleção do nó
• Adaptativas (melhor limitante): a ideia é explorar o nó que “promete” mais primeiro.
![Page 51: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/51.jpg)
FMBT/ AMC
![Page 52: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/52.jpg)
FMBT/ AMC
Seleção da variável de ramificação
• Escolher xi para ramificação com
• Decisão importante (com frequência, a fixação de um subconjunto de variáveis força o restante a ser inteira).
• Escolha comum: “user defined”
![Page 53: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/53.jpg)
FMBT/ AMC
Achterberg, T., Koch, T. & Martin, A., 2005. Branching rules revisited. Operations Research Letters, 33, 42-54.
![Page 54: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/54.jpg)
FMBT/ AMC
• variável mais infactível
– Escolher a variável mais próxima de “0.5”.
![Page 55: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/55.jpg)
FMBT/ AMC
Seleção da variável de ramificação
• ramificação por pseudo-custo
Seja
Estimamos a pertubação da ramificação nos nós filhos:
(estimativa feita com auxílio de variáveis duais ou baseado em ramificações anteriores)
![Page 56: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/56.jpg)
FMBT/ AMC
• (full) strong branching
– Resolver localmente problemas lineares com as ramificações e verificar qual resulta em uma maior perturbação no limitante.
– Se todas as variáveis possíveis (i.e., todas as fracionárias) são testadas, temos o “full” strong branching.
– pesquisa: selecionar quais variáveis selecionar.
![Page 57: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/57.jpg)
FMBT/ AMC
• híbrido entre pseudo-custo e strong branching
– no começo, a estratégia de pseudo-custo funciona muito mal, pois não há informação. Então, na parte de cima da árvore, usa-se strong branching.
• variação: usar strong branching em variáveis ainda não inicializadas (mesmo que isto ocorra na parte de baixo da árvore).
![Page 58: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/58.jpg)
FMBT/ AMCAchterberg, T., Koch, T. & Martin, A., 2005. Branching rules revisited. Operations Research Letters, 33, 42-54.
![Page 59: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/59.jpg)
FMBT/ AMC
No Cplex
![Page 60: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/60.jpg)
FMBT/ AMC
• Técnicas de preprocessamento.
Importantes para o funcionamento de algoritmos de branch-and-bound.
![Page 61: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/61.jpg)
FMBT/ AMC
![Page 62: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/62.jpg)
FMBT/ AMC
• Algumas técnicas básicas.
![Page 63: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/63.jpg)
FMBT/ AMC
• Algumas técnicas básicas.
![Page 64: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/64.jpg)
FMBT/ AMC
• Identificação de infactbilidade:
• se z > b, o problema é infactível.• problema tão difícil quanto o original mas,
pode-se buscar um limitante inferior de z.
![Page 65: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/65.jpg)
FMBT/ AMC
![Page 66: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/66.jpg)
FMBT/ AMC
• Identificação de redundância:
• se z · b, a restrição é redundante.• problema tão difícil quanto o original mas,
pode-se buscar um limitante superior de z.
![Page 67: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/67.jpg)
FMBT/ AMC
• “probing”
![Page 68: Franklina M. B. Toledo / Alysson M. Costa - ICMC/USP Programação inteira Branch-and-bound Aula baseada em diversas fontes: Integer programming de L. Wolsey,](https://reader035.fdocuments.us/reader035/viewer/2022062700/552fc133497959413d8d7862/html5/thumbnails/68.jpg)
FMBT/ AMC