Acessibilidade / Reportar erro

Algoritmo GVNS Híbrido Aplicado ao Problema das p-Medianas Capacitado

RESUMO

O Problema das p-Medianas Capacitado (PPMC) consiste em localizar p facilidades em uma rede composta por n vértices e decidir qual facilidade atenderá cada vértice, a fim de minimizar a soma de todas as distâncias de cada facilidade para cada vértice e atender às restrições de capacidade máxima de cada facilidade. Neste trabalho, dado que o PPMC é da classe NP-difícil, quatro variantes da metaheurística General Variable Neighborhood Search (GVNS) são implementadas para resolver o PPMC: G-VND, G-RVND, GG-VND e GG-RVND. Elas diferem entre si com relação ao método usado para construir uma solução inicial e o usado para a busca local. Nas duas primeiras variantes, a solução inicial é gerada de forma aleatória e o método de busca local é feita via Variable Neighborhood Descent (VND) ou Random Variable Neighborhood Descent (RVND), respectivamente. Por sua vez, nas duas últimas, a solução inicial é feita via a fase de construção do método Greedy Randomized Adaptive Search Procedure (GRASP). Usando instâncias padrões de teste da literatura, mostramos, inicialmente, que a variante GG-VND teve melhor desempenho quando comparada com as demais. Em seguida, mostramos que, quando comparada com os algoritmos da literatura, esta variante possui desempenho equivalente ou superior.

Palavras-chave:
Problema das p-Medianas Capacitado; General Variable Neighborhood Search; GRASP; metaheurísticas

ABSTRACT

The Capacitated p-Median Problem (CPMP) consists of locating p facilities in a network composed of n clients and deciding which facility will serve each client to minimize the sum of all distances from each facility to each client and meet the facility capacity constraints. Since the CPMP belongs to the NP-hard class, in this work, four variants of the General Variable Neighborhood Search (GVNS) metaheuristic, named G-VND, G-RVND, GG-VND, and GG-RVND, are implemented for treating the CPMP. They differ concerning the method used to build an initial solution and the one used for local search. In the first two variants, the initial solution is generated randomly, and the local search method is performed via Variable Neighborhood Descent (VND) or Random Variable Neighborhood Descent (RVND), respectively. In turn, in the last two, the initial solution is executed via the construction phase of the Greedy Randomized Adaptive Search Procedure (GRASP) method. Using benchmark instances from the literature, we initially showed that the GG-VND variant performed better than others. Then, we show that this variant has an equivalent or superior performance when compared with the literature algorithms.

Keywords:
Capacitated p-Median Problem; General Variable Neighborhood Search; GRASP; metaheuristics

1 INTRODUÇÃO

O problema das p-Medianas (PPM), também conhecido na literatura como problema de localização de facilidades 2121 M.B. Teitz. Toward a theory of urban public facility location. Papers in Regional Science, 21(1) (1968), 35-51. ou problema de agrupamento (clusterização) 1616 H.I. Osman & N. Christofides. Capacitated clustering problems by hybrid simulated annealing and tabu search. International Transactions in Operational Research, 1(3) (1994), 317-336., possui seus primeiros registros na década de 1960 66 S. Hakimi. Optimum Locations of Switching Center and the Absolute Centers and Medians of a Graph. Operations Research, 12 (1964), 45-59.. Uma variação de grande importância do PMP é o problema das p-Medianas Capacitado (PPMC). O PPMC consiste em localizar p facilidades em uma rede composta por n vértices e decidir qual facilidade atende cada vértice, de forma a minimizar a soma de todas as distâncias de cada vértice a cada facilidade, respeitando-se as restrições de capacidade máxima de atendimento.

Ao longo do tempo, diferentes métodos têm sido aplicados para a solução do PPMC, sejam métodos de programação matemática ou métodos heurísticos e metaheurísticos. Conforme 1010 O. Kariv & S.L. Hakimi. An Algorithmic Approach to Network Location Problems. II: The p-Medians. SIAM Journal on Applied Mathematics, 37(3) (1979), 539-560. doi:10.2307/2100911.
https://doi.org/10.2307/2100911...
, o PPMC é um problema da classe NP-difícil e a utilização de metaheurísticas para sua solução, portanto, se justifica. Assim, em 33 J.A. Díaz & E. Fernández. Hybrid scatter search and path relinking for the capacitated p-median problem. European Journal of Operational Research, 169(2) (2006), 570-585., três algoritmos heurísticos são propostos, todos usando a fase de construção da metaheurística Greedy Randomized Adaptative Search Procedure (GRASP) para gerar a solução inicial: (i) Scatter Search; (ii) Path Relinking; (iii) metaheurística híbrida envolvendo Path Relinking e, após, Scatter Search. Segundo os autores, a metaheurística híbrida na forma descrita alcançou o melhor desempenho tanto em termos da qualidade da solução quanto no custo computacional. Já em 1111 I. Landa-Torres, J.D. Ser, S. Salcedo-Sanz, S. Gil-Lopez, J. Portilla-Figueras & O. Alonso-Garrido. A comparative study of two hybrid grouping evolutionary techniques for the capacitated P-median problem. Computers & Operations Research , 39(9) (2012), 2214-2222. doi:https://doi.org/10.1016/j.cor.2011.11.004.
https://doi.org/10.1016/j.cor.2011.11.00...
, os autores utilizam o Grouping Genetic Algorithm (GGA) e o Grouping Harmony Search (GHS) para a solução deste problema. Os dois algoritmos compartilham o mesmo procedimento de codificação; no entanto, são baseados em conceitos muito diferentes no que diz respeito aos seus procedimentos operacionais. Segundo os autores, GGA é uma classe de algoritmos evolutivos, especialmente projetados para lidar com problemas de agrupamento, isto é, problemas nos quais um número de itens deve ser atribuído a um conjunto de grupos pré-definidos, enquanto GHS é um algoritmo de otimização iterativo, baseado na imitação da coordenação dos músicos em uma orquestra quando buscam conjuntamente a melhor harmonia sob uma métrica estética. Por sua vez, em 88 M. Herda. Combined genetic algorithm for capacitated p-median problem. In “2015 16th IEEE International Symposium on Computational Intelligence and Informatics (CINTI)” (2015), p. 151-154. estuda-se a aplicação de algoritmos genéticos, propondo três variações para a solução do PPMC.

