Acessibilidade / Reportar erro

Aplicação da relaxação lagrangeana e do algoritmo genético construtivo na solução do problema probabilístico de localização-alocação de máxima cobertura

Application of lagrangian relaxation and the constructive genetic algorithm to solve the probabilistic problem of maximum location-allocation coverage

Resumos

O problema de localização de máxima cobertura (MCLP) procura localizar facilidades visando a maximizar a população atendida, considerando uma dada distância ou tempo padrão de serviço. Várias extensões desse modelo têm sido propostas para aumentar a sua aplicabilidade. Entre elas, existem modelos probabilísticos para localização-alocação de máxima cobertura com restrições no tempo de espera ou no comprimento da fila para sistemas congestionados, que levam em conta um ou vários servidores por facilidade. A proposta deste trabalho é a de resolver um modelo para um servidor por facilidade por meio da relaxação lagrangeana e do Algoritmo Genético Construtivo. Os resultados dos testes obtidos nessas abordagens são apresentados e comparados.

problemas de localização; máxima cobertura; relaxação lagrangeana; algoritmo genético construtivo


The Maximal Covering Location Problem (MCLP) seeks to locate facilities in order to maximize the serviced population, considering a given distance or standard service time. Various extensions of this model have been proposed to enhance its applicability, e.g., probabilistic models for maximum location-allocation coverage with waiting time or queue length constraints for congested systems, taking into account one or more servers per service center. In this paper we present two procedures for solving a probabilistic model, which considers one server per center, using Lagrangian relaxation and the Constructive Genetic Algorithm. Extensive tests of these approaches are presented and their results compared.

location problems; maximal coverage; lagrangian relaxation; constructive genetic algorithm


Aplicação da relaxação lagrangeana e do algoritmo genético construtivo na solução do problema probabilístico de localização-alocação de máxima cobertura

Application of lagrangian relaxation and the constructive genetic algorithm to solve the probabilistic problem of maximum location-allocation coverage

Francisco de Assis Corrêa; Luiz Antonio Nogueira Lorena

Laboratório Associado de Computação e Matemática Aplicada, Instituto Nacional de Pesquisas Espaciais – INPE, Av. dos Astronautas, 1758, Jardim da Granja, CEP 12227-010, São José dos Campos, SP, Brasil, e-mails: fcorrea@directnet.com.br, lorena@lac.inpe.br

RESUMO

O problema de localização de máxima cobertura (MCLP) procura localizar facilidades visando a maximizar a população atendida, considerando uma dada distância ou tempo padrão de serviço. Várias extensões desse modelo têm sido propostas para aumentar a sua aplicabilidade. Entre elas, existem modelos probabilísticos para localização-alocação de máxima cobertura com restrições no tempo de espera ou no comprimento da fila para sistemas congestionados, que levam em conta um ou vários servidores por facilidade. A proposta deste trabalho é a de resolver um modelo para um servidor por facilidade por meio da relaxação lagrangeana e do Algoritmo Genético Construtivo. Os resultados dos testes obtidos nessas abordagens são apresentados e comparados.

Palavras-chave: problemas de localização, máxima cobertura, relaxação lagrangeana, algoritmo genético construtivo.

ABSTRACT

The Maximal Covering Location Problem (MCLP) seeks to locate facilities in order to maximize the serviced population, considering a given distance or standard service time. Various extensions of this model have been proposed to enhance its applicability, e.g., probabilistic models for maximum location-allocation coverage with waiting time or queue length constraints for congested systems, taking into account one or more servers per service center. In this paper we present two procedures for solving a probabilistic model, which considers one server per center, using Lagrangian relaxation and the Constructive Genetic Algorithm. Extensive tests of these approaches are presented and their results compared.

Keywords: location problems, maximal coverage, lagrangian relaxation, constructive genetic algorithm.

1. Introdução

O Problema de Localização de Máxima Cobertura (MCLP) tem sido consideravelmente tratado na literatura desde a sua formulação feita por Church e ReVelle (1974). Esse problema busca obter a configuração para localizar facilidades que atenda o maior número de indivíduos de uma população, considerada uma dada distância ou um tempo padrão do ponto de demanda. Considerável revisão desse tema pode ser encontrada em Hale e Moberg (2003), Serra e Marianov (2004) e Galvão (2004). Não se busca com este modelo atender toda a população, mas oferecer o máximo de atendimento, considerando os recursos disponíveis. Vários modelos aplicados a uma grande faixa de problemas são extensões dessa formulação.

