algoritmo de aproximação para o problema ... -...

32
Algoritmo de Aproxima¸ ao para o Problema de Localiza¸c˜ ao de Facilidades Gustavo Henrique Czaikoski [email protected] Universidade Estadual de Campinas Instituto de Computa¸c˜ ao 18 de Novembro de 2015 Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproxima¸c˜ ao 18 de Novembro de 2015 1 / 32

Upload: hoanghuong

Post on 09-Dec-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Algoritmo de Aproximacao para o Problema deLocalizacao de Facilidades

Gustavo Henrique Czaikoski

[email protected] Estadual de Campinas

Instituto de Computacao

18 de Novembro de 2015

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 1 / 32

Roteiro

1 Introducao

2 Definicao do Problema

3 Formulacao do Problema com Programacao Linear Inteira

4 Formulacao do Problema Primal

5 Formulacao do Problema Dual

6 Algoritmo de Aproximacao

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 2 / 32

Introducao

Baseando-se em [Williamson and Shmoys 2011], mais precisamenteno capıtulo 12.1, esse trabalho mostra um algoritmo de aproximacaopara o Problema de Localizacao de Facilidades apresentado pelo autordo livro.

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 3 / 32

Definicao do Problema

Conjunto de clientes C e um conjunto de facilidades F ;

Para cada cliente j ∈ C e facilidade i ∈ F , existe um custo cij daatribuicao do cliente j para a facilidade i ;

Custo fi para cada facilidade i ∈ F ;

Objetivo: encontrar um subconjunto F ′ ∈ F tal que minimize o custototal das facilidades em F ′ e o custo de atribuicao de cada clientej ∈ C para a facilidade mais proxima em F ′.

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 4 / 32

Formulacao do Problema

yi ∈ {0, 1} para cada facilidade i ∈ F ;

xij ∈ {0, 1} ∀i ∈ F ,∀j ∈ C .

Funcao Objetivo:

min∑

i∈F fiyi +∑

i∈F∑

j∈C cijxij .

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 5 / 32

Formulacao do Problema

Restricoes:∑i∈F xij = 1, ∀j ∈ C ;

xij ≤ yi ,∀i ∈ F ∀j ∈ C .

Formulacao Completa:

min∑

i∈F fiyi +∑

i∈F∑

j∈C cijxijs.a.

∑i∈F xij = 1 ,∀j ∈ C

xij ≤ yi ,∀i ∈ F ∀j ∈ Cyi ∈ {0, 1} ,∀i ∈ F

xij ∈ {0, 1} ,∀i ∈ F , ∀j ∈ C

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 6 / 32

Formulacao do Problema Primal

A formulacao do problema primal e dada pela relaxacao das variaveisbinarias do PLI, gerando assim, a seguinte formulacao:

min∑

i∈F fiyi +∑

i∈F∑

j∈C cijxijs.a.

∑i∈F xij = 1 ,∀j ∈ C (1)

xij ≤ yi ,∀i ∈ F ∀j ∈ C (2)yi ≥ 0 ,∀i ∈ F

xij ≥ 0 ,∀i ∈ F , ∀j ∈ C

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 7 / 32

Formulacao do Problema Dual

variaveis vj ,∀j ∈ C para a restricao (1);

variaveis wij ,∀i ∈ F e ∀j ∈ C para restricoes do tipo (2).

Formulacao Dual:

max∑

j∈C vjs.a.

∑j∈C wij ≤ fi ,∀i ∈ F

vj − wij ≤ cij ,∀i ∈ F ∀j ∈ Cwij ≥ 0 ,∀i ∈ F , ∀j ∈ C

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 8 / 32

Definicoes importantes - Vizinhanca

Dada uma solucao otima (x∗, y∗) para o problema primal, um cliente jtem como vizinho uma facilidade i se x∗ij > 0. Portanto o conjunto N(j)de facilidades vizinhas de um cliente j e dado por:

N(j) = {i ∈ F : x∗ij > 0}

N2(j) = {k ∈ C : k vizinha alguma i ∈ N(j)}

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 9 / 32

Definicoes importantes - Vizinhanca

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 10 / 32

Definicoes importantes

Lema 1: Se (x∗, y∗) e a solucao otima para o problema primal, e (v∗,w∗)a solucao otima do problema dual, x∗ij > 0 implica que v∗j ≥ cij .

Prova: por complementariedade de folga, pois x∗ij > 0 implica quev∗j − w∗ij = cij .

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 11 / 32

Definicoes importantes

Decidimos abrir cada facilidade i com probabilidade y∗i , o custo esperadoda abertura das facilidades e

∑i∈F fiy

∗i e possui valor menor do que OPT .

Se um vizinho de um cliente j e aberto, o custo de atendimento do clientej e no maximo v∗j pelo Lema 1. Caso todos os clientes tenham um vizinhoaberto, o custo total obtido e:∑

i∈F fiy∗i +

∑j∈C v∗j ≤ 2OPT

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 12 / 32

Definicoes importantes

E possivel que nenhum vizinho de j seja aberto. Usando como 1− y aprobabilidade de que nenhum vizinho de j seja aberto:∏

i∈N(j) 1− y∗i ≤∏

i∈N(j) e−y∗i

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 13 / 32

Definicoes importantes

A principal ideia do algoritmo e utilizar arredondamentos feitos de maneiraaleatoria para definir qual falididade sera aberta. Caso nenhum vizinho deum cliente j seja aberto, sabe-se que existe uma facilidade proxima quepode ser aberta.

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 14 / 32

Definicoes importantes

Precisamos de uma solucao bem especıfica para o problema primal, umasolucao completa. A solucao e completa se x∗ij = y∗i sempre que x∗ij > 0. Epossıvel tranformar uma solucao otima do problema primal em umasolucao completa equivalente que possui o mesmo valor na funcao objetivo.

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 15 / 32

