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

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

Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI Programação Inteira Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI.

Apresentações semelhantes


Apresentação em tema: "Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI Programação Inteira Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI."— Transcrição da apresentação:

1 Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI
Programação Inteira Prof.: Eduardo Uchoa

2 Programação Inteira Tipo de modelo matemático que difere da programação linear simplesmente porque algumas (ou todas as) variáveis podem ser definidas como inteiras. Esse recurso adicional (a primeira vista banal) permite modelar um número muito maior de situações.

3 Exemplo: Problema da Mochila
Um viajante precisa decidir entre n possíveis objetos para colocar na sua mochila com capacidade de peso P. Cada objeto i oferece um ganho gi mas possui um peso pi. O problema é escolher um subconjunto dos objetos com peso ≤ P que maximize o ganho total.

4 Exemplo: Problema da Mochila
6 5 3 4 2 1 P= p1= p2= p3= p4= p5= p6= g1 = g2= g3= g4= g5= g6=9

5 Modelo de Programação Inteira

6 Modelo de Programação Inteira
Solução ótima: x1, x2 e x6 =1, ganho total 15

7 Graduação em Engenharia de Produção – Universidade Federal Fluminense
Solução Ótima 1 2 3 4 5 6 P= p1= p2= p3= p4= p5= p6= g1 = g2= g3= g4= g5= g6=9 Graduação em Engenharia de Produção – Universidade Federal Fluminense

8 Métodos para Programação Inteira
Planos de Corte (Gomory, 1958). Pouco eficiente na prática. Branch-and-bound (Land e Doig, 1964). Branch-and-cut (muitos autores, a partir dos anos 80). Todos esses métodos podem ser lentos em alguns casos 8

9 Algoritmo de Branch-and-Bound
max z=2x1+x2 s.a x1 + x2 4 2x  5 x1 ,x2  0 x1,x2 inteiros 9

10 Algoritmo de Branch-and-Bound
P0: x1=2.5 x2=1.5 Z=6.5 x2  2 x2  1 P1: x1=2 x2=2 Z=6.0 P2: x1=2.5 x2=1 Z=6.0 Parada por integralidade Parada por Limite (bound) 3 PLs para resolver esse PI 10

11 Como o algoritmo de Branch-and-Bound pode ser muito ineficiente
max z = 17x1+12x2 s.a x1 + 7x2  40 x x2  5 x1 ,x2  0 x1,x2 inteiros 5 4 3 2 1 1 2 3 4 5 11

12 P0: x1=1.67 x2=3.33 Z=68.33 5 4 3 P0 2 1 1 2 3 4 5 12

13 x1  1 x1  2 P0: x1=1.67 x2=3.33 Z=68.33 P1: x1=1 x2=4 Z=65
13

14 P0: x1=1.67 x2=3.33 Z=68.33 x1  1 x1  2 P1: x1=1 x2=4 Z=65 P2: x1=2 x2=2.86 Z=68.29 x2  2 x2  3 P3: x1=2.6 x2=2 Z=68.2 5 4 3 2 P3 1 1 2 3 4 5 14

15 x1  2 x1  3 5 4 P4: x1=2 x2=2 Z=58 P5: x1=3 x2=1.43 Z=68.14 3 2 P4 1
15

16 P0: x1=1.67 x2=3.33 Z=68.33 x1  1 x1  2 P1: x1=1 x2=4 Z=65 P2: x1=2 x2=2.86 Z=68.29 x2  2 x2  3 P3: x1=2.6 x2=2 Z=68.2 5 x1  2 x1  3 P4: x1=2 x2=2 Z=58 P5: x1=3 x2=1.43 Z=68.14 4 3 x2  1 x2  2 P6: x1=3.3 x2=1 Z=68.1 2 1 P6 1 2 3 4 5 16

17 x1  4 x1  3 5 4 3 2 P7: x1=3 x2=1 Z=63 P8: x1=4 x2=0 Z=68 1 P7 P8 1
17

18 x1  1 x1  2 x2  2 x2  3 x1  2 x1  3 x2  1 x2  2 x1  3 x1  4
P0: x1=1.67 x2=3.33 Z=68.33 x1  1 x1  2 P1: x1=1 x2=4 Z=65 P2: x1=2 x2=2.86 Z=68.29 x2  2 x2  3 P3: x1=2.6 x2=2 Z=68.2 P10: infactível x1  2 x1  3 P4: x1=2 x2=2 Z=58 P5: x1=3 x2=1.43 Z=68.14 x2  1 x2  2 P6: x1=3.3 x2=1 Z=68.1 P9: infactível x1  3 x1  4 P7: x1=3 x2=1 Z=63 P8: x1=4 x2=0 Z=68 18

19 OBSERVAÇÃO Este material refere-se às notas de aula do curso TEP117 (Pesquisa Operacional I) da Universidade Federal Fluminense (UFF) e não pode ser reproduzido sem autorização prévia do autor. Quando autorizado, seu uso é exclusivo para atividades de ensino e pesquisa em instituições sem fins lucrativos.


Carregar ppt "Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI Programação Inteira Prof.: Eduardo Uchoa http://www.logis.uff.br/~uchoa/POI."

Apresentações semelhantes


Anúncios Google