aula 19: lifting e matrizes ideais - otimização linear e ... · variáveis e restrições (e dos...
Post on 14-Feb-2019
213 Views
Preview:
TRANSCRIPT
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
top related