Em muitos trabalhos envolvendo problemas de localização, essa distância (ou tempo) entre pontos de demanda e facilidade à qual eles estão sendo alocados é o fator que representa a qualidade dos serviços que são prestados a usuários. Entretanto, quando se projeta uma rede de serviços, como sistemas de saúde, bancários ou de vendas de bilhetes distribuídos, a localização dos centros tem uma forte influência no congestionamento de cada um, e, conseqüentemente, a qualidade de serviços deve ser mais bem modelada e não considerar apenas a distância ou o tempo de deslocamento. Assim, deve-se cuidar para que sua localização permita aos usuários chegar ao centro em um tempo aceitável, e que o tempo de espera para atendimento seja o menor possível ou que a quantidade de pessoas na fila seja mínima, uma vez que esses são parâmetros importantes na medida da qualidade desejada (Marianov e Serra, 1998).

O congestionamento ocorre quando um centro não é capaz de atender, simultaneamente, a todas as solicitações de serviços que lhe são feitas. Os modelos tradicionais que tratam desse problema adicionam uma restrição de capacidade que força a demanda por serviço, normalmente constante no tempo e igual a uma média, a ser menor do que a máxima capacidade do centro. Essa abordagem não considera a natureza dinâmica do congestionamento e trata o problema de forma determinística. Isso faz com que o modelo, dependendo de como a restrição seja obtida, tenha servidores ociosos ou não tenha a capacidade de atender a todas as demandas (Marianov e Serra, 1998; 2001).

Marianov e Serra (1998) propuseram modelos baseados no fato de que o número de solicitações de serviços não é constante no tempo, mas um processo estocástico, cuja estocasticidade de demanda é explicitamente considerada no trato das restrições de capacidade, que, ao invés de serem limitadas a um máximo, têm um limite mínimo, definido pelos autores, para a qualidade dos seus serviços. Essa qualidade é refletida nos itens de tempo de espera ou quantidade de pessoas que aguardam por um atendimento.

Os modelos propostos por esses pesquisadores tratam de localizar certa quantidade de postos de saúde, com um ou vários servidores, de modo que a população, a uma distância padrão do centro, seja servida adequadamente, isto é, que ninguém fique na fila por um período maior que um dado tempo limite nem encontre um número de outros clientes acima do previsto, com uma probabilidade maior ou igual af, definida a priori. Foram considerados os sistemas de fila M/M/1 e M/M/m (Larson e Odoni, 1981), em que a taxa de chegada no centro j segue a distribuição de Poisson com taxa lj e o tempo de serviço no centro j é exponencialmente distribuído com taxa µj, para, respectivamente, um ou vários servidores.

O modelo de localização-alocação de máxima cobertura considerado neste artigo foi denominado por Marianov e Serra (1998) por "The Queueing Maximal Covering Location-Allocation Model (QM-CLAM)" e foi definido como:

"Localizar p centros e alocar usuários de forma a maximizar a população coberta, onde a cobertura é definida como: a população coberta é alocada a um centro dentro de um tempo ou distância padrão de sua residência (ponto de demanda) e se um usuário é coberto, na sua chegada ao centro, ele vai esperar em uma fila com no máximo b outras pessoas ou será atendido no tempo t, com probabilidade, no mínimo, af".

O propósito deste artigo é o de examinar o Problema de Localização-Alocação de Máxima Cobertura Probabilístico proposto por Marianov e Serra (1998), para um servidor por centro, e apresentar outras duas soluções: a primeira, por meio da relaxação Lagrangeana; e a segunda, usando o Algoritmo Genético Construtivo (AGC). A Seção 2 descreve os modelos originais propostos; a Seção 3 apresenta a solução usando a relaxação lagrangeana e AGC; a Seção 4 mostra os resultados computacionais; e a Seção 5, as conclusões.

2. Modelo QM-CLAM

O modelo tradicional de Maximum Covering Location Problem (MCLP), proposto por Church e ReVelle (1974), não pode ser usado para tratar as restrições de congestionamento, pois não contém variáveis de alocação, o que impede de computar as solicitações de serviços que chegam a um centro e, conseqüentemente, de determinar quando ocorre um congestionamento.

A modelagem matemática proposta para o QM-CLAM foi escrita como um problema tipo p-medianas (Lorena, 2003), modificado para comportar as variáveis de localização e alocação, tendo como objetivo maximizar a população coberta, considerando uma determinada quantidade de centros de atendimento. Formalmente, as alocações são representadas pelas variáveis binárias xij, tal que i e I e j e Ni, em que I é o conjunto dos pontos de demanda a serem alocados e Ni é o conjunto de localizações candidatas que estão dentro de uma distância padrão do nó i. [xij] é a matriz de alocações, com xij = 1, se o ponto de demanda i for alocado ao centro j, xij = 0, caso contrário. As localizações são representadas pelas variáveis binárias yj, com yj = 1, se o centro j for selecionado, j = 0, caso contrário. O parâmetro ai define a população total no ponto de demanda i. Todo ponto de demanda é um potencial centro de atendimento. O QM-CLAM possui a formulação descrita a seguir:

