aula 15: modelagem e desigualdades válidas - otimização ...€¦ · desigualdades violadas de...

30
Aula 15: Modelagem e Desigualdades VÆlidas Otimizaªo Linear e Inteira Toelio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computaªo UFOP

Upload: others

Post on 27-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 2: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 3: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 4: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 5: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 6: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 7: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 8: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 9: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 10: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 11: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 12: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 13: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 14: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 15: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 16: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 17: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 18: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 19: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 20: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 21: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 22: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 23: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 24: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 25: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 26: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 27: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 28: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 29: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

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

Page 30: Aula 15: Modelagem e Desigualdades Válidas - Otimização ...€¦ · Desigualdades violadas de Cover podem ser geradas resolvendo-se o problema DP: DP= 8 >> >> >

/ 12

Perguntas?