• Nenhum resultado encontrado

TrabalhodeConclusãodeCurso,2009 LeonardoMarchettiOrientadora:CristinaGomesFernandes Análisedealgoritmosdeaproximaçãoutilizandoométododual-fitting

N/A
N/A
Protected

Academic year: 2022

Share "TrabalhodeConclusãodeCurso,2009 LeonardoMarchettiOrientadora:CristinaGomesFernandes Análisedealgoritmosdeaproximaçãoutilizandoométododual-fitting"

Copied!
22
0
0

Texto

(1)

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

(2)

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.

(3)

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 ∈Qpara cadaS ∈ S, definimosc(τ)como o númeroP

S∈τcS.

(4)

Cobertura por conjuntos - exemplo

(5)

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 ∈Qpara cada S∈ S, encontrar uma coberturaτ de E emS que minimize c(τ).

(6)

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τ

(7)

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.

(8)

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.

(9)

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.

(10)

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.

(11)

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.

(12)

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.

(13)

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

(14)

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.

(15)

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

.

(16)

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

(17)

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.

(18)

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

(19)

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.

(20)

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].

(21)

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.

(22)

Dúvidas?

Referências

Documentos relacionados

Note on the occurrence of the crebeater seal, Lobodon carcinophagus (Hombron &amp; Jacquinot, 1842) (Mammalia: Pinnipedia), in Rio de Janeiro State, Brazil.. On May 12, 2003,

A clínica gestáltica tem o intuito de desenvolver um trabalho baseado na relação dialógica, que facilita o processo de autorregulação e ajustamento criativo para as pessoas.. Tais

1- Indica com P, se a frase estiver na voz passiva e com A se estiver na ativa. Depois, passa-as para a outra forma. a) Vimos um cisne moribundo.. Assinala com um X o

O novo algoritmo para o problema UML seleciona a cada iterac¸˜ao uma estrela de menor custo amortizado, at´e que todos os objetos tenham sido classificados2. Os principais passos

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

A assistência da equipe de enfermagem para a pessoa portadora de Diabetes Mellitus deve ser desenvolvida para um processo de educação em saúde que contribua para que a

A tabela a seguir resume as frequências em que os pacientes apresentaram pelo menos uma reação adversa não solicitada, foi registrada dentro de 28 dias após a vacinação de

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...