• Nenhum resultado encontrado

UM ALGORITMO SIMULATED ANNEALING PARA RESOLUÇÃO DO TEAM ORIENTEERING PROBLEM

N/A
N/A
Protected

Academic year: 2021

Share "UM ALGORITMO SIMULATED ANNEALING PARA RESOLUÇÃO DO TEAM ORIENTEERING PROBLEM"

Copied!
13
0
0

Texto

(1)

TEAM ORIENTEERING PROBLEM

Pollyana Ribeiro Rocha (CEFET) pollyana.rr@gmail.com Francisco Henrique de Freitas Viana (CEFET) henrique.viana@gmail.com

Este estudo apresenta uma abordagem baseada na metaheurística Simulated Annealing (SA) para resolver o Team Orienteering Problem (TOP). Tal problema consiste em um conjunto de potenciais clientes associados a lucros, com uma frota de veículos disponíveis. Dadas as distâncias entre todos os pares de clientes, o objetivo é encontrar o subconjunto de clientes para os quais o lucro arrecadado é máximo e determinar a sequência de visitação em cada rota, respeitando a restrição da duração total da viagem. Todas as rotas iniciam no depósito inicial e terminam no depósito final. Como este é um problema NP-hard, um algoritmo baseado na metaheurística Simulated Annealing é proposto para resolver o TOP. Com o intuito de avaliar esse algoritmo, experimentos computacionais foram realizados e os resultados indicam que a heurística proposta é eficaz em relação às soluções de outras abordagens na literatura.

Palavras-chave: Simulated Annealing, Team Orienteering Problem, Metaheurística.

(2)

2 1. Introdução

O Team Orienteering Problem (TOP) é considerado uma variante do Problema do Caixeiro-viajante. Este último consiste em um único veículo que visita um conjunto de clientes e o objetivo é minimizar a distância percorrida permutando a ordem dos clientes atendidos. No TOP, por sua vez, há múltiplos veículos disponíveis para visitar os clientes, dentro de um determinado limite de tempo. Um conjunto de potenciais clientes está disponível, e a cada um está associado um lucro que os torna mais ou menos rentáveis. O lucro obtido pela visita a um cliente pode ser recolhido apenas por um veículo. E o objetivo é identificar o conjunto clientes e a ordem de visita que maximiza o lucro total coletado, satisfazendo a duração máxima permitida para as rotas.

Butt e Cavalier (1994) foram os primeiros a conceituar o TOP em um artigo sob o nome

Multiple Tour Maximum Collection Problem. Depois, Chao, Golden e Wasil (1996)

introduziram o termo TOP que foi difundido e recebeu muitas abordagens heurísticas eficientes para ser resolvido (Butt e Cavalier, de 1994; Tang e Miller-Hooks, 2005; Archetti et al, 2007;. Ke et al, 2008;.. Vansteenwegen et al, 2009a; Bouly et ai, 2010;.. Souffriau et al, 2010). Atualmente, podemos ver esse problema aplicado na gestão logística e em companhias que oferecem serviços de transporte. Em diversos casos, não é possível atender todos os clientes devido às restrições impostas, tais como o tempo máximo para o percurso e a insuficiência do número de veículos. Dessa forma, o transportador tem que alocar um conjunto de potenciais clientes para uma rota de veículos em uma sequência que maximize o lucro arrecadado e/ou reduza a distância percorrida, sempre satisfazendo as restrições operacionais.

Esse algoritmo pode ser aplicado para resolver problemas em companhias que oferecem serviços de transporte. O processo de identificar a melhor cadeia de suprimentos para transportar e posicionar estoques consiste em ponderar entre o menor custo possível e os benefícios relacionados a tempo e a distância. Além de reduzir custos, uma logística eficiente possibilita o aproveitamento e a exploração de mercados mais distantes e gera satisfação ao

(3)

3

cliente potencializando a importância estratégica da logística. Isto é válido para empresas e países, visto que propicia vantagens competitivas imprescindíveis na conquista de mercados e o consequente desenvolvimento do país.

