• Nenhum resultado encontrado

Zoneamento e Roteamento de Depósitos Auxiliares dos Correios Usando Algoritmos Genéticos

N/A
N/A
Protected

Academic year: 2021

Share "Zoneamento e Roteamento de Depósitos Auxiliares dos Correios Usando Algoritmos Genéticos"

Copied!
8
0
0

Texto

(1)

Zoneamento e Roteamento de Depósitos Auxiliares dos

Correios Usando Algoritmos Genéticos

Fabrício Rocha Rebello

Departamento de Engenharia Industrial, Pontifícia Universidade Católica do Rio de Janeiro Rua Marquês de São Vicente 225/9o andar, CEP 22453-900, Rio de Janeiro, RJ.

frebello@rdc.puc-rio.br

Resumo. Este artigo é o relatório do trabalho de final de curso da disciplina Computação Evolucionária do Departamento de Engenharia Elétrica, PUC-Rio. O objetivo é otimizar a distribuição de pacotes de correspondência do Centro de Distribuição Auxiliar de Copacabana para Depósitos Auxiliares do bairro. A técnica do Algoritmo Genético foi utilizada na resolução do problema executando a estratégia de roteamento de Zonear-Primeiro-Rotear-Depois. O algoritmo genético foi executado através do EVOLVER 4.0, uma ferramenta

add-in do software Excel.

Abstract. This study was presented for the graduation on the discipline Evolutionary Computing at the Electric Energy Department, PUC-Rio. The aim of the study is optimizing the mail distribution from the Auxiliary Distribution Center of Copacabana to Auxiliary Deposits within the area. The technique of Genetic Algorithms was used to solve the problem, applying the routing strategy as Zoning-first-Routing-Later. Genetic Algorithms were executed through EVOLVER 4.0, an add-in tool of Excel .

1. Introdução

A otimização da distribuição de pacotes de correspondência no bairro de Copacabana, Rio de Janeiro é um problema que envolve escolher a melhor rota para os veículos que fazem esta distribuição (diminuindo custos variáveis como combustível, salário dos motoristas e manutenção) utilizando o menor número possível de veículos (diminuindo o custo fixo) e respeitando certas restrições de natureza operacional do problema, como limite de carga, número de veículos e horários de entrega dos pacotes.

Para resolver este problema é usada a técnica do Algoritmo Genético hibridizada com a estratégia de resolução de problemas de roteamento de Zonear-Primeiro-Rotear-Depois.

Davis [11] mostra vários aspectos do funcionamento e projeto de Algoritmos genéticos. Bott e Ballou [5], Bodin e Golden [3] e Laporte [6] fazem um estudo sobre problemas de roteamento de veículos. Cole [7], Koskosidis e Powell [4] e Aldenderfer

(2)

e Blashfield [8] versam sobre problemas de agrupamento de elementos. Schimitt e Amini [9], Poon e Carter [10] e Potvin [1] fazem um estudo sobre Algoritmos genéticos aplicados a problemas de roteamento.

O tópico 1 deste trabalho faz uma pequena introdução ao artigo. O tópico 2 faz uma descrição do problema abordado. O tópico 3 mostra a solução utilizada para resolver o problema. O tópico 4 mostra os resultados obtidos e o tópico 5 mostra as conclusões a respeito do trabalho.

2. Descrição do Problema

A correspondência do bairro de Copacabana é distribuída pelos carteiros dos Correios a partir do Centro de Distribuição Domiciliar (CDD). Cada um dos 58 carteiros possuem uma rota definida para que todas as ruas sejam percorridas por algum deles. A carga que cada carteiro deve entregar ultrapassa o limite de peso que eles podem carregar, estipulado por lei em 15 kg. O restante da correspondência é levado em pacotes de correspondência do CDD para Depósitos Auxiliares (DA’s) espalhados ao longo das rotas dos carteiros, onde estes passam para pegar mais cartas e continuar a entrega sem que seja preciso voltar até o CDD. Existe um total de 93 DA’s. Os pacotes são levados aos DA’s por veículos dos Correios.

Cada DA possui uma demanda di por pacotes (dada em quilos) que é a soma dos pesos dos pacotes de correspondência dos carteiros que se reabastecem naquele DA. Um pacote de correspondência são as cartas que o carteiro deve entregar na sua rota mas que ultrapassaram o limite de peso que ele pode carregar.

