instituto de informática universidade ederalf de goiás www ... · alocar as pessoas que irao~...

19

Upload: tranque

Post on 30-Oct-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

Um estudo sobre abordagens para solução de

problemas de localização de dacilidades

M. G. Oliveira

Technical Report - RT-INF_001-12 - Relatório TécnicoFebruary - 2012 - Fevereiro

The contents of this document are the sole responsibility of the authors.

O conteúdo do presente documento é de única responsabilidade dos autores.

Instituto de Informática

Universidade Federal de Goiás

www.inf.ufg.br

Um estudo sobre abordagens para solucaode problemas Facility Location

Max Gontijo de Oliveira ∗

[email protected]

Cedric L. de Carvalho †

[email protected]

Abstract. This paper is intended to propose a solution to the problem of resourcedistribution in a predetermined geographic region. For this purpose, techniquesand data mining approaches have been studied in order to obtain patterns ofdemand of the distribution problem you want solved. This type of problem isknown in literature as facility location problems, where we seek to find the bestlocations for new facilities, considering the estimated demand.

Keywords: facility location, data mining, clustering algorithms, k-means.

Resumo. Este relatorio tem o objetivo de apresentar um estudo sobre diver-sas abordagens que buscam solucao para o problema de distribuicao de recursosem uma regiao geografica pre-determinada. Nesse estudo, as informacoes dedemanda e de possıveis localizacoes de uma facilidade terao respaldo de dadoshistoricos referentes ao problema. Assim, o uso de tecnicas e abordagens demineracao de dados para o aprendizado e fundamental. Esse tipo de problemae conhecido na literatura como problemas de localizacao de facilidades (facilitylocation), onde busca-se encontrar as melhores localizacoes para a insercao facil-idades, considerando a demanda existente.

Palavras-Chave: facility location, mineracao de dados, algoritmos de cluster,k-means.

1 Introducao

Decidir sobre como realizar a distribuicao de facilidades1 em uma regiao geograficalimitada (uma cidade, por exemplo), e uma atividade estrategica para muitas organizacoes.Quando a disponibilizacao de um recurso envolve um custo muito alto ou o numero derecursos disponıveis e limitado, esse problema fica ainda mais preocupante, pois umadistribuicao mal realizada pode acarretar em prejuızo certo para a organizacao.

∗Mestrando em Ciencia da Computacao, INF-UFG†Orientador1Nesse contexto, uma facilidade e um recurso que prove algum tipo de servico ou produto para atender

uma demanda medida ou estimada que, geralmente, esta proxima a esse recurso. De modo geral, facilidadee recurso terao o mesmo significado nesse trabalho.

1

Facility Location 2

Uma distribuicao mal realizada de recursos disponıveis pode ser responsavel por umaserie de consequencias indesejaveis pela organizacao, como interesse maior de clientes lo-cais a concorrencia, dificuldades de atingir metas de qualidade de servico (prazo paraatendimento) e baixo uso do recurso (considerando sua capacidade). Somente para ilus-trar, pode-se tomar como exemplo de organizacoes que se deparam com esse tipo dedecisao, redes de supermercados (que precisam decidir onde instalar uma nova filial), em-presas que coordenam o servico de divulgacao por panfletagem (que precisam decidir comoalocar as pessoas que irao distribuir panfletos), empresas distribuidoras de energia eletrica(que precisam decidir os melhores pontos em uma rede eletrica onde inserir chaves e trans-formadores), hospitais, postos de saude, delegacias e semaforos em uma malha rodoviaria(que precisam ser distribuıdos de forma que haja a maior cobertura possıvel em umacidade, considerando a demanda e necessidade de cada unidade em uma cada regiao).

Esses problemas de realizar a distribuicao de recursos (ou facilidades) em uma regiaogeografica limitada e caracterizado na literatura como modelos do tipo facility location[?].

De modo geral, esses problemas lidam com recursos que, quando distribuıdos, sem-pre permanecerao no local da distribuicao. Isso e o caso das organizacoes que tem queconstruir edificacoes para o fornecimento do servico ou produto.

Entretanto, esse trabalho visa atacar problemas onde os recursos distribuıdos iraose locomover para atender as demandas. Cooperativas de taxi, por exemplo, poderiamoferecer um atendimento mais rapido (e mais barato para a cooperativa) se realizassea distribuicao dos taxistas de forma bem planejada, para que cada demanda recebidapudesse ser mais facilmente atendida. Atendimentos medicos de emergencia podem serrealizados cada vez mais rapidos se as ambulancias estiverem distribuıdas em locais es-trategicos. E importante notar que nesse tipo de problema, a facilidade devera estarpreparada para atender a uma demanda local, de modo que chegar a um consumidor naoafaste a facilidade demais dos outros consumidores.

Segundo Benati e Laporte[?], problemas de otimizacao modelados como facility lo-cation sao NP-Difıceis, tornando inviavel ate mesmo a solucao de instancias relativamentepequenas. Dessa forma, esse trabalho visa buscar uma abordagem inteligente embasadasem propostas feitas ao longo do tempo na literatura, de modo que seja viavel a geracaode boas sugestoes de distribuicao de recursos de um determinado problema de localizacaode facilidades.

2 Caracterısticas de problemas facility location

Os problemas de localizacao de facilidades abrangem uma grande quantidade deaspectos que podem determinar diversos tipos de modelos e abordagens.

Segundo Klose e Drexl[?], os modelos desse tipo de problema podem ser classificadosem diversas formas:

1. Organizacao da regiao geografica. A regiao geografica pode ser representadacomo um plano ou o problema pode permitir que a regiao seja mapeada para ummodelo discreto. Uma exploracao maior sobre modelos contınuos e descritos poderaoser vistos na sessao 3.

2. Objetivos. Os objetivos podem incluir a minimizacao de uma variavel (como asoma do custo de instalacao de uma facilidade ou a soma das distancias entre pon-tos de demanda e a facilidade mais proxima) ou a maximizacao de outra (como acobertura de uma facilidade).

Facility Location 3

3. Capacidade da facilidade. Os modelos facility location podem ou nao ter que con-siderar a restricao de capacidade. Essa restricao se refere a capacidade de demandaque uma facilidade tem. De fato, de acordo com Melkote e Daskin[?], modelos quenao possuem a restricao de capacidade podem ser vistos como modelos que pos-suem tal restricao, desde que a capacidade de cada uma das facilidades seja maiorou igual a soma de todas as demandas do problema. Assim, uma facilidade teriacapacidade para atender todos os pontos de demanda, podendo entao, essa restricao,ser desconsiderada, restando apenas as demais restricoes do problema.