A função objetivo (1) maximiza a população alocada a um centro. As restrições (2) definem que somente é possível alocar um ponto de demanda i a um centro j se houver um centro em j. As restrições (3) impõem que cada ponto de demanda seja alocado a, no máximo, um centro. Usam-se as restrições (4) ou (4a) para, respectivamente, tratar de quantidade de pessoas na fila ou do tempo de espera. As primeiras, restrições (4), forçam para que cada centro tenha no máximo b pessoas na fila, com a probabilidade, no mínimo, af. As segundas, restrições (4a), determinam que o tempo gasto no centro j seja, no máximo, t, com a probabilidade, no mínimo, af. A restrição de cardinalidade (5) define a quantidade de centros a serem abertos. As restrições (6) definem as condições de integralidade.

Para escrever as restrições (4), considera-se o sistema de filas M/M/1 e que as solicitações de serviços de cada nó de demanda i acontecem de acordo com um processo de Poisson com taxa fi. A taxa lj atribuída a um centro é definida como uma superposição de processos de Poisson:

o que significa que, se a variável xij for 1, o nó i será alocado ao centro j e a sua correspondente taxa fi será incluída no cálculo de lj. O desenvolvimento de toda a formulação pode ser visto em Marianov e Serra (1998).

Assume-se também que o tempo de serviço tem uma distribuição exponencial, com taxa média µj, em que µj> lj, de forma a manter o equilíbrio do sistema.

O lado direito das Equações 4 e 4a são valores constantes, calculados para µj, af, b e t, definidos a priori, em que µj é a taxa média de serviço no centro j, b é a quantidade máxima de pessoas na fila, t é o tempo máximo de espera no centro j e af é a probabilidade de que sejam encontradas, no máximo, b pessoas na fila ou espera de, no máximo, um tempo t para ser atendido. Para efeito de simplificação, serão substituídos, respectivamente, por e por .

O problema QM-CLAM pertence à classe dos problemas NP-Completos (Pirkul e Schilling, 1991). Aplicativos comerciais podem resolver algumas pequenas instâncias desse problema. Entretanto, o tempo de computação se torna inviável para problemas de tamanhos razoáveis. Por isso, buscam-se soluções alternativas eficientes para formulações desse tipo. No próximo capítulo, duas abordagens são apresentadas: uma baseada na aplicação da relaxação lagrangeana com o algoritmo de otimização por subgradientes; e outra, por meio do Algoritmo Genético Construtivo.

3. Soluções propostas

3.1 Relaxação lagrangeana

A relaxação lagrangeana tem sido aplicada na solução de vários problemas de otimização combinatória, como: o do caixeiro viajante; os de localização, de recobrimento e particionamento de conjuntos; o generalizado de atribuição; e os de roteamento (Espejo e Galvão, 2002; Lorena e Senne, 2003). Essa relaxação é obtida multiplicando-se um conjunto de restrições por um vetor l de multiplicadores de Lagrange, adicionando-se o produto à função objetivo. O desenvolvimento dessa relaxação para o Problema de Localização de Máxima Cobertura pode ser visto em Daskin (1995). Para o problema (QM-CLAM), relaxando as restrições de alocação (3) no sentido lagrangeano e incorporando-as à função objetivo, tem-se:

Portanto, o problema LlQM-CLAM pode ser escrito:

Sujeito a (2), (5), (6) e (7) ou (7a).

As restrições (8) substituem as restrições (2) e (7), pois exigem que somente seja possível alocar um ponto de demanda i a um centro j se houver um centro em j, como fazem as restrições (2), além de imporem restrições de capacidade, como fazem as (7) (Murray e Gerrard, 1997). Do mesmo modo, as restrições (8a) substituem as restrições (2) e (7a).

O problema LlQM-CLAM pode ser decomposto em |I| subproblemas. Em cada um deles, a variável de localização yj pode ser igual a zero ou a um. Se for zero, todas as variáveis de alocação xij serão também zero e seus correspondentes valores na formulação tornam-se zero. Quando yj tem o valor um, os subproblemas tornam-se o problema da mochila 0-1 e podem ser resolvidos independentemente. Se forem tomados os p melhores resultados, a restrição de cardinalidade (5) estará sendo considerada implicitamente (Lorena e Senne, 2003; Pirkul e Schilling, 1991).