Muitas vezes, a solução desses problemas é dada pela intuição dos membros da empresa devido à falta de softwares disponíveis no mercado. Tais soluções podem não ser ideais, o que causa perda de produtividade e aumento de custos. Por isso, avaliar o desempenho dessas soluções para fazer ajustes, quando necessário, é de suma importância para tornar a empresa competitiva.

Neste trabalho, propõe-se projetar e desenvolver um novo algoritmo baseado na metaheurística Simulated Annealing (SA) que pode produzir soluções de alta qualidade para o TOP. Simulated Annealing foi selecionada considerando que é muito eficaz na resolução de problemas de otimização combinatória e utiliza poucos parâmetros de controle, comparado com as outras metaheurísticas. Através do algoritmo construído, obtivemos resultados competitivos, confirmando a eficácia desta metaheurística. O algoritmo proposto foi codificado em linguagem Java e os resultados foram comparados com os obtidos pelo método exato.

O restante deste artigo está organizado da seguinte forma. A Seção 2 formaliza o TOP e apresenta a formulação matemática proposta para a solução do problema apresentado. Os principais componentes e mecanismos algorítmicos da metaheurística SA propostos são descritas em detalhes na seção 3. A Seção 4 descreve e discute detalhadamente a experiência computacional em um grande conjunto de instâncias padrão com o intuito de verificar o desempenho do modelo proposto. Por fim, algumas conclusões são tiradas e direções para futuras pesquisas são feitas na Seção 5.

2. Modelo matemático

O Team Orienteering Problem apresenta um conjunto N de n locais cada um com um prêmio

(4)

4

começar pelo depósito e terminar na posição ,

representa um cliente potencial associado a um lucro não negativo. O tempo necessário

para viajar de um cliente para um cliente é conhecido antecipadamente para cada par de

