31
Aula 19: Lifting e matrizes ideais Otimizaªo Linear e Inteira Toelio A. M. Toffolo http://www.toffolo.com.br BCC464/PCC174 2018/2 Departamento de Computaªo UFOP

Aula 19: Lifting e matrizes ideais - Otimização Linear e ... · variáveis e restrições (e dos algoritmos de plano de corte disponíveis). 20 / 27 Túlio Toffolo – Otimização

Embed Size (px)

Citation preview

Aula 19: Lifting e matrizes ideaisOtimizaçã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

Formulações fracas e fortes

Cortes Combinatórios

Cortes Baseados em Arredondamento

Cortes de Chvàtal-Gomory

Cortes de Gomory

Hoje:

Lifting

Matrizes totalmente unimodulares

2 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Aula de hoje

1 Lifting

2 Matrizes totalmente unimodulares

3 Formulações Fracas e Fortes

4 Exercícios

2 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Aula de Hoje

1 Lifting

2 Matrizes totalmente unimodulares

3 Formulações Fracas e Fortes

4 Exercícios

2 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Cortes de cobertura

Considere o programa linear P a seguir:

max. 77x1 + 6x2 + 3x3 + 6x4 + 33x5 + 13x6 + 110x7 + 21x8 + 47x9

s.a. 774x1 + 76x2 + 22x3 + 42x4 + 21x5 + 760x6 + 818x7 + 62x8 + 785x9≤ 1500

67x1 + 27x2 + 794x3 + 53x4 + 234x5 + 32x6 + 797x7 + 97x8 + 435x9≤ 1500

xj ∈ {0, 1} ∀j ∈ {1 . . . 9}

Desigualdades válidas de cobertura∑j∈C

xj ≤ |C| − 1

Exemplo: C = {1, 6, 7, 9} ou x1 + x6 + x7 + x9 ≤ 3

3 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Estendendo cortes de cobertura

Considere a formulação P a seguir:

max. 77x1 + 6x2 + 3x3 + 6x4 + 33x5 + 13x6 + 110x7 + 21x8 + 47x9

s.a. 774x1 + 76x2 + 22x3 + 42x4 + 21x5 + 760x6 + 818x7 + 62x8 + 785x9≤ 1500

67x1 + 27x2 + 794x3 + 53x4 + 234x5 + 32x6 + 797x7 + 97x8 + 435x9≤ 1500

xj ∈ {0, 1} ∀j ∈ {1 . . . 9}

Outras desigualdades válidas

Mas note que o x1 + x6 + x7 + x9 ≤ 1 também é válido. (e é muito mais forte doque o anterior)

Mas esta não é uma desigualdade de cobertura...

Como gerá-la?

4 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Lifting

x1 + x6 + x7 + x9 ≤ 1 é uma desigualdade válida.

Seja S o conjunto de todas as soluções viáveis para P .

x1 + x7 ≤ 1 é válida se x6 = x9 = 0. Ou seja, é válida paraS ∩ {x ∈ B9| x6 = x9 = 0}.

Vamos derivar a desigualdade: x1 + αx6 + x7 ≤ 1, onde:

se x6 = 0, a desigualdade permanece válida

se x6 = 1, itens 1 e 7 não podem ser incluídos na mochila, o que éválido. Portanto, α = 1 mantem a restrição válida.

Repetindo o processo para o item 9 obtemos:x1 + x6 + x7 + x9 ≤ 1

5 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Lifting

Mas notem que x1 + x7 ≤ 1 é uma desigualdade de cobertura!

max. 77x1 + 6x2 + 3x3 + 6x4 + 33x5 + 13x6 + 110x7 + 21x8 + 47x9

s.a. 774x1 + 76x2 + 22x3 + 42x4 + 21x5 + 760x6 + 818x7 + 62x8 + 785x9≤ 1500

67x1 + 27x2 + 794x3 + 53x4 + 234x5 + 32x6 + 797x7 + 97x8 + 435x9≤ 1500

xj ∈ {0, 1} ∀j ∈ {1 . . . 9}

E que x1 + x6 + x7 + x9 ≤ 1 é uma extensão obtida por um processochamado lifting.

6 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Teorema 1 (note que variáveis são binárias)

Suponha quen∑

j=2

πjxj ≤ π0 é válido para todo x ∈ S com x1 = 0.

αx1 +

n∑j=2

πjxj ≤ π0 será válido se α ≤ π0 − maxx∈S|x1=1

n∑j=2

πjxj

Teorema 2 (note que variáveis são binárias)

