Análise de algoritmos de aproximação utilizando o método dual-fitting
Leonardo Marchetti
Orientadora: Cristina Gomes Fernandes
Instituto de Matemática e Estatística Universidade de São Paulo, Brasil
Trabalho de Conclusão de Curso, 2009
O que é o método dual-fitting?
É um sofisticado método para analisar algoritmos de aproximação para problemas de otimização.
Ele se baseia no princípio de dualidade em programação linear.
Cobertura por conjuntos
SejaE um conjunto finito eS uma coleção de subconjuntos deE. UmacoberturadeE emS é um subconjuntoτ deS tal que para todoe∈E temos que e∈Spara algumS∈τ.
Seτ é uma cobertura deE emSe temos um custoc tal quecS ∈Q≥para cadaS ∈ S, definimosc(τ)como o númeroP
S∈τcS.
Cobertura por conjuntos - exemplo
Cobertura mínima por conjuntos
Problema MINCC(E,S,c): Dados um conjunto finito E , uma coleção finitaSde subconjuntos não-vazios de E (que
cobre E ) e um custo cS ∈Q≥para cada S∈ S, encontrar uma coberturaτ de E emS que minimize c(τ).
Algoritmo guloso de Chvátal
Veremos um algoritmo guloso proposto por Chvátal [1] para o MinCC.
Algoritmo MINCC-CHVATAL(E,S,c) 1.S0 ← S
2.E0 ←E 3.τ ← ∅
4. enquantoE0 6=∅
5. sejaZ emS0 tal quecZ/|Z ∩E0|é mínimo 6. E0 ←E0\Z
7. S0← {S∈ S0 :S∩E06=∅}
8. τ ←τ ∪ {Z} 9. devolvaτ
Razão de aproximação
Teorema 1: O algoritmoMINCC-CHVATALé uma Hn-aproximação para o problemaMINCC(E,S,c), onde n=|E|e Hné o n-ésimo número harmônico.
Vamos provar o teorema utilizando o método dual-fitting.
Programa linear inteiro
Considere o seguinte programa linear inteiroPI(E,S,c):
encontrar um vetorx indexado porSque minimize cx
sob as restrições P
S:e∈SxS ≥1 para todoe∈E, xS∈ {0,1}para todoS∈ S.
Relaxação linear
SejaP(E,S,c)uma relaxação linear dePI(E,S,c).
P(E,S,c)consiste em encontrar um vetorx indexado porS que
minimize cx sob as restrições P
S:e∈SxS ≥1 para todoe∈E, xS≥0 para todoS∈ S.
Dual da relaxação linear
SejaD(E,S,c)o programa linear dual deP(E,S,c).
D(E,S,c)consiste em encontrar um vetory indexado porE que
maximize P
e∈Eye sob as restrições P
e∈Sye≤cS para todoS∈ S, ye≥0 para todoe∈E.
Solução primal
Podemos construir, a partir do que o algoritmo devolve, uma soluçãox deP(E,S,c), que é dada pelos conjuntos
escolhidos pelo algoritmo.
Seτ é a cobertura devolvida pelo algoritmo, xS =1, seS∈τ
xS =0, caso contrário.
Candidato à solução dual
O algoritmo determina implicitamente um candidato à solução dualy.
Para um elementoe∈E, considere a iteração em queeé removido deE0. SejaCe:=E\E0 paraE0 no início desta iteração eSe o conjuntoZ escolhido nesta iteração.
Observe queτ ={Se :e∈E}.
O candidato a solução dual é definido para cadaeemE como
ye = cSe
|Se\Ce|.
y em geral não é uma solução dual, pois não satisfaz a restriçãoP
e∈Sye≤cS.
Lema 2
Lema 2: O valor da função objetivo de D(E,S,c)para y é maior ou igual o valor da função objetivo de P(E,S,c)para x . Demonstração: Para cadaS∈τ, considere a iteração em que Sé o conjunto escolhido pelo algoritmo e sejaC=E \E0 para E0 no início dessa iteração. Então,
cS = X
e∈S\C
cS
|S\C| = X
e∈S\C
cSe
|Se\Ce| = X
e∈S\C
ye.
X
S∈τ
cs≤X
e∈E
ye
2
Fator de escala
Vamos mostrar que apesar dey não ser uma solução de D(E,S,c), se escolhermos um fator de escalaαadequado, o vetor yα é uma solução dual.
Sejay0indexado porE tal que, ye0 = ye
Hn para todoeemE.
Lema 3
Lema 3: y0é uma solução de D(E,S,c).
Demonstração: Temos queye0 ≥0 para todoe∈E poisye ≥0 para todoe∈E. Falta mostrar queP
e∈Sye0 ≤cS para todo S∈ S. SejaS∈ S, e sejame1,e2, . . . ,ek os elementos deS na ordem em que são cobertos pelo algoritmo.
No início da iteração em que o elementoei é coberto, existem pelo menosk−i+1 elementos descobertos emS. Assimyei é no máximocS/(k −i+1). De fato, como o algoritmo escolhe sempre um conjuntoZ tal quecZ/|Z ∩E0|é mínimo e
cS
|S∩E0| ≤ k−i+1cS , temos queyei ≤cS/(k−i+1)e portanto, ye0
i ≤ cS
(k−i+1)Hn
.
Lema 3
Lema 3:y0 é uma solução de D(E,S,c).
Demonstração: (. . . ) ye0
i ≤ cS
(k−i+1)Hn. Mas então
X
e∈S
ye0 ≤
k
X
i=1
cS (k−i+1)Hn
= cS Hn
k
X
i=1
1
k −i+1 =cSHk Hn
≤cS.
2
Conclusão
Portanto,y0 é uma solução viável para o problema dual D(E,S,c)e consequentemente,
V(D(E,S,c),y0)≤opt(D(E,S,c)) =opt(P(E,S,c))≤opt(E,S,c).
Finalmente, podemos concluir sobre o custo da coberturaτ devolvida pelo algoritmo MinCC-Chvatal é tal que
c(τ) =V(P(E,S,c),x)≤V(D(E,S,c),y).
Como temosV(D(E,S,c),y) = Hn·V(D(E,S,c),y0), pois a função objetivo deD(E,S,c)é linear, segue que
c(τ)≤Hn·V(D(E,S,c),y0)≤Hn·opt(E,S,c) e o algoritmo é umaHn-aproximação para o problema.
Generalização
De forma geral, dado um problema de minimização (o método é análogo para problemas de maximização) e um algoritmo de aproximação para este problema, o método consiste em:
1 Obter um programa linear inteiroPI(I)para uma instância genéricaIdo problema, tal quePI(I)seja equivalente ao problema para toda instânciaIviável.
2 Considerar o programa linearP(I), que á a relaxação linear dePI(I), e seu dualD(I).
3 Determinar uma soluçãox deP(I)a partir do que o algoritmo devolve.
4 Perceber como o algoritmo determina implicitamente um candidato a soluçãoy deD(I).
Generalização
De forma geral, dado um problema de minimização (o método é análogo para problemas de maximização) e um algoritmo de aproximação para este problema, o método consiste em:
(. . . )
5 Mostrar que o valor da função objetivo deD(I)paray é pelo menos o valor da função objetivo deP(I)parax.
6 Mostrar que, para algumc ≥1, yc é uma solução deD(I).
7 Concluir que o algoritmo é umac-aproximação para o problema.
Note quec pode ser uma constante ou uma função de<I>, onde<I>é o tamanho da instânciaI.
No trabalho mostramos a prova de que os passos 1-6 de fato levam a conclusão do passo 7.
Outros problemas estudados
Na monografia estudamos também a análise de algoritmos para os seguintes problemas:
Problema da Multi-cobertura Mínima por Conjuntos.
Analisamos o algoritmo guloso encontrado no livro de V.
Vazirani [3].
Problema Métrico da Localização de Instalações.
Estudamos o algoritmo guloso encontrado no artigo de Mahdianet al. [2].
Referências
V. Chvátal.
A greedy heuristic for the set-covering problem.
Mathematics of Operations Research, 4(3):233–235, 1979.
M. Mahdian, E. Markakis, A. Saberi, and V. Vazirani.
Greedy facility location algorithms analyzed using dual fitting with factor-revealing LP.
Journal of the ACM, 50:127–137, 2001.
V.V. Vazirani.
Approximation Algorithms.
Springer, 2001.