ALGORITMO GENÉTICO PARA RESOLVER UM PROBLEMA DE LOCALIZAÇÃO COM RESTRIÇÕES
Jacqueline Magalhães Rangel Cortes
Universidade Estadual do Norte Fluminense (UENF) – CCT – LEPROD Av.Alberto Lamego, 2000 – Campos dos Goytacazes, RJ, Brasil – CEP: 28015-620
Geraldo Galdino de Paula Jr.
Universidade Estadual do Norte Fluminense (UENF) – CCT – LEPROD Av.Alberto Lamego, 2000 – Campos dos Goytacazes, RJ, Brasil – CEP: 28015-620
Resumo
Neste trabalho, a decisão de localizar atividades econômicas sujeito a um conjunto de restrições está sob a forma de um modelo multiobjetivo dinâmico. Os objetivos considerados no horizonte de planejamento são: minimizar os custos de instalação/operação da atividade econômica, minimizar o tempo de acesso/conexão/atendimento da atividade ao seu centro de consumo e maximizar obtenção dos benefícios agregados à localização que recebe uma atividade. As restrições limitam as associações entre as atividades instaladas e seus centros consumidores ao longo do horizonte de planejamento. O algoritmo proposto para resolver tal problema é um algoritmo genético que considera uma função escalarizante formada pela soma ponderada dos três objetivos como uma medida avaliação de desempenho das soluções. Este algoritmo também considera elitismo e operadores de penalização e correção das soluções inviáveis.
Palavras-chave: Algoritmo Genético, localização restrita, multiobjetivo dinâmico.
Abstract
In this work, the decision of locating economical activities is presented through a dynamic multiobjective models subject the a group of restrictions. The objectives considered in the horizon of planning: to minimize operations costs of the economical activity, to minimize the time of acces of the activity to your consumption center and to maximize the aggregated benefits of the activity receive location . The restrictions limit the associations between the installed activities and your customer centers along the planning horizon. A genetic algorithm is proposed to solve such problem, considering a function formed by the ponderated sum of the three objectives as a measure evaluation of performance of the solutions. In the algorithm proposed the subject of the elitism it is also considered incorporating penalty and correction operators of the unfeasible solutions.
Keywords: Genetic Algorithm, restrained location, dynamic multiobjective location.
1. Introdução
A análise locacional é um tema de pesquisa de interesse de pesquisadores de diversas áreas:
econômia, engenharia, geografia, logística, pesquisa operacional, marketing, matemática, planejamento, ciência regional, entre outros. Considera-se como atividade econômica a atividade socialmente organizada para produção de bens e serviços que apresenta resultado econômico. De forma geral, o planejamento locacional de atividades econômicas consiste em escolher um ou mais locais entre um conjunto de possíveis locais para a instalação destas atividades satisfazendo a um conjunto de restrições (por exemplo, restrições de atendimento de todos os clientes, de orçamento, de tempo, etc.) e considerando uma medida de avaliação das alternativas possíveis (por exemplo, menor custo, menor contaminação, maior satisfação, etc.).
Os problemas de decisão, em particular a de localização, envolvem muitos critérios, quantitativos e/ou qualitativos, que podem ser conflitantes por natureza, por exemplo, em alguns
momentos, minimizar custos totais e maximizar qualidade. Para lidar com este dilema são necessárias ferramentas de auxílio à decisão que considerem os fatores relevantes que afetam a decisão a ser tomada, como também o tradeoff entre eles (MELACHRINOUDIS & MIN, 2000). O problema de localização reflete, em essência, a influência exercida desses fatores locacionais sobre a distribuição da atividade econômica.
A importância dos fatores locacionais depende do tipo e do tamanho da atividade econômica, a abrangência considerada no estudo (macrolocalização ou microlocalização), o setor interessado na análise (público ou privado), o período de tempo considerado (presente ou futuro), entre outros.
Segundo Owen & Daskin (1998), os altos custos associados à aquisição de propriedades e construção de facilidades estratégicas fazem dos projetos de localização e relocalização um investimento de longo prazo. Desta forma, a natureza dos problemas de localização requer também que características dinâmicas sejam consideradas. As formulações dinâmicas focam a questão do tempo que está envolvido na localização ao longo de um horizonte.
Para auxiliar o planejamento da localização, neste trabalho é considerado um problema multiobjetivo dinâmico 0-1 (PMD-01). Contudo, a principal dificuldade para a resolução do PMD-01 é que este é da classe NP-árduo, desde que uma classe simplificada deste problema, o problema de localização considerado, é mostrada ser NP-árduo (GAREY & JOHSON, 1979). Assim, existe baixa possibilidade de existir algum algoritmo exato que resolva-o em tempo polinomial.
Os objetivos do PMD-01 podem ser estabelecidos a partir de fatores locacionais (MIN &
MELACHARINOUDIS, 1999). Tais fatores podem ser definidos como variáveis que influenciam a decisão locacional do empresário (MALECKI, 1997), podendo afetar a habilidade de um local em atrair e reter atividades econômicas (BLAIR, 1995). Uma lista destes fatores pode ser encontrada em Kowalska & Funck (2000), Rees & Stafford (1986) e Lee et al. (1981).
De acordo com Hoover & Giarratani (1999), o meio mais comum de se medir a importância relativa dos fatores locacionais é o método mais direto, através de consulta ao decisor. Podem ser utilizados questionários contendo uma lista de fatores que devem receber uma avaliação com relação à importância relativa através de adjetivos (“extremamente importante”, “não muito importante”, e assim por diante) ou por algum tipo de sistema de pontuação simples através de uma escala de preferências.
3. Algoritmos genéticos: uma revisão
Algoritmo Genético (AG) é um método heurístico de busca estocástica baseado no processo biológico de evolução. Sua utilização é adequada para resolver problemas complexos – tais como, otimização de funções numéricas em geral, otimização combinatória, aprendizado de máquina, processamento de imagem, robótica, etc – fornecendo soluções de boa qualidade em tempos computacionais aceitáveis a partir de fácil implementação em computadores (GOLDBERG, 1989).
O conceito de AG foi inicialmente tratado por Holland (1975), e popularizado por Goldberg (1989), tendo sido inspirado no princípio de Seleção Natural de Darwin – uma das maiores contribuições à teoria da evolução. Darwin considera que as espécies evoluem pelo princípio da seleção natural e sobrevivência do mais apto.
Os AGs trabalham paralelamente com um conjunto de soluções potenciais disponíveis chamadas de população (population). Normalmente, os AGs criam aleatoriamente sua população inicial. Uma outra forma de obter tais soluções é através de algum processo heurístico.
Cada indivíduo da população, chamado de cromossomo (chromosome ou string), representa uma solução para o problema. Esta representação é feita através de codificação e dependerá da classe do problema que se deseja resolver. Atualmente, existem três tipos de representações possíveis para os cromossomos: binária, inteira ou real.
O cromossomo, que é uma cadeia de símbolos (string de bits), evolui através de sucessivas iterações, chamadas gerações (generation). Os cromossomos são avaliados durante cada geração usando-se algumas medidas de aptidão (fitness) para dar uma nota que deverá refletir a habilidade de adaptação do cromossomo ao ambiente. Essa aptidão pode ser representada de diversas maneiras, entre outras, pode ser igual ao valor da função objetivo, pode ser o resultado do escalonamento da função objetivo ou pode pode ser baseado no ranqueamento do indivíduo na população.
Para criar geração seguinte, novos cromossomos, chamados de descendentes (offspring), são formados por meio de operadores genéticos: seleção (selection), cruzamento (crossover) e mutação
(mutation).
Seleção é o processo de escolha dos melhores indivíduos da população a partir das medidas de aptidão. Os membros selecionados serão utilizados para a reprodução. Desta forma, os indivíduos com maior aptidão têm maiores chances de se reproduzirem. Após várias gerações, a melhor solução converge, e espera-se que seja a solução ótima ou sub-ótima para o problema (REEVES, 1997;
GOLDBERG, 1989).
Cruzamento é o operador de combinação dos genes da geração atual que possuem as características dos cromossomos pais, possibilitando que as gerações seguintes herdem essas características. No entanto, Não se tem a garantia de que os descendentes apresentem viabilidade. O processo consiste em dividir aleatoriamente os cromossomos em um ou muitos pontos de cruzamento, produzindo a troca de material genético entre segmentos dos cromossomos pais. Uma outra forma de cruzamento é a uniforme, que não utiliza pontos de cruzamentos, mas determina, através de um parâmetro global, qual é a probabilidade de cada variável ser trocada entre os pais. O operador cruzamento é aplicado com uma probabilidade dada pela taxa de cruzamento Pc.
Mutação é o operador responsável pela modificação arbitrária de um ou mais genes do indivíduo escolhido, introduzindo ou mantendo a diversidade genética da população, visto que permite que o algoritmo manipule uma outra solução do espaço de soluções. É aplicado com uma probabilidade dada pela taxa de cruzamento Pm.
Um outro operador genético é o Elitismo, que é uma variação do operador de seleção.
Geralmente, os AG’s guardam o mesmo número de melhores indivíduos de cada geração para que não sejam destruídos pelos operadores de Cruzamento e Mutação, ou perdidos se não forem selecionados para reproduzir. O objetivo é a preservação das melhores soluções e é uma versão artificial da seleção natural.
Apesar da simplicidade, os AGs são suficientemente complexos para fornecer mecanismos de busca adaptativo poderosos e robustos que não são sensíveis a erros de arredondamento. Contudo, o resultado do uso dos AGs dependerá da codificação, da medida de aptidão, e de parâmetros tais como tamanho da população, número máximo de gerações, probabilidade de ocorrência de cruzamento e probabilidadede ocorrência de mutação.
Os AGs trabalham muito bem para problemas de otimização irrestrito. No entanto, quando o problema é restrito, caso do problema de localização considerado neste trabalho, os operadores originais de busca do AG não garantem o fornecimento de soluções viáveis. Estudos sobre o desenvolvimento e uso de AGs para a resolução de problemas desta classe são recentes.
De acordo com Lenive (1997), a resolução de problemas com restrições limita o uso dos AGs em sua forma original, principalmente pelo fato de não existir a garantia de que a viabilidade será mantida após o cruzamento ou mutação, como também quando a população inicial é gerada. O problema principal é tratar as soluções inviáveis. O tratamento das restrições é recente e proporciona uma ampla área de pesquisa a ser desenvolvida.
Alguns procedimentos podem ser adotados para tratar dos problemas com restrições. Segundo Reeves (1997), podem ser utilizados as seguintes abordagens: técnicas de penalização, reparação de soluções inviáveis, tratamento por múltiplos objetivos, operadores modificados e modificação da formulação do problema.
As técnicas de penalização penalizam a função objetivo em caso de solução inviável.
Entretanto, esta tentativa geralmente falha. Isto porque, se a penalidade for muito suave, muitas soluções inviáveis são permitidas na propagação, por outro lado, se a penalidade for muito severa, o cromossomo não participa mais do processo de evolução, ou seja, a busca ficará confinada ao interior do espaço de busca, longe dos extremos da região viável.
A reparação de soluções inviáveis aceita uma solução inviável, mas a corrige antes de devolvê-la à população. Alguma justificativa biológica é freqüentemente usada para sustentar esta abordagem. Seguindo esta linha, a solução inviável poderia ser tratada como um cromossomo imaturo.
Embora inicialmente demonstrado inadequado para sua finalidade, no entanto, pode ao longo do tempo levar a uma solução razoável.
O tratamento multiobjetivo das restrições sugere que seja usada a inviabilidade como um objetivo adicional ao problema, e, assim, evita-se a introdução de penalidades. A modificação de operadores também pode ser utilizada para tratamento das restrições e, assim, torná-los apropriado para resolver o problema.Uma outra abordagem é a modificação da formulação do problema para o
tratamento dos problemas restritos.
4. Formulação do problema
O modelo de planejamento de localização desenvolvido neste trabalho considera que a localização da atividade econômica é realizada em nível macrogeográfico e que, uma vez instalada, a atividade não poderá mudar de local durante o horizonte de tempo em estudo. Considera-se, também, que as condições futuras são as mais prováveis de ocorrer.
Assume-se que o problema pode alocar n atividades econômicas no conjunto I = {1, 2, ..., n}
de possíveis localizações para a instalação das atividades econômicas ao longo de um horizonte de planejamento T = {1, 2, ..., tf}. Cada localização deve alocar apenas uma atividade econômica.
Considera-se que m centros consumidores devem associados às atividades instaladas, então, seja J = {1, 2, ..., m} o conjunto dos centros consumidores.
As variáveis de decisão do modelo são:
ijt
x = 1, se o centro consumidor j∈J for associado à atividade instalada na localização i∈I no período t∈T, ou 0, caso contrário;
it
y = 1, se a atividade for instalada na localização i∈I no período t∈T, ou 0, caso contrário.
Os seguintes parâmetros definem o modelo multiobjetivo:
t
fi é o custo de instalação e/ou operação de uma atividade na localização i∈I no período t∈T;
t
qi é o benefício agregado à localização i∈I no período t∈T;
t
qij é o benefício agregado ao acesso/conexão/atendimento entre a atividade instalada na localização i∈I e o centro consumidor j∈J no período t∈T;
t
dij é o tempo de acesso/conexão/atendimento médio entre a atividade instalada na localização i∈I e o centro consumidor j∈J no período t∈T;
R é o orçamento disponível;
b é a capacidade de associação da atividade.
O considerado problema multiobjetivo de localização de atividades econômicas é formulado como o seguinte problema multiobjetivo dinâmico 0-1 (PMD-01):
Min [ Z1(y), Z2(x), - Z3(x,y)]
s.a.
∑∑
∈I ∈
i t T
t i t i y
f ≤ R (1)
∑
i∈I txij = 1 ∀ j∈J, ∀ t∈T (2)
∑
j∈J tfij ≤ byit ∀ i∈I, ∀ t∈T (3)
∑
j∈J tfij ≥ yit ∀ i∈I, ∀ t∈T (4)
t
yi ≤ yit+1 ∀ i∈I, ∀ t∈T\tf (5)
t
xij ∈ {0,1} ∀ i∈I, ∀ j∈J, ∀ t∈T (6)
t
yi ∈ {0,1} ∀ i∈I, ∀ t∈T (7) onde
Z1(y) =
∑∑
∈I ∈
i t T
t i t i y f Z2(x) = ijt
I i j Jt T
t ijx
∑∑∑
d∈ ∈ ∈
Z3(x,y) =
∑∑∑ ∑∑
∈ ∈
∈ ∈ ∈
+
I i
t i T t
t i I
i
t ij J
j t T
t
ijx q y
q
As restrições informam que: os gastos em todos os períodos não devem ultrapassar o orçamento disponível (1); cada centro consumidor, em cada período, deve ser associado, e a apenas uma atividade econômica (2); em cada período, se nenhuma atividade for instalada na localização i, então nenhum centro consumidor pode ser associado a esta localização, e, no caso de uma atividade ser instalada, o número de centros consumidores associados a ela não deve ser superior à sua capacidade (3); em cada período, se uma atividade for instalada na localização i, então esta atividade deverá atender a pelo menos um centro comsumidor (4); e, a atividade que for instalada na localização i não poderá ser removida durante o horizonte de tempo considerado (5). Os objetivos no horizonte de planejamento são: minimizar os custos de instalação/operação da atividade [Z1(y)], minimizar o tempo de acesso/conexão/ atendimento da atividade ao seu centro de consumo [Z2(x)] e maximizar obtenção dos benefícios agregados à localização [- Z3(x,y)].
A última função objetivo, a de benefícios, é uma função resultante do julgamento realizado de cada potencial localização. Deve ser dada uma classificação de 1 a 5, sendo a nota 1 para o caso do local possuir um conjunto de vantagens e beneficios de importância muito baixa de acordo com o julgamento de decisores e a nota 5 para o caso do local possuir um conjunto de vantagens e beneficios de importância muito alta para os mesmos decisores.
A solução deste modelo informará as localizações mais apropriadas para a instalação das atividades econômicas e as associações entre centros consumidores e atividades instaladas a serem realizadas ao longo do horizonte de planejamento.
5. O algoritmo genético proposto
O algoritmo genético proposto para resolver o modelo multiobjetivo proposto (PMD-01) considera os elementos descritos a seguir:
5.1. Parâmetros do algoritmo
Os parâmetros genéticos sonsiderados são a tamanho da população, o número máximo de gerações, a taxa de cruzamento e a taxa de mutação.
5.2. Codificação do cromossomo
Devido ao problema considerado possuir variáveis do tipo 0-1, optou-se pela codificação binária para os cromossomos. Cada componente do cromossomo corresponde a uma variável da solução 0-1 e respeita a seguinte seqüência do cromossomo k: Xk = ( xijt yit ) i∈I, ∀ j∈J,
∀ t∈T
Xk = [ ( x111 x121 ... x1m1) ( x211 x221 ... x2m1) ... ( xn11 xn21 ... xn m1) ( x112 x122 ... x1m2) ( x212 x222 ... x2m2) ... ( xn12 xn22 ... xn m2) ... ( x11tf x12tf ... x1m tf) ( x21 tf x22 tf ... x2m tf) ... ( xn1 tf xn2 tf ... xn m tf) ( y11 y21 ... yn1) ( y12 y22 ... yn2) ... ( y1 tf y2 tf ... yn tf) ]
A quantidade de genes que cada cromossomo possui, ou seja, a quantidade de variáveis de cada solução, é chamada de lchrom e é definido por n m tf + n tf.
Uma representação de seqüenciamento de variáveis de um cromossomo é mostrada a seguir para o caso de n = 3, m = 4 e t = 2. Nesta situação, cada cromossomo será constituído por 30 genes/variáveis.
X = [ x111 x121 x131 x141 x211 x221 x231 x241 x311 x321 x331 x341
x112 x122 x132 x142 x212 x222 x232 x242 x312 x322 x332 x341
y11 y21 y31 y12 y22 y32] 5.3. Inicialização
A geração da população inicial de npop indivíduos é feita de forma parcialmente aleatória dentro do espaço de soluções viáveis para agilizar a geração, o que representa um processo geração orientada para o caso particular do modelo considerado. Os parâmetros do problema multiobjetivo dinâmico 0-1, também são gerados aleatoriamente. A princípio, cada atividade instalada possui capacidade para atender a todos os centros consumidores.
5.4. Avaliação
Um problema auxiliar monobjetivo é construído baseado no problema original (PMD-01) já normalizada. Uma função escalarizante, montada pela soma ponderada dos três objetivo é considerada para a medida de desempenho (aptidão) das soluções. O melhor desempenho s é o da solução que possuir o menor valor da função escalarizante.
Função Mono = λ1 Z1(y) + λ2 Z2(x) - λ3 Z3(x,y) , onde λv é o peso da função objetivo v = 1, 2,3.
5.5. Elitismo
A elite é composta por indíviduos com as melhores aptidões. Inicialmente a elite apresentará os mesmos elementos da geração inicial. A cada geração, esta elite será atualizada com novos indivíduos presentes na população da geração em questão. Escolhe-se novos indivíduos para integrar a elite da próxima geração, caso os indivíduos presentes na população possuam aptidões melhores que as aptidões da elite atual.
5.6. Seleção
È consideada a seleção estocástica por torneio para escolher os cromossomos que formam descendentes. Neste critério, sorteia-se dois indivíduos da população e então é realizado um torneio entre eles. Vence aquele indivíduo que possuir maior aptidão, o que é representado pelo menor valor da função objetivo escalarizante.
5.7. Cruzamento
O cruzamento considerado é o de um ponto.
5.8. Mutação
Cada elemento do cromossomo é considerado e poderá sofrer uma mutação a uma determinada probabilidade. Em caso de mutação, haverá a troca de seu valor de 0 para 1 ou de 1 para 0.
5.9. Correção e penalização
Uma vez os cromossomos descendentes tenham sido gerados, é feita uma verificação de sua viabilidade. De certa forma, este operador representa um tipo de mutação nos cromossomos filhos. A correção é realizada primeiro nas variáveis do tipo xijt e, em seguida, nas variáveis do tipo yit. Inicialmente, verifica-se a viabilidade da restrição (2). Quando houver inviabilidade por esta restrição em algum período de tempo, o centro consumidor está associado a nenhuma ou mais de uma atividade econômica, nesta situação escolhe-se aleatoriamente alguma localização para instalar a atividade. Faz- se novo ajuste para que o número de associações em cada período seja exatamente igual ao número de centros consumidores. Por fim, as variáveis do tipo y são modificadas de acordo com os valores das variáveis do tipo x. Em caso de violação das restrições (3) e (4), realiza-se uma modificação na estrutura do cromossomo a fim de que tais restrições sejam satisfeitas. Para a inviabilidade pelas restrições (1) ou (5), penaliza-se a função de avaliação com um alto valor. Como o operador de penalização não corrige a inviabilidade das soluções, apenas as penaliza, indivíduos inviáveis poderão permanecer na população, ser selecionados e gerar descendentes. No entanto, uma solução inviável não poderá pertencer a um conjunto das melhores soluções, como será apresentado na próxima seção.
Depois de realizar a penalização, podem-se ter duas novas situações no momento da seleção por torneio de dois.
1) Se um indivíduo é viável e o outro inviável, ganha aquele que é viável, pois a função de avaliação do indivíduo inviável já está penalizada, sendo, portanto, um valor muito grande;
2) Se os dois indivíduos são inviáveis, ganha aquele que possuir o menor número de restrições não respeitadas, pois sua função de avaliação é a menos penalizada. Em caso de empate, a escolha é feita aleatoriamente entre os dois.
5.10. Não-dominância
Após a finalização do processo evolutivo, os indivíduos não repetidos presentes na elite
passam por uma avaliação de não-dominância.
5.11. Critério de término
O algoritmo é finalizado depois de se alcançar o número máximo de gerações.
5.12. O Algoritmo
Os seguintes passos descrevem o Algoritmo Genético de Correção e Penalização (AGCP) proposto:
Passo 0: Leitura dos parâmetros.
Passo 1: Inicialização (geração) da população viável inicial.
Passo 2: Inicialização da elite.
Passo 3: Cálculo da aptidão da população gerada e da elite.
Passo 4: Ordenação da população gerada e da elite.
Passo 5: Geração := 0.
Passo 6: Geração := geração + 1.
Passo 7: Seleção.
Passo 8: Cruzamento e Mutação.
Passo 9: Correção, em caso de inviabilidade das restrições do tipo 2, 3 e 4.
Passo 10: Cálculo da aptidão da população gerada.
Passo 11: Penalização, em caso de inviabilidade das restrições do tipo 1 e 5.
Passo 12: Ordena nova população gerada.
Passo 13: Atualiza elite.
Passo 14: Ordena elite.
Passo 15: Se geração > (número máximo de gerações), então Continue. Caso contrário, Retorne ao passo 6.
Passo 17: Avalia não-dominância da elite.
Passo 18: Se elite não-dominada for satisfatória, então Pare. Caso contrário, Leitura dos novos λ’s; e Retorne ao passo 3.
6. Experimentos computacionais
A implementação do AGCP foi realizada em Delphi 5.0 e os testes computacionais foram executados em microprocessador Pentium 933 MHz, com 512 MB de RAM.
Para efeito de testes computacionais, os parâmetros do modelo multiobjetivo dinâmico 0-1 foram gerados aleatoriamente, sendo distribuídos dentro dos limites dados abaixo e considerou-se um orçamento disponível R de 75% do somatório de todos os coeficientes de custo gerados.
fit = [0, ..., 10], dijt = [0, ..., 10]
qit = [1, …, - 10] e qijt = [1, ..., - 10] (forma de minimização)
Três problemas teste de dimensões diferentes foram gerados aleatoriamente, P1, P2 e P3. As dimensões de tais problemas são apresentadas no quadro abaixo:
Quadro 1 Dimensões dos problemas teste
Problema n m tf No. de restrições No. de variáveis lchrom
P1 3 4 2 26 30
P2 5 5 3 56 90
P3 10 10 5 191 550
Considerou-se os seguintes valores como constantes para todas as instâncias:
λ1= 0 6, , λ2= 0 1, , λ3= 0 3, , representando a importância dos fatores do ponto de vista de uma empresa privada;
pm = 0,001, a probabilidade de mutação é um valor pequeno, visto que a necessidade de introdução ou manutenção da diversidade genética da população já é suprida pelo operador de correção.
Cada uma das combinações dos parâmetros genéticos (npop, maxgen e pc) apresentas no quadro acima foi rodada cinco vezes para o mesmo tipo de problema teste, em cada uma dessas vezes foi gerada uma população inicial diferente.
O AGCP foi comparado com um algoritmo genético que incorpora apenas os operadores genéticos tradicionais, que neste trabalho é chamado de Algoritmo Genético Tradicional (AGT). Para efeito de comparação uma mesma população inicial é utilizada por AGCP e AGT.
O AGT preserva a estrutura básica do AGCP além de também trabalhar com uma elite viável de comprimento lchrom, porém não realiza nenhum tipo de tratamento das soluções inviáveis. No entanto, para que haja a atualização da elite, é necessário realizar o teste de viabilidade das soluções geradas antes de compará-las com as soluções da elite em cada geração.
Quadro 2 Combinações de parâmetros genéticos utilizados Problemas Tamanho da
população npop
No. máximo de gerações
maxgen
Probabilidade de cruzamento pc P1
P2 P3
50 50
1 0,8 0,5 P1
P2 P3
100 50
1 0,8 0,5
P3 200 50 1 P3 400 50 1 P1
P2 P3
50 100
1 0,8 0,5 P1
P2 P3
100 100
1 0,8 0,5
P3 200 100 1 P3 400 100 1 P1
P2 P3
50 200
1 0,8 0,5 P1
P2 P3
100 200
1 0,8 0,5
P3 200 200 1 P3 400 200 1 P3 50 400 1 P3 100 400 1 P3 200 400 1 P3 400 400 1 Os resultados apresentados nesta seção são referentes às médias obtidas nas cinco rodadas de cada combinação, exceto os valores ↑Ze e ↓Ze que se referem, respectivamente, ao maior valor e ao menor valor de Ze x y( , ) obtido nas cinco rodadas. O termo ND significa o número truncado da média de soluções não dominadas na elite, t(s) é o tempo médio, em segundos, gasto nas gerações, Ze é a média dos Ze x y( , )obtidos nas cinco rodadas, ↓Ze é a média dos ↓Zeobtidos.
Problema P1
Tabela 1 Resultados de P1 para pc = 1
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 37 9 13,7 5,0 -0,2 -0,16 21 12 14 6,92 -0,2 -0,04 100 50 54 18 13,6 5,46 -0,2 -0,16 44 21 14,6 6,65 -0,2 -0,08 50 100 30 18 12,8 4,92 -0,2 -0,12 20 23 12,8 5,03 -0,2 -0,04 100 100 65 36 14,2 5,31 -0,2 -0,16 59 48 14,8 6,37 -0,2 -0,04 50 200 34 37 12,5 4,7 -0,2 -0,16 26 48 12,5 5,70 -0,2 -0,04 100 200 73 71 13,5 5,8 -0,2 -0,16 49 96 13,5 6,01 -0,2 -0,08
Tabela 2 Resultados de P1 para pc = 0,8
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 19 9 12,2 5,02 -0,2 -0,12 14 10 12,2 5,82 -0,2 -0,04 100 50 77 18 15,4 5,65 -0,2 0,2 78 23 15,4 6,1 -0,2 -0,02 50 100 35 19 13,4 4,67 -0,2 -0,16 14 25 13,4 5,72 ≅ 0 ≅ 0 100 100 73 34 12,9 5,81 -0,2 -0,16 41 47 12,9 6,18 -0,2 -0,08 50 200 33 36 12,1 5,33 -0,2 -0,16 25 49 12,9 5,7 -0,2 -0,08 100 200 75 74 13,5 5,64 -0,2 -0,2 48 97 13,5 6,27 -0,2 -0,12
Tabela 3 Resultados de P1 para pc = 0,5
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 24 9 12,6 5,17 -0,2 -0,08 22 12 12,6 5,69 ≅ 0 ≅ 0 100 50 58 15 13,4 5,79 -0,2 -0,12 57 25 13,6 6,3 -0,2 -0,8
50 100 31 18 13,3 5,2 -0,2 -0,12 30 25 13,4 5,69 -0,2 -0,12 100 100 77 36 13,4 5,66 -0,2 -0,12 76 49 14,4 6,39 -0,2 -0,12 50 200 20 36 14,8 5,74 ≅ 0 ≅ 0 20 50 14,8 6,4 ≅ 0 0,22 100 200 69 72 14,8 6,5 -0,2 -0,16 66 93 14,8 7,02 -0,2 -0,12
Problema P2
Tabela 4 Resultados de P2 para pc = 1
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 32 10 11 3,14 -5,8 -3,9 28 13 27,2 11,38 -5,8 -2,64 100 50 47 19 23,1 2,58 -8,9 -5,28 52 26 30,5 11,32 -8,5 -3,5
50 100 27 19 15,2 5,12 -5, -4,3 32 26 28,7 12,75 -2,4 -1,28 100 100 71 38 11 2,26 -6,2 -4,2 80 52 27,7 12,11 -6,2 -2,52 50 200 30 38 10,6 1,57 -5,6 -4,66 37 53 27,5 13,56 -4,5 -2,54 100 200 58 76 12,5 2,2 -6,2 -5,02 69 104 28,2 11,81 -2,6 -2,0
Tabela 5 Resultados de P2 para pc = 0,8
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 32 10 17 6,06 -8,9 -5,06 40 13 25,1 12,00 -3,7 -1,28 100 50 60 19 20 4,00 -8,3 -5,50 73 27 30,3 11,21 -4,4 -3,68 50 100 31 20 17,3 3,08 -8,9 -6,22 32 28 33,7 11,67 -7,7 -4,96 100 100 62 39 20 2,64 -8,3 -6,54 64 54 27,9 11,31 -6,1 -4,0
50 200 29 40 19,6 2,79 -8,3 -4,94 33 54 31,4 10,41 -3,9 -1,18 100 200 50 78 22,9 4,64 -8,9 -6,26 67 108 27,4 10,69 -8,9 -5,9
Tabela 6 Resultados de P2 para pc = 0,5
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 37 10 28,8 5,09 -6,8 -5,34 40 14 31,3 11,09 -6,8 -3,44 100 50 74 19 23,4 4,91 -8,9 -6,54 64 27 28,2 11,06 -8,9 -4,98 50 100 32 20 25,3 4,76 -8,9 -5,62 28 27 25,8 9,52 -8,9 -4,42 100 100 59 39 33,3 6,00 -8,9 -6,48 57 54 29,6 11,0 -8,9 -5,2
50 200 41 40 60,1 9,92 -5,8 -3,82 41 54 91,1 18,01 -4 2,08 100 200 63 79 22,0 5,35 -8,9 -5,86 61 108 30,8 1,77 -4,8 -3,92
Problema P3
Tabela 7 Resultados de P3 para pc = 1
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 36 13 71,2 34,74 -10,9 1,08 39 18 83,9 44,97 -7,49 6,96 100 50 72 26 68,8 28,98 -3,50 0,94 75 35 88,3 41,82 4,9 8,42 200 50 110 55 60,3 19,86 -5,10 -1,12 95 76 100,7 40,09 -4,8 0,12 400 50 160 106 71,1 17,94 -17,9 -12,7 189 141 108,0 42,53 -17,9 -
10,34 50 100 21 26 59,4 10,4 -2,3 1,22 17 35 84,5 44,17 0,99 8,2 100 100 76 56 49,5 9,55 -27,7 -8,32 53 72 96,9 37,82 -4,5 1,52 200 100 143 111 60,3 16,92 -12,6 -6,04 100 151 91,5 38,51 -5,7 -1,58 400 100 257 210 53,0 6,36 -16,3 -13,72 180 233 93,6 43,26 -14,9 -7,84
50 200 34 57 85,2 33,23 -8,9 3,8 30 61 92,5 34,0 3 8,4 100 200 83 111 60,7 22,26 5,8 1,92 75 145 91,2 42,42 -2,2 7,22 200 200 114 244 68,8 21,06 -8,2 -3,86 104 303 101,4 4,11 -8,2 3,16 400 200 272 414 91,5 4,04 -12,2 -5,82 207 568 94,5 44,34 -4,7 -1,08
50 100 200 400
400 400 400 400
31 47 155 304
107 214 431 864
74 77,8 67,9 34,0
29,95 28,22 14,6 14,19
0,09 -8,6 -11,5 -27,9
3,30 -1,28 -6,84 -7,44
35 49 73 240
144 285 598 1154
83,5 102,2
94,8 97,5
38,56 38,06 35,25 43,07
5,4 -1,2 -6,3 -5,6
8,62 3,56 -2,56 -1,66 Tabela 8 Resultados de P3 para pc = 0,8
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 32 14 64,4 38,44 5,2 12,50 32 19 97,3 43,07 5,2 12,50 100 50 61 26 76,9 20,69 -8,8 -2,22 51 35 98,4 45,37 -8,8 2,94
50 100 38 27 75,7 34,28 -3,0 5,94 31 37 86,5 45,60 1,5 9,18 100 100 90 54 68,4 30,04 -9,9 3,68 51 74 108,1 43,04 -2,5 8,26 50 200 20 53 73,3 28,41 -2,0 3,82 23 72 84,2 42,30 -0,3 4,86 100 200 52 103 66,4 66,73 -7,0 1,34 45 140 90,8 46,43 -6,2 5,28
Tabela 9 Resultados de P3 para pc = 0,5
AGPC AGT
npop maxgen ND T(S) ↑Ze Ze ↓Ze ↓Ze ND T(S) ↑Ze Ze ↓Ze ↓Ze 50 50 36 13 70,3 33,79 -5,89 1,02 28 17 84,6 70,06 2,1 7,54 100 50 61 27 81,3 32,16 -4,2 0,54 68 36 95,4 44,65 -2,7 2,32 50 100 36 27 72,7 34,67 -14,1 -3,08 21 37 90,4 39,42 -7,3 3,32 100 100 51 53 80,7 31,54 -1,4 4,88 43 72 96,5 40,26 -1,4 6,58 50 200 30 55 77,2 28,86 -6,9 -1,4 21 77 88,6 37,52 -1,89 1,64 100 200 68 103 83,1 35,94 -2,4 4,16 66 140 92,9 43,56 3,6 7,0
A partir dos resultados observa-se que:
O AGCP forneceu soluções com os menores de valores de ↓Ze , e geralmente os menores valores de Ze;
Os tempos de geração dos AGCP se mostraram inferiores aos do AGT;
Mantendo-se fixos npop e pc, ao se dobrar a quantidade de gerações (maxgen), o tempo aproximadamente dobra.
Para P1, o AGCP geralmente forneceu uma quantidade maior de soluções não-dominadas do que o AGT. Para P2 e P3, o AGT freqüentemente fornece as maiores quantidades de tais soluções.
O pior desempenho do AGCP nos 3 problemas é observado quando pc = 0,5, o que é evidenciado por valores Ze maiores do que os obtidos com as outras probabilidades.
O desempenho do AGCP em P1 e P2 foi melhor com pc = 1 e pc = 0,8, o que é evidenciado por menores valores de Ze, ↓Ze e ↓Ze; e em P3 quando pc = 1;
O AGCP geralmente tem desempenho pior ou igual ao AGT quando se trabalha com a população pequena (npop = 50).
7. Conclusão
Neste trabalho considerou-se o problema multiobjetivo dinâmico de localização de atividades econômicas considerando um conjunto de restrições. A abordagem multiobjetivo relaciona fatores locacionais quantitativos e qualitativos aos objetivos do problema, a saber, minimizar os custos de instalação/operação da atividade, minimizar o tempo de acesso/conexão/atendimento da atividade ao seu centro de consumo e maximizar obtenção dos benefícios agregados à localização. Foi apresentado um algoritmo genético que considera uma função escalarizante relacionada a um problema auxiliar monobjetivo. Esta função foi construída pela soma ponderada dos três objetivos para ser uma medida de desempenho das soluções. Considerou-se também elitismo e operações de correção e penalização das soluções inviáveis para a resolução deste problema de localização.
O algoritmo genético de correção e penalização foi comparado com o algoritmo genético tradicional (sem correção ou penalização). Sob as mesmas condições iniciais, o algoritmo de correção e penalização alcançou uma melhor qualidade de soluções da elite do que o outro algoritmo. No entanto, constata-se a necessidade de se explorar mais o tratamento de problemas restritos.
Referências
BLAIR, J.P. (1995) Local economic development: analysis and practice, Sage Publications, New Delhi, pp. 41-65.
GAREY, M.R.; JOHNSON, D.S. (1979) Computer and intractability: a guide to the theory of NP competences. Addison-Wesley, Reading, MA.
GOLBDBERG, D.E. (1989) Genetic algorithms in search, optimization, and machine learning.
Addison-Wesley, Reading, MA.
HOLLAND, J.H. (1975) Adaptation in natural and artificial systems, University of Michigan Press, Reprinted in 1992 by MIT Press.
HOOVER, E.M.; GIARRATANI, F. (1999) An introduction to regional economics. Disponível em:
<http://rri.wvu.edu/WebBook/Giarratani/preface.htm>. Acesso em: 27/ABR/01.
KOWALSKA, J.D.; FUNCK, R.H. (2000) Cultural activities as a location factor in european competition between regions: concepts and some evidence, Regional Science, vol. 34, no. 1, pp.
1-12.
LEE. S.M.; GREEN, G.I.; KIM, C.S. (1981) A multiple criteria model for the location-allocation problem, Computers and Operations Research, vol. 8, pp. 1-8.
LENIVE, D. (1997) Genetic algorithms: a practitioner’s view. Journal on Computing, vol. 9, no. 3, pp.
256-259.
MALECKI, E.J. (1997) Technology & economic development: the dynamics of local, regional and national competitiveness, Longman, England, Second Edition, pp. 112-156.
MELACHRINOUDIS, E.; MIN, H. (2000) The dynamic relocation and phase-out of a hybrid, two- echelon plant/warehousing facility: a multiple objective approach. European Journal of Operational Research, vol. 123, no. 1, pp. 1-15.
MIN, H.; MELACHRINOUDIS, E. (1999) The relocation of a hybrid manufacturing/ distribution facility from supply perspectives: a case study, Omega, vol. 27, no.1, pp. 75-85.
REES, J.; STAFFORD, H.A. (1986) Technology, regions and policy. Rowan & Littlefield Publishers, New Jersey, 322 p.
OWEN, S.H.; DASKIN, M.S. (1998) Strategic facility location: a review. European Journal of Operation Research, vol. 111, no. 3, pp. 423-447.
REEVES, C. R. (1997) Genetic algorithms for the operations researcher. Journal on Computing, vol.
9, no. 3, pp. 231-250.