4. Quantidade de estagios. A logıstica de atendimento de demanda pode ter umunico estagio ou pode ter varios estagios. Modelos com apenas um unico estagio saoaqueles onde todas as facilidades atendem diretamente aos clientes da organizacao.Modelos multi-estagios sao aqueles em que, alem das facilidades que atendem aosclientes, tem-se ainda facilidades que atendem a outras facilidades, como por exem-plo, pontos de abastecimento de estoque. A quantidade de estagios nessa estruturae determinada pelo problema.

5. Quantidade de produtos/servicos. Os modelos podem contemplar facilidadesque fornecam apenas um tipo de produto/servico ou que fornecam mais de um tipode produto/servico. Sao ainda considerados modelos de um unico produto/servicoaqueles modelos em que os diversos produtos/servicos podem ser condensados emum unico produto/servico.

6. Influencia da demanda. A maioria dos problemas do tipo facility location consid-eram que a demanda existe independente da localizacao das facilidades. Entretanto,em alguns casos, a demanda pode ser influenciada pela existencia ou nao de umafacilidade.

7. Dinamismo. Modelos podem ser estaticos ou dinamicos. Modelos estaticos buscamotimizacoes para perıodos especıficos. Modelos dinamicos consideram o tempo comofator determinante a ser considerado na otimizacao.

Ainda analisando as classificacoes de modelos facility location, segundo Farahani,SteadieSeifi e Asgari[?], esses modelos ainda podem ser distinguidos segundo a quantidadede criterios a serem otimizados. Eles apresentam um grande estudo sobre o estado-da-artede problemas facility location com multiplos criterios.

Assim, as seguintes classificacoes podem ainda ser acrescentadas a lista:

• Modelos com multiplos objetivos;

• Modelos com multiplos atributos.

3 Modelos contınuos e discretos

Quando se fala em distribuir facilidades em uma regiao geografica, a primeira decisaoa ser tomada e de como essa regiao sera organizada. A abordagem e algoritmos utilizados,bem como fatores de performance e complexidade estao totalmente dependentes da formacomo essa organizacao e tratada no problema.

Assim, pode-se classificar os modelos do tipo facility location em pelo menos doisgrupos: modelos contınuos e modelos discretos.

Facility Location 4

3.1 Modelos contınuos e o problema de Weber

O meio mais natural de se enxergar a solucao para a questao e tratar o plano deforma contınua, de modo que cada ponto do plano seja uma localizacao potencial ondepode-se instalar uma facilidade.

Partindo dessa premissa, em 1909 A. Weber[?] propos o problema de encontrar omelhor ponto para instalar uma facilidade, de modo que a soma das distancias (euclidiana)entre todos os pontos de demanda e a facilidade instalada fosse minimizada.

No problema de Weber simples (PWS), a quantidade de facilidades a serem dis-tribuıdas era apenas uma. Dessa forma, dado que dk(x, y) e a distancia do ponto dedemanda k a facilidade localizada na posicao (x, y) e que pk e o peso de um ponto dedemanda (podendo ser obtido por uma funcao que considere diversos aspectos como pri-oridade, custo, frequencia de uso da facilidade, etc.), o problema de otimizacao poderiaser descrito conforme (1).

v(PWS ) = min(x,y)

∑k∈K

pkdk(x, y) (1)

Se o plano for dividido em coordenadas discretas, a solucao para o problema deotimizacao (1) poderia ser facilmente implementada com o uso de um simples algoritmoiterativo, como apresentado no Algoritmo 1.

Algoritmo 1: PWS (K)

Entrada: vetor K[(x1, y1), (x2, y2)...] de coordenadas (kx, ky) dospontos de demanda

Saıda: coordenadas (x, y) do melhor posicionamento para afacilidade

xMaior ← maior valor de coordenada x do vetor K1

xMenor ← menor valor de coordenada x do vetor K2

yMaior ← maior valor de coordenada y do vetor K3

yMenor ← menor valor de coordenada y do vetor K4

somaMenor ← ∞5

para x← xmenor ate xMaior faca6

para y← ymenor ate yMaior faca7

soma← 08

para cada k ∈ K faca9

soma← soma+ distancia entre pontos (kx, ky) e (x, y)10

fim11

se soma < somaMenor entao12

somaMenor ← soma13

xS olucao← x14

yS olucao← y15

fim16

fim17

fim18

retorna (xS olucao, yS olucao)19

Percebe-se que a quantidade de operacoes necessarias para se encontrar a melhorsolucao para o problema de Weber simples e O(x ∗ y ∗ k), onde x e a quantidade de colunas

Facility Location 5

do plano, y e a quantidade de linhas e k e a quantidade de pontos de demanda. Assim, oproblema de Weber simples possui uma solucao iterativa eficiente.

Entretanto, e mais comum que problemas reais requeiram a distribuicao de mais deuma facilidade no plano. Dessa forma, uma extensao do problema de Weber simples e umproblema onde a quantidade de facilidades seja maior que 1. Essa extensao e chamada deproblema de Weber com multiplas fontes (PWM).

O problema PWM consiste em distribuir n facilidades em uma determinada regiaogeografica com os pontos de demanda K e alocar cada ponto de demanda a uma facilidadeespecıfica. Esse problema pode ser descrito conforme (2).

v(PWM) = min∑k∈K

p∑j=1

pkdk(x, y)zk j (2a)

sujeito a

p∑j=1

zk j = 1 ∀k ∈ K, (2b)

zk j ∈ {0, 1} ∀k ∈ K, j = 1, ..., p, (2c)

onde zk j indica se o ponto de demanda k esta sendo atendido pela facilidade j (zk j

assume valor 1) ou nao (zk j assume valor 0), enquanto a restricao (2b) garante que somenteuma facilidade ira atender um ponto de demanda.

Dessa forma, avaliar todas as possibilidades de distribuicao de uma facilidade emum plano resultaria na execucao de O((x ∗ y ∗ k)n). Assim, analisando a quantidade defacilidades n, pode-se perceber que a complexidade e exponencial.

3.2 Modelos discretos e modelos em rede

