Escolar Documentos
Profissional Documentos
Cultura Documentos
Versão 2.3
2012,
c 2010, 2009, 2001
Maria Antónia Carravilla
José Fernando Oliveira
FEUP
Técnicas exactas para resolução de problemas de
Optimização Combinatória
fP? R ≤ fP? O
F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0 e inteiras
Solução óptima inteira: x = 1 e y = 4.
Resolução da relaxação linear
Problema PL0:
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
Solução óptima não inteira:
x = 3.5 e y = 3.5; F = 35
Ramificação em x: x ≤ 3
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
x ≤ 3
Solução (não inteira):
x = 3 e y = 3.6; F = 34.5
Ramificação em x: x ≥ 4
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
x ≥ 4
Sem soluções admissı́veis.
Ramificação em y: y ≤ 3
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0 Solução (inteira):
x ≤ 3 x = 3 e y = 3; F = 30
y ≤ 3 Obtenção de um limite inferior ⇒ So-
luções não inteiras com valor de F in-
ferior ou igual a 30 não precisam de ser
exploradas!
Ramificação em y: y ≥ 4
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
x ≤ 3
y ≥ 4 Solução (não inteira):
x = 1.7 e y = 4; F = 33.2
Ramificação em x: x ≤ 1
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
x ≤ 3
y ≥ 4 Solução (não inteira):
x ≤ 1 x = 1 e y = 4.2; F = 32.5
Ramificação em x: x ≥ 2
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
x ≤ 3
y ≥ 4
Sem soluções admissı́veis.
x ≥ 2
Ramificação em y: y ≤ 4
max F = 3x + 7y
suj. a:
x ≤ 3.5
5x − 4y ≤ 10
4
7x + 2y ≤ 9
x , y ≥ 0
x ≤ 3
y ≥ 4 Solução (inteira):
x = 1 e y = 4; F = 31
x ≤ 1
Melhor solução inteira até ao mo-
y ≤ 4
mento!
Ramificação em y: y ≥ 5
max F = 3x + 7y
suj. a:
,
x ≤ 3.5
,
5x − 4y ≤ 10
•
, -- - I ,- ,
h ; 4y - I O
/ ,-,
4
7x + 2y ≤ 9 , /
x , y ≥ 0 ,
- - ;
/ 4Ih-2y - 9
,
x ≤ 3 /
, '/ , , , , • , • ,
y ≥ 4
Sem soluções admissı́veis.
x ≤1
y ≥ 5
Árvore de pesquisa do “Branch-and-Bound”
LP_0
(solução
não
inteira)
x
=
3.5
y
=
3.5
F
=
35
x <= 3 x >= 4
LP_01
LP_02
(solução
não
inteira)
(sem
solução)
x
=
3
y
=
3.6
F
=
34.5
y <= 3 y >= 4
LP_011
LP_012
(solução
inteira)
(solução
não
inteira)
x
=
3
x
=
1.7
y
=
3
F
=
30
y
=
4
F
=
33.2
x <= 1 x >= 2
LP_0121
LP_0122
(solução
não
inteira)
(sem
solução)
x
=
1
y
=
4.2
F
=
32.5
y <= 4 y >= 5
LP_01211
LP_01212
(solução
inteira
óBma)
(sem
solução)
x
=
1
y
=
4
F
=
31
Limites
PL1
(solução não inteira)
Z = 100
PL2 PL3
(solução não inteira) (solução não inteira)
Z = 85 Z = 91
PL8 PL9
(sem soluções) (solução não inteira)
Z = 65
1. Qual é, nesta altura, o melhor limite superior sobre a solução inteira
óptima?
2. Qual é, nesta altura, o melhor limite inferior sobre a solução inteira
óptima?
3. Indique que nós já foram explorados e explique porquê.
4. Indique os nós que ainda não foram explorados e explique porquê.
5. Já foi atingida a solução óptima do problema inteiro? Porquê?
6. Qual o valor máximo do erro absoluto sobre a solução óptima inteira, se
o algoritmo for terminado neste ponto?
Questões em aberto – Estratégias de ramificação
Dado um conjunto de nós ainda não explorados, como escolher o nó seguinte
a explorar?
Pesquisa em profundidade
Seleção do nó que está mais fundo Pesquisa em largura
na árvore (último nó a ser gerado). Seleção do nó que está mais
acima na árvore (o nó mais an-
tigo ainda não explorado).