A demanda de cada DA e número de DA’s usados varia de acordo com a quantidade de correspondência que deve ser entregue no dia. Em dias de muita correspondência, o carteiro pode usar vários DA’s ao longo de sua rota. Em dias de pouca correspondência, um número menor de DA’s pode ser necessário.

Fazer a entrega das correspondências no mesmo dia em que elas chegam ao CDD é uma das principais preocupações dos Correios quanto a qualidade dos serviços prestados. Para isto é necessário aproveitar ao máximo o tempo de trabalho dos carteiros, apontado como o recurso crítico para entrega das correspondências. Deve-se evitar que eles fiquem ociosos, esperando que um pacote de correspondência chegue ao DA para continuarem a entrega. Por isto cada DA possui uma Janela de Tempo (JT) indicando o horário máximo em que o veículo devem entregar os pacote no DA. Uma JT será o tempo máximo que o veículo de entrega deve passar pelo DA sem fazer com que o primeiro carteiro que se abastece nele fique esperando.

O número de veículos e a capacidade de carga de cada um são limitados. Um veículo não pode carregar mais carga do que sua capacidade e os veículos podem ter capacidades diferentes. Atualmente os Correios trabalham com 4 veículos idênticos com capacidade de carga de 1500 kg cada um.

O problema de otimizar a entrega dos pacotes de correspondência do CDD para os DA’s envolve associar cada DA a um veículo e projetar as rotas dos veículos de modo minimizar a distância total percorrida, atendendo todos os DA’s e respeitando as restrições impostas (capacidade de carga dos veículos e horários de atendimento). A

(3)

otimização deve buscar ainda utilizar o menor número possível de veículos, já que isto significa economia com combustível, salários, manutenção, etc.

Na literatura de pesquisa operacional, este tipo de problema é conhecido como Problema do Cacheiro Viajante (PCV). Segundo Potvin [1], PCV é um problema clássico de otimização combinatorial, simples de descrever mas muito difícil de resolver. Ele consiste em achar a menor rota por um conjunto de N vértices de tal forma que cada vértice é visitado exatamente uma vez. Este problema é conhecido como NP-Difícil, e não pode ser resolvido em tempo polinomial.

Em visita ao CDD de Copacabana foi constatada a dificuldade e até impossibilidade de se conseguir vários dados reais. Não existia uma matriz de menor distância entre os pontos (DA’s e CDD); as demandas por cartas estavam separadas por carteiro e não por DA’s; as janela de tempo não existiam; não se sabia as velocidades dos carteiros e dos veículos.

3. Descrição da Solução

Uma técnica eficiente para resolver problemas deste tipo é o método do Algoritmo Genético ou AG. Segundo Ventakachalam [2] AG’s são técnicas de busca baseadas nos mecanismos de genética e seleção natural. Eles têm sido aplicados com sucesso a uma ampla variedade de problemas de otimização que seriam difíceis de resolver usando técnicas convencionais. O AG não garante encontrar soluções ótimas, mas quanto bem projetado encontra soluções perto da ótima e as vezes a própria solução ótima.

Em um AG, uma população inicial de indivíduos ou cromossomas é gerada, cada um codificando uma solução para o problema. Cada indivíduo recebe uma probabilidade de ser escolhido como genitor na próxima geração proporcional à uma avaliação de quão boa é a solução que ele codifica.

Com estas probabilidades, é feito um sorteio onde os indivíduos que codificam melhores soluções tem mais chances de serem escolhidos. Os indivíduos sorteados são “cruzados” através do operador genético de crossover na esperança de pegar as características boas de dois indivíduos pais e gerar um indivíduo filho possivelmente melhor. São feitos cruzamentos até que seja gerada uma nova população de indivíduos que substitui a população antiga. O AG é interrompido quando uma condição de parada é alcançada (número de gerações de indivíduos ou solução ótima). Uma maneira de melhorar as chances do AG obter bons resultados é fazer uma hibridização, utilizando outros métodos utilizados para resolver o problema. Uma estratégia utilizada para o TSP é a estratégia Zonear-Primeiro-Rotear-Depois (ZPRD). Este procedimento primeiro agrupa nodos e/ou arcos de demanda e então projeta rotas econômicas em cada grupo como segundo passo [3]. O particionamento é feito de modo a maximizar a homogeneidade dos pontos dentro de um grupo e, ao mesmo tempo, a heterogeneidade dos pontos entre grupos [4].