Uma grande parte dos problemas de localizacao podem ser modelados como proble-mas discretos, tendo em vista que um numero limitado de pontos de localizacao e suficientepara o espaco de busca da solucao otima. Os problemas de rede, por exemplo, constituemde um tipo particular de problemas discreto.

Em problemas de localizacao de facilidades modelados em rede, as distancias saocomputadas como a menor distancia em um grafo. De fato, muitos problemas de localiza-cao de facilidades podem considerar um numero limitado de localizacoes como possıveispontos de para a instalacao de uma facilidade. Esses pontos sao representados em umgrafo atraves dos vertices.

Segundo Klose e Drexl[?], um modelo de rede pode ser mapeado com um grafo,onde os vertices representam os pontos de demanda e cada aresta que liga um verticerepresenta uma ligacao entre os dois pontos de demanda no problema real. Nesse contexto,a distancia entre um no e outro e dada pela menor distancia entre ambos no grafo. Umsubconjunto dos vertices desse grafo e mesmo pontos adicionais inseridos nas arestas dografo representam os possıveis pontos de instalacao de uma facilidade.

Em algumas abordagens, dependendo da funcao de distancia adotada, como a de[?], os pontos de localizacao de facilidades em potencial podem ser restritos ao proprioconjunto de nos do grafo (pontos de demanda).

O problema de localizacao de facilidades modelado em rede correspondente ao prob-lema de Weber com multiplas fontes e conhecido como p-mediana. Nesse problema, busca-se encontrar a localizacao de p medianas em um grafo, de modo que a soma das distancias

Facility Location 6

entre todos os vertices (pontos de demanda) e a mediana mais proxima seja minimizada.As medianas encontradas representarao, ao final, a localizacao das p facilidades que sedeseja distribuir.

O problema p-mediana pode ser formulado conforme apresentado em (3)

v(PMed) = min∑k∈K

∑j∈J

pkdk jzk j (3a)

sujeito a

∑j∈J

zk j = 1 ∀k ∈ K (3b)

zk j − y j 6 0 ∀k ∈ K, j ∈ J (3c)∑j∈J

y j = p (3d)

zk j, y j ∈ {0, 1} ∀k ∈ K, j ∈ J (3e)

onde dk j representa a distancia no grafo entre os vertices d e j, zk j indica se o pontode demanda k esta sendo atendido pela facilidade j (zk j assume valor 1) ou caso contrario(zk j assume valor 0) e y j indica se foi instalada uma facilidade no vertice j (y j assumevalor 1) ou nao (y j assume valor 0).

Comumente, problemas de distribuicao de facilidades em um plano (modelos con-tınuos) podem ser mapeados para um modelo de rede, de acordo com a conveniencia emse fazer essa conversao. Para isso, diversas abordagens podem ser utilizadas para a real-izacao desse mapeamento, desde que os pontos de demanda resultem em vertices do grafoe as arestas representem alguma ligacao entre esses pontos de demanda.

Para problemas onde o negocio da organizacao pode enxergar os bairros de umacidade como unidades a serem tratadas individualmente, uma abordagem interessanteseria mapear cada bairro para um vertice do grafo e cada fronteira entre os bairros poderiaser representado como uma aresta. O valor de cada aresta nessa abordagem, poderia ser,por exemplo, a distancia entre o ponto central de um um bairro ao ponto central do outro.

Em uma outra abordagem, o plano poderia ser discretizado em celulas que repre-sentariam os vertices. O problema de distribuicao de facilidades em um plano poderia sermapeado para um problema de distribuicao de facilidades em rede com alguns passos: adiscretizacao do mapa em celulas de tamanho igual; a identificacao de celulas que con-tenham algum ponto de demanda; a ligacao de celulas vizinhas; o grafo sairia das celulas(vertices do grafo) e suas ligacoes com as celulas vizinhas (arestas do grafo). A Figura 1mostra os passos dessa conversao.

Facility Location 7

Figura 1: Passos para um possıvel mapeamento de pontos de demanda em um mapageografico plotado em um plano cartesiano para uma representacao em grafo. Em (a)tem-se a configuracao inicial do problema no plano, com a representacao dos pontos dedemanda distribuıdos pelo mapa de uma cidade (nesse caso, Goiania); no passo (b) omapa e dividido em celulas de tamanhos iguais (nesse caso, optou-se por dividir em umagrade de 8 x 8); em seguida, em (c), sao identificadas as celulas que nao possuem nenhumponto de demanda e as mesmas sao excluıdas do espaco de solucao; no passo seguinte (d),cada celula que possui pelo menos um ponto de demanda recebe um vertice (ponto azul)e os vertices gerados sao ligados por arestas conforme alguma regra de fronteira entre ascelulas (nesse caso, optou-se como regra, considerar apenas fronteiras nos lados esquerdo,direito, cima e baixo); o grafo gerado passa a ser o resultado da conversao (e), onde cadaaresta tem como valor, a distancia euclidiana do centro de cada celula ao centro da celulavizinha.

E importante notar que cada caso pode ser modelado de acordo com as caracterısti-cas do problema. A quantidade de celulas bem como a restricao de tamanhos serem iguaispodem ser alteradas conforme a necessidade. A polıtica de atribuicao das arestas tambempode ser adaptada, permitido, por exemplo, a criacao de arestas diagonais ou proibindoa criacao de arestas que passem por celulas sem pontos de demanda.

Uma outra possıvel abordagem poderia considerar identificar clusteres no mapa emapear cada centroide a um vertice. As arestas poderiam ser atribuıdas conforme algumaregra estabelecida como, por exemplo, a parametrizacao de uma distancia maxima entredois clusteres para a atribuicao de uma aresta entre os mesmos.

Muitos problemas de localizacao de facilidades podem ser naturalmente mapeadospara um modelo de rede, sem exigir nenhuma conversao do plano para o grafo. O problemade distribuicao de transformadores em uma rede eletrica e um exemplo. Cada transfor-mador devera abastecer a uma quantidade determinada de pontos de consumo. Assim,cada ponto de consumo representa um vertice em um grafo enquanto as arestas podemser representadas pelas ligacoes fısicas existentes entre esses pontos de consumo. Umoutro exemplo sao as linhas de transito do transporte coletivo. Tomando como caso as

Facility Location 8

linhas de onibus, o problema esta em decidir onde inserir pontos de parada dos onibus dotransporte coletivo de modo que os pontos de demanda (bairros contemplados pela linha)sejam atendidos da maneira mais satisfatoria possıvel.