Assim, o problema original pode ser reescrito com um conjunto de subproblemas:

Cada problema é resolvido usando-se o código Horowitz e Sahni (Martello e Toth, 1990). Esse código ofereceu bons resultados, embora tenha sido desenvolvido para problemas inteiros de mochila.

Sendo J o conjunto dos p maiores v(Knapj), j Î I, o valor da relaxação lagrangeana é dado por:

A otimização do dual Lagrangeano é obtida por meio do algoritmo de subgradientes (Lorena e Senne, 2003; Pirkul e Schilling, 1991). Dado um vetor de multiplicadores (l)0, a seqüência de multiplicadores é obtida por:

em que xl é a solução ótima do problema LlQM-CLAM com multiplicadores (l)k e qk é um escalar positivo definido por:

em que v(QM-CLAM) é o melhor valor do limitante superior, lb é o melhor valor do limitante inferior (solução viável de QM-CLAM) e p é o parâmetro de controle definido por Held e Karp (1970). O valor de p inicial é 2 e é dividido à metade se o valor de v(QM-CLAM) não diminuir por 30 iterações sucessivas.

Os critérios de parada mais utilizados na literatura e aplicados na resolução dos problemas deste artigo são:

  • p

    < 0,0005;

  • v(QM-CLAM) - lb < 1;

  • ; e

  • Quantidade de iterações.

As soluções xl obtidas não são necessariamente viáveis, porém o conjunto J indica as facilidades que podem ser usadas para se obter soluções viáveis. Para alocar os pontos de demanda ao conjunto de facilidades identificadas, busca-se a solução aproximada para a seguinte variante do Problema de Atribuição Generalizado (GAP) com desigualdades nas restrições (15), sendo os operadores relacionais menor ou igual (LEGAP):

Essas soluções primais foram obtidas por meio do algoritmo MTHG de Martello e Toth (1990), adaptado para contemplar as desigualdades, pois, ao contrário do GAP, o LEGAP sempre admite solução viável, e foram melhoradas pelo algoritmo descrito em Pereira e Lorena (2001). Este último leva a obter aumentos no valor da função objetivo (nf), correspondentes a uma solução primal xf, substituindo-se uma facilidade por um vértice do mesmo cluster e recalculando-se o atendimento dos pontos de demanda após essa troca, pois a configuração de cobertura desses pontos pode ser modificada após essa substituição, como pode ser visto na Figura 1.


O algoritmo de melhoria de soluções primais é apresentado na Figura 2.


3.2 Algoritmo genético construtivo

O algoritmo genético foi concebido por Holland, em 1960, e aperfeiçoado nas décadas de 1960 e 1970, por ele próprio e por seus colegas da Universidade de Michigan. Vários refinamentos do método surgiram nas décadas seguintes. Alguns deles e informações básicas podem ser vistos em Goldberg (1989) e em Lacerda (1999).

O Algoritmo Genético Construtivo (AGC) (Furtado, 1998; Lorena e Furtado, 2001; Oliveira e Lorena, 2005) trabalha com uma população inicial composta por estruturas e esquemas. As estruturas referem-se a qualquer cadeia contendo ou não símbolo #; os esquemas fazem referência explícita a uma estrutura que contém o símbolo #, isto é, uma população de soluções candidatas parciais ou incompletas, que servirão de base para a construção de uma população com soluções melhores completas, ao longo do processo evolutivo. O símbolo # é chamado de curinga e representa um ponto ainda não definido para o problema. Neste artigo, esse símbolo receberá o valor 1, tornando-se uma facilidade, ou o valor 2, tornando-se um ponto de demanda que será atribuído a uma facilidade durante a evolução do processo. Desta forma, para os problemas discutidos neste artigo, um esquema pode ser representado por uma cadeia que apresenta três tipos de informações:

  • 1 : vértice que representa uma facilidade;

  • 2 : vértice que representa um ponto de demanda que é atribuído a uma facilidade; e

  • # : vértice curinga, que se tornará uma facilidade ou um ponto de demanda a ser atribuído a uma facilidade durante o processo evolutivo.

A Figura 3 mostra um exemplo de uma cadeia para um problema com 10 pontos e 2 centros.


O AGC possui os operadores tradicionais de seleção, cruzamento e mutação, e difere dos algoritmos tradicionais na forma de avaliar os esquemas (avaliação-fg), na possibilidade de usar heurísticas para definir a função de avaliação da aptidão dos indivíduos e no tratamento de uma população de tamanho variável (Oliveira, 2004).