A execução do AG será feita pelo software EVOLVER 4.0, uma ferramenta add-in do MSExcell que possui algumas facilidades para o projeto de AG’s, como modelos de AG’s, funções e operadores pré-definidos.

(4)

Para o bom desempenho de um AG, é necessário escolher algumas variante de projeto, como tipo da representação e dos operadores genéticos usados (mutação e crossover) e configurar alguns parâmetros (como tamanho da população, taxas de aplicação dos operadores e número de gerações). Algumas configurações foram escolhidas de acordo com as opções oferecidas pelo EVOLVER.

A representação utilizada para codificar as soluções deve ser escolhida de tal forma que armazene as características importantes do problema e facilite a aplicação dos operadores genéticos.

Como o problema envolve zoneamento e roteamento de veículos, o cromossoma utilizado deve ser capaz de armazenas ambas informações. A representação escolhida será um vetor de n inteiros, n = número de DA’s. A decodificação do cromossoma tem duas partes: uma para definir as rotas e outra para definir os cluster’s.

3.1. Decodificação das rotas

Na decodificação das rotas, a seqüência em que os DA’s serão visitados é a mesma seqüência em que eles aparecem no cromossoma. Se um indivíduo é representado pelo cromossoma c1 = (10,4,5,47,12,59,26,3,30,…) e ficou definido que o veículo v1

vai atender os 6 primeiros DA’s (4,5,10,12,47,59), a rota de v1 será r1 =

(10,4,5,47,12,59). Como os veículos sempre começam e terminam a rota no CDD, a distância percorrida por v1 será (DIST_CDD_10 + DIST_10_4 + … + DIST_12_59 +

DIST_59_CDD).

3.2. Decodificação dos cluster’s

Na decodificação dos cluster’s, o primeiro veículo atende aos DA’s na ordem em que estes estão no cromossoma. O próximo veículo começa a ser usado quando o veículo atual infringe a restrição de capacidade de carga ou a restrição de Janela de Tempo.

3.2.1. Restrição de capacidade de carga

Na restrição de capacidade de carga, a demanda de cada DA atendido pelo veículo é somada à sua carga atual. Quando a demanda do próximo DA for muito grande para ser atendida pelo veículo atual, o próximo veículo começa a ser usado e continua atendendo aos demais DA’s do cromossoma.

3.2.2. Restrição de Janela de Tempo

Na restrição de Janela de Tempo, o tempo de viagem para ir do último DA atendido até o próximo DA é somado ao tempo de viagem acumulado do veículo. Se esta soma não exceder a JT do próximo DA, ele é atendido pelo veículo atual. Se exceder, o próximo DA é atendido pelo veículo que causar menor atraso no atendimento: o veículo atual ou o próximo veículo, que começará sua rota partindo do CDD. O tempo de viagem entre dois pontos é dado pela distância entre eles dividido pela velocidade do veículo.

(5)

Alguns cromossomas podem apresentar seqüências nas quais alguns DA’s são atendidos com atraso e/ou não são atendidos, o que não interessa a solução do problema. Nestes casos aplica-se uma penalidade. Para cada DA atendido com atraso, a penalidade é o atraso em horas multiplicado pela velocidade do veículo. Para cada DA não é atendido, a penalidade é a JT do DA em horas multiplicado pela velocidade do veículo. Em ambos os caso, a penalidade é dada em km.

A avaliação de um comossoma é a soma das distância percorrida por cada veículo nas suas rotas mais as penalidade de atraso e não atendimento. Como as penalidades são dadas em km, podem ser somadas à distância percorrida sem problema. A figura 1 mostra um exemplo de decodificação de indivíduo em que ocorre atendimento com atraso e não atendimento de um DA.