4 Criterios e objetivos

Os modelos de localizacao de facilidades buscam sempre otimizar algum criterioem sua funcao objetivo. A maioria dos modelos busca atingir um unico objetivo. Emgeral, trata-se de minimizar uma variavel, como a soma das distancias entre os pontos dedemanda e a facilidade mais proxima, ou maximizar a cobertura de atendimento de umafacilidade.

Entretanto, diversos problemas podem exigir uma abordagem que considere aotimizacao de mais de um objetivo. Assim, de acordo com Farahani, SteadieSeifi e NasrinAsgari[?], os modelos podem ainda ser classificados quanto aos seus objetivos.

Antes de buscar uma solucao para um problema multi-criterio, alguns passos iniciaissao necessarios:

• Verificar conflitos entre os objetivos. Geralmente modelos com mais de um obje-tivo tendem a ter conflitos em seus objetivos. Como exemplo, um problema poderequerer minimizar a soma das distancias entre pontos de demanda e a facilidademais proxima ao mesmo tempo em que pode requerer a minimizacao da maior dis-tancia entre um ponto de demanda e a facilidade mais proxima.

• A eficiencia de uma solucao. Esse ponto e referente ao fato de que uma abordagemdeve se preocupar com todos os objetivos, pois uma abordagem so sera consider-ada eficiente se produzir solucoes que otimize todos os objetivos, de modo que umobjetivo nao serja superotimizado em detrimento de outro.

• A definicao de uma solucao preferida. Essa definicao auxiliara no desenvolvimentodo modelo, de modo que as solucoes geradas pela abordagem sejam capazes degerar aquele tipo de solucao. Uma abordagem interessante e a de tentar converterum problema multi-objetivo em um problema com apenas um objetivo.

Objetivos comuns para problemas de localizacao de facilidades, incluem: minimizaro custo total; minimizar a maior distancia de um ponto de demanda a facilidade maisproxima; minimizar o custo fixo, que e o custo fixo de instalar uma facilidade em um pontoespecıfico; maximizar a quantidade de servico; minimizar a media de tempo ou distanciapercorrida; minimizar o maior tempo ou distancia percorrida; minimizar o numero defacilidades instaladas, diminuindo assim o custo de investimento; dentre outros objetivos.

Farahani[?] divide os problemas de localizacao com multi-criterios em problemasmulti-objetivos e problemas multi-atributos. Os problemas bi-objetivos sao aqueles quepossuem sempre dois objetivos e, sao um caso particular dos problemas multi-objetivos.Os demais problemas dessa classe sao chamados de problemas de localizacao k-objetivos.

Esse relatorio nao se aprofundara no assunto acerca de problemas com multi-criterios. Para referencias, a revisao da literatura feita por Farahani[?] e bastante vasta eatualizada.

Facility Location 9

5 Algumas abordagens e algoritmos para solucao de

problemas facility location

Os problemas de localizacao de facilidades tendem a abranger uma grande diversi-dade de possibilidades, podendo alcancar todo tipo de organizacao e seus varios contextospara seus produtos providos e/ou servicos prestados.

Dessa forma, e improvavel que exista um algoritmo que resolva todos os problemasde um determinado modelo, sendo a solucao, totalmente dependente do problema.

Entretanto, existem diversas abordagens que podem ser aplicadas a modelos especı-ficos, auxiliando assim na implementacao de uma solucao.

Essa sessao ira apresentar algumas propostas de abordagens para a solucao de algunsproblemas de localizacao de facilidades.

5.1 Clusteres e o algoritmo k-means

A distribuicao de K facilidades em um plano, como visto na sessao 3.1, e um prob-lema de modelo contınuo. Em muitas abordagens para resolver esse tipo de problema,um passo preliminar e encontrar os clusteres existentes no plano. Uma abordagem porforca bruta poderia ser definida por encontrar os clusteres por meio de um algoritmo it-erativo, como o apresentado no Algoritmo 1. Entretanto, como ja mencionado antes nasessao 3.1, essa atividade que avalia todas as possibilidades e encontra os K clusteres seriaimpraticavel dado o numero de comparacoes a serem realizadas.

Em 1967, MacQueen[?] introduziu o metodo k-means. O metodo k-means e, naverdade, um algoritmo classificador. O seu proposito e o de encontrar clusteres nos dados,onde cada cluster encontrado representa uma classe. Esse metodo e uma tecnica demineracao de dados do tipo nao-supervisionada. Isso significa que o k-means nao precisaser parametrizado e nem acompanhado. De modo geral, toda a informacao necessariacomo entrada para esse metodo restringe-se ao conjunto de dados amostral. A partirdesse conjunto, e possıvel realizar a classificacao.

Mahajan, Nimbhorkar e Varadarajan[?] apresentaram uma prova de que o problemak-means no plano e NP-Difıcil, realizando a reducao atraves do problema 3-SAT2.

Portanto, para resolver esse problema, e necessario o uso de boas meta-heurısticasque sejam capazes de obter bons resultados em um tempo aceitavel.

5.1.1 Abordagens para solucao do problema k-means

O algoritmo k-means foi concebido inicialmente como uma abordagem nao deter-minıstica. Trata-se de um algoritmo bastante simples, rapido e eficiente que busca encon-trar os centroides dos clusteres e pode ser resumido nos seguintes passos:

• Passo 1: Gerar valores iniciais para os centroides. Nesse passo, cada um dos kcentroides sao distribuıdos no espaco n-dimensional (geralmente de forma aleatoria).

• Passo 2: Gerar uma matriz An×k, onde n e a quantidade de pontos de demanda eAi j tem o valor da distancia (geralmente euclidiana) entre o ponto de demanda i e ocentroide j. Essa distancia considera todos os atributos utilizados para determinarum ponto. No caso do problema de distribuicao de facilidades no plano, essesatributos sao apenas 2: as coordenadas x e y.

2O 3-SAT e um problema da classe NP-Completo[?].

Facility Location 10

• Passo 3: Atribuir cada ponto de demanda ao centroide mais proximo. Nesse ponto,o algoritmo termina se nenhum ponto de demanda mudar de centroide em relacao aocentroide a que estava atribuıdo anteriormente. Caso contrario, o algoritmo seguepara o proximo passo.