A avaliação-fg trata de uma dupla avaliação de cada indivíduo SkÎ Pa, que é a população no instante de evolução a. O valor de f reflete a função objetivo, f: Pa®R+, e o valor de g é calculado a partir de uma heurística, g: PR+, tal que g(Sk) > f(Sk), para todo SkÎ Pa. A primeira, função f, avalia a qualidade do indivíduo que é representada pelo valor da função objetivo, calculado pela soma das demandas dos pontos alocados aos centros. A segunda, função g, aplica uma heurística para avaliar a vizinhança do indivíduo, atribuindo a melhor solucão encontrada ao valor de g. A heurística adotada usa a idéia discutida na melhoria das soluções primais, apresentada em 3.2, Figura 2. Essa melhoria é buscada realizando-se trocas aleatórias de um vértice que é ponto de demanda por um que é centro, redefinindo as alocações e recalculando o valor da função objetivo.

O indivíduo original não estará bem adaptado se a heurística encontrar uma solução melhor. Caso contrário, o indivíduo é o melhor dentro da vizinhança estabelecida pela heurística e deve participar o máximo possível do processo evolutivo. Essa dupla avaliação é aplicada da mesma forma para qualquer tipo de indivíduo Sk, assim como para esquemas e estruturas. Deve ser definido também um limite superior comum . A Figura 4 mostra uma possível avaliação de uma população Pa.


O AGC trabalha com uma população de tamanho variável, com a população inicial gerada aleatoriamente. A cada geração do processo evolutivo, novos indivíduos são criados, um para cada cruzamento entre dois indivíduos existentes, privilegiando os mais bem adaptados. Esses novos indivíduos podem sofrer mutação, dentro de uma probabilidade definida a priori.

Um problema a ser modelado em AGC deve ser tratado como um problema de otimização bi-objetivo (PBO):

Para qualquer problema de otimização, o PBO é formulado da mesma forma: maximizar a função objetivo e minimizar o intervalo (g-f). O processo evolutivo considera um limiar de rejeição adaptativo que contempla ambos os objetivos do PBO, que é calculado a partir de um ranking d atribuído a cada indivíduo da população, dado pela Equação 18, que é composta de:

  • Um componente referente à adaptação do indivíduo (

    g-f). Quanto menor essa diferença, mais adaptado está o indivíduo, ou seja, o indivíduo está próximo a um ótimo local determinado pela heurística de treinamento e deve permanecer o máximo de gerações no processo evolutivo;

  • Um componente que privilegia a maximização da função g, calculando a distância em termos de avaliação entre o indivíduo e o limitante superior G

    max (G

    max - g(S

    k)); e

  • Uma constante d Î [0, 1], que tem o papel de equilibrar os componentes da equação.

A população inicial, denominada P0, é formada apenas por esquemas. Considerando os problemas tratados neste artigo, para cada indivíduo, uma porcentagem das posições recebe aleatoriamente o valor 2 e exatamente p posições recebem o valor 1, definindo, assim, as p facilidades a serem abertas. As posições restantes recebem o valor #. Para os testes computacionais descritos na Seção 4, 20% das posições receberam o valor 2. A Figura 5 mostra um possível indivíduo da população inicial para um problema com quatro centros e trinta nós.


Os indivíduos são ordenados por valores decrescentes de d. O tamanho da população é controlado dinamicamente pelo limiar de rejeição a, que está relacionado com o instante de evolução e serve para eliminar os indivíduos mal adaptados (d(Sk) < a). O valor de a é calculado pela Equação 19, na qual d1 define o melhor valor de ranking; d|P|, o pior valor de ranking; e é uma constante que controla a velocidade de esvaziamento da população; |P| é o tamanho da população no instante a; RG representa o número de gerações restantes no processo evolutivo; e l é um valor que garante um passo mínimo nesse processo.

Considerando-se que os bons esquemas precisam ser preservados para serem recombinados, a é iniciado com o valor 0 (zero) e é lentamente incrementado, de geração em geração.

Desde que são criados, os esquemas e estruturas recebem os seus correspondentes valores de ranking (d), que são comparados com o parâmetro a. Todo indivíduo com d (Sk) < a é considerado mal adaptado e é eliminado da população. Conseqüentemente, os indivíduos com maiores d são os melhores em relação ao PBO, sobrevivem por mais gerações e se reproduzem mais. Com isso, a população no tempo de evolução a (Pa) possui tamanho dinâmico de acordo com o valor de a, conforme exemplo na Figura 6, podendo ser esvaziada durante o processo. Sempre o melhor indivíduo de cada geração é guardado e ao final do processo evolutivo a melhor solução encontrada é retornada.