Em 55 K. Fleszar & K. Hindi. An effective VNS for the capacitated p-median problem. European Journal of Operational Research , 191(3) (2008), 612 - 622., um algoritmo baseado na metaheurística Variable Neighborhood Search (VNS) 77 P. Hansen, N. Mladenović, R. Todosijević & S. Hanafi. Variable neighborhood search: basics and variants. EURO Journal on Computational Optimization, 5 (2017), 423-454. doi:10.1007/s13675-016-0075-x.
https://doi.org/10.1007/s13675-016-0075-...
foi aplicado para a solução do PPMC. Esse algoritmo é caracterizado por usar limites inferiores para verificar se é necessário ou não avaliar todas as soluções dentro da vizinhança. As soluções de interesse são, então, avaliadas por um algoritmo exato de um subproblema gerado. Em 2323 M. Yaghini, M. Momeni, M. Sarmadi & H.R. Ahadi. A hybrid metaheuristic approach for the capacitated p-median problem. Applied Soft Computing, 13(9) (2013), 3922-3930., um algoritmo matheurístico, combinando uma estrutura de vizinhança de plano de corte e uma metaheurística Busca Tabu é introduzido para a solução do PPMC. O algoritmo proposto é testado em vários conjuntos de instâncias e a análise estatística mostra a eficiência e eficácia do algoritmo híbrido. Já em 2222 M. Yaghini, M. Momeni, M. Sarmadi & H.R. Ahadi. An efficient heuristic algorithm for the capacitated p-median problem. 4OR, 11(3) (2013), 229-248., os mesmos autores anteriores apresentam uma matheurística envolvendo Local Branching e Relaxation Induced Neighborhood Search para a solução do PPMC. Por sua vez, 99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
propõem uma matheurística integrando algoritmo genético, segundo uma variação da implementação apresentada em 22 E.S. Correa, M.T.A. Steiner, A.A. Freitas & C. Carnieri. A Genetic Algorithm for Solving a Capacitated p-Median Problem. Numerical Algorithms, 35(2) (2004), 373-388. também para a solução de PPMC, e um solver de programação matemática. Uma solução envolvendo mais diretamente métodos exatos de programação matemática é apresentada em 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
. É introduzido o procedimento Iterated Reduction Matheuristic Algorithm (IRMA), que é uma heurística híbrida baseada em decomposição, que utiliza um método de otimização local integrado a um solver de programação matemática. Este procedimento se constitui no estado da arte para a solução de instâncias do PPMC, conforme aponta 1919 M. Steglich. A Hybrid Heuristic Based On Self-Organising Maps And Binary Linear Programming Techniques For The Capacitated P-Median Problem. In M. Iacono, F. Palmieri, M. Gribaudo & M. Ficco (editors), “Proceedings of the 33rd International ECMS Conference on Modelling and Simulation, ECMS 2019 Caserta, Italy, June 11-14, 2019”. European Council for Modeling and Simulation (2019), p. 267-276. doi:10.7148/2019-0267. URL https://doi.org/10.7148/2019-0267.
https://doi.org/10.7148/2019-0267...
.