Na configuração do AG através do EVOLVER, o tipo de otimização é a minimização do valor da avaliação dos cromossomas. Foram utilizados o crossover de ordem com taxa de 0,65 e a mutação automática, opções padrões do EVOLVER. A população inicial é gerada aleatoriamente com 40 indivíduos e a condição de parada é a geração de 200 indivíduos no total (5 gerações de indivíduos).

Fig. 1. Exemplo de decodificação de um cromossoma onde ocorre um DA sendo atendido com atraso e um DA não sendo atendido. Em ambos os casos é aplicada uma penalidade.

4. Resultados

Devido a falta de alguns dados reais como matriz de distância e janelas de tempo, foram criados 3 problemas baseados nos dados obtidos e na percepção do problema. Isto permitiu testar o funcionamento do AG para uma situação parecida com a real. Nos problemas criados a velocidade dos veículos foi estipulada em 20 km/h, a dos carteiros em 1,5 km/h e a demanda dos DA’s foi imposta com base em dados reais.

4.1. Problema número 1

Foi criada uma matriz de distâncias não-simétricas com 9 DA’s e um CDD. As JT’s foram todas impostas em 1 hora. Existem Estão disponíveis 3 veículos com

d3 = 5 kg

Veículo v1 não cabe mais

esta demanda. Começa a usar v2 Veículo v1 Atende DA's (1,9,2,10) capac. v1 = 50kg carga v1 = 48 kg v2 chega atrasado em DA 8 Tv3_DCC_8=1,8 hs Atraso=0,1 hs

v3 gera menor atraso em DA 8

Começa a usar v3. Aplica penal. Veículo v2

Atende DA's (3,5,4) Tacum_v2=1,5 hs T4_8=0,4 hs JT8=1,7 hs Atraso=0,2 hs

d7=15 kg v3 não cabe demanda

Não tem mais veículos, DA 7 não atendido. Aplica penal.

Veículo v3 Atende DA's (8,6) capac. v3 100kg carga v3 = 90 kg c1=(1,9,2,10,3,5,4,8,6,7) Trials 0 50 100 150

(6)

capacidade de 50 kg. A solução inicial para começar a execução do AG era visitar os DA’s na seqüência de 1 a 9, onde 1 DA era atendido com atraso e 1 DA não era atendido. A distância percorrida era de 88 km e a penalidade era de 25 km. Após a primeira execução, o AG encontrou uma solução que atendia todos os DA’s sem atraso com distância de 60 km.

Fig. 2. Avaliação do melhor indivíduo (linha de baixo) e da média da população para

a primeira execução do problema 1.

4.2. Problema número 2

Foi gerada uma matriz de distâncias simétricas a partir de 25 pontos aleatórios (24 DA’s e 1 CDD). As janelas de tempo foram todas impostas em 1 hora. Existem 4 veículos com capacidade de 100 kg. A solução inicial para começar a execução do AG era visitar os DA’s na seqüência de 1 a 24, onde 5 DA’s eram atendidos com atraso e 7 DA’s não eram atendidos. A distância percorrida era de 108 km e a penalidade era de 190 km. Após 2 execuções, o AG encontrou uma solução que atendia todos os DA’s sem atraso percorrendo uma distância de 87 km.

Fig. 3. Avaliação do melhor indivíduo (linha de baixo) e da média da população para

a primeira execução do problema 2

4.3. Problema número 3

Os dados são idênticos ao problema número 2 com exceção das JT. Neste problema, os carteiros possuem rotas de passagem pelos DA’s. A JT de um DA será o tempo que o primeiro carteiro que passa por aquele DA leva para chegar até ele. A solução inicial para começar a execução do AG era visitar os DA’s na seqüência de 1 a 24, onde 1 Da não era atendido. A distância percorrida era de 143 km e a penalidade era de 46 km. Após a primeira execução, o AG encontrou uma solução que atendia todos os DA’s sem atraso percorrendo uma distância de 76 km. Na segunda execução, a

Trials 100 150 200 250 300 Trials 0 50 100 150 200 250

(7)

distância percorrida caiu para 71 km.

Fig. 4. Avaliação do melhor indivíduo (linha de baixo) e da média da população para

a primeira execução do problema 3

5. Conclusão