• Passo 4: Calcular os novos centroides. Cada um dos k centroides e movimentadopara o centro de cada cluster. Assim, cada atributo que define as coordenadas deum centroide, assume como valor, a media de todos os valores desse mesmo atributodos pontos a ele atribuıdos.

• Passo 5: Repetir ate a convergencia. O algoritmo volta ao Passo 2 a ira continuarsua execucao ate que seja atingida a convergencia.

Esse metodo converge bem rapido. Entretanto, nota-se que a qualidade o resul-tado esta diretamente relacionada a distribuicao inicial. Assim, o algoritmo k-means naogarante a convergencia para a melhor configuracao de localizacao dos centroides. Exis-tem muitas abordagens para encontrar a solucao desse problema por meio de artifıciosque busquem melhorar os resultados alcancados pelo algoritmo k-means. Kaveh, Zadehe Sahraeian[?], por exemplo, sugerem um algoritmo para resolucao de um problema delocalizacao de facilidades que utiliza o k-means para gerar uma solucao inicial e, paramelhorar os resultados obtidos nessa solucao inicial, o algoritmo k-means e executadovarias vezes.

Contudo, mesmo rodando varias vezes, o k-meanscontinua gerando solucoes queconvergem para um otimo local, quando o desejado e um resultado que venha a convergirpara um otimo global. Assim, existem diversas abordagens propostas para a busca deuma convergencia global. Somente para ilustrar, algumas serao apresentadas a seguir.

Em 1999, Krishna e Murty[?] propuseram uma versao do k-means utilizando al-goritmos geneticos e que gera resultados que convergem para um otimo global. Nessealgoritmo, que foi batizado de GKA (Genetic K-Means Algorithm), a codificacao do cro-mossomo utilizada foi um vetor C de tamanho n, onde n e a quantidade de pontos e cadaCi assume um valor de 1 a k. Assim, cada cromossomo representa os pontos e a qualcentroide cada um esta ligado. Essa codificacao so e possıvel porque cada ponto so podeestar relacionado a um e somente um dos k centroides.

A populacao inicial e criada a partir de configuracoes aleatorias e execucoes do k-means classico. A mutacao ocorre selecionado alguns pontos de uma solucao e somandoao complemento de outra solucao, tendo assim, uma nova solucao. A partir daı, os kcentroides sao entao recalculados novamente, baseando-se na sua nova configuracao. Aconvergencia e atingida depois de um numero parametrizado de iteracoes.

Yi Lu, Shiyong Lu, Fotouhi e DengBrown[?] criaram, em 2004, melhorias para oGKA e batizaram o novo algoritmo de FGKA (Fast Genetic K-means Algorithm). Assimcomo seu antecessor, o FGKA tambem converge para um otimo global mas, segundo osautores, o algoritmo faz isso muito mais rapido, gracas as mudancas nos operadores demutacao e selecao.

Likas, Vlassis e Verbeek[?] propuseram um algoritmo com convergencia global quepossui um tempo de processamento consideravelmente mais longo que o k-means classico,mas ainda assim, com um bom desempenho. Trata-se de um algoritmo iterativo queexecutara o k-means diversas vezes seguindo uma estrategia bem definida.

Primeiro, o k-means classico e rodado com k = 1 para se encontrar a solucao otimapara k = 1. Em seguida, o k-means e rodado N vezes para k = 2, obedecendo a seguinte

Facility Location 11

regra: a posicao inicial do primeiro centroide e sempre a posicao otima para k = 1 calculadaanteriormente. A posicao inicial do segundo centroide e aleatoria para a primeira rodadado k-means e, a partir da segunda rodada, a posicao inicial do segundo centroide passa aser a localizacao final do mesmo centroide na rodada anterior.

Assim, a medida em que vao sendo adicionados centroides para que o algoritmok-means execute N vezes com a nova quantidade de centroides, a estrategia de posiciona-mento inicial dos centroides continua a mesma: quando k = j, o algoritmo k-means ira serexecutado N vezes e, nessas N vezes, os primeiros j− 1 centroides assumem como posicaoinicial, a posicao otima encontrada para k = j− 1, enquanto o j-esimo centroide inicia emuma posicao aleatoria na primeira rodada do k-means e, a partir da segunda rodada atea ultima, a sua posicao e a posicao otima encontrada na rodada anterior.

Esse algoritmo termina sua execucao quando executa a ultima das N rodadas paraa quantidade de centroides k desejada.

Uma grande vantagem desse algoritmo e que, alem de resolver o problema k-means ,encontrando uma solucao que converge para um otimo global, ainda possibilita resolverum outro problema: encontrar a quantidade de centroides necessarias para minimizar ocusto total. Ou seja, encontrar o valor de K. O mesmo algoritmo aqui descrito poderiaser executado sem se limitar a quantidade K. Assim, o ponto de parada seria o valor docusto desejado. O retorno seria o valor K e o posicionamento desses centroides.

5.2 Busca Tabu

Al-Sultan e Al-Fawzan[?] apresentaram uma abordagem baseada em uma BuscaTabu3 para resolver o problema de localizacao de facilidades sem restricao de capacidadee sugerir a quantidade de facilidades a serem instaladas. No problema atacado pelosautores, o custo de instalacao de uma facilidade e levado em consideracao.

Nessa abordagem, alem das informacoes atuais, um breve historico de solucoes en-contradas e armazenado para evitar um recalculo desnecessario. Assim, essas solucoesarmazenadas passam a compor os movimentos tabu4.

Primeiramente, busca-se uma solucao inicial para o problema. Para essa solucaoinicial, cada ponto de demanda passa a ser atendido pela facilidade instalada mais prox-ima. Em seguida, comeca a fase de remocao de facilidades. Nessa fase, cada facilidadee analisada quanto a possibilidade de sua remocao. A remocao vai acontecer se o custototal da solucao (soma das distancias de pontos de demanda a facilidade mais proxima esoma dos custos de instalacao das facilidades) diminuir com a remocao da mesma.

Apos a criacao dessa solucao inicial, e iniciada a busca de solucoes vizinhas melhores.Essa abordagem nao e amarrada e deixa aberta a forma como essa exploracao e realizada.Uma possibilidade e a de substituir algumas facilidades por outro ponto aleatorio. Outramaneira de formular a vizinhanca e considerar que cada nova solucao alcancada pelomovimento de uma unidade de espaco de uma facilidade rumo a alguma direcao faz parte

