aula 15: desigualdades válidas - otimização linear e inteira · planos de corte de gomory...

29
Aula 15: 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 01-Jan-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Aula 15: Desigualdades Vá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: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Previously...

Branch-and-bound

Exercícios

Hoje:

Branch-and-bound em Programação Inteira

Desigualdades Válidas

Cortes Combinatórios

Exercícios

2 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 3: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Aula de Hoje

1 Branch-and-Bound em Programação Inteira

2 Desigualdades Válidas

3 Cortes Combinatórios

4 Exercícios

3 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 4: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Aula de Hoje

1 Branch-and-Bound em Programação Inteira

2 Desigualdades Válidas

3 Cortes Combinatórios

4 Exercícios

3 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 5: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Branch-and-bound: Problema da Mochila

5 :X, -1/4,113=1

10,75/95 :×z=1

X. = 1 Xy =O

5 :×

, -1,113=45 5×3=1, 114=1/2

six'=' 1×4=1 10,6/10 10,5 / 9si×3= '

3=1×3=0 ×4=1

×y=O

X 5 :X} -45,114=1 §

: xa.it/3,Xz=1inviavel yosinfueeiarjo 10,2/7si×a=1

10,33/9 si×3= '

5:X, --X4=1 13=1 113=0

×2=1* poda ×2=O

por limit

inviavel7 sinfueeirjo 9,4/4 g sdueao

inteira

5 :X4=1 5 :Xa=1, .×s= 5 :×z=1

S :Xa=1

item vi wi di1 7 4 1,752 4 3 1,333 9 5 1,804 3 2 1,50

4 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 6: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Branch-and-Bound

max. z = 5x1 + 4x2

s.a. x1 + x2 ≤ 510x1 + 6x2 ≤ 45x1, x2 ≥ 0

1

2

3

4

5

1 2 3 4 5

x2

x1

x1 ≤ 3 OU x1 ≥ 4

5 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 7: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Branch-and-Bound

max. z = 5x1 + 4x2

s.a. x1 + x2 ≤ 510x1 + 6x2 ≤ 45x1, x2 ≥ 0

1

2

3

4

5

1 2 3 4 5

x2

x1

x1 ≤ 3 OU x1 ≥ 4

5 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 8: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Branch-and-Bound em Programação Inteira

Notação utilizada:

P0 : problema original

L : lista de subproblemas: problemas criados a partir de P0 com limitesinteiros para variáveis

P̄ : relaxação linear de um problema P , ou seja o problema P sem asrestrições de integralidade

z∗ : custo da melhor solução inteira encontrada até o momento

z̃ : limite dual (limite inferior no caso de minimização): obtido, porexemplo, pela resolução de P̄

x̃ : vetor de solução da última resolução de P̄

6 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 9: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Inicialização:L← P0, z∗ ←∞

Seleção de sub-problema:se L = ∅ então fimsenão selecione um problema P ∈ L e faça L← L\{P}

Relaxação linear:z̃ ← custo ótimo de P̄se problema P̄ é inviável ou z̃ ≥ z∗ então

vá para seleção de sub-problema

Teste de integralidade:se solução ótima de P̄ não tem variáveis com valores fracionários então

se z̃ < z∗ então z∗ ← z̃vá para seleção de sub-problema

Ramificação:xj ← uma variável inteira com valor fracionário na solução ótima de P̄P ′ ← problema P com uma restrição adicional: xj ≤ bx̃jcP ′′ ← problema P com uma restrição adicional: xj ≥ dx̃jeL← L ∪ {P ′, P ′′}vá para seleção de sub-problema

7 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 10: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Aula de Hoje

1 Branch-and-Bound em Programação Inteira

2 Desigualdades Válidas

3 Cortes Combinatórios

4 Exercícios

8 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 11: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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

9 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 12: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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

9 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 13: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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

9 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 14: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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)?

10 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 15: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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.

11 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 16: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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

12 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 17: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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

12 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 18: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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.

13 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 19: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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.

14 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 20: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Aula de Hoje

1 Branch-and-Bound em Programação Inteira

2 Desigualdades Válidas

3 Cortes Combinatórios

4 Exercícios

15 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 21: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Cortes da Mochila

Considere que variáveis binárias xj aparecem numa restrição do tipo:∑j∈N

ajxj ≤ b (aj ≥ 0 para todo j ∈ N)

Um Conjunto C ⊆ N é uma Cobertura (Cover) se:∑j∈C

ajxj > b

O que define o seguinte Corte de Cover :∑j∈C

xj ≤ |C| − 1

16 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 22: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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.

17 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 23: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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∈N

ajzj > b

zj ∈ {0, 1} ∀j ∈ N

Uma desigualdade válida violada de cover é descoberta quando tem-sez∗ com σ(x∗) < 1.

18 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 24: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Empacotamento de Nós

Cliques

x1 + x2 + x3 + x4 + x5 ≤ 1

x1

x2 x3

x4 x5

19 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 25: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Empacotamento de Nós

Ciclo Ímpar

x1 + x2 + x3 + x4 + x5 ≤ 2

x1

x2x5

x4 x3

20 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 26: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Empacotamento de Nós

Roda

2x6+x1+x2+x3+x4+x5 ≤ 2

x1

x2x5

x4 x3

x6

21 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 27: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

Aula de Hoje

1 Branch-and-Bound em Programação Inteira

2 Desigualdades Válidas

3 Cortes Combinatórios

4 Exercícios

22 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 28: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

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 Implemente este corte, adaptando o código da última aula.3 Implemente código para gerar este tipo de corte automaticamente

(resolvendo o problema de separação via programação inteira).

23 / 23 Túlio Toffolo – Otimização Linear e Inteira – Aula 15: Desigualdades Válidas

Page 29: Aula 15: Desigualdades Válidas - Otimização Linear e Inteira · Planos de Corte de Gomory Pergunta: No caso de se obter uma solução fracionária, sempre pode-se encontrar um

/ 12

Perguntas?