O presente artigo propõe o estudo da solução do PPMC, buscando soluções de boa qualidade em tempo computacional reduzido, em especial no tocante a instâncias de grande dimensão. Para isso, aplica-se a metaheurística General Variable Neighborhood Search (GVNS), que é uma variação da metaheurística Variable Neighborhood Search (VNS) 77 P. Hansen, N. Mladenović, R. Todosijević & S. Hanafi. Variable neighborhood search: basics and variants. EURO Journal on Computational Optimization, 5 (2017), 423-454. doi:10.1007/s13675-016-0075-x.
https://doi.org/10.1007/s13675-016-0075-...
, na qual a busca local é feita pelo método Variable Neighborhood Descent (VND). No GVNS clássico, a solução inicial é também definida de forma aleatória. Este artigo propõe uma alteração nesses procedimentos, de modo a gerar a solução inicial usando a fase de construção do método Greedy Randomized Adaptive Search Procedure (GRASP) 44 T.A. Feo & M.G.C. Resende. Greedy Randomized Adaptative Search Procedures. Journal of Global Optimization, 6 (1995), 109-133., enquanto, para a busca local, usa-se ou o próprio VND ou sua variante Random Variable Neighborhood Descent (RVND) 1717 M.J.F. Souza, I.M. Coelho, S. Ribas, H.G. Santos & L.H.C. Merschmann. A hybrid heuristic algorithm for the open-pit-mining operational planning problem. European Journal of Operational Research , 207(2) (2010), 1041-1051.), (2020 A. Subramanian, L.M.A. Drummond, C. Bentes, L.S. Ochi & R. Farias. A parallel heuristic for the Vehicle Routing Problem with Simultaneous Pickup and Delivery. Computers & Operations Research , 37(11) (2010), 1899 - 1911..

O restante deste trabalho está organizado da seguinte forma. Na Seção 2 são apresentadas a definição e uma formulação do PPMC. A Seção 3 apresenta os algoritmos heurísticos utilizados para resolver o PPMC. Na Seção 4 são mostrados os testes realizados com os algoritmos desenvolvidos, bem como os resultados dos experimentos computacionais realizados. Na Seção 5 conclui-se o artigo.

2 DESCRIÇÃO DO PPMC

Esta seção descreve o Problema de p-Medianas Capacitado (PPMC). De acordo com 2323 M. Yaghini, M. Momeni, M. Sarmadi & H.R. Ahadi. A hybrid metaheuristic approach for the capacitated p-median problem. Applied Soft Computing, 13(9) (2013), 3922-3930., o PPMC é definido a partir de um grafo 𝒢 não direcionado G=V,A, em que 𝒱 é o conjunto dos vértices e 𝒜 é o conjunto das arestas do grafo. Seja então 𝒩 o conjunto de instalações e ℳ o conjunto de clientes, de modo que NV e MV, sendo n=N o número máximo de possíveis instalações e m=M o número de clientes a serem atendidos. E interessante salientar que as formulações em que NM ou, no limite, N=M, são situações particulares da formulação adotada. A cada cliente jM está associada uma demanda q j e a cada instalação jN está associada uma capacidade máxima de atendimento Q i . O custo do transporte de uma unidade de um produto de uma determinada instalação jN para um cliente jM é proporcional à distância d ij entre as localizações i e j, sendo dij>0 e dij=0. O valor pn define o número de instalações que serão denominadas como medianas.

O PPMC consiste, assim, em determinar um conjunto NpN, que representa o conjunto de p-Medianas escolhidas dentre o conjunto de instalações 𝒩, de modo a minimizar a distância total entre os clientes e suas respectivas instalações, asseguradas as capacidades das instalações. Seja y i a variável de decisão binária que representa a decisão de seleção da instalação i como mediana, de modo que, se yi=1, então a instalação i foi definida como mediana; e yi=0, caso contrário. Seja x ij a variável de decisão binária que assume valor xij=1 se o cliente j é atendido pela instalação i; e valor xij=0, caso contrário. A formulação matemática do PPMC é dada por:

m i n i N j M d i j x i j (2.1)

s u j . a i N x i j = 1 , j M (2.2)

i N y i = p (2.3)

i M q j x i j Q i y i , i N (2.4)

x i j 0 , 1 , i N , j M (2.5)

y i 0 , 1 , i N (2.6)

Uma solução ótima corresponde a um cluster viável, dado pelas instalações em 𝒩p com menor distância total entre todas as instalações e seus respectivos clientes. A função objetivo (2.1), a ser minimizada, representa a soma dos custos de todos os clientes j a todas as instalações i. As restrições (2.2) garantem que cada cliente é atendido por apenas uma instalação, enquanto que a restrição (2.3) garante que a instalação i só pode ser escolhida se ela estiver ativa. As restrições (2.4) impõem que a capacidade total das instalações deve ser respeitada. As restrições (2.5) e (2.6) definem o domínio das variáveis de decisão.

3 ALGORITMOS PROPOSTOS

Para tratar o PPMC, este artigo propõe algoritmos heurísticos baseados na metaheurística GVNS. Esses algoritmos diferem entre si com relação ao método usado para construir uma solução inicial e o usado para a busca local. Esta seção está organizada como segue. Na subseção 3.1 mostramos como uma solução do PPMC é representada e avaliada, respectivamente. Os dois métodos de construção de uma solução são apresentados na Subseção 3.2. As estruturas de vizinhanças utilizadas para explorar o espaço de soluções do problema são apresentadas na Subseção 3.3. Os métodos de busca local e perturbação são apresentados nas subseções 3.4 e 3.5, respectivamente. Por fim, na Subseção 3.6, apresentamos o algoritmo base do GVNS para o PPMC.

3.1 Representação e Avaliação da Solução

Uma solução do PPMC é representada por dois vetores: o primeiro vetor representa o conjunto de instalações selecionadas como medianas, cujos elementos, portanto, estão contidos em 𝒩p ; o segundo vetor representa as alocações das instalações i aos respectivos clientes j. Esta estrutura de representação foi proposta em 11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.. Um exemplo de representação é apresentado na Figura 1. A Figura 1a mostra o vetor de instalações selecionadas como medianas, de modo que Np=4,7,9. A Figura 1b mostra a alocação dos m = 10 clientes às p = 3 instalações-medianas. Note que, à instalação i = 4, estão associados os clientes 3, 4 e 5; à instalação i = 7, são associados os clientes 2, 7 e 10; e à instalação i = 9, estão associados os clientes 1, 6, 8 e 9.

Figura 1:
Exemplo de representação de uma solução.

A função de avaliação é a própria função objetivo do problema, dada pela Expressão (2.1), que representa a soma das distâncias entre as instalações i e seus clientes j.

3.2 Construção de uma solução inicial

Uma solução inicial é construída de duas formas distintas. Na primeira, detalhada na Subseção 3.2.1, mostramos como gerar uma solução inicial de forma randômica para o PPMC. Na segunda, detalhada na Subseção 3.2.2, mostramos como gerá-la pela fase de construção da metaheurística GRASP.

3.2.1 Construção randômica da solução inicial

O Algoritmo 1 mostra o pseudocódigo do procedimento de construção de uma solução inicial s0=vm0,vc0 de forma randômica. Os dados de entrada para este algoritmo são os conjuntos de clientes ℳ, de instalações-candidatas 𝒩, o vetor Q contendo a capacidade de cada instalação - candidata, o vetor q de demanda de cada cliente, além do número p de medianas desejadas, do número m de clientes, do número n de instalações-candidatas e do número máximo MaxTentativas de tentativas para encontrar uma solução viável. Esse último parâmetro foi fixado em p tentativas. O procedimento inicia com a solução inicial vazia na linha 3; número de tentativas para encontrar uma solução viável igual a zero na linha 4; uma cópia ℳ’ do conjunto de clientes ℳ na linha 5; uma cópia 𝒩’ do conjunto de instalações-candidatas na linha 6; o conjunto vazio de medianas, isto é, das instalações 𝒩p a serem abertas na linha 7; e o contador do número de medianas com valor zero, na linha 8.

Algoritmo 1:
Solução Inicial construída de forma randômica.

Em seguida, o algoritmo entra em um laço formado pelas linhas 9-15 para escolher as medianas dentre o conjunto de instalações-candidatas. Inicialmente, o contador do número de medianas é acrescido em uma unidade na linha 10. A seguir, na linha 11, uma instalação-candidata rN' é aleatoriamente escolhida como mediana. Nas linhas 12-14, essa mediana r é inserida na δ-ésima posição do vetor de medianas vm 0, incluída no conjunto 𝒩p de medianas e excluída do conjunto 𝒩’ de instalações, respectivamente. Na linha 10, o contador do número de medianas é acrescido em uma unidade. Escolhidas as medianas dentre as instalações-candidatas, inicia-se um laço, entre as linhas 16-30, para atribuir cada cliente a uma mediana. Para tanto, na linha 17, um cliente é aleatoriamente escolhido. Em seguida, verificamos se o conjunto NpvNp de medianas com capacidade para atender a demanda q j do cliente j é não-vazio. Havendo medianas disponíveis para alocação, uma delas, digamos rNpv, é aleatoriamente escolhida para atender ao cliente j. Em seguida, nas linhas 20 e 21, respectivamente, são feitas a inserção dessa mediana na j-ésima posição do vetor de clientes vc 0 e atualização do conjunto de clientes. Não havendo uma mediana disponível para atender ao cliente j, o procedimento de construção é reinicializado na linha 24 e o número de tentativas de encontrar uma solução viável é incrementado na linha 25. Caso o número máximo de tentativas de construção tenha sido atingido, o procedimento construtivo retorna uma solução inicial vazia na linha 27. Sendo capaz de encontrar uma solução inicial viável, o algoritmo retorna a solução s 0 e o conjunto de medianas 𝒩p na linha 31.

3.2.2 Solução inicial por meio da fase de construção GRASP

O próximo algoritmo desenvolvido utiliza o procedimento de construção da metaheurística Greedy Randomized Adaptive Search Procedure (GRASP) 44 T.A. Feo & M.G.C. Resende. Greedy Randomized Adaptative Search Procedures. Journal of Global Optimization, 6 (1995), 109-133. para gerar uma solução inicial. Nesse procedimento, dado um conjunto 𝒩 de instalações-candidatas e um conjunto ℳ de clientes, cada elemento candidato iN é, inicialmente, avaliado por uma função guia g(·), dada por:

g i = j M d i j i N (3.1)

que avalia a distância de uma instalação-candidata iN a todos os clientes.

A lista restrita de candidatos (LRC) é constituída das “melhores” instalações-candidatas avaliadas segundo a função (3.1). A Expressão (3.2) mostra como essa lista é constituída.

L R C = i N | g i g m i n + α × g m a x - g m i n . (3.2)

Na Expressão (3.2), g min representa o menor valor da função g nesse conjunto de candidatos e g max o maior valor dessa função. Observe que a LRC é controlada pelo parâmetro real α0,1, que define o quão gulosa ou aleatória é a construção da solução, de modo que, se α = 1, a construção é totalmente aleatória, e se α = 0, ela é totalmente gulosa. Formada a LRC com os melhores candidatos, um elemento rLRC é escolhido aleatoriamente para compor a solução parcial. Ou seja, na fase de construção do GRASP, há uma regra de seleção que contém um fator aleatório para definir o candidato escolhido.

A solução inicial, via o procedimento da fase de construção GRASP, foi implementada conforme o Algoritmo 2. Os dados de entrada para este algoritmo são: conjuntos de clientes ℳ e de instalações-candidatas 𝒩; vetor Q com a capacidade de cada instalação-candidata; vetor q de demanda de cada cliente; número p de medianas desejadas; número m de clientes; número n de instalações-candidatas; função g(·); parâmetro α; e número máximo de tentativas MaxTentativas para encontrar uma solução inicial viável, fixado em p. Como no procedimento anterior, a inicialização é realizada nas linhas 3 a 8.

Algoritmo 2:
Solução Inicial construída via fase de construção GRASP.

O algoritmo entra, então, em um laço formado pelas linhas 9-16 para definir as medianas dentre o conjunto de instalações-candidatas. Inicialmente, o contador do número de medianas é acrescido em uma unidade na linha 10. Em seguida, na linha 12, uma instalação rLRC é aleatoriamente escolhida como mediana dentre as instalações-candidatas. Nas linhas 13-15, essa mediana r é inserida na δ-ésima posição do vetor de medianas vm 0, incluída no conjunto 𝒩p de medianas e excluída do conjunto 𝒩’ de instalações-candidatas, respectivamente. Uma vez escolhidas as medianas dentre as instalações-candidatas, inicia-se um laço, entre as linhas 17-31, para atribuir cada cliente a uma mediana. Essa atribuição é feita da mesma forma que no Algoritmo 1.

3.3 Estruturas de Vizinhança

Para explorar o espaço de soluções do problema, nós utilizamos três tipos de movimentos para serem aplicados a uma solução s. Cada movimento dá origem a uma estrutura de vizinhança ℒk (s), k = 1, 2, 3, cada qual definida como segue:

  • (i) ℒ1(s) (Realocação): Consiste em realocar um cliente j de uma mediana r1Np para uma outra mediana r2Np;

  • (ii) ℒ2(s) (Troca): Consiste em trocar um cliente j 1 de uma mediana r1Np com um cliente j 2 de uma outra mediana r2Np;

  • (iii) ℒ3(s) (Substituição): Consiste em substituir uma mediana r1Np por uma instalação - candidata r2N\Np.

3.4 Busca Local

Uma busca local é um procedimento de refinamento de uma solução s que utiliza uma ou mais estruturas de vizinhança para encontrar um ótimo local com relação às estruturas de vizinhança utilizadas na exploração do espaço de soluções.

Utilizamos duas versões diferentes para o procedimento de busca local, ambas baseadas na troca sistemática das estruturas de vizinhança. A primeira delas, apresentada no Algoritmo 3, aplica o método Variable Neighborhood Descent (VND) 77 P. Hansen, N. Mladenović, R. Todosijević & S. Hanafi. Variable neighborhood search: basics and variants. EURO Journal on Computational Optimization, 5 (2017), 423-454. doi:10.1007/s13675-016-0075-x.
https://doi.org/10.1007/s13675-016-0075-...
), (1414 A. Mjirda, R. Todosijević, S. Hanafi, P. Hansen & N. Mladenović. Sequential variable neighborhood descent variants: an empirical study on the traveling salesman problem. Int. Transactions in Operational Research, 24 (2017), 615-633., em sua forma clássica. A segunda versão aplica o método Random Variable Neighborhood Descent (RVND) 1717 M.J.F. Souza, I.M. Coelho, S. Ribas, H.G. Santos & L.H.C. Merschmann. A hybrid heuristic algorithm for the open-pit-mining operational planning problem. European Journal of Operational Research , 207(2) (2010), 1041-1051.), (2020 A. Subramanian, L.M.A. Drummond, C. Bentes, L.S. Ochi & R. Farias. A parallel heuristic for the Vehicle Routing Problem with Simultaneous Pickup and Delivery. Computers & Operations Research , 37(11) (2010), 1899 - 1911.. O RVND é uma variação do algoritmo VND e é apresentado no Algoritmo 4. A diferença entre as duas versões reside na ordem de exploração das vizinhanças. Enquanto no VND clássico a ordem das vizinhanças é pré-definida e não muda durante as chamadas ao método, no RVND essa ordem é aleatória a cada chamada do método. Essa diferença entre essas duas buscas locais ocorre na linha 3 do Algoritmo 4, que inclui um procedimento para aleatorizar a ordem das vizinhanças. Note que, em ambos os métodos, a função f (s) representa a função de avaliação definida na Subseção 3.1.

Algoritmo 3:
VND aplicado à solução do PPMC.

Algoritmo 4:
RVND aplicado à solução do PPMC.

No método VND implementado, as estruturas de vizinhanças foram ordenadas como apresentado na Subseção 3.3. Esta ordenação segue o grau de complexidade da exploração das vizinhanças usadas, sendo a primeira vizinhança (ℒ3) a de menor complexidade e a última, ℒ3, a de maior complexidade. Esta estratégia é normalmente adotada em buscas locais baseadas em VND. Como a determinação do ótimo local de cada vizinhança é muito custosa computacionalmente em instâncias maiores do problema, em ambos os métodos reduzimos a análise da vizinhança a apenas uma parte dela. Mais precisamente, analisamos na vizinhança ℒ1 apenas m vizinhos gerados por realocações aleatórias de clientes de uma mediana para outra na solução atual. Igualmente, na vizinhança ℒ2 analisamos somente m vizinhos gerados por trocas aleatórias entre clientes de duas medianas na solução atual. Por fim, na vizinhança ℒ3 analisamos m vizinhos gerados por movimentos aleatórios de substituição de medianas r1Np da solução atual por instalações-candidatas r2N\Np. Em todas essas análises, m indica o número de clientes. Para indicar que apenas uma parcela da vizinhança é analisada, representamos essa operação por Lk'.

3.5 Perturbação

Para diversificar a busca para outras regiões do espaço de soluções do PPMC, utilizamos um procedimento de perturbação da solução atual. O Algoritmo 5 mostra o seu funcionamento. Na linha 1 são dadas como entradas, a solução atual s, a estrutura de vizinhança utilizada para a realização das perturbações, no caso, ℒ3, e o número k de perturbações a serem realizadas nessa vizinhança. Na linha 3, é feita uma cópia da solução atual na solução s’, a qual representará a solução perturbada após a aplicação do procedimento. Na linha 4, o contador i do número de perturbações a ser aplicado à solução s’ é iniciado com o valor 1. Enquanto esse contador for menor ou igual ao número k de perturbações a serem aplicadas, o procedimento seleciona uma solução vizinha aleatória s” na vizinhança da solução s’ (veja linha 6). Em seguida, são atualizados a solução perturbada e o contador do número de perturbações nas linhas 7 e 8, respectivamente. O procedimento termina retornando a solução perturbada na linha 10.

Algoritmo 5:
Perturbação.

3.6 Algoritmo GVNS

O Algoritmo 6 mostra o pseudocódigo do algoritmo GVNS implementado. Os parâmetros de entrada são o conjunto de estruturas de vizinhanças ℒ e o número máximo permitido de iterações sem melhora iterMaxSM. A solução inicial s 0 (linha 1) é gerada ou aleatoriamente, como mostrado pelo Algoritmo 1, ou por meio da fase de construção do método GRASP, como mostrado pelo Algoritmo 2, ambos mostrados na Subseção 3.2.

Algoritmo 6:
GVNS.

Gerada a solução inicial, na linha 4, o algoritmo aplica sobre ela um método de busca local usando ou o procedimento VND, conforme Algoritmo 3, ou o procedimento RVND, conforme Algoritmo 4, para gerar a solução atual s. Em seguida, o algoritmo inicializa o contador do número de iterações sem melhora da solução atual e o contador k do número de perturbações a serem aplicadas sobre a solução atual para diversificar a busca para outras regiões do espaço de soluções do problema. Esse contador k é inicializado com o valor 2 porque a vizinhança utilizada pela perturbação é uma das vizinhanças usadas para aplicar a busca local. Assim, se k = 1, a solução perturbada seria um vizinho da solução atual e, portanto, uma busca local a partir dela alcançaria a própria solução atual. Em seguida, tendo como critério de parada o número máximo de iterações sem melhora (iterMaxSM), o algoritmo entra em um laço iterativo com aplicações sucessivas dos procedimentos de perturbação da solução atual e busca local da solução perturbada para explorar as soluções do espaço de soluções do problema. A perturbação (linha 8) é aplicada sobre a solução atual usando o Algoritmo 5. Esse Algoritmo realiza k movimentos aleatórios em s, produzindo vizinhos cada vez mais distantes da solução atual quando uma melhoria não é encontrada. Desta forma, esse procedimento diversifica o caminho de busca. Tal como na linha 4, o procedimento de busca local usa ou a heurística VND, conforme Algoritmo 3, ou a heurística RVND, conforme Algoritmo 4 (linha 9). A solução s” gerada pelo procedimento de busca local será aceita se melhorar a solução atual (linhas 10-13). Caso isso ocorra, a solução atual é atualizada, a estrutura de vizinhança retorna à estrutura inicial (k = 1) e o procedimento continua. Caso contrário, a estrutura de vizinhança é incrementada (linhas 14-17). A melhor solução encontrada é retornada ao fim do processo de busca.

4 EXPERIMENTOS COMPUTACIONAIS

Esta seção apresenta os resultados dos experimentos computacionais realizados neste trabalho e faz uma análise estatística do desempenho das quatro variantes do algoritmo baseado na metaheurística General Variable Neighborhood Search (GVNS) para resolver o PPMC: (i) G-RVND: GVNS com a solução inicial gerada de forma randômica e busca local via Random Variable Neighborhood Descent; (ii) G-VND: GVNS com a solução inicial gerada de forma randômica e busca local via Variable Neighborhood Descent; (iii) GG-RVND: GVNS com a solução inicial gerada pela fase de construção do método GRASP e busca local via RVND; e (i) GG-VND: GVNS com a solução inicial gerada pela fase de construção do método GRASP e busca local via VND. Todos os algoritmos foram implementados na linguagem Java e testados em um computador Intel Core 2 duo 2.93 GHz, 32 bits, 3 MB de cache L2, 8 GB de memória RAM e sistema operacional Ubuntu Server.

Dois grupos de instâncias foram utilizados nos testes computacionais. O Grupo de instâncias 1, proposto em 11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics., possui 5 instâncias que variam de 3038 nós e 600 medianas a 3038 nós e 1000 medianas. Os resultados dos algoritmos neste grupo estão reportados na Subseção 4.1. O Grupo de instâncias 2, criado em 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
, totaliza 30 instâncias, que variam de 318 nós e 5 medianas a 4461 nós e 1000 medianas. Os resultados para este grupo são mostrados na Subseção 4.2. Para comparar a qualidade das soluções produzidas pelos algoritmos, calcula-se o desvio relativo médio ΔiA:

Δ i A = f i A - f i * f i * × 100 , (4.1)

entre o valor fiA encontrado pelo algoritmo A na instância i e a melhor solução encontrada na literatura nessa instância, representada por fi*. Este valor, portanto, mostra o desvio percentual em relação ao melhor resultado da literatura e, assim, quanto mais próximo de 0, melhor é o resultado do algoritmo A.

Os valores dos parâmetros de todos os algoritmos implementados foram calibrados pela ferramenta IRACE (Iterated Racing for Automatic Algorithm Configuration) 1212 M. López-Ibáñez, J. Dubois-Lacoste, L.P. Cáceres, M. Birattari & T. Stützle. The irace package: Iterated racing for automatic algorithm configuration. Operations Research Perspectives, 3 (2016), 43-58.. Para o treinamento da ferramenta, foram utilizadas as instâncias lin318 70, ali535 100, u724 125, rl1304 200, pr 300 e p3038 800. A Tabela 1 mostra os resultados desse treinamento. Nessa tabela, a primeira coluna apresenta o parâmetro testado, a segunda descreve seu significado e a terceira, a faixa de valores testados. Na última coluna, mostramos o valor retornado pelo IRACE.

Tabela 1:
Faixa de valores testados e retornados pelo IRACE para os parâmetros nos Grupos de instâncias 1 e 2.

4.1 Resultados no grupo de instâncias 1

Esta seção apresenta os resultados dos testes computacionais referentes ao Grupo de instâncias 1. Primeiramente, na Subseção 4.1.1, compara-se o desempenho das quatro variantes propostas, de modo a eleger aquela que possui o melhor comportamento. Os resultados desta variante são comparados com os resultados de outros algoritmos encontrados na literatura, tanto no que diz respeito aos valores obtidos, na Subseção 4.1.2, quanto, na Subseção 4.1, em relação ao tempo de execução despendido.

4.1.1 Comparação entre os algoritmos propostos

A Tabela 2 apresenta os resultados referentes à aplicação dos algoritmos G-RVND, G-VND, GG-RVND e GG-VND para o Grupo de instâncias 1, no que diz respeito aos desvios em relação aos resultados encontrados em 1313 L.A.N. Lorena & E.L.F. Senne. A Column Generation Approach to Capacitated P-median Problems. Computers & Oper. Research, 31(6) (2004), 863-876.. A primeira coluna mostra as instâncias, na forma n-p, de modo que n = 3038 indica o número de clientes e p o número de medianas. A segunda coluna mostra os melhores resultados encontrados em 1313 L.A.N. Lorena & E.L.F. Senne. A Column Generation Approach to Capacitated P-median Problems. Computers & Oper. Research, 31(6) (2004), 863-876.. Entre a terceira até a décima colunas são apresentados os valores dos desvios relativos médios ∆%, conforme a Expressão (4.1), e o tempo de execução associado ao uso de cada um dos quatro algoritmos implementados.

Tabela 2:
Grupo de instâncias 1 - Valores médios para 30 execuções.

A Tabela 3 mostra o p-valor para cada um dos conjuntos de dados associados à implementação dos algoritmos no Grupo de instâncias 1. Como esses dados apresentam normalidade estatística, utilizou-se o Teste F 1515 D.C. Montgomery & G.C. Runge. “Estatística aplicada e probabilidade para engenheiros”. LTC, 6 ed. (2016). ISBN 978-85-216-3241-2. para verificar se há diferença estatística significativa entre os algoritmos. A Figura 2 mostra o gráfico box-plot dos algoritmos propostos no Grupo de instâncias 1 em relação ao desvio relativo médio ∆.

Tabela 3:
Grupo de instâncias 1 - Teste de normalidade dos valores de desvio.

Figura 2:
Gráfico box-plot mostrando o desvio relativo médio ∆% entre os algoritmos propostos no Grupo de instâncias 1.

Analisando o gráfico da Figura 2 e os p-valores da Tabela 4, observa-se que há diferença estatística significativa entre a variante GG-VND e as demais. Portanto, comprova-se a superioridade desta variante em relação às demais, uma vez que, pela Tabela 2, os valores dos desvios relativos do GG-VND foram os menores dentre todos os algoritmos testados.

Tabela 4:
Grupo de instâncias 1: Teste F para os valores de desvio percentual ∆.

4.1.2 Comparação com a literatura

Os testes realizados nas Subseção 4.1.1 mostraram estatisticamente que o algoritmo GG-VND é superior aos algoritmos G-RVND, G-GND e GG-RVND. Portanto, nas seções subsequentes, apenas o Algoritmo GG-VND será comparado em relação aos melhores resultados da literatura, apresentados em 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
), (11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics. e 99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
. A Tabela 5 mostra esta comparação. A primeira coluna mostra o conjunto de instâncias tratado. Entre a terceira e a sexta colunas são exibidos os melhores resultados encontrados em 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
), (11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.), (99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
e o referente ao algoritmo GG-VND. Em seguida, entre a sétima e a décima colunas são mostrados os resultados dos desvios relativos médios entre os resultados dos algoritmos da literatura e os do algoritmo GG-VND.

Tabela 5:
Grupo de instâncias 1: comparação com a literatura.

De acordo com o p-valor da Tabela 6, conclui-se que os dados apresentam padrão de normalidade. Tendo em vista o p-valor da Tabela 7 e o gráfico da Figura 3, conclui-se que há diferença significativa dos resultados do algoritmo GG-VND em relação aos dos algoritmos apresentados em 11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.), (99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
e 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
. Por fim, analisando-se a Tabela 5, conclui-se que o algoritmo GG-VND possui melhor desempenho que estes algoritmos da literatura.

Tabela 6:
Grupo de instâncias 1: Teste de normalidade dos valores de desvio × literatura. Intervalo de confiança: ρ = 95%.

Tabela 7:
Grupo de instâncias 1: Teste F dos valores de desvio relativo percentual ∆ × valores da literatura. Intervalo de confiança: ρ = 95%.

Figura 3:
Gráfico box-plot mostrando o desvio relativo médio ∆ entre o algoritmo GG-VND e os da literatura no Grupo de instâncias 1.

4.1.3 Comparação em relação aos tempos de execução

Nesta seção, é feita a comparação dos tempos de execução computacional do algoritmo GG-VND frente aos resultados dos algoritmos de 11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.), (1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
e 99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
. É importante destacar que não é uma tarefa simples comparar os tempos computacionais entre algoritmos executados em diferentes CPUs, linguagens de programação, solvers e Sistemas Operacionais. Para melhor compreensão, usou-se, como referência, a Tabela 8. Os fatores de comparação que compõem esta tabela foram obtidos em https://www.cpubenchmark.net/compare/, com acesso em 17 de novembro de 2019.

Tabela 8:
Grupo de instâncias 1: comparação entre CPUs.

A Tabela 9 mostra a comparação entre o tempo de execução do algoritmo GG-VND e o alcançado pelos algoritmos de 11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.), (1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
e 99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
. Nesta tabela, a sexta, a sétima e a oitava colunas apresentam os valores de tempos de execução corrigidos a partir dos fatores da Tabela 8, e, portanto, conclui-se que o algoritmo GG-VND requer menor tempo de processamento e, em vista dos resultados apresentados na Tabela 5, possui melhor desempenho que os demais algoritmos analisados.

Tabela 9:
Grupo de instâncias 1: comparação com a literatura para tempo de execução.

4.2 Resultados no grupo de instâncias 2

Esta seção apresenta os resultados referentes à aplicação do Algoritmo GG-VND para a solução do Grupo de instâncias 2, proposto em 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
, conforme já citado. Este grupo é dividido em subgrupos, em que o primeiro número indica o número de clientes (n) e o segundo o número de medianas (p) adotado. A Tabela 10 mostra os resultados médios obtidos pelo algoritmo GG-VND e a comparação em relação aos melhores valores conhecidos da literatura (MSC), encontrados em http://www-usr.inf.ufsm.br/~stefanello/instances/cpmp/, com os alcançados em 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
e 1919 M. Steglich. A Hybrid Heuristic Based On Self-Organising Maps And Binary Linear Programming Techniques For The Capacitated P-Median Problem. In M. Iacono, F. Palmieri, M. Gribaudo & M. Ficco (editors), “Proceedings of the 33rd International ECMS Conference on Modelling and Simulation, ECMS 2019 Caserta, Italy, June 11-14, 2019”. European Council for Modeling and Simulation (2019), p. 267-276. doi:10.7148/2019-0267. URL https://doi.org/10.7148/2019-0267.
https://doi.org/10.7148/2019-0267...
. Observa-se que os desvios em relação ao MSC obtidos pelo algoritmo GG-VND são menores que os das demais referências em 17 das 30 instâncias desse grupo.

Tabela 10:
Grupo de instâncias 2: Comparação com os métodos da literatura.

A Tabela 11 mostra a comparação entre o algoritmo GG-VND e os algoritmos encontrados em e 1919 M. Steglich. A Hybrid Heuristic Based On Self-Organising Maps And Binary Linear Programming Techniques For The Capacitated P-Median Problem. In M. Iacono, F. Palmieri, M. Gribaudo & M. Ficco (editors), “Proceedings of the 33rd International ECMS Conference on Modelling and Simulation, ECMS 2019 Caserta, Italy, June 11-14, 2019”. European Council for Modeling and Simulation (2019), p. 267-276. doi:10.7148/2019-0267. URL https://doi.org/10.7148/2019-0267.
https://doi.org/10.7148/2019-0267...
, com relação ao tempo de execução, em segundos. Novamente, a superioridade do algoritmo GG-VND proposto é realçada, uma vez que, tendo em vista os tempos computacionais corrigidos, o algoritmo GG-VND possui tempo de execução menor em 28 das 30 instâncias analisadas.

Tabela 11:
Grupo de instâncias 2: análise de tempo de execução dos métodos.

A Tabela 12 mostra os resultados do teste de normalidade dos valores de desvio percentual para o Grupo de instâncias 2. Como a normalidade não foi comprovada para todas as instâncias, foi realizado o teste não-paramétrico Kruskall-Wallis. Os resultados deste teste, apresentados na Tabela 13, mostram que não há diferença estatística entre os algoritmos avaliados para todas as instâncias de teste. No entanto, deve-se enfatizar que os valores de desvio relativo médio percentual mostrados na Tabela 10 indicam um melhor desempenho do algoritmo GG-VND em relação aos algoritmos usados para comparação.

Tabela 12:
Grupo 2: teste de normalidade dos valores de desvio percentual × valores da literatura, considerando valores médios do GG-VND. Intervalo de confiança: ρ = 95%.

Tabela 13:
Grupo de instâncias 2: teste de significância estatística dos valores de desvio percentual × valores de literatura.

5 CONCLUSÕES

Neste trabalho, quatro variantes da metaheurística GVNS foram estudadas para a solução do problema das p-Medianas Capacitado (PPMC), nomeadas G-VND, G-RVND, GG-RVND e GG-VND. Estas variantes envolvem dois métodos para a geração da solução inicial (solução inicial aleatória, como na Subseção 3.2.1, ou solução via fase de construção do GRASP, como na Subseção 3.2.2), bem como dois métodos adotados como algoritmo de busca local (método VND, mostrado no Alg. 3, e método RVND, mostrado no Alg. 4).

As variantes do GVNS foram testadas em dois conjuntos de instâncias da literatura com número elevado de depósitos e clientes, nomeadas como Grupo de instâncias 1 e Grupo de instâncias 2. Primeiramente, o desempenho destas quatro variantes foi avaliado no Grupo 1. A partir de análises estatísticas dos resultados, comprovou-se a superioridade da variante GG-VND sobre as demais. Isto se explica pelo fato de a variante GG-VND utilizar, em sua solução inicial, a fase de construção do método GRASP, que gera uma solução inicial de qualidade, ao mesmo tempo que o método VND, como busca local, promove buscas exaustivas nas vizinhanças exploradas.

Em seguida, comparou-se o desempenho da variante GG-VND com os principais algoritmos da literatura utilizados para a solução do PPMC. Para o Grupo 1, comprovou-se, após a análise estatística associada, a superioridade desta variante em relação aos algoritmos de 11 A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.), (99 L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
https://doi.org/10.1007/s10100-017-0471-...
e 1818 F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
https://doi.org/10.1111/itor.12103...
, no que diz respeito aos valores de desvio médio. Quanto ao tempo de execução computacional, usando-se fatores de correção para tornar justa a comparação entre as diferentes CPUs utilizadas, mostra-se que a variante GG-VND também possui melhor desempenho que os demais algoritmos analisados. Para o Grupo 2, quanto ao desvio médio relativo, a variante produziu resultados melhores em 17 das 30 instâncias analisadas. No que diz respeito ao tempo de execução, novamente utilizando fatores de correção, a variante GG-VND demandou menor tempo de execução em 28 das 30 instâncias. Portanto, conclui-se que esta variante mostrou-se fortemente competitiva frente aos algoritmos existentes na literatura para a solução do PPMC.

Agradecimentos

Os autores agradecem ao CNPq (processo 303266/2019-8), FAPEMIG (processo PPM-CEX 676/17), CAPES (Código de financiamento 001), CEFET-MG e UFOP pelo apoio a esta pesquisa.

REFERÊNCIAS

  • 1
    A.A. Chaves & L.A.N. Lorena. Clustering search algorithm for the capacitated centered clustering problem. Computers & Operations Research, 37(3) (2010), 552-558. Hybrid Metaheuristics.
  • 2
    E.S. Correa, M.T.A. Steiner, A.A. Freitas & C. Carnieri. A Genetic Algorithm for Solving a Capacitated p-Median Problem. Numerical Algorithms, 35(2) (2004), 373-388.
  • 3
    J.A. Díaz & E. Fernández. Hybrid scatter search and path relinking for the capacitated p-median problem. European Journal of Operational Research, 169(2) (2006), 570-585.
  • 4
    T.A. Feo & M.G.C. Resende. Greedy Randomized Adaptative Search Procedures. Journal of Global Optimization, 6 (1995), 109-133.
  • 5
    K. Fleszar & K. Hindi. An effective VNS for the capacitated p-median problem. European Journal of Operational Research , 191(3) (2008), 612 - 622.
  • 6
    S. Hakimi. Optimum Locations of Switching Center and the Absolute Centers and Medians of a Graph. Operations Research, 12 (1964), 45-59.
  • 7
    P. Hansen, N. Mladenović, R. Todosijević & S. Hanafi. Variable neighborhood search: basics and variants. EURO Journal on Computational Optimization, 5 (2017), 423-454. doi:10.1007/s13675-016-0075-x.
    » https://doi.org/10.1007/s13675-016-0075-x
  • 8
    M. Herda. Combined genetic algorithm for capacitated p-median problem. In “2015 16th IEEE International Symposium on Computational Intelligence and Informatics (CINTI)” (2015), p. 151-154.
  • 9
    L. Jánošíková, M. Herda & M. Haviar. Hybrid genetic algorithms with selective crossover for the capacitated p-median problem. Central European Journal of Operations Research, 25(3) (2017), 651- 664. doi:10.1007/s10100-017-0471-1.
    » https://doi.org/10.1007/s10100-017-0471-1
  • 10
    O. Kariv & S.L. Hakimi. An Algorithmic Approach to Network Location Problems. II: The p-Medians. SIAM Journal on Applied Mathematics, 37(3) (1979), 539-560. doi:10.2307/2100911.
    » https://doi.org/10.2307/2100911
  • 11
    I. Landa-Torres, J.D. Ser, S. Salcedo-Sanz, S. Gil-Lopez, J. Portilla-Figueras & O. Alonso-Garrido. A comparative study of two hybrid grouping evolutionary techniques for the capacitated P-median problem. Computers & Operations Research , 39(9) (2012), 2214-2222. doi:https://doi.org/10.1016/j.cor.2011.11.004
    » https://doi.org/10.1016/j.cor.2011.11.004
  • 12
    M. López-Ibáñez, J. Dubois-Lacoste, L.P. Cáceres, M. Birattari & T. Stützle. The irace package: Iterated racing for automatic algorithm configuration. Operations Research Perspectives, 3 (2016), 43-58.
  • 13
    L.A.N. Lorena & E.L.F. Senne. A Column Generation Approach to Capacitated P-median Problems. Computers & Oper. Research, 31(6) (2004), 863-876.
  • 14
    A. Mjirda, R. Todosijević, S. Hanafi, P. Hansen & N. Mladenović. Sequential variable neighborhood descent variants: an empirical study on the traveling salesman problem. Int. Transactions in Operational Research, 24 (2017), 615-633.
  • 15
    D.C. Montgomery & G.C. Runge. “Estatística aplicada e probabilidade para engenheiros”. LTC, 6 ed. (2016). ISBN 978-85-216-3241-2.
  • 16
    H.I. Osman & N. Christofides. Capacitated clustering problems by hybrid simulated annealing and tabu search. International Transactions in Operational Research, 1(3) (1994), 317-336.
  • 17
    M.J.F. Souza, I.M. Coelho, S. Ribas, H.G. Santos & L.H.C. Merschmann. A hybrid heuristic algorithm for the open-pit-mining operational planning problem. European Journal of Operational Research , 207(2) (2010), 1041-1051.
  • 18
    F. Stefanello, O.C.B. de Araújo & F.M. Müller. Matheuristics for the capacitated p-median problem. International Transactions in Operational Research, 22(1) (2015), 149-167. doi:10.1111/itor.12103.
    » https://doi.org/10.1111/itor.12103
  • 19
    M. Steglich. A Hybrid Heuristic Based On Self-Organising Maps And Binary Linear Programming Techniques For The Capacitated P-Median Problem. In M. Iacono, F. Palmieri, M. Gribaudo & M. Ficco (editors), “Proceedings of the 33rd International ECMS Conference on Modelling and Simulation, ECMS 2019 Caserta, Italy, June 11-14, 2019”. European Council for Modeling and Simulation (2019), p. 267-276. doi:10.7148/2019-0267. URL https://doi.org/10.7148/2019-0267
    » https://doi.org/10.7148/2019-0267» https://doi.org/10.7148/2019-0267
  • 20
    A. Subramanian, L.M.A. Drummond, C. Bentes, L.S. Ochi & R. Farias. A parallel heuristic for the Vehicle Routing Problem with Simultaneous Pickup and Delivery. Computers & Operations Research , 37(11) (2010), 1899 - 1911.
  • 21
    M.B. Teitz. Toward a theory of urban public facility location. Papers in Regional Science, 21(1) (1968), 35-51.
  • 22
    M. Yaghini, M. Momeni, M. Sarmadi & H.R. Ahadi. An efficient heuristic algorithm for the capacitated p-median problem. 4OR, 11(3) (2013), 229-248.
  • 23
    M. Yaghini, M. Momeni, M. Sarmadi & H.R. Ahadi. A hybrid metaheuristic approach for the capacitated p-median problem. Applied Soft Computing, 13(9) (2013), 3922-3930.

Datas de Publicação

  • Publicação nesta coleção
    06 Set 2021
  • Data do Fascículo
    Jul-Sep 2021

Histórico

  • Recebido
    22 Fev 2020
  • Aceito
    01 Mar 2021
Sociedade Brasileira de Matemática Aplicada e Computacional - SBMAC Rua Maestro João Seppe, nº. 900, 16º. andar - Sala 163, Cep: 13561-120 - SP / São Carlos - Brasil, +55 (16) 3412-9752 - São Carlos - SP - Brazil
E-mail: sbmac@sbmac.org.br