3Busca Tabu (Tabu Search)[?] e um metodo meta-heurıstico de busca de solucoes para problemasexponenciais que utiliza alguns artifıcios para evitar que a busca convirja muito precocemente, dandoao algoritmo, mais tempo para explorar novas solucoes, seguindo caminhos de solucoes piores do que amelhor encontrada ate o momento. A Busca Tabu utiliza uma lista de solucoes visitadas (Lista Tabu)que visa evitar que solucoes recentes sejam recalculadas. O criterio de parada e uma quantidade k depassos dados sem encontrar nenhuma nova solucao que seja melhor.

4Em uma busca tabu, um movimento tabu e aquele que nao pode ser realizado. Em outras palavras,e uma solucao que nao pode ser considerada na busca, pois passar nessa solucao novamente iria gerar umciclo e, consequentemente, a convergencia.

Facility Location 12

da vizinhanca atual.Por fim, a abordagem assume que o algoritmo deve parar quando atingir algum

limite de iteracoes sem que haja melhoria nas solucoes encontradas.

5.3 Aproximacoes para o problema das p-medianas

O problema das p-medianas, formulado em (3), e objeto de constante pesquisase existem diversos trabalhos que apresentam abordagens para a solucao desse tipo deproblema. A seguir, algumas dessas abordagens serao apresentadas.

5.3.1 Algoritmo de Teitz e Bart

Dado um conjunto V de nos (vertices) em uma rede, Teitz e Bart[?] apresentaramum algoritmo simples para o problema das p-medianas, onde espera-se encontrar umsubconjunto V ′ (onde |V ′| = p) dos nos da rede de modo que a soma de todas as distanciasentre os nos de V e o no de V ′ mais proximo fosse minimizado.

Esse algoritmo, e inicializado com uma solucao S aleatoria tal que S ⊂ V e |S | = p.A partir dessa solucao inicial, e realizada uma varredura pelos demais vertices do conjuntoV, objetivando encontrar um vertice vi ∈ (V − S ) que possa substituir um vertice v j ∈ Stal que a soma das distancias entre todos os nos de V e o no mais proximo em (S ∪ vi)− v j

seja menor que a soma das distancias entre todos os nos de V e o no mais proximo emS . O algoritmo termina quando nao houver mais nenhuma substituicao que produza umasoma de distancias menor que a atual.

E notorio que esse algoritmo busca encontrar uma melhor solucao, mas pode de-morar muito para convergir. Assim, muitas outras meta-heurısticas surgiram para buscarboas aproximacoes sem demandar muito tempo para a convergencia. Uma alternativa erelaxar o problema em alguma de suas restricoes. A seguir, sera apresentada a relaxacaolagrangeana/surrogate, que se mostra bastante conveniente para resolver o problema delocalizacao de facilidades.

5.3.2 O uso da relaxacao lagrangeana/surrogate

Senne, Lorena e Pereira[?] propuseram um algoritmo branch-and-price5 que faz usoda relaxacao lagrangeana/surrogate6 para resolver o problema das p-medianas.

Nesse trabalho, o problema das p-medianas foi convertido em um problema de par-ticao de conjuntos com uma restricao de cardinalidade. O problema entao passa a serformulado como em (4).

v(S PPmed) = minm∑

k=1

ckxk (4a)

sujeito a

5Branch-and-price e um metodo de geracao de colunas em uma arvore de busca proposto porBarnhart[?].

6A relaxacao lagrangeana/surrogate e um tipo de relaxacao voltada para diversos problemas deotimizacao de programacao inteira, incluindo problemas de localizacao. Essa relaxacao foi criada porGreenberg e Pierskalla[?]

Facility Location 13

m∑k=1

Aikxk = 1 ∀i ∈ S , (4b)

m∑k=1

xk = p, (4c)

xk ∈ {0, 1}, (4d)

onde N e o conjunto de todos os nos da rede, S = {S 1, ..., S m} e o conjunto de todos ossubconjuntos de N, A = [aik]n×m e uma matriz que indica a qual subconjunto pertence cadano (aik = 1 se i ∈ S k e aik = 0 caso contrario), xk indica se o subconjunto k foi selecionadocomo parte da solucao e ck = min j∈S k(

∑i∈S k

di j). A relaxacao utilizada pelos autores foi nasubstituicao da restricao (4d) pela restricao xk ∈ [0, 1].

5.4 Aproximacoes para o problema das p-medianas capacitado

Uma restricao bastante recorrente em muitos problemas de localizacao de facilidadese a capacidade que uma facilidade tem para poder atender os pontos de demanda. Osalgoritmos classicos para solucao de problemas de localizacao geralmente nao consideram acapacidade de atendimento e, dessa forma, podem gerar solucoes otimas, porem, inviaveis.

Dessa forma, a restricao de capacidade deve ser sempre levada em consideracao,quando o problema do mundo real tem essa restricao. Exemplos classicos de facilidadesque possuem essa caracterısticas sao as redes de telefonia e redes eletricas, onde cadafacilidade (uma antena ou um transformador) tem uma capacidade que limita o tamanhoda demanda que pode atender.

Portanto, para resolver problemas dessa natureza, algoritmos mais elaborados sefazem necessarios.

Kaveh, Zadeh e Sahraeian[?] introduziram um algoritmo hıbrido, que mescla o usodo algoritmo k-meanscom o algoritmo FNS (Fixed Neighborhood Search). Esse algoritmotem o objetivo de resolver o problema das p-medianas capacitado no qual cada pontode demanda pode ser alocado a somente uma facilidade. A formulacao do problema eapresentada em (5)

v(CPMed) = min∑i∈N

∑j∈J

ci jxi j (5a)

sujeito a

∑j∈J

xi j = 1 ∀i ∈ N, (5b)∑j∈J

y j = p, (5c)∑i∈N

ci jxi j 6 b jy j ∀ j ∈ J, (5d)

xi j ∈ {0, 1}, y j ∈ {0, 1} ∀i ∈ N,∀ j ∈ J, (5e)

onde xi j assume valor 1, se o ponto de demanda i esta alocado a facilidade j e 0, casocontrario; y j indica se no ponto j foi (assume valor 1) ou nao (assume valor 0) instaladauma facilidade; e b j representa a capacidade da facilidade j. A restricao (5d) e o que

Facility Location 14

garante que a capacidade da facilidade j jamais ira ser extrapolada pela demanda alocadaa ela.