locais de e ( e é simétrico, ou seja, , satisfazendo a desigualdade do triângulo.

Cada local pode ser visitado no máximo uma vez por um exatamente veículo. Nem todos os locais podem ser visitados, uma vez que o tempo de operação de um veículo é limitado por

um tempo máximo .

Devido à duração da rota, não é possível servir todos os clientes. Assim, o conjunto N pode ser dividido em dois subconjuntos disjuntos; o conjunto de clientes servidos Ns, e o conjunto de clientes não servidos Nn. O objetivo é determinar o conjunto Ns juntamente com as correspondentes sequências de visita enquanto satisfaz, para cada veículo, um limite de tempo para a duração do percurso. Baseado nessa descrição, definimos as seguintes variáveis

de decisão:

= 1 se, na rota m, uma visita ao local i é seguido por uma visita ao local j, 0 caso

contrário;

= 1 se o local i é visitado na rota k, 0 caso contrário;

(5)

5 Sujeito a (1) (2) (3) (4) (5) (6)

A função objetivo maximiza o lucro total recolhido de todas as rotas. A restrição (1) impõe que todos as rotas devem começar a partir da localização 1 e terminar na localização n. A restrição (2) mantém a conectividade de cada rota. A restrição (3) garante que cada local é visitado no máximo uma vez. A restrição (4) assegura que a limitação de tempo de cada excursão não é violada. A restrição (5) exclui as subrotas. Finalmente, a restrição (6) especifica que as variáveis são binárias.

3. Algoritmo proposto para a solução do TOP

Nesta seção, apresentamos os procedimentos de solução para o TOP. O algoritmo proposto é baseado na metaheurística Simulated Annealing. Esta metaheurística está baseada em busca

(6)

6

local e se fundamenta numa metáfora de um resfriamento de um metal inicialmente a uma temperatura T até que se solidifique.

De forma semelhante, o algoritmo do SA inicia com uma variável T (temperatura, por analogia) e uma solução inicial qualquer. A cada interação, o valor de T é decrementado e uma nova solução é gerada aleatoriamente a partir da vizinhança da solução corrente. Se o valor da função objetivo dessa nova solução for maior do que o da solução corrente, esta solução é então substituída pela nova solução. E o processo é repetido a partir da nova solução corrente.

Uma das principais vantagens deste algoritmo é a sua capacidade de não ficar preso em um ótimo local devido ao fato de permitir aceitar, com pequena probabilidade, soluções piores que a solução corrente durante suas iterações. Para calcular essa probabilidade definimos a

função dada por onde ∆ é a diferença entre os valores da função objetivo da

solução corrente e da nova solução.

3.1. Ilustração da representação de uma solução

Seja i = 0, 1, 2,..., n o conjunto de clientes; i = 0 representa o identificador do ponto de partida do veículo, i = n representa o identificador do depósito final e os demais identificadores representam os clientes candidatos a serem visitados por no máximo um veículo.

Uma solução é representada através de um vetor de inteiros onde as rotas estão dispostas. Nessa sequência, identificadores do depósito final são inseridos para representar o fim de uma rota e o início de outra quando possível. Note que a quantidade de identificadores do depósito final inseridos é o mesmo da quantidade m de veículos. Os identificadores de cidades inseridos depois do último identificador do depósito final correspondem às cidades que não

foram visitadas. Assim, o vetor solução possui posições.

A Tabela 1 mostra uma pequena instância do TOP com os depósitos inicial e final e dezenove potenciais clientes que podem ser visitados por três veículos e o tempo limite (Tmax) para cada percurso é 11.7. A localização (X, Y) e os prêmios (P) recebidos quando um veículo

(7)

7

visita um cliente estão listados na tabela. Uma solução para este exemplo é mostrado, Fig. 1, em que três identificadores do depósito final são introduzidos para representar o fim de cada rota. Uma ilustração da solução encontrada para esta instância é dada na Fig. 2.

Neste exemplo, os veículos partem do depósito inicial 0. Na primeira rota, o primeiro cliente é o 5 e, em seguida, 1 e 11. Como nenhum outro cliente pode ser visitado sem violar o limite de tempo, o veículo segue para o depósito final 20. A segunda rota começa com a visita ao cliente 10, seguido por 8, 9, 13. Depois de terminar o serviço ao cliente 13, este veículo seguirá para o depósito final 20 devido à restrição de tempo máximo para cada rota. A ordem de visita na segunda rota é 6, 7, 12 e 20. Os clientes 4, 2, 3, 14, 15, 16, 17, 18, 19 não podem ser atendidos por causa do limite de tempo. Somando os prêmios recebidos pela visita aos clientes, o prêmio total arrecadado é de 165.

Tabela 1 – Exemplo de instância

Identificador do ponto X Y P 0 4.600 7.100 0 1 5.700 11.400 20 2 4.400 12.300 20 3 2.800 14.300 30 4 3.200 10.300 15 5 3.500 9.800 15 6 4.400 8.400 10 7 7.800 11.000 20 8 8.800 9.800 20 9 7.700 8.200 20 10 6.300 7.900 15 11 5.400 8.200 10 12 5.800 6.800 10 13 6.700 5.800 25 14 13.800 13.100 40 15 14.100 14.200 40 16 11.200 13.600 30 17 9.700 16.400 30

(8)

8

18 9.500 18.800 50

19 4.700 16.800 30

Figura 1 - Um exemplo de representação da solução

0 5 1 11 20 10 8 9 13 20 6 7 12 20 4 2 3 14 15 16 17 18 19

Figura 2 - Ilustração visual da solução do exemplo dado na Fig. 1

3.2. Solução inicial

O método proposto para gerar a solução inicial é o método construtivo da metaheurística

GRASP. A solução inicial é obtida em um processo no qual se calcula a contribuição de

(9)

9

se o cliente i for visitado e é a distância entre o último cliente j visitado na rota k e o

cliente i. Os valores são postos em ordem crescente no vetor . Deste vetor, obtemos

e o máximo e o mínimo valor encontrado em , respectivamente.

Em seguida, a lista restrita de candidatos é construída. Um candidato é posto

na se , em que . O parâmetro α define o

quão guloso ou aleatório é o método da construção da solução inicial. Dessa lista, um candidato é selecionado de forma aleatória e inserido na solução parcial. O tempo da rota onde este candidato foi inserido é calculado e se for maior que o tempo máximo estipulado, a ação é desfeita, ou seja, o ponto adicionado é retirado.

Esse processo é repetido até atingir um parâmetro dado. No caso, este parâmetro é dado pela soma do tempo máximo mais cinco.

O pseudocódigo 1 mostra o método de construção da solução inicial.

(10)

10 3.3. O procedimento do Simulated Annealing

A metaheurística do Simulated Annealing proposta requer cinco parâmetros , , e .

denota o número de iterações na temperatura, é um coeficiente utilizado para controlar

a velocidade da progressão do resfriamento e e as temperaturas inicial e final,

respectivamente.

No início, a temperatura atual T é definida como e uma solução inicial é gerada da

forma como foi mencionada na subseção anterior. A melhor solução e o melhor valor da

função objetivo obtidos até o momento são definidos como X e F(X), respectivamente.

Em cada iteração, uma nova solução é gerada a partir da vizinhança da solução corrente ,

o valor da função objetivo é calculado e o valor é testado, onde temos as

seguintes situações:

 ∆ ≤ 0: implica que a nova solução é melhor que a corrente . passa a ser a nova

solução corrente;

 ∆ > 0: implica que a nova solução é pior do que a corrente . Neste caso, a solução

será aceita se , onde é um valor gerado aleatoriamente.

A temperatura atual T é decrementada após a execução da interação utilizando a fórmula

, . Após cada redução de temperatura, um processo de busca local é usado

para aprimorar .

Sobre a solução , realizam-se então os movimentos de inserção e de troca. O movimento de

inserção é feito sorteando aleatoriamente uma localização não contida na e, em seguida,

(11)

11

aleatoriamente dois locais de e então permutá-los. Após esses movimentos, o tempo de

cada rota deve ser recalculado. Se o tempo de uma das rotas for superior ao tempo máximo, os movimentos devem ser desfeitos. Deste modo, um local que não foi selecionado na solução original pode tornar-se um local selecionado após um movimento.

Este processo é repetido até . Então a melhor solução para o TOP é derivada a partir de

.

4. As experiências computacionais

O algoritmo SA proposto foi codificado em linguagem Java e executado em um computador pessoal com um processador Intel Pentium de 2,13 GHz. Para avaliar o desempenho desse algoritmo, várias experiências computacionais foram realizadas, utilizando o conjunto de 320 instâncias publicadas por Chao, Golden e Wasil (1996).

Este conjunto está organizado em sete subconjuntos. O nome da instância é anotado como pa.bc, onde a representa o subconjunto que a instância pertence, b é o número de veículos, que varia de 2 a 4, e c é um rótulo que distingue entre instâncias de um mesmo subconjunto de problemas com o mesmo número de rotas. Para cada subconjunto, o número de vértices n não varia, sendo: n = 32 no conjunto 1, n = 21 no subconjunto 2, n = 33 no subconjunto 3, n = 100 no subconjunto 4, n = 66 no subconjunto 5, n = 64, no subconjunto 6 e n = 102 no subconjunto 7. Instâncias pertencentes ao mesmo subconjunto diferenciam-se pelo tempo máximo tmax e pela dimensão da frota de veículos.

A média dos erros percentuais para resultados encontrados pelo algoritmo proposto quando comparados aos resultados exatos estão listados na tabela 2.

Tabela 2 – Média dos erros percentuais

Subconjunto Média dos erros percentuais

1 9,780%

2 2,799%

(12)

12

4 24,533%

5 16,288%

6 9,332%

7 13,069%

O Simulated Annealing proposto produz boas soluções para TOP dentro de um tempo computacional razoável que no pior dos casos requer menos de 25 minutos. O tempo de execução depende de uma variedade de fatores, tais como a CPU das máquinas, o sistema operativo, o compilador, o programa de computador e a precisão usada durante a execução. Portanto, a eficiência percentual do algoritmo é difícil de determinar.

5. Conclusões

Este artigo apresenta uma versão do Simulated Annealing para resolver o Team Orienteering

Problem, um problema de otimização combinatória NP-HARD.

O algoritmo proposto foi codificado em linguagem Java e, para avaliar o desempenho do mesmo, foi comparado com resultados computacionais de outros algoritmos da literatura. Apesar da capacidade de produzir boas soluções dentro de um período de tempo razoável, o método apresentado requer aprimoramentos para se tornar mais competitivo.

Por ser um método de notória aplicabilidade, pode ser empregado não só em futuras pesquisas como também na solução de problemas cotidianos no setor de gestão logística empresarial. Existem várias possíveis direções futuras para esta pesquisa. Uma dessas possibilidades é a adaptação do algoritmo para resolver outras variantes do Orienteering Problem, como por exemplo, o Capacitated Team Orienteering Problem (CTOP), que considera a capacidade do veículo, e o Team Orienteering Problem With Time Windows (TOPTW), onde cada cliente está associado a uma janela de tempo para ser visitado. Sobretudo, o método precisa ser aprimorado.

(13)

13 REFERÊNCIAS

Archetti, C., Hertz, A., & Speranza, M. G. (2007). Metaheuristics for the team orienteering problem. Journal of

Heuristics, 13(1), 49-76.

Bouly, H., Dang, D. C., & Moukrim, A. (2010). A memetic algorithm for the team orienteering problem. 4OR, 8(1), 49-70.

Butt, S.E., Cavalier, T.M. (1994), A heuristic for the multiple tour maximum collection problem, Computers

and Operations Research 21, 101-111.

Chao, I-M., Golden, B., Wasil, E.A. (1996), The team orienteering problem, European Journal of Operational

Research 88, 464-474.

Ke, L., Archetti, C., & Feng, Z. (2008). Ants can solve the team orienteering problem. Computers & Industrial

Engineering, 54(3), 648-665.

Lopes, S. H., Rodrigues, L. C. A., Steiner M. T. A, Meta-Heurística em Pesquisa Operacional, 22ª ed, Omnipax, Curitiba, 2013.

Souffriau, W., Vansteenwegen, P., Berghe, G. V., & Van Oudheusden, D. (2010). A path relinking approach for the team orienteering problem.Computers & Operations Research, 37(11), 1853-1859.

Tang, H., Miller-Hooks, E. (2005), A tabu search heuristic for the team orienteering problem, Computers and

Operations Research 32, 1379-1407.

Vansteenwegen, P., Souffriau, W., Berghe, G. V., & Van Oudheusden, D. (2009a). A guided local search metaheuristic for the team orienteering problem. European Journal of Operational Research, 196(1), 118-127.

Referências

Documentos relacionados

Nem o Estatuto dos Magistrados Judiciais, nem a Lei de Organização do Sistema Judiciário prevêem a existência de recurso do acórdão aprovado pela Secção do Contencioso;

Newsletter nº 13 – relativa ao 4º trimestre de 2011.. Nova estratégia para o desenvolvimento das energias renováveis na UE. Está em consulta publica até 07 de Fevereiro de

São discutidos os conhecimentos disponíveis em termos de imagem funcional pelo método na esquizofrenia, transtornos ansiosos e do humor, nas demências e nos transtornos de

Observa-se que a média da movimentação de desistentes e/ou remanejados no período 2004/2010 foi de 10%, o que a nosso ver, grosso modo se enquadram na faixa de

O genótipo portador da proteína arcelina (ARC1) mostrou-se resistente ao ataque do caruncho e os genótipos Unemat-17 e Unemat-33, diante dos resultados obtidos,

Com relação aos efeitos à saúde, com base nos dados disponibilizados pelo DATASUS, foram verificadas reduções no número total de casos de internação

3 Cell Surface Death Receptor (FAS), Fas Cell Surface Death Receptor Ligand (FASL), Fibroblast growth factor receptor 4 (FGFR4), Leptin Receptor (LEPR),

Além disso, considerando a bem estabelecida associação entre instabilidade genômica e câncer (Hanahan & Weinberg, 2011), nossos resultados sugerem que o aumento na