PIOC Cobertura 2015
489 palavras
2 páginas
Problema de CoberturaProblema de cobertura:
Dada uma matriz de zeros e uns e um custo associado a cada coluna, pretende-se determinar o subconjunto de colunas custo mínimo que cubram todas as linhas, isto é, tal que, para cada linha, existe pelo menos um um numa das colunas seleccionadas.
Teorema:
O problema de cobertura é NP-difícil.
Cobertura
Optimização Combinatória
1/6
Problema de Cobertura
Formulação
Conjuntos:
N = {1, . . . , n}− conjunto das colunas.
M = {1, . . . , m}− conjunto das linhas.
Ni = {j ∈ N : aij = 1}, i ∈ M.
Mj = {i ∈ M : aij = 1}, j ∈ N.
Parâmetros:
1
cj custo da coluna j, j ∈ N.
2
aij = 1 se coluna j cobre a linha i e aij = 0 no caso contrário i ∈ M, j ∈ N.
Variáveis: xj =
1, se é seleccionada a coluna j; j∈J 0, caso contrário;
Cobertura
Optimização Combinatória
2/6
Problema de Cobertura
Formulação
min
cj xj j∈N aij xj ≥ 1, ∀i ∈ M
s.a : j∈N xj ∈ {0, 1}, j ∈ N
Substituindo
j∈N
aij xj ≥ 1, ∀i ∈ M por aij xj = 1, ∀i ∈ M j∈N obtemos o problema da partição.
Cobertura
Optimização Combinatória
3/6
Problema de Cobertura
Reduções:
1
Se existe i ∈ M tal que Ni = ∅ então o problema é impossível.
2
Se i ∈ M é tal que Ni = {j(i)} (i é coberta apenas por uma coluna) então j(i) está na solução.
3
(Dominância entre linhas) Sejam i, ℓ ∈ M tal que Ni ⊆ Nℓ então a linha ℓ pode ser eliminada.
4
(Dominância entre colunas) Sejam k, j1 , . . . , js ∈ N tais que s Mk ⊆
s
Mt e ck ≥ t=1 ct então a coluna k pode ser removida. t=1 5
(Dominância entre colunas simples) Sejam k, j ∈ N tais que
Mk ⊆ Mj e ck ≥ cj então a coluna k pode ser removida.
6
(Dominância fraca entre colunas) Seja di = minj∈Ni cj e k ∈ N tal que ck ≥ di então a coluna k pode ser removida. i∈Mk Cobertura
Optimização Combinatória
4/6
Problema de Cobertura
Algoritmo Greedy
Inicializar R ← M, S ← ∅, t ← 1
Enquanto R = ∅ fazer
Seja i ∗ ∈ R tal que | Ni ∗ |= mini∈R | Ni |
Escolher j(t) tal que f (cj(t) , kj(t) ) = min{f (cj , kj ) : j ∈ Ni ∗ ∧ kj > 0}
onde