A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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,

Apresentações semelhantes


Apresentação em tema: "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,"— Transcrição da apresentação:

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, 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 FMBT/ AMC Como resolver problemas combinatórios Exemplo: três variáveis: –x 1 –x 2 –x 3 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 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

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

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

6 FMBT/ AMC Ideia básica Enumeração implícita. Land and Doig, Econometrica, 28,

7 FMBT/ AMC Land and Doig, Econometrica, 28,

8 FMBT/ AMC Conceitos básicos

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

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

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

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

13 FMBT/ AMC Composição de limitantes S2S2 S1S1 S3S3 S Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998 e se fosse min ?

14 FMBT/ AMC Branch and bound (básico)

15 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

16 FMBT/ AMC

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

18 FMBT/ AMC Prunning (bound) Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998

19 FMBT/ AMC Prunning (resumo) poda por otimalidade: z t = max{ cx: x2 S t } resolvido. poda por limitante: poda por infactibilidade: S t = Wolsey, L. A., Integer Programming.Wiley-Interscience, 1998

20 FMBT/ AMC Algoritmo Slides do curso Optimization methods – Dimitris Bertsimas MIT Opencourseware

21 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

22 FMBT/ AMC Usando a relaxação linear Slides do curso Optimization methods – Dimitris Bertsimas MIT Opencourseware

23 FMBT/ AMC Exemplo Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

24 FMBT/ AMC Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

25 FMBT/ AMC Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

26 FMBT/ AMC Exemplo Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

27 FMBT/ AMC Exemplo Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

28 FMBT/ AMC Exemplo Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

29 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

30 FMBT/ AMC Branch and bound (melhorando a performance)

31 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

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

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

34 FMBT/ AMC Exemplo (com melhor limitante primal) Slides do curso Optimization methods in management sciente – J. Orlin et al., MIT Opencourseware

35 FMBT/ AMC Limitante primal Solução factível. Maneiras de obtê-lo: –Heurísticas –Tipo de exploração da árvore

36 FMBT/ AMC Limitante primal Obtenção a priori: –Heurísticas –Meta-heurísticas O branch-and-bound é usado, então, para provar a otimalidade.

37 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

38 FMBT/ AMC Limitante primal (cplex) IBM ILOG Cplex reference manual

39 FMBT/ AMC Melhorando a performance (intrinsecamente). Ou Questões de implementação no B&B

40 FMBT/ AMC

41

42 Divisão Seja S i o espaço factível do nó i. Podemos dividir o nó i em dois nós, S i1 e S i2, da seguinte forma: selecionando d e x de maneira adequada tal que a solução atual, x 0, não atenda nenhuma das restições:

43 FMBT/ AMC Divisão Possibilidade 1: simples. vantagem de adicionar apenas limites nas variáveis, não aumentando o tamanho da base.

44 FMBT/ AMC Divisão Possibilidade 2: Dadas restrições da forma: Uma solução x 0 é infactível se, para qualquer Q l 2 Q, Uma ramificação possível é:

45 FMBT/ AMC

46 Seleção do nó regras de seleção: –a priori –adaptativas

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

48 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ó.

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

50 FMBT/ AMC Seleção do nó Adaptativas (melhor limitante): a ideia é explorar o nó que promete mais primeiro.

51 FMBT/ AMC

52 Seleção da variável de ramificação Escolher x i 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

53 FMBT/ AMC Achterberg, T., Koch, T. & Martin, A., Branchingrules revisited. Operations Research Letters, 33,

54 FMBT/ AMC variável mais infactível –Escolher a variável mais próxima de 0.5.

55 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)

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

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

58 FMBT/ AMC Achterberg, T., Koch, T. & Martin, A., Branchingrules revisited. Operations Research Letters, 33,

59 FMBT/ AMC No Cplex

60 FMBT/ AMC Técnicas de preprocessamento. Importantes para o funcionamento de algoritmos de branch-and-bound.

61 FMBT/ AMC

62 Algumas técnicas básicas.

63 FMBT/ AMC Algumas técnicas básicas.

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

65 FMBT/ AMC

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

67 FMBT/ AMC probing

68 FMBT/ AMC


Carregar ppt "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,"

Apresentações semelhantes


Anúncios Google