Suponha quen∑

j=2

πjxj ≤ π0 é válido para todo x ∈ S com x1 = 1.

β(x1 − 1) +

n∑j=2

πjxj ≤ π0 é válido se −β ≤ π0 − maxx∈S|x1=0

n∑j=2

πjxj

7 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Teorema 1 (note que variáveis são binárias)

Suponha quen∑

j=2

πjxj ≤ π0 é válido para todo x ∈ S com x1 = 0.

αx1 +

n∑j=2

πjxj ≤ π0 será válido se α ≤ π0 − maxx∈S|x1=1

n∑j=2

πjxj

Teorema 2 (note que variáveis são binárias)

Suponha quen∑

j=2

πjxj ≤ π0 é válido para todo x ∈ S com x1 = 1.

βx1 +

n∑j=2

πjxj ≤ π0 + β é válido se β ≥ maxx∈S|x1=0

n∑j=2

πjxj − π0

7 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Lifting

Exemplo:Seja a restrição 3x1 + x2 + x3 + x4 + x5 ≤ 4.

Se x1 = 1, x2 = x3 = 0 então x4 + x5 ≤ 1

Vamos fazer lift da variável x3 aplicando o Teorema 1:

α3 ≤ 1− maxx∈S|x1=x3=1,x2=0

x4 + x5

ou seja, podemos fazer α3 = 1

obtemos assim: x3 + x4 + x5 ≤ 1 se x1 = 1 e x2 = 0

Podemos melhorar esta restrição (e torná-la válida para mais soluções)?

8 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Lifting

Sim, podemos:Vamos fazer lift da variável x1 aplicando o Teorema 2:

β1 ≥ maxx∈S|x1=x2=0

(x2 + x4 + x5)− 1

ou seja, podemos fazer β1 = 2

obtemos assim: 2x1 + x3 + x4 + x5 ≤ 3 se x2 = 0

Podemos melhorar esta restrição (e torná-la válida para mais soluções)?

9 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Lifting

Sim: falta uma variável.Vamos fazer lifting da variável x2 aplicando o Teorema 1:

α3 ≤ 3− maxx∈S|x2=1

(2x1 + x3 + x4 + x5)

ou seja, podemos fazer α3 = 0

concluímos que 2x1 + x3 + x4 + x5 ≤ 3 é uma desigualdade válidapara qualquer solução S que satisfaça a restrição original3x1 + x2 + x3 + x4 + x5 ≤ 4.

10 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Aula de Hoje

1 Lifting

2 Matrizes totalmente unimodulares

3 Formulações Fracas e Fortes

4 Exercícios

11 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Matrizes totalmente unimodulares (TUM)

Alguns problemas inteiros podem ser resolvidos pelo Simplex sempreresultando em soluções inteiras.

É o caso de formulações ideias

E de formulações com matriz A totalmente unimodular.

Matrizes totalmente unimodulares (TUM)

Uma matriz A é dita totalmente unimodular (TUM) se cada submatriz qua-drada de A tem determinante igual a −1, 0 ou +1.

12 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Matrizes totalmente unimodulares (TUM)

Se a matriz A é totalmente unimodular, o poliedro P definido a seguir temvértices inteiros:

P = {x ∈ Rn|Ax ≤ b, x ≥ 0}

Se P tem vértices inteiros, então podemos resolver um problema deotimização com soluções viáveis P ′ = P ∩ {x ∈ Zn} utilizando oalgoritmo Simplex.

13 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Matrizes totalmente unimodulares (TUM)

Definição:Seja uma matriz A contendo apenas valores −1, 0 e +1 tal que haja nomáximo dois valores não-nulos em cada coluna.

A matriz A é totalmente unimodular se existir uma partição R1 e R2 desuas linhas tais que:

1 cada coluna com dois termos não nulos de mesmo sinal tem umaentrada em R1 e outra em R2;

2 cada coluna com dois termos não nulos de sinal diferente tem ambasentradas em R1 ou em R2.

14 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Exemplos

Matrizes de incidência (arco-vértice) de um dígrafo e de um grafobipartido (aresta-vértice).

Problemas com matrizes TUM:

Problema do caminho mínimo

Problema de fluxo máximo

Problema de fluxo com custo mínimo

Problema de emparelhamento em grafos bi-partidos

15 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Aula de Hoje

1 Lifting

2 Matrizes totalmente unimodulares

3 Formulações Fracas e Fortes

4 Exercícios

16 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Mensagem principal

Em Programação Inteira,a formulação é tudo!

17 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Exemplos