O operador de seleção base-guia escolhe duas estruturas para o cruzamento. A primeira, denominada base (Sbase), é obtida dos 20% melhores indivíduos da população. A segunda, denominada guia (Sguia), é selecionada da população total. O operador de cruzamento compara essas duas estruturas em posições correspondentes, gerando uma nova estrutura filha (Snova), com a seguinte regra aplicada aos problemas tratados neste artigo, baseada em Furtado (1998):

• Sbase = # e Sguia = # então Snova = #

• Sbase = 1 e Sguia = 1 então Snova = 1

• Sbase = 2 e Sguia = 2 então Snova = 2

• Sbase = 1 e Sguia = # então Snova = 1

• Sbase = 2 e Sguia = # então Snova = 2

• Sbase = # e Sguia = 2 então Snova = 2

• Sbase = # ou 2 e Sguia = 1 então Snova = 1 ou 2, escolhido aleatoriamente

• Sbase = 1 e Sguia = 2 então Snova = 1 ou 2, escolhido aleatoriamente

Após a aplicação do operador de cruzamento, pode-se ter mais do que p valores 1 em Snova. Essa condição não é relaxada e uma validação da nova estrutura é feita para se garantir exatamente p facilidades, inserindo ou eliminando, aleatoriamente, valores 1 nessa nova estrutura.

O operador de mutação faz uma troca de um centro com um vizinho que não tem a sua demanda atendida por alguém. Isso aumenta a chance de todos os pontos de demanda serem centros. O algoritmo do operador de mutação é mostrado na Figura 7.


Verificar se existem pontos de demanda que não são atendidos

As restrições apresentadas na formulação do problema foram tratadas na avaliação da função objetivo ou na própria definição do indivíduo.

O algoritmo para o AGC pode ser resumido no pseudocódigo mostrado na Figura 8.


4. Experiência computacional

A heurística lagrangena e o AGC foram testados na rede de 30 vértices, fornecida em Marianov e Serra (1998), e em uma de 324 vértices, obtida de uma base de dados geográficos da cidade de São José dos Campos-SP, acrescida da população fictícia em cada ponto de demanda e que está disponível em http://www.lac.inpe.br/~lorena/instancias.html. Vários problemas foram montados, variando-se os parâmetros p, b, µ, af e t. Os resultados dessas duas abordagens foram comparados aos obtidos pelo uso do software comercial CPLEX 7.5 (ILOG, 2001). Os valores apresentados no artigo de Marianov e Serra (1998) foram obtidos por meio de uma heurística e pelo uso do mesmo software, porém na versão 3.0. A versão 7.5 do CPLEX mostrou melhores resultados para a mesma formulação matemática que os apresentados naquele artigo, para as duas soluções (heurística e CPLEX 3.0). Por isso, apenas os obtidos com a versão 7.5 foram considerados para comparar com os resultados obtidos com a heurística lagrangeana e o AGC neste trabalho.

Para a implementação do problema de máxima cobertura, os centros de serviços foram considerados postos de saúde, com um médico em cada centro. Cada ponto de demanda é um potencial centro de atendimento e as distâncias são euclidianas. Para os problemas com 30 pontos foram considerados: raio de cobertura igual a 1,5 milhas, tempo médio de atendimento (1/µ) igual a 20 minutos; taxa de chamada igual a 0,015 x população do ponto de demanda para as restrições do comprimento da fila e 0,006 x população do ponto de demanda para as restrições do tempo de espera na fila, todos definidos em Marianov e Serra (1998). Para os problemas com 324 pontos, considerou-se: raio de cobertura igual a 250 m, tempo de atendimento igual a 15 minutos; taxa de chamada igual a 0,01 x população do ponto de demanda, tanto para as restrições do comprimento da fila, como para as restrições do tempo de espera.

As Tabelas 2 e 3 mostram os resultados obtidos na avaliação da função objetivo por todos os métodos. Os valores de Gap Cplex e Gap Lag iguais a zero definem que o valor ótimo foi obtido para o respectivo método. Esses valores são calculados por: 100*(limite superior-limite inferior)/(limite inferior), e fornece, em porcentagem, o gap entre esses limitantes.