Neste trabalho foi possível confirmar a robustez do método de Algoritmos Genéticos na resolução de problemas complexos. O método conseguiu encontrar boas soluções para os problemas testados, apesar do número de pontos a serem agrupados e roteados e das restrições de carga e Janelas de Tempo impostas.

A representação usada e sua decodificação mostraram-se eficientes para problemas de zoneamento e roteamento, conseguindo armazenar de maneira simples dados quanto aos cluster’s e quanto às suas rotas. As configurações usadas foram satisfatórias para os problemas testados.

A ferramenta usada para a execução, o EVOLVER 4.0 apresentou facilidade de uso e configuração, mas mostrou-se limitada já que certas opções, como outros tipos de crossover de ordem e métodos de troca de população, não são disponíveis. O EVOLVER é uma boa ferramenta para testes, mas com execução lenta para ser usada em problemas reais.

A falta de dados reais impossibilitou o teste do Algoritmos Genético em problemas mais realistas, mas com base nos problemas testados, espera-se um desempenho igualmente bom se executado com dados concretos.

Bibliografia

1. Potvin, Jean-Yves: Genetic Algorithms for the Traveling Salesman Problem. Annals of Operations Research. Vol 1 (1996) 339-370;

2. Ventakachalam, A. R.: An Analysis of an Embedded Crossover Scheme on a GA-Hard Problem. Computers and Operations Research. Vol 22 n. 1 (1995) 149-157;

3. Bodin, L. and Golden, B.: Classification in Vehicle Routing and Scheduling. Networks. Vol 11 (1981) 97-108;

4. Koskosidis, Y. A. and Powel, W. B.: Clustering Algorithms for Consolidation of Customer Orders into Vehicle Shipments. Transport Research. Vol 26B n. 5 (1992) 365-379;

5. Bott, K. and Ballou, R. H.: Research Perspectives in Vehicle Routing and Scheduling. Transport Research. Vol 20A n. 3 (1986) 239-243;

6. Laporte, G.: The Traveling Salesman Problem: an Overview of Exact and Approximate Algorithms. European Journal of Operations Research. Vol 59 North Holland (1992) 231-247;

7. Cole, R. M.: Clustering with Genetic Algorithms. Dissertação de mestrado. Department of Computer Science of the University of Western Australia. (1998);

8. Aldenderfer, M. S. and Blashfield, R. K.: Cluster Analysis. Sage Publications Bervely Hills (1984);

9. Schimitt, L. J. and Amini, M. M.: Performance Characteristics of Alternative Genetic Algorithmic Approaches to the Traveling Salesman Problem Using Path Representation: an Empirical Study. European Journal of Operational Research. Vol 108 (1998) 551-570;

(8)

10. Poon, P. W. and Carter, J. N.: Genetic Algorithm Crossover Operators for Ordering Applications. Computers and Operations Research. Vol 22 n. 1 Elsevier Science Ltd. Great Britain (1995) 135-147;

Referências

Documentos relacionados

(2009) sobre motivação e reconhecimento do trabalho docente. A fim de tratarmos de todas as questões que surgiram ao longo do trabalho, sintetizamos, a seguir, os objetivos de cada

Essa modalidade consiste em um “estudo profundo e exaustivo de um ou de poucos objetos, com contornos claramente definidos, permitindo seu amplo e detalhado

Declaro que fiz a correção linguística de Português da dissertação de Romualdo Portella Neto, intitulada A Percepção dos Gestores sobre a Gestão de Resíduos da Suinocultura:

dois gestores, pelo fato deles serem os mais indicados para avaliarem administrativamente a articulação entre o ensino médio e a educação profissional, bem como a estruturação

Esta pesquisa discorre de uma situação pontual recorrente de um processo produtivo, onde se verifica as técnicas padronizadas e estudo dos indicadores em uma observação sistêmica

O petróleo existe na Terra há milhões de anos e, sob diferentes formas físicas, tem sido utilizado em diferentes aplicações desde que o homem existe. Pela sua importância, este

As análises serão aplicadas em chapas de aços de alta resistência (22MnB5) de 1 mm de espessura e não esperados são a realização de um mapeamento do processo

No capítulo 1 são clarificados conceitos-chave essenciais à contextualização do estudo efectuado, destacando autores como Conceição Lopes, John Thompson, Mcluhan, Sara Pereira e