Algoritmo

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 16 / 32

Demonstracao da Aproximacao

A probabilidade de uma facilidade ser aberta e dependente daprobabilidade de outras facilidades serem abertas;

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 17 / 32

Demonstracao da Aproximacao

Lema 2: Dado um cliente j ∈ C qualquer, a probabilidade de que nenhumvizinho de j esteja aberto e no maximo 1

e .Prova:

Consideramos como Xk as facilidades em N(j) na k-esima iteracao doalgoritmo, e as facilidades que restam estao em um conjunto Xs .Denotamos por Ek o evento de alguma facilidade em Xk ser aberta;

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 18 / 32

Demonstracao da Aproximacao

Lema 2: Dado um cliente j ∈ C qualquer, a probabilidade de que nenhumvizinho de j esteja aberto e no maximo 1

e .Prova:

A probabilidade do evento Ek acontecer e Y ∗k =∑

i∈Xky∗i = Pr [Ek ],

e como as solucoes para os programas lineares sao completas, temosque: ∑

k Y∗i =

∑k

∑i∈Xk

y∗i =∑

k

∑i∈Xk

x∗i

Pela restricao (2) do problema primal:∑k Y∗i =

∑k

∑i∈Xk

x∗i =∑

i∈F x∗i = 1

Seguindo a ideia da probabilidade utilizada, temos:

Pr [nenhum vizinho de j aberto] =∏

k(1− Y ∗i ) ≤∏

k e−Y∗i∏

k e−Y∗i = e−

∑k Y

∗i = e−1

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 19 / 32

Demonstracao da Aproximacao

Teorema 1: Dado um cliente j ∈ C qualquer, se algum vizinho de j naofoi aberto, podemos atribuir o cliente j a uma facilidade aberta com custono maximo 3v∗j .

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidades

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 20 / 32

Demonstracao da Aproximacao

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidadesDemonstracao:

Na iteracao k , o custo esperado da facilidade aberta e∑i∈N(jk ) fix

∗ij ≤

∑i∈N(jk ) fiy

∗i , utilizando a restricao (2) (xij ≤ yi ) da

formulacao primal. Desse modo, o custo esperado das facilidadesabertas e: ∑

k

∑i∈N(jk ) fiy

∗i

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 21 / 32

Demonstracao da Aproximacao

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidadesDemonstracao:

Como tambem abrimos as facilidades restantes com probabilidade y∗i ,o custo total esperado da abertura das facilidades e dado por:∑

i∈F fiy∗i

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 22 / 32

Demonstracao da Aproximacao

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidadesDemonstracao:

Segundo o teorema 1, dado um cliente j qualquer, se nenhum vizinhode j e aberto, podemos atribuir o cliente j a uma facilidade abertacom custo no maximo 3v∗j ;

Para qualquer facilidade i ∈ N(j), a probabilidade de abrir a facilidadei e y∗i , e mesmo que a probabilidade de abertura das outrasfacilidades i ∈ N(j) sejam dependentes, o custo esperado paraatribuir um cliente j a uma facilidade i ∈ N(j) aberta e:∑

i∈N(j) cijx∗ij =

∑i∈N(j) cijy

∗i

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 23 / 32

Demonstracao da Aproximacao

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidadesDemonstracao:

Temos que o custo de atribuicao esperado de j :

Pr [vizinho de j aberto]× CUSTOATRIB.+Pr [¬ vizinho de j aberto]× CUSTOATRIB.

≤ 1∑

i∈N(j) cijx∗ij + 1

e .(3v∗j )

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 24 / 32

Demonstracao da Aproximacao

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidadesDemonstracao:

Portanto, o custo total de atribuicao de todos os clientes nao passa de∑i∈F

∑j∈C cijxij

∗ + 3e

∑j∈C v∗j ,

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 25 / 32

Demonstracao da Aproximacao

Teorema 2: O Algoritmo e uma (1 + 3e )-aproximacao para o problema de

localizacao de facilidadesDemonstracao:

O custo total de uma solucao e no maximo:∑i∈F fiyi

∗ +∑

i∈F∑

j∈C cijxij∗ + 3

e

∑j∈C v∗j ≤ OPT + 3

eOPT

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 26 / 32

Extra

Dado que C ∗j =∑i∈F

cijx∗ij , se escolhermos o cliente j na iteracao k

minimizando v∗j + C ∗j , o algoritmo se torna uma 1 + 2e -aproximacao.

Teorema 3: Dado um cliente j ∈ C qualquer, se algum vizinho de j naofoi aberto, podemos atribuir o cliente j a uma facilidade aberta com custono maximo 2v∗j + C ∗j .

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 27 / 32

Referencias

Williamson, D. P. and Shmoys, D. B. (2011). The Design ofApproximation Algorithms. Cambridge University Press, New York, NY,USA, 1st edition.

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 28 / 32

Obrigado!

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 29 / 32

Perguntas

1 - Baseando-se no algoritmo apresentado, com qual probabilidadeas facilidades podem ser abertas?

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 30 / 32

Perguntas

2 - Construa um exemplo de entrada para o Problema deLocalizacao de Facilidades, nomeie todos os clientes e as facilidades,escolha um cliente qualquer e determine o conjuntos N(j) e N2(j).

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 31 / 32

Perguntas

3 - Qual e a caracterıstica especıfica de uma solucao completa paraa formulacao primal do Problema de Localizacao de Facilidades?

Gustavo Henrique Czaikoski (LOCo IC UNICAMP) Algoritmos de Aproximacao 18 de Novembro de 2015 32 / 32