Os nomes dos problemas foram codificados do seguinte modo: quantidade de pontos, quantidade de centros, tipo de restrição (0 para a quantidade de pessoas na fila e 1 para o tempo de espera), quantidade de pessoas na fila ou tempo de espera, e probabilidade. Exemplo: 324_20_0_2_95, que significa 324 pontos, 20 centros, restrição para a uantidade de pessoas na fila, máximo de duas pessoas na fila com probabilidade, no mínimo, de 95%.

Os problemas com 324 pontos foram resolvidos em um computador Pentium IV 3GHz com 1GB RAM, e os de 30 pontos, em uma máquina Pentium III 800MHz com 384 MB RAM. Os programas para o acionamento do CPLEX e para a relaxação lagrangeana foram codificados em C++ e o AGC, em Object Pascal. O tempo para a obtenção das soluções do CPLEX foi limitado em 2 horas (7200s). As soluções encontradas para o AGC são uma média de 50 (cinqüenta) execuções. Os valores do campo "Desvio" refletem o erro relativo da solução média do AGC em relação à melhor solução primal encontrada e é calculada pela fórmula:

Portanto, os valores negativos do desvio indicam que a solução média do AGC foi melhor do que as demais. Os resultados do AGC foram obtidos usando-se os valores dos parâmetros mostrados na Tabela 1, ajustados após várias execuções do programa.

A Tabela 2 compara os métodos utilizados em 24 problemas em uma rede de 324 pontos. As colunas são divididas em quatro classes: o nome do problema; a solução do CPLEX; a solução da relaxação lagrangeana; e a do AGC. Na coluna referente ao CPLEX são fornecidos: a solução inteira viável e o gap obtidos do CPLEX, com o tempo de todos os problemas limitado em 7200s, exceto para os problemas marcados com um *, que define uma parada na execução por falta de memória. Na coluna referente à relaxação lagrangeana, são fornecidos os limitantes inferior (Lb) e superior (Ub) com o gap entre eles e o tempo de execução. Os resultados do AGC são apresentados com a melhor solução, o valor médio para cinqüenta execuções de cada problema e o desvio, calculado em (20). Para cada problema, o valor em negrito mostra a melhor solução encontrada. De modo geral, a relaxação lagrangeana apresentou melhores resultados do que o CPLEX em um tempo computacionalmente menor. O AGC forneceu melhores resultados em 23 problemas, 96% dos testes, em tempos bastante competitivos em relação às demais soluções. Em termos de valores médios, o AGC forneceu melhores resultados em 14 problemas, 58% dos testes.

A Tabela 3 compara os métodos utilizados para uma rede de 30 pontos em 55 problemas. As colunas também são divididas nas mesmas quatro classes, porém a primeira contém um item a mais, que mostra o tempo de execução do CPLEX, ainda limitado em 7200 s. Vários valores ótimos foram encontrados em todos os métodos. Em 37 casos, 67% dos problemas considerados, todos os métodos encontraram os mesmos valores para a solução. Por serem de pequeno porte, as melhores soluções e as soluções médias do AGC foram as mesmas para 73% dos problemas. Apesar de problemas pequenos, em 27 casos, 49% dos testes, o CPLEX não encontrou o valor ótimo no tempo limite estipulado. Dentre esses, em 17 casos, 31%, a relaxação lagrangeana encontrou o valor ótimo em poucos segundos. O AGC forneceu bons resultados em tempos bastante competitivos em relação às demais soluções. Para cada problema, o valor em negrito mostra a melhor solução.

5. Conclusão

Este trabalho apresentou uma comparação entre soluções para uma formulação encontrada na literatura para o Problema Probabilístico de Localização-Alocação de Máxima Cobertura. Os resultados obtidos mostram que as abordagens da relaxação lagrangeana e do AGC são competitivas para a resolução desse problema, em tempos computacionais razoáveis. Para várias instâncias de 30 nós, os valores ótimos foram encontrados. Portanto, esses resultados validam a aplicação dessas abordagens para o QM-CLAM.

Recebido em 22/7/2005