O algoritmo proposto utiliza o algoritmo k-means para gerar uma solucao inicial,que ira servir de entrada para o algoritmo FNS. Como ja mencionado antes, o k-means eum algoritmo que nao garante a solucao otima. Por essa razao, a abordagem utilizadaexecuta o k-means 20 vezes iniciando o mesmo em posicoes aleatorias. Evidentemente, aquantidade de clusteres que se deseja encontrar e p (K = p). Para otimizar os resultados,garantindo que sera encontrada a mediana, o k-means executado aqui tem a funcao dedistancia alterada. O valor utilizado para comparacao e a distancia elevada ao quadrado.Assim, garante-se que a mediana sera encontrada.

Depois de executar o k-means 20 vezes, o algoritmo seleciona a melhor solucao.Entao, para cada um dos k clusteres identificados isoladamente, e executado um algoritmosimples de solucao do problema p-mediana (p = 1) com a finalidade de encontrar o melhorno para cada um dos k clusteres encontrados. Nesse ponto, o algoritmo tem a sua solucaoinicial S .

No proximo passo, o algoritmo FNS e executado com a solucao inicial S . Aqui, oconceito de vizinhanca e definido como: “a k′-esima vizinhanca de uma solucao sao todasas solucoes que diferem da solucao corrente em exatamente k′ facilidades.”

Dada uma funcao f (x) que retorna o valor do custo total de uma solucao x, oalgoritmo FNS pode ser descrito conforme os passos do Algoritmo 2.

Algoritmo 2: FNS (k′,maxiter,N)

Entrada: valor inteiro k′ que vai determinar o tamanho davizinhanca; maxiter (que vai indicar quando oalgoritmo ira parar); o conjunto de pontos de demandaN

Saıda: solucao S contendo os pontos de localizacao dasfacilidades

S ← solucao inicial do problema dada pelo algoritmo k-means1

enquanto Nao convergir faca2

Vizk′(S )← a k′-esima vizinhanca de S3

para cada S ′ ∈ Vizk′(S ) faca4

se f (S ′) < f (S ) entao5

S ← S ′6

r ← 17

sai do laco “para cada”8

fim9

se f (S ′) > f (S ) entao10

r ← r + 111

se r > maxiter entao12

retorna S13

fim14

fim15

fim16

fim17

Esse algoritmo foi entao adaptado para o problema das p-medianas capacitado paraotimizar a escolha das novas solucoes[?].

Facility Location 15

A primeira alteracao foi na forma como os nos sao selecionados no momento emque a k′-esima vizinhanca e gerada. No algoritmo FNS original (Algoritmo 2), todas aspossibilidades seriam geradas. A modificacao realizada exclui alguns pontos do espaco debusca. E isso pode ser feito de duas formas diferentes. Na primeira, k′ pontos sao removi-dos da solucao corrente e, a selecao dos novos k′ pontos ira considerar todos os demaispontos que nao possuem facilidade instalada, com excecao dos h nos mais proximos decada um dos k′ pontos selecionados. O valor de h deve ser parametrizado empiricamente,por tentativa e erro.

A segunda alternativa e excluir os pontos mais perifericos, pois esses tendem a naoserem escolhidos para a solucao final. Aqui, mais uma vez, os limites de periferia devemser parametrizados empiricamente.

A Figura 2 mostra o resultado dessas duas abordagens para a exclusao de pontos nageracao da vizinhanca.

Figura 2: Identificacao de nos candidatos a substituicao na geracao da vizinhanca. Ini-cialmente, tem-se a solucao corrente (a) onde os pontos azuis representam as facilidadesinstaladas. Para k′ = 2, em (b), (c) e (d), sao selecionadas duas facilidades para seremremovidas. Em (b), a vizinhanca passa a ser gerada a partir de todos os demais pontos(brancos). Em (c), para um h = 3, sao selecionadas os tres pontos mais proximos paraserem excluıdos do espaco de solucao (pretos). Em (d), as linhas pontilhadas delimitamas margens perifericas, onde estarao os pontos excluıdos.

A segunda alteracao no algoritmo FNS foi o criterio de parada. Antes, o criteriode parada era quando atingia a quantidade de iteracoes realizadas sem melhoria no custototal. Agora, todas as k′ solucoes da vizinhanca deverao ser analisadas e o algoritmo sopara se nenhuma dessas solucoes for melhor que a solucao corrente.

Por fim, a ultima alteracao realizada foi a adicao de memoria ao algoritmo, acrescen-tando uma lista tabu para armazenar solucoes e evitar o recalculo de solucoes ja visitadas.

Facility Location 16

6 Aplicacoes

E notoria a aplicacao de modelos facility location a problemas de distribuicao defacilidades em uma regiao geografica. Entretanto, de acordo Klose e Drexl[?], uma seriede ouras possıveis aplicacoes podem fazer uso dos modelos de localizacao de facilidades.

A analise de clusteres para a identificacao de classes distintas baseando-se em atrib-utos diversos de uma grande quantidade de dados e uma atividade que ja foi mapeadacomo um problema das p-medianas.

A selecao de vendedores e a alocacao dos mesmos aos produtos pode ser mapeadopara um modelo de localizacao. Identificar um conjunto de vendedores para vender umdeterminado produto representa um problema de multi-criterios, onde devem ser levadosem conta a experiencia do vendedor, o preco do produto que se deseja alocar, a qualidadedo mesmo, dentre outras.

Em alguns problemas, a organizacao nao deseja oferecer um produto/servico parauma demanda especıfica, mas explorar um produto/servico de diversas fontes. Um exem-plo de casos assim e o de encontrar a melhor localizacao para plataformas de exploracaode petroleo. Se o custo de instalacao de uma plataforma fosse irrelevante, certamentehaveriam plataformas por toda a regiao que fosse rica em petroleo. Entretanto, esse custoe muito relevante e, encontrar a melhor localizacao para a instalacao de p plataformas,bem como o tamanho de cada uma, pode ser facilmente mapeado para um problema delocalizacao de facilidades.

A localizacao de um servidor de banco de dados em uma rede de computadores podeser mapeada para um problema de p-medianas onde p = 1 em uma rede.

Assim, pode-se perceber que diversos problemas que, a princıpio, nao parecem seenquadrar em algum modelo facility location, poderiam ser mapeados para um problemade localizacao e ser resolvido com a ajuda de alguma das tantas abordagens que ja forampublicadas.

