1 / 68

Programação inteira

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, 1988 Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

uta
Télécharger la présentation

Programação inteira

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. 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, 1988 Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware Slides do curso “Systems Optimization” – John Vande Vate, MIT Opencourseware

  2. 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).

  3. Através de ramificações, exploramos todas as possíveis soluções. Ex.: problema com três variáveis binárias problemas que precisam ser resolvidos Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998

  4. Crescimento exponencial Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  5. Crescimento exponencial Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  6. Ideia básica • Enumeração implícita. Land and Doig, Econometrica, 28, 497-520

  7. Land and Doig, Econometrica, 28, 497-520

  8. Conceitos básicos

  9. Relaxação • Ideia básica de vários métodos (incluindo branch-and-bound). z Min z

  10. 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.

  11. Limitante dual • Ao se resolver um problema de minimização (maximização), uma relaxação nos fornece um limitante inferior (superior).

  12. Limitante primal • Ao se resolver um problema de minimização (maximização), uma solução factível nos fornece um limitante superior (inferior).

  13. S1 S2 S3 Composição de limitantes S e se fosse min ? Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998

  14. Branch and bound (básico)

  15. 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

  16. Prunning (optimality) Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998

  17. Prunning (bound) Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998

  18. 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

  19. Algoritmo Slides do curso “Optimization methods” – Dimitris BertsimasMIT Opencourseware

  20. 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 BertsimasMIT Opencourseware

  21. Usando a relaxação linear Slides do curso “Optimization methods” – Dimitris BertsimasMIT Opencourseware

  22. Exemplo Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  23. Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  24. Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  25. Exemplo Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  26. Exemplo Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  27. Exemplo Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  28. 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

  29. Branch and bound (melhorando a performance)

  30. 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

  31. Exemplo (com melhor limitante primal) Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  32. Exemplo (com melhor limitante primal) Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  33. Exemplo (com melhor limitante primal) Slides do curso “Optimization methods in management sciente” – J. Orlin et al., MIT Opencourseware

  34. Limitante primal • Solução factível. • Maneiras de obtê-lo: • Heurísticas • Tipo de exploração da árvore

  35. Limitante primal Obtenção “a priori”: • Heurísticas • Meta-heurísticas O branch-and-bound é usado, então, para provar a otimalidade.

  36. 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

  37. Limitante primal (cplex) IBM ILOG Cplex reference manual

  38. Melhorando a performance (intrinsecamente). Ou Questões de implementação no B&B

  39. 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:

  40. Divisão • Possibilidade 1: • simples. • vantagem de adicionar apenas limites nas variáveis, não aumentando o tamanho da base.

  41. Divisão • Possibilidade 2: • Dadas restrições da forma: • Uma solução x0 é infactível se, para qualquer Ql2 Q, • Uma ramificação possível é:

  42. Seleção do nó • regras de seleção: • a priori • adaptativas

  43. 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.

  44. *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ó.

  45. 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).

  46. Seleção do nó • Adaptativas (melhor limitante): a ideia é explorar o nó que “promete” mais primeiro.

More Related