Aceito em 10/4/2006

  • CHURCH, R. L.; REVELLE, C. Maximal covering location problem. Papers of the Regional Sciece Association, v. 32, p. 101-118, 1974.
  • DASKIN, M. S. Network and discrete location: models, algorithms and applications New York, NY: John Wiley & Sons, Inc, 1995.
  • ESPEJO, L. G. A.; GALVÃO, R. D. O uso das relaxações Lagrangeana e Surrogate em problemas de programação inteira. Pesquisa Operacional, v. 22, n. 3, p. 387-402, 2002.
  • FURTADO, J. C. Algoritmos genéticos construtivos na otimização de problemas combinatoriais de agrupamentos 1998. 112 p. Tese (Doutorado em Computação Aplicada) - Instituto Nacional de Pesquisas Espaciais, São José dos Campos, 1998.
  • GALVÃO, R. D. Uncapacitated facility location problems: contributions. Pesquisa Operacional, v. 24, n. 1, p. 7-38, 2004.
  • GOLDBERG, D. E. Genetic algorithms in search, optimization and machine learning Reading, MA: Addison-Wesley, 1989.
  • HALE, T. S.; MOBERG, C. R. Location science research: a review. Annals of Operations Research, v. 123, n. 1?4, p. 21-35, 2003.
  • HELD, M.; KARP, R. M. The Traveling Salesman Problem and Minimum Spanning Trees. Operations Research, v. 18, n. 6, p. 1138-1162, 1970.
  • ILOG CPLEX 7.5 Reference Manual, 7.5 v. 610 p. Copyright by ILOG, France, 2001.
  • LACERDA, E. G. M; DE CARVALHO, A. C. P. L. F. Introdução aos algorítmos genéticos. In: CONGRESSO NACIONAL DA SOCIEDADE BRASILEIRA DE COMPUTAÇÃO, 19, 1999, Anais Rio de Janeiro: EntreLugar, v. 2, p. 51-126.
  • LARSON, R. C.; ODONI, A. R. Urban operations research Englewood Cliffs, N.J: Prentice Hall, 1981.
  • LORENA, L. A. N. Análise espacial de redes com aplicações em sistemas de informações geográficas. Revista Produção (on line), v. 3, n. 2, 2003.
  • LORENA, L. A. N.; FURTADO, J. C. Constructive genetic algorithm for clustering problems. Evolutionary Computation, v. 9, n. 3, p. 309-327, 2001.
  • LORENA, L.A.N.; SENNE, E. L. F. Local search heuristics for capacitaded p-median problems. Networks and Spatial Economics, v. 3, n. 4, p. 407-419, 2003.
  • MARIANOV, V.; SERRA, D. Probabilistic, maximal covering location-allocation models for congested systems. Journal of Regional Science, v. 38, n. 3, p. 401-424, 1998.
  • MARIANOV, V.; SERRA, D. Hierarchical location-allocation models for congested systems. European Journal of Operational Research, v. 135, n. 1, p. 195-208, 2001.
  • MARTELLO, S.; TOTH, P. Knapsack Problems - Algorithms and computer implementations Chichester, West Sussex: John Wiley & Sons Ltd, 1990.
  • MURRAY, A. L.; GERRARD, R. A. Capacitated service and regional constraints in location-allocation modeling. Location Science, v. 5, n. 2, p. 103-118, 1997.
  • OLIVEIRA, A. C. M. Algoritmos evolutivos híbridos com detecção de regiões promissoras em espaços de busca contínuos e discretos 2004. 202 p. Tese (Doutorado em Computação Aplicada) - Instituto Nacional de Pesquisas Espaciais, São José dos Campos, 2004.
  • OLIVEIRA, A. C. M. ; LORENA, L. A. N. Population Training Heuristics. In: EUROPEAN CONFERENCE ON EVOLUTIONARY COMPUTATION IN COMBINATORIAL OPTIMIZATION, 2005, LausANNE. Lecture Notes in Computer Science (LNCS). Berlin: Springer, 2005. v. 3448. p. 166-176
  • PEREIRA, M. A.; LORENA, L. A. N. A heurística Lagrangeana/Surrogate aplicada ao problema de localização de máxima cobertura. In: XXXIII SIMPÓSIO BRASILEIRO DE PESQUISA OPERACIONAL (SBPO), 2001, Campos do Jordão. Anais p. 1326-1337.
  • PIRKUL, H.; SCHILLING, D. A. The maximal covering location problem with capacities on total workload. Management Science, v. 37, n 2, p. 233-248, 1991.
  • SERRA, D.; MARIANOV, V. New trends in public facility location modeling Universitat Pompeu Fabra Economics and Business Working Paper, n° 755, 2004. Disponível em <http://www.econ.upf.edu/docs/papers/downloads/755.pdf>. Acesso em 16 Nov 2004.

Datas de Publicação

  • Publicação nesta coleção
    18 Set 2006
  • Data do Fascículo
    Maio 2006

Histórico

  • Aceito
    10 Abr 2006
  • Recebido
    22 Jul 2005
Universidade Federal de São Carlos Departamento de Engenharia de Produção , Caixa Postal 676 , 13.565-905 São Carlos SP Brazil, Tel.: +55 16 3351 8471 - São Carlos - SP - Brazil
E-mail: gp@dep.ufscar.br