Escolar Documentos
Profissional Documentos
Cultura Documentos
Aula03 PI Branch-and-Bound
Aula03 PI Branch-and-Bound
Aula 03
Programação Linear Inteira
Branch-and-Bound
Profª Ana Cristina Girão e Silva
(anacrisges@yahoo.com.br)
Programação Linear Inteira
Visão Geral dos Métodos de Resolução
Técnicas de Enumeração:
- Partição e avaliação progressiva ou Branch-and-Bound (B&B)
- Enumeração: Implícita
- Restrições Sogorrate
Técnicas de Cortes:
- Cortes Inteiros (primais e duais)
- Cortes combinatórios
- Cortes de interseção
- Método de decomposição de Benders
Técnicas Híbridas:
- Branch-and-Cut
- Teoria de Grupo
Branch-and-Bound (B&B)
(Partição e Avaliação Progressiva)
s. a.: x1 ≤ 40 s. a.: x1 ≤ 40
x2 ≤ 60 x2 ≤ 60
x2 ≥ 10 Esquecer a condição de x2 ≥ 10 PL
PLI
x1 + x2 ≥ 20 integralidade x1 + x2 ≥ 20
3x1 +2x2 ≤ 180 3x1 +2x2 ≤ 180
x1 , x 2 ≥ 0 x1 , x2 ≥ 0
x1 , x2 Z
x2 x2
x1 x1
Sobre o Problema Relaxado
x1
Sobre o Problema Relaxado
ótimo ótimo
Sobre o Problema Relaxado
ótimo ótimo
Branch-and-Bound (B&B)
Branch (Particionar)
Passagem a subproblemas ou descendentes do problema original.
PL0
Problema original
PL1 PL2
descendentes
Limite
Sol. inviável PL0 74,5
superior
para o PLI z = 74,5
PL1
x1=3, x2=2 PL2
PL1 PL2 Impossível
z=11
max z = x1 + 4x2 max z = x1 + 4x2
ótimo inteiro
s. a.: s. a.:
-2x1 + 4x2 ≤ 8 -2x1 + 4x2 ≤ 8
2x1 +3x2 ≤ 12 2x1 +3x2 ≤ 12
x2≤ 2 x2≥ 3
x1 , x2 ≥ 0 x1 , x2 ≥ 0
x1 , x2 Z x1 , x2 Z
Branch-and-Bound (B&B)
Exemplo 1 - Partição de PL0 em x2
PL0
x2≥ 3
x2≤ 2
PL1 PL3
x2≥ 3
x2≤ 2
Voltar
Branch-and-Bound (B&B)
Exemplo 1 - Partição de PL0 em x1
PL0
x1=12/7, x2=20/7
z=90/7=12,85
x1≤ [12/7] x1≥ [12/7]+ 1
x1≤ 1 x1 ≥ 2
click aqui
PL1 ver o gráfico PL2
x1=1, x2=5/2 x1=2, x2=8/3
z=11 z=38/3 = 12,66
PL1 PL2
Voltar
Branch-and-Bound (B&B)
Exemplo 2
Maximizar z 5 x1 8 x2
sujeito a :
x1 x2 6
5 x1 9 x2 45
x1 , x2 Z
Branch-and-Bound (B&B)
Exemplo 2 - Partição de PL0 em x2
PL0
Sol. inviável x1=2,25; x2=3,75
z = 41,25
x2≤ 3 x2 ≥ 4
PL1 PL2
Sol. viável x1=3; x2=3 x1=1,8; x2=4 Sol. inviável
Falta analisar z = 39 z = 41
alguma x1 ≥ 2 40
x1≤ 1
partição?
Sim. PL3
Sol. inviável PL4
x1=1; x2=4,25
impossível
z = 40,4 39
x2≤ 4 x2 ≥ 5
Sol. viável PL5 PL6
sem x1=1; x2=4 x1=0; x2=5 Sol. viável -∞
interesse z = 37 z = 40 Falta analisar
Sol. ótima alguma
partição?
Não.
Branch-and-Bound (B&B)
Exemplo 2 - Partição de PL0 em x1
PL0
Sol. inviável x1=2,25; x2=3,75
z = 41,25
x1≤ 2 x1 ≥ 3
PL1 PL2
Sol. inviável x1=2; x2=3,88 x1=3, x2=3 Sol. viável
z = 41,11 z = 39
x2≤ 3 x2 ≥ 4
Sol.
PL3 PL4
x1=1; x2=3 x1=1,8; x2=4 Sol. inviável
viável
sem z = 34 z = 41
40
interesse x1≤ 1 x1 ≥ 2
PL5
PL6
Sol. inviável x1=1; x2=4,44
Impossível 39
z = 40,55
x2≤ 4 x2 ≥ 5
Sol. PL7 PL8 Sol. viável
viável x1=1; x2=4 x1=0; x2=5 -∞
sem z = 37 z = 40 Falta analisar
interesse Sol. ótima alguma partição? Não.
Branch-and-Bound (B&B)
Exemplo 3 – Problema de Minimização
Minimizar z 6 x1 8 x2
sujeito a :
6 x1 7 x2 40
x2 2
x1 , x2 Z
Branch-and-Bound (B&B)
Exemplo 3 – Problema de Minimização
limite +∞ PL0
superior Sol. inviável x1=13/3; x2=2
z = 42
46 x1≤ 4 x1 ≥ 5
PL1 PL2
44 Sol. inviável x1=4; x2=16/7 x1=5; x2=2 Sol. viável
z = 296/7 z = 46
x2≤ 2 x2 ≥ 3 Falta analisar
limite alguma
inferior 42 PL4 partição?
PL3 Sol. inviável
x1=19/6; x2=3 Sim.
impossível
z = 43
x1≤ 3 x1 ≥ 4
PL5 PL6
Sol. inviável x1=3; x2=22/7 x1=4; x2=3 Sol. viável
z = 302/7 z = 48 Sem interesse
x2≤ 3 x2 ≥ 4 pois 48>46
Falta analisar
PL7
PL8 Sol. viável alguma
impossível
x1=2; x2=4
Falta analisar partição?
z = 44 alguma partição? Sim.
Sol. ótima Não.
Exemplo 3 (cont.) PL0 mim z = 6x1 + 8x2
s. a.: 6x1 + 7x2 ≥ 40
x2 ≥2
x1 , x2 ≥0 e x1 , x2 Z
PL1 PL2
mim z = 6x1 + 8x2 mim z = 6x1 + 8x2
s. a.: 6x1 + 7x2 ≥ 40 s. a.: 6x1 + 7x2 ≥ 40
x2 ≥2 x2 ≥2 Nível 1
x1 ≤ 4 x1 ≥5
x1 , x2 ≥0 e x1 , x2 Z x1 , x2 ≥0 e x1 , x2 Z
PL3 PL4
mim z = 6x1 + 8x2 mim z = 6x1 + 8x2
s. a.: 6x1 + 7x2 ≥ 40 s. a.: 6x1 + 7x2 ≥ 40
x2 ≥2 x2 ≥2
x1 ≤ 4 x1 ≤ 4 Nível 2
x2 ≤ 2 x2 ≥3
x1 , x2 ≥0 e x1 , x2 Z x1 , x2 ≥0 e x1 , x2 Z
PL5 PL6
mim z = 6x1 + 8x2 mim z = 6x1 + 8x2
s. a.: 6x1 + 7x2 ≥ 40 s. a.: 6x1 + 7x2 ≥ 40
x2 ≥2 x2 ≥2
x1 ≤ 4 x1 ≤ 4 Nível 3
x2 ≥3 x2 ≥3
x1 ≤ 3 x1 ≥4
PL7 x1 , x2 ≥0 e x1 , x2 Z x1 , x2 ≥0 e x1 , x2 Z
PL8
mim z = 6x1 + 8x2 mim z = 6x1 + 8x2
s. a.: 6x1 + 7x2 ≥ 40 s. a.: 6x1 + 7x2 ≥ 40
x2 ≥2 x2 ≥2
x1 ≤ 4 x1 ≤ 4
x2 ≥3 x2 ≥3 Nível 4
x1 ≤ 3 x1 ≤ 3
x2 ≤ 3 x2 ≥4
x1 , x2 ≥0 e x1 , x2 Z x1 , x2 ≥0 e x1 , x2 Z
Branch-and-Bound (B&B)
Exemplo 4 – Problema de PLIB
Maximizar z 9 x1 5 x2 6 x3 4 x4
sujeito a :
6 x1 3x2 5 x3 2 x4 10
x3 x4 1
x1 x3 0
x2 x4 0
x j {0, 1}, para j 1, 2, 3, 4.
Branch-and-Bound (B&B)
Exemplo 4 – Problema de PLIB
limite 16,5
PL0
superior Sol. inviável (0.83, 1, 0, 1)
z = 16,5
14
PL1 x1= 0 x1 = 1 PL2
Sol.
(0, 1, 0, 1) (1, 0.8, 0, 0.8)
9 viável
z=9 z = 16,2
limite x =0 x2 = 1
2
inferior -∞ PL3 PL4
Sol. Sol.
inviável (1, 0, 0.8, 0) (1, 1, 0, 0.5)
z = 13.8 inviável z = 16
x3= 0 x3= 1 x4= 0 x4= 1
x4= 0 x4= 1
Sol. PL9
PL10
viável (1, 1, 0, 0)
Impossível
z = 14
Sol. ótima
Branch-and-Bound (B&B)
Técnicas de desenvolvimento da árvore de enumeração
PL0 PL0
PL7 PL8 PL9 PL10 PL11 PL12 PL13 PL14 PL5 PL6
PL7 PL8
Branch-and-Bound (B&B)
Técnicas de formação da árvore (escolha da variável de separação)
Exemplo:
PLn
x1=7,25 ; x2=11,75
x1 ou x2 ?