7 Conclusao

O problema de localizacao de facilidades em uma regiao geografica e pertinente aosmais diversos tipos de organizacoes: industrias que buscam viabilizar o fornecimento deprodutos industrializados aos distribuidores, sem inviabilizar o recebimento de materiaprima; grandes organizacoes comerciais, como redes de supermercado, que visam atendero maior numero de clientes; empresas de distribuicao de energia eletrica; orgaos de saudee seguranca publica; empresas de transporte; dentre outros tantos tipos de organizacoes,cuja qualidade do servico esta diretamente ligada a uma distribuicao otima de facilidades.

Tais problemas de localizacao sao conhecidos como NP-Difıcil. Assim, uma grandeatencao tem sido voltada para essa area da Pesquisa Operacional. Nao e uma necessidaderecente, sendo ela estudada desde o inıcio do seculo XIX[?]. Entretanto, um grande salto,no que diz respeito a quantidade de pesquisas realizadas e abordagens sendo criadas,aconteceu nos ultimos quinze anos, com um grande interesse sobre o assunto sendo cadavez mais evidente.

Contudo, mesmo diante de tanto empenho por parte da comunidade de PesquisaOperacional, fica claro que os diversos modelos de localizacao de facilidades ainda deixammuitas lacunas, abrindo espaco para novas abordagens. Percebeu-se que, mesmo com alouvavel iniciativa de separar os problemas em modelos bem definidos, diversas abordagenspoderiam ser bastante eficientes para um tipo especıfico de problema, mas sendo inviaveis

Facility Location 17

para outros tipos. Dessa forma, conclui-se que, embora as abordagens existentes possamser utilizadas parcialmente, totalmente ou combinadas com outras, cada caso deve seranalisado com suas particularidades.

Conclui-se tambem que existem muitas possibilidades de evolucao das pesquisasnessa area, tendo em vista que diversas boas novas abordagens foram propostas com asimples juncao de duas ou mais abordagens anteriormente publicadas ou com algumaadaptacao e/ou melhorias em cima de uma outra abordagem.

8 Agradecimento

A Profa. Dra. Telma Woerle de Lima Soares, pela avaliacao do presente texto epelas sugestoes feitas, as quais muito contribuıram para a melhoria do texto original.

Referencias

[1] Al-Sultan, K.; Al-Fawzan, M. A tabu search approach to the uncapaci-tated facility location problem. Annals of Operations Research, 86:91–103, 1999.10.1023/A:1018956213524.

[2] Barnhart, C.; Johnson, E. L.; Nemhauser, G. L.; Savelsbergh, M. W. P.; Vance, P. H.Branch-and-price: Column generation for solving huge integer programs.Operations Research, 46:316–329, 1996.

[3] Benati, S.; Laporte, G. Tabu search algorithms for the (r|xp)-medianoid and(r|p)-centroid problems. Location Science 2, 1994.

[4] Cook, S. A. The complexity of theorem-proving procedures. In: Proceedingsof the third annual ACM symposium on Theory of computing, STOC ’71, p. 151–158,New York, NY, USA, 1971. ACM.

[5] Farahani, R. Z.; SteadieSeifi, M.; Asgari, N. Multiple criteria facility locationproblems: A survey. Applied Mathematical Modelling, 34(7):1689 – 1709, 2010.

[6] Glover, F.; Laguna, M. Tabu search, p. 70–150. John Wiley & Sons, Inc., NewYork, NY, USA, 1993.

[7] Greenberg, H. J.; Pierskalla, W. P. Surrogate mathematical programming.Operations Research, 18(5):924–939, September/October 1970.

[8] Hakimi, S. L. Optimum Distribution of Switching Centers in a Communica-tion Network and Some Related Graph Theoretic Problems. OPERATIONSRESEARCH, p. 462–475, 1965.

[9] Klose, A.; Drexl, A. Facility location models for distribution system design.European Journal of Operational Research, 162(1):4 – 29, 2005. Logistics: FromTheory to Application.

[10] Krishna, K.; Narasimha Murty, M. Genetic k-means algorithm. Systems, Man,and Cybernetics, Part B: Cybernetics, IEEE Transactions on, 29(3):433 –439, jun1999.

Facility Location 18

[11] Likas, A.; Vlassis, N.; Verbeek, J. J. The global k-means clustering algorithm.Pattern Recognition, 36(2):451 – 461, 2003.

[12] Lu, Y.; Lu, S.; Fotouhi, F.; Deng, Y.; Brown, S. J. Fgka: a fast genetic k-meansclustering algorithm. In: Proceedings of the 2004 ACM symposium on Appliedcomputing, SAC ’04, p. 622–623, New York, NY, USA, 2004. ACM.

[13] MacQueen, J. B. Some methods for classification and analysis of multivariateobservations. In: Cam, L. M. L.; Neyman, J., editors, Proceedings of the fifthBerkeley Symposium on Mathematical Statistics and Probability, volume 1, p. 281–297. University of California Press, 1967.

[14] Mahajan, M.; Nimbhorkar, P.; Varadarajan, K. The Planar k-Means Problem isNP-Hard. In: Das, S.; Uehara, R., editors, WALCOM: Algorithms and Computa-tion, volume 5431 de Lecture Notes in Computer Science, p. 274–285. SpringerBerlin / Heidelberg, 2009.

[15] Melkote, S.; Daskin, M. S. Capacitated facility location/network design prob-lems. European Journal of Operational Research, 129(3):481 – 495, 2001.

[16] Melo, M.; Nickel, S.; da Gama, F. S. Facility location and supply chain man-agement - A review. European Journal of Operational Research, 2009.

[17] Payman Kaveh, A. S. Z.; Sahraeian, R. Solving Capacitated P-median Problemby Hybrid K-means Clustering and FNS Algorithm. International Journalof Innovation, Management and Technology, 2010.

[18] Senne, E. L. F.; Lorena, L. A. N.; Pereira, M. A. A branch-and-price approachto p-median location problems. Computers & Operations Research, 32(6):1655– 1664, 2005.

[19] Teitz, M. B.; Bart, P. Heuristic methods for estimating the generalized vertexmedian of a weighted graph. Operations Research, 16(5):955–961, September/Oc-tober 1968.

[20] Weber, A.; Pick, G. Ueber den Standort der Industrien. Ueber den Standortder Industrien. J.C.B. Mohr (Paul Siebeck), 1909.