View
3
Download
0
Category
Preview:
Citation preview
Aula 15: Modelagem e DesigualdadesVálidasOtimização Linear e Inteira
Túlio A. M. Toffolohttp://www.toffolo.com.br
BCC464/PCC174 – 2018/2Departamento de Computação – UFOP
Previously...
Branch-and-bound
Branch-and-bound em Programação Inteira
Exemplos prático
Hoje:
Formulações fracas e fortes
Desigualdades válidas
Exemplos de cortes combinatórios
Exercícios
2 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Aula de Hoje
1 Formulações fortes e fracas
2 Exemplo: o caixeiro viajante
3 Desigualdades Válidas
4 Cortes Combinatórios
5 Exercícios
3 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Aula de Hoje
1 Formulações fortes e fracas
2 Exemplo: o caixeiro viajante
3 Desigualdades Válidas
4 Cortes Combinatórios
5 Exercícios
3 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Qual formulação escolher?TEACHING INTEGER PROGRAMMING USING THE TSP 117
Fig. 1 Two formulations of the same set.
problem cannot be solved to optimality within the available time, a strong formulationprovides a good bound on the optimal value of the problem. Hence it can also serveas a counterpoint to an effective heuristic, by proving that a solution provided by thelatter is close enough to being optimal.
1.2. Exercises to Compare Formulations in Practice. A classroom lecture oncomparing weak and strong formulations is best accompanied by an assignment askingstudents to do a computational comparison. Such a comparison can simply consistof feeding a strong and a weak formulation of the same problem to an IP solver andcomparing the number of branch-and-bound nodes and times required to solve themto optimality. A problem is well suited for the purpose of a comparison if
(1) it is relevant in practice, interesting, and easy to understand;(2) the advantages of the strong formulation are not immediately apparent, for
some of the following reasons:• the strong formulation uses many more variables and/or constraints;• the weak one can accommodate more versatile objective functions;
(3) the weak and strong formulations are easy to generate.Several such problems are (see, e.g., [9])
• facility location problems (with their weak, i.e., the aggregated, and thestrong, i.e., the disaggregated formulation);• knapsack problems (their usual formulation can easily be strengthened bycover inequalities);• lot-sizing problems (their usual formulation can be strengthened by variousinequalities).
For many problems, however, the advances in IP software disguise the advantage ofproviding a stronger formulation to solvers. Most IP solvers now incorporate auto-matic reformulation techniques that can substantially strengthen a weak formulation.Such techniques include disaggregation (i.e., replacing the constraint
∑mi=1 xi ≤ my
on the 0–1 variables xi and y with the inequalities xi ≤ y (i = 1, . . . ,m)), generatingmany of the inequalities that one would add to the knapsack, and lot-sizing problems(e.g., covers, and flow-covers). Hence, in the case of the models listed above,
• frequently there is no significant difference in the solution times, when feedinga weak or a strong formulation to the solver;
Dow
nloa
ded
04/2
4/18
to 2
00.2
39.1
29.1
94. R
edis
trib
utio
n su
bjec
t to
SIA
M li
cens
e or
cop
yrig
ht; s
ee h
ttp://
ww
w.s
iam
.org
/jour
nals
/ojs
a.ph
p
4 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Aula de Hoje
1 Formulações fortes e fracas
2 Exemplo: o caixeiro viajante
3 Desigualdades Válidas
4 Cortes Combinatórios
5 Exercícios
5 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
O Caixeiro Viajante - Traveling Salesman Problem
Um vendedor precisa visitar n cidades, exatamente uma vez e entãoretornar ao seu ponto de partida.
A distância (ou o tempo esperado de locomoção) entre uma cidade i eoutra cidade j é dada por dij . Deve-se encontrar uma ordenação dascidades que permita a conclusão da viagem no menor tempo possível.
6 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Caixeiro Viajante - Exemplo
f
c g
e
a j m
n
p
qk
o
l
h
id
b
r
Solução viável: um circuito Hamiltoniano no Grafo.
7 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Caixeiro Viajante - Exemplo
f
c g
e
a j m
n
p
qk
o
l
h
id
b
r
Solução viável: um circuito Hamiltoniano no Grafo.
7 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Caixeiro Viajante - Formulação
Variáveis
xij =
{1 se a aresta (i, j) fará parte da rota0 caso contrário
Restrições: chega 1 vez na cidade∑
i=1,...,n:i 6=j
xij = 1 ∀j = 1, . . . , n
Restrições: sai 1 vez da cidade∑
j=1,...,n:j 6=i
xij = 1 ∀i = 1, . . . , n
8 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Sub-rotas
f
c g
e
a j m
n
p
qk
o
l
h
id
b
r
9 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Removendo Sub-Rotas
Restrições Cut-set∑
i∈S
∑
j /∈S
xij ≥ 1 ∀S ⊂ N,S 6= ∅
ou
Restrições de Eliminação de Sub-Rotas∑
i∈S
∑
j∈Sxij ≤ |S| − 1 ∀S ⊂ N, 2 ≤ |S| ≤ n− 1
10 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Removendo Sub-Rotas (alternativa)
ou
Restrições de Miller-Tucker-Zemlin (MTZ)
Sejam variáveis auxiliares ui ≥ 0 (i = 1, ...n):
u1 = 1
ui − uj + nxi,j ≤ n− 1 ∀i, j ∈ {2, ..., n}, i 6= j
PS: há livros dedicados inteiramente ao TSP; exemplos:
Applegate, D., R. Bixby, V. Chvátal, and W. Cook (2006). TheTraveling Salesman Problem. A computational study, PrincetonUniversity
Lawer, E., J.K. Lenstra, A. Rinnooy Kan, and D. Shmoys (editors)(1985). The Traveling Salesman Problem, Wiley, New York.
11 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Aula de Hoje
1 Formulações fortes e fracas
2 Exemplo: o caixeiro viajante
3 Desigualdades Válidas
4 Cortes Combinatórios
5 Exercícios
12 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
A Formulação IdealMaximize:
6x1 + 5x2
Sujeito a:15x1 + 7x2 ≤ 492x1 + 4x2 ≤ 17
x1, x2 ∈ Z+
Substituir por ...2x1 + 2x2 ≤ 8
6x1 + 3x2 ≤ 18x1, x2 ∈ R+
Formulação ideal
envoltória convexados pontos inteirosválidos
1
2
3
4
1 2 3 4
13 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
A Formulação Ideal
Maximize:6x1 + 5x2
Sujeito a:2x1 + 2x2 ≤ 86x1 + 3x2 ≤ 18x1, x2 ∈ R+
Formulação ideal
envoltória convexados pontos inteirosválidos
1
2
3
4
1 2 3 4
13 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
A Formulação Ideal
Maximize:6x1 + 5x2
Sujeito a:2x1 + 2x2 ≤ 86x1 + 3x2 ≤ 18x1, x2 ∈ R+
Formulação ideal
envoltória convexados pontos inteirosválidos
1
2
3
4
1 2 3 4
13 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Planos de Corte
Maximize:6x1 + 5x2
Sujeito a:15x1 + 7x2 ≤ 492x1 + 4x2 ≤ 17x1, x2 ∈ Z+
1
2
3
4
1 2 3 4
Como colocar uma restrição adicional que invalide a solução fracionáriacorrente (sem cortar soluções inteiras válidas)?
14 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Exemplo de corte
Considere a restrição:2x1 + 4x2 ≤ 17 (satisfeita por x1 = 1, 7 e x2 = 3, 4).
Vamos gerar outra restrição dividindo a primeira por 2:x1 + 2x2 ≤ 8, 5
Note que do lado esquerdo temos apenas coeficientes inteiros e o valordas variáveis também deve ser inteiro. Portanto:x1 + 2x2 ≤ 8
A restrição acima denomina-se Desigualdade Válida ou Corte.Note que um corte não invalida nenhuma solução inteira válida.
15 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Cortando
1
2
3
4
1 2 3 4
Solução Inicial:x1 = 1, 67x2 = 3, 4z = 27, 11
Com o corte:x1 = 1, 8x2 = 3, 1z = 26, 4
16 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Cortando
1
2
3
4
1 2 3 4
Solução Inicial:x1 = 1, 67x2 = 3, 4z = 27, 11
Com o corte:x1 = 1, 8x2 = 3, 1z = 26, 4
16 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Planos de Corte
Inserção de Cortes
Formulação resultante mais forte (mais próxima da formulação ideal).
Limite dual possivelmente melhor: aproximando-se do ótimo doprograma inteiro.
Problema de Separação
O problema de encontrar uma desigualdade válida não satisfeita pelasolução fracionária é chamado de Problema de Separação.
17 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Planos de Corte de Gomory
Pergunta:
No caso de se obter uma soluçãofracionária, sempre pode-seencontrar um corte que ainvalide?
Gomory, R.E. Outline of an algorithmfor integer solutions to linearprograms. Bull. Amer. Math. Soc.,64(5), pp. 275-278, 1958.
18 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Aula de Hoje
1 Formulações fortes e fracas
2 Exemplo: o caixeiro viajante
3 Desigualdades Válidas
4 Cortes Combinatórios
5 Exercícios
19 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Cortes da Mochila
Considere que variáveis binárias xj aparecem numa restrição do tipo:
∑
j∈Najxj ≤ b (aj ≥ 0 para todo j ∈ N)
Um Conjunto C ⊆ N é uma Cobertura (Cover) se:∑
j∈Cajxj > b
O que define o seguinte Corte de Cover :
∑
j∈Cxj ≤ |C| − 1
20 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Cortes de Cover
Exemplo
Considere a seguinte restrição sobre as variáveis binárias xj :
11x1 + 6x2 + 6x3 + 5x4 + 5x5 + 4x6 + x7 ≤ 19
Alguns cortes de cover:
x1 + x2 + x3 ≤ 2
x1 + x2 + x6 ≤ 2
x1 + x5 + x6 ≤ 2
x3 + x4 + x5 + x6 ≤ 3
Os cortes acima são cortes de cover minimais, no sentido que qualquer variávelretirada da restrição descaracteriza a cobertura.
21 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Cortes de Cover : separação
Considere a solução fracionária x∗.
Desigualdades violadas de Cover podem ser geradas resolvendo-se oproblema DP:
DP =
σ(x∗) = min∑
j∈N(1− x∗j )zj
s.a.∑
j∈Najzj > b
zj ∈ {0, 1} ∀j ∈ N
Uma desigualdade válida violada de cover é descoberta quando tem-sez∗ com σ(x∗) < 1.
22 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Aula de Hoje
1 Formulações fortes e fracas
2 Exemplo: o caixeiro viajante
3 Desigualdades Válidas
4 Cortes Combinatórios
5 Exercícios
23 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
Exercícios1 Considerando o problema da mochila da última aula, encontre um
corte válido. Dados: C = 6
item vi wi di1 7 4 1,752 4 3 1,333 9 5 1,804 3 2 1,50
2 Agora resolva o problema manualmente inserindo os cortes eutilizando branch-and-bound!
Para a próxima aula1 Implemente código para gerar o corte do exercício anterior de corte
automaticamente(dica: para facilitar, resolva o problema de separação via programação inteira).
24 / 24 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Modelagem e Desigualdades Válidas
/ 12
Perguntas?
Recommended