Vimos alguns exemplos de formulações fracas e fortes.

Problema do Caixeiro Viajante: F1

min∑i∈N

∑j∈N,i6=j

ci,jxi,j

s.a.∑

j∈N,i6=j

xi,j = 1 ∀i ∈ N

∑i∈N,i6=j

xi,j = 1 ∀j ∈ N

u1 = 1

ui − uj + nxi,j ≤ n− 1 ∀i, j ∈ {2, ..., n}, i 6= j

18 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Exemplos

Vimos alguns exemplos de formulações fracas e fortes.

Problema do Caixeiro Viajante: F2

min∑i∈N

∑j∈N,i6=j

ci,jxi,j

s.a.∑

j∈N,i6=j

xi,j = 1 ∀i ∈ N

∑i∈N,i6=j

xi,j = 1 ∀j ∈ N

∑i∈S

∑j∈S

xi,j ≤ |S| − 1 ∀S ⊂ N, 2 ≤ |S| ≤ n− 1

19 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Importante!!!

Sempre que possível, evite restrições que utilizem o ‘BigM ’.

Número menor de variáveis não necessariamente implica em umaformulação melhor.

O mesmo vale para o número de restrições.

Em alguns casos, solvers podem ter melhor desempenho comformulações mais fracas, dependendo das características dasvariáveis e restrições (e dos algoritmos de plano de corte disponíveis).

20 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Exemplo adicional: Problema das p-medianas

O problema das p-medianas consiste em decidir onde instalar pfacilidades para atender L = {1 . . . n} clientes minimizando a soma dasdistâncias destes clientes até a facilidade mais próxima.

Este problema pode ser descrito por meio de um grafo completo comn vértices e distâncias di,j entre dois vértices i e j.

Devemos portanto determinar p vértices (medianas) para instalar aslocalidades.

Note que em uma solução o grafo é particionado em conjuntos devértices, em que cada partição é atendida por uma facilidade.

21 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Exemplo adicional: Problema das p-medianas

Variáveis

xi,j =

{1 se o cliente i é atendido pela localidade j

0 caso contrário

yj =

{1 se uma facilidade é aberta na localidade j

0 caso contrário

min.∑i∈L

∑j∈L

di,jxi,j

s.a.∑j∈L

xi,j = 1 ∀i ∈ L

∑j∈L

yj = p

∑i∈L

xi,j ≤Myj ∀j ∈ L

min.∑i∈L

∑j∈L

di,jxi,j

s.a.∑j∈L

xi,j = 1 ∀i ∈ L

∑j∈L

yj = p

xi,j ≤ yj ∀i ∈ L, ∀j ∈ L

22 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Problema de restrições Big-M

Suponha M = n no exercício anterior, e n = 100 a título de exemplo.∑i∈L

xi,j ≤Myj ∀j ∈ L

permite a ocorrência de algum xi,j = 1 se yj ≥1

100

Suponha agora que n = 100000. Neste caso, basta yj ≥ 0, 00001para permitir que algum cliente seja atendido pela localidade j.

Note que esta restrição é facilmente satisfeita por valores fracionários.

23 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Problema de restrições Big-M

Suponha novamente M = n, e n = 100:

xi,j ≤ yj ∀i ∈ L,∀j ∈ Lexige que yj seja igual a 1 para que algum cliente i seja atendidocompletamente pela localidade j.

A regra continua válida mesmo se aumentarmos o tamanho doproblema para n = 100000.

De fato, qualquer solução fracionária com yj < 1 impede a ocorrênciade algum xi,j = 1.

Resultado: formulação mais forte!Mas com muito mais restrições: O(n2) vs O(n)

24 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Cortes no Gurobi

25 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Aula de Hoje

1 Lifting

2 Matrizes totalmente unimodulares

3 Formulações Fracas e Fortes

4 Exercícios

26 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

Exercícios

Exercícios

Seja S o conjunto de soluções {x ∈ B5|3x1 + x2 + x3 + x4 + x5 ≤ 4}.Sabendo que x4 + x5 ≤ 1 é válido para S ∩ {x1 = 1, x2 = x3 = 0},resolva as questões a seguir.

1 Qual desigualdade obtemos se fizermos ’lifting’ nas variáveis x1, x2 ex3 na ordem {x2, x1, x3}?

2 E se fizermos ’lifting’ na ordem {x1, x2, x3}?

27 / 27 Túlio Toffolo – Otimização Linear e Inteira – Aula 19: Lifting e matrizes ideais

/ 12

Perguntas?