Acessibilidade / Reportar erro

Um estudo de impactos do roteamento dinâmico de veículos em atividades de prestação de serviço

A study of impacts of dynamic vehicle routing on services production activities

Resumos

Neste trabalho, é analisado o impacto da utilização de métodos de roteamento dinâmico de veículos em ambientes de prestação de serviço, onde a satisfação dos prazos de atendimento do cliente é prioritária. Com esse objetivo, é proposta uma heurística construtiva/desconstrutiva, que, quando acionada por um módulo de despacho de veículos, elabora rotas em tempo real. O impacto da aplicação da heurística é medido frente a outros métodos, utilizando- se conjuntos de instâncias geradas aleatoriamente, com base em dados fornecidos por uma empresa do setor de bebidas do interior do Estado de São Paulo. Os resultados indicam benefícios substanciais em termos de nível de serviço oferecido.

Roteamento de veículos dinâmico; Otimização combinatória; Métodos heurísticos


In this paper we evaluate the impacts resulting from the incorporation of dynamic vehicle routing and scheduling in service production systems where due dates for service are a priority issue. We propose a constructive/deconstructive heuristic, which is activated by a dispatcher module in order to obtain routes in real time. The relative impact of the heuristic application to other methods is analyzed by means of sets of randomly generated instances, based on the data supplied by a drinks company in São Paulo State. The results indicate significant gains in terms of service level.

Dynamic vehicle routing; Combinatorial optimization; Heuristics


Um estudo de impactos do roteamento dinâmico de veículos em atividades de prestação de serviço

A study of impacts of dynamic vehicle routing on services production activities

Vitória PurezaI, Daniel França LazarinII

Ivpureza@dep.ufscar.br, UFSCar, São Carlos, SP, Brasil

IIdanielflazarin@yahoo.com.br, UFSCar, Brasil

RESUMO

Neste trabalho, é analisado o impacto da utilização de métodos de roteamento dinâmico de veículos em ambientes de prestação de serviço, onde a satisfação dos prazos de atendimento do cliente é prioritária. Com esse objetivo, é proposta uma heurística construtiva/desconstrutiva, que, quando acionada por um módulo de despacho de veículos, elabora rotas em tempo real. O impacto da aplicação da heurística é medido frente a outros métodos, utilizando- se conjuntos de instâncias geradas aleatoriamente, com base em dados fornecidos por uma empresa do setor de bebidas do interior do Estado de São Paulo. Os resultados indicam benefícios substanciais em termos de nível de serviço oferecido.

Palavras- chave: Roteamento de veículos dinâmico. Otimização combinatória. Métodos heurísticos.

ABSTRACT

In this paper we evaluate the impacts resulting from the incorporation of dynamic vehicle routing and scheduling in service production systems where due dates for service are a priority issue. We propose a constructive/deconstructive heuristic, which is activated by a dispatcher module in order to obtain routes in real time. The relative impact of the heuristic application to other methods is analyzed by means of sets of randomly generated instances, based on the data supplied by a drinks company in São Paulo State. The results indicate significant gains in terms of service level.

Keywords: Dynamic vehicle routing. Combinatorial optimization. Heuristics.

1. Introdução

Dentre os diversos componentes de sistemas logísticos citados pelo Conselho de Profissionais da Administração da Cadeia de Suprimentos (CSCMP – Council of Supply Chain Management Professionals), as atividades pertinentes ao transporte e distribuição apresentam especial relevância. Como os custos de transporte representam atualmente uma parcela significativa do preço praticado e o nível de serviço ao cliente é fundamental para manutenção de um diferencial competitivo duradouro, a busca pela eficiência na distribuição de bens ou serviços é um nicho a ser constantemente explorado. Tal eficiência pode ser obtida, dentre outros fatores, por meio de um adequado dimensionamento e planejamento de rotas para as frotas de veículos. Esta motivação levou ao surgimento e consolidação da classe de problemas de roteamento de veículos.

Em problemas de roteamento de veículos busca- se construir um conjunto de rotas de atendimento de pontos de demandas com vistas à otimização de um ou mais objetivos. Existe uma vasta literatura sobre o assunto, endereçando situações com diferentes características operacionais, tais como tipo de distribuição (coleta e/ou entrega), natureza do serviço (transporte de produtos/pessoas ou prestação de serviços), restrições de horário de visita aos clientes, limitações de capacidade dos veículos, duração máxima dos roteiros, restrições de tipos de veículos para atendimento de determinados clientes, entre várias outras. A grande maioria dos problemas de roteamento de veículos tem natureza combinatória, e é considerada de difícil resolução, o que explica os esforços de pesquisa e desenvolvimento de métodos para o seu tratamento.

Nos chamados problemas de roteamento estáticos, informações relativas aos clientes, tais como sua localização e demanda, são utilizadas para elaborar a solução antes dos veículos partirem de seus pontos de origem (GHIANI et al., 2003). O recente desenvolvimento de tecnologias de informação e comunicação vem levando as empresas a uma revisão de seus modelos de distribuição, de forma a permitir seu alinhamento às novas necessidades e mudanças globais. Avanços tecnológicos, como a troca eletrônica de dados (EDI – Electronic Data Interchange), sistemas de posicionamento global (GPS – Global Positioning Systems), sistemas de informação geográfica (GIS – Geographic Information Systems) e sistemas de transporte inteligente (IVHS – Intelligent Vehicle – Highway Systems) (PSARAFTIS, 1995), permitem explorar informações conforme sua disponibilização ao longo do tempo de operação.

Essa nova realidade incentiva o estudo de uma classe de problemas de roteamento de veículos dinâmicos, que, comparada aos problemas estáticos, é pouco explorada. Em problemas dinâmicos, as rotas podem ser alteradas durante a operação dos veículos mediante o surgimento de novas informações, tais como um veículo que quebra ou está muito atrasado, a chegada de uma nova requisição de cliente que deve ser atendida, o cancelamento de pedidos, e a alteração nos tempos e custos de trajetos. Se existe incerteza nos dados no início do horizonte de planejamento, o problema é também dito estocástico. Problemas de roteamento dinâmicos encontram aplicações em diferentes campos, tais como, na entrega de produtos de petróleo e gases industriais (BELL et al., 1983; BROWN et al., 1987), serviços de emergência (GENDREAU; LAPORTE; SEMET, 1997, 2001), serviços intermodais (CRAINIC; DEJAX; GENDREAU,1991), serviços do tipo coleta e entrega (GHIANI et al., 2009) e serviços de transporte de passageiros com necessidades especiais (MADSEN; RAVN; RYGAARD,1995).

Este trabalho busca analisar possíveis impactos decorrentes da incorporação de métodos de roteamento dinâmico de veículos em ambientes de prestação de serviço onde o aumento do nível de serviço fornecido a clientes é o objetivo prioritário. Com esse objetivo, foram elaborados um módulo de despacho dinâmico responsivo a eventos em tempo real e um algoritmo heurístico.

O restante deste artigo é organizado como se segue. A seção 2 descreve o problema geral de roteamento, e apresenta um módulo de despacho inerente a versões dinâmicas e estocásticas do problema. A seção 3 revisa as contribuições da literatura consideradas mais relevantes para os propósitos deste trabalho. A seção 4 discute a aplicação prática que motivou este estudo e a formalização de sua versão dinâmica, e na seção 5 é apresentada a heurística proposta e outros três métodos elaborados para comparação do desempenho. A seção 6 descreve os experimentos computacionais e os resultados obtidos para os conjuntos de instâncias gerados, seguida de conclusões e próximos passos da pesquisa na seção 7.

2. O problema de roteamento de veículos dinâmico

O problema de roteamento de veículos (PRV) consiste na definição de rotas de mínimo custo para uma frota de veículos a fim de satisfazer demandas por coleta ou entrega. No PRV, todos os pontos de coleta (ou de entrega) são idênticos e correspondem ao depósito central. Este trabalho considera uma versão do problema onde dados relativos a pelo menos alguns pedidos – em particular, seus próprios instantes de chegada ao sistema – não são conhecidos antes do horizonte de planejamento iniciar. Em outras palavras, o problema pode ser caracterizado como dinâmico e estocástico.

Em tal situação, a disponibilização gradual de dados torna razoável que porções das rotas originalmente planejadas e ainda não cumpridas sejam modificadas para acomodar novos pedidos e responder a outros eventos. A decisão de replanejamento de rotas na ocorrência de um novo evento pode ser vista como um problema estático a ser resolvido.

A Figura 1 ilustra a forma geral de um módulo de despacho dinâmico. Dentre os eventos considerados incluem- se a chegada de um novo pedido, a finalização de serviço em um cliente e a quebra de um veículo. Note que em todos os casos o despachante responde ao evento acionando um procedimento de replanejamento de rotas. Pedidos que chegaram ao sistema até t = 0 são planejados em conjunto no início do horizonte de planejamento.


A Figura 2a ilustra a situação de um PRV com duas rotas planejadas no início da jornada de trabalho. A Figura 2b mostra o que ocorre quando um novo pedido chega ao sistema. Note que parte das rotas foi realizada, enquanto as porções que começam na posição atual dos veículos e terminam no depósito correspondem aos roteiros planejados e ainda não realizados. Os pedidos dos roteiros planejados são, então, replanejados juntamente com o novo pedido.


Observe que a implementação de mudanças nas rotas requer a existência de uma central de comunicação que informe aos motoristas seus próximos destinos. Para que os novos pedidos possam ser atendidos no mesmo dia da solicitação, é imposto um tempo limite de solicitação de modo que requisições recebidas após esse prazo sejam consideradas para o próximo dia de operação.

3. Abordagens de resolução para problemas de roteamento estocásticos e dinâmicos

Segundo Larsen (2000), pode- se classificar as abordagens para problemas estocásticos e dinâmicos de acordo com a metodologia básica de resolução e pela maneira como as incertezas aparecem no problema. No tocante à metodologia, as abordagens podem ser categorizadas como a priori e otimização em tempo real. No primeiro caso, rotas são geradas segundo políticas de filas, e com base em informações probabilísticas de eventos futuros como localização, demandas dos clientes e/ou tempos de viagem (BERTSIMAS; JAILLET; ODONI, 1990; BERTSIMAS; SIMCHI- LEVI, 1996). Correções são aplicadas quando eventos esperados não se realizam; por exemplo, em situações de demanda estocástica que se confirmam no momento em que se inicia a execução da rota, a sequência de visitas determinada a priori é seguida, ignorando- se pontos de demanda nula.

Métodos de otimização em tempo real, por sua vez, constroem rotas durante sua realização, ou seja, enquanto os veículos estão em rota. A literatura se utiliza de modelos de programação matemática estocástica, para otimizar o valor esperado do objetivo (HVATTUM; LØKKETANGEN; LAPORTE, 2006; BERTSIMAS; van RYZIN, 1991), e de métodos heurísticos. Dentre estes últimos são propostas heurísticas de inserção (MADSEN; RAVN; RYGAARD, 1995), busca local (KILBY; PROSSER; SHAW, 1998; FLEISCHMANN; GNUTZMANN; SANDVOSS, 2004) e meta- heurísticas (GENDREAU et al., 1999; MONTEMANNI et al., 2005; GENDREAU et al., 2006). Em ambientes dinâmicos, cada execução de buscas locais e meta- heurísticas está limitada ao intervalo de tempo entre eventos consecutivos.

Abordagens heurísticas como as citadas acima se baseiam no consenso de que o planejamento de rotas não deve ser guiado somente por objetivos convencionais, como a minimização do tamanho da frota, tempo ou distância, mas que as decisões devem incluir considerações acerca da viabilidade de atendimento de pedidos futuros. Nesse sentido, alguns trabalhos consideram o reposicionamento de veículos ociosos de forma a fornecer uma boa cobertura da região (LARSEN; MADSEN; SOLOMON, 2004; ICHOUA; GENDREAU; POTVIN, 2006) e minimizar atrasos ou o número de pedidos não atendidos. Essas abordagens são, em geral, estocásticas, uma vez que normalmente requerem o conhecimento da distribuição de probabilidade de chegada de novos pedidos para determinar pontos de reposicionamento em regiões de alta demanda esperada. Várias heurísticas determinísticas, por sua vez, se apoiam em estratégias de espera que mantêm os veículos em sua localidade corrente por determinado tempo após o fim do serviço (GENDREAU et al., 1999; MITROVI'C- MINI'C; LAPORTE, 2004; BRANKE et al., 2005; PUREZA; LAPORTE, 2008). Como essas heurísticas não utilizam informações probabilísticas sobre eventos futuros, a espera de veículos permite o acúmulo de pedidos antes do próximo replanejamento de rotas, o que, por sua vez, pode resultar em melhores decisões de roteamento e programação.

4. Descrição do problema

O problema de roteamento de veículos aqui tratado é inspirado em uma situação prática de uma empresa de grande porte do setor de bebidas, localizada no interior do Estado de São Paulo. Além da produção, engarrafamento e distribuição dos produtos, a empresa estudada presta serviços de manutenção corretiva e preventiva de equipamentos que disponibilizam os produtos em pontos de venda. Cada tipo de equipamento é mantido por uma equipe específica. Em particular, o serviço de manutenção (corretiva) de geladeiras, foco deste trabalho, é descrito como se segue.

Ao longo do dia, clientes ligam para o call center da empresa, tendo seu pedido registrado por atendentes. As ordens impressas (decorrentes de pedidos recebidos até as 16 horas) são então distribuídas no dia subsequente para os quatro técnicos de manutenção responsáveis pelo equipamento. Essas ordens descrevem as especificações do pedido, como a localização do ponto de venda, número de registro do equipamento e a descrição do defeito. A política da empresa estabelece um prazo de 48 horas para o serviço a partir da colocação do pedido.

As visitas dos técnicos ocorrem de segunda a sexta- feira. Cada técnico é responsável por atender uma determinada área da região, porém a distribuição das ordens considera também o balanceamento da carga de trabalho. Os clientes estão distribuídos na região de atendimento de forma mista; partes da região apresentam concentração de muitos clientes, como é o caso da área central de cidades maiores, composta por muitos bares e restaurantes. Em outras partes, observam- se poucos clientes geograficamente dispersos uns dos outros. Assim, pode- se dizer que a distribuição dos pontos de demanda é do tipo aleatória/agrupada (random/clustered).

A cada técnico é disponibilizado um utilitário de pequeno porte, equipado com peças e ferramentas. Os veículos se encontram em uma única garagem localizada na própria fábrica. Com as ordens em mãos, os técnicos primeiramente suprem seu veículo com a quantidade de peças que serão utilizadas durante todo o dia e elaboram manualmente sua sequência de visitas. O critério utilizado pode ser entendido como uma ponderação entre distância e tempo da localidade anterior da sequência. Assim, o primeiro cliente a ser atendido é o que está mais próximo (em espaço e tempo) da empresa, o segundo cliente é o que se encontra mais próximo do primeiro cliente, e assim sucessivamente. Esse critério é temporariamente desconsiderado em caso de atendimento imediato de clientes com prazos de serviço próximos do limite.

A partida da garagem ocorre aproximadamente às 8 horas e os técnicos só retornam ao depósito no final do expediente (17 horas). Caso tenham atendido todas as ordens antes desse horário, telefonam para os assistentes a fim de verificar se há algum pedido a ser servido. Caso não haja, os técnicos são liberados e esse período a menos de trabalho é descontado do banco de horas. Após o fim do expediente, pedidos urgentes são anotados pela portaria e passados a dois técnicos noturnos para atendimento imediato. Durante o fim de semana, um número relativamente menor de pedidos chega ao sistema; desse conjunto, apenas as emergências são atendidas prontamente por um técnico reserva. Para os demais, o prazo de atendimento só começa a ser computado no início da jornada de trabalho da segunda- feira.

Esse contexto foi escolhido para realização do presente estudo, uma vez que o problema possui claras características dinâmicas e estocásticas que não são exploradas pela empresa. Na maioria das vezes, um novo pedido só será atendido no dia seguinte, ainda que esteja próximo de localidades onde técnicos estão realizando serviços. Apesar de ser considerado pequeno o número de atendimentos além do prazo, o tratamento estático atual dado ao planejamento coíbe oportunidades de melhorias ao nível de serviço fornecido (atendimento de novos pedidos no mesmo dia). Além disso, todo o planejamento de rotas para manutenção de equipamentos é feito manualmente, o que levou a se verificarem as vantagens e deficiências da aplicação de técnicas matemáticas e computacionais de roteamento dinâmico nesse tipo de operação.

4.1. Proposta e formalização da versão dinâmica do problema

O planejamento dinâmico de rotas de atendimento para a manutenção corretiva de geladeiras pode ser descrito como um PRV com um único depósito, e frota de tamanho limitado. Como se trata de prestação de serviços, a carga requisitada por cada cliente é zero (problema não capacitado), e os tempos de serviço, muito variados. Restrições de janela de tempo incidem somente no depósito, correspondentes à jornada de trabalho. Como o prazo de atendimento de cada pedido abrange mais de um dia, o planejamento é feito sucessivamente para cada dia de um horizonte de hoz dias.

Cada pedido p chega ao sistema em tp> 0 em um dia dp, e é caracterizado pelas coordenadas geográficas da localidade k do cliente e pelo tempo de serviço estimado stp. Uma janela de tempo [e0, l0] está associada ao depósito e corresponde à duração máxima de todas as atividades em cada dia. Cada motorista é informado de sua próxima visita assim que o serviço na localidade atual é finalizado, e em seguida parte. Por simplicidade, veículos que já saíram de uma localidade para outro atendimento não podem ser redesignados a um destino diferente (política de compromisso). A duração da rota inclui a somatória dos tempos de viagem e de serviço.

Além das condições acima, admite- se que, para cada par de localidades i e j, o tempo de viagem no arco (i, j) possa não satisfazer a desigualdade triangular. Uma implicação dessa premissa é a de possibilitar que partindo de i no instante t, a chegada em j ocorra em um instante mais cedo ao se utilizar um percurso indireto (Figura 3). Isso pode ser considerado realista em muitos cenários urbanos; congestões de tráfego podem tornar a travessia de certos trechos mais demorada que a de outros mais longos.


Devido às várias restrições impostas, o atendimento de todos os pedidos dentro do prazo não é garantido. O objetivo é determinar um conjunto de rotas que de maneira hierárquica minimize: (1) o número de pedidos com prazo de atendimento violado; (2) o tempo médio decorrido entre a colocação dos pedidos e o início de seus atendimentos (maximização do nível médio de serviço); e (3) a distância total percorrida. Maximizar o nível médio de serviço e minimizar o número de pedidos com prazo de atendimento violado refletem o interesse da empresa na geração de uma imagem de confiança e base segura de mercado. O objetivo é estratégico e assume- se ser o mais importante em termos de custo em relação ao terceiro objetivo. A redução de distâncias afeta os custos variáveis. A minimização do número de veículos é desejável, mas não foi considerada particularmente relevante, uma vez que o tamanho da frota é fixo, com apenas quatro veículos dedicados.

5. Abordagem de resolução

A discussão a seguir é uma descrição de um procedimento que captura elementos gerais para resolução do PRV dinâmico da empresa estudada. Os componentes fundamentais do procedimento consistem em um módulo de despacho dinâmico responsivo a eventos em tempo real e um algoritmo heurístico para planejamento das rotas.

Os principais passos do módulo de despacho são apresentados no Quadro 1. Como o prazo desejado de atendimento de um pedido abrange mais de um dia, o módulo é acionado um número de vezes correspondente ao tamanho do horizonte de planejamento. Pedidos que chegam ao sistema até t = 0 são planejados em conjunto no início desse horizonte (d = 1, t = 0). Pedidos conhecidos e não servidos em um dado dia estão disponíveis para inserção em t = 0 no(s) dia(s) subsequente(s). Ao longo do dia, sempre que um serviço é completado ou um novo pedido chega ao sistema (eventos), a porção das rotas planejadas e ainda não realizadas é desconstruída e reconstruída com a nova informação. A construção ou reconstrução das rotas é feita por meio de uma heurística de inserção, descrita na seção 5.1.


No passo 1, a variável que recebe os instantes de ocorrência de eventos (t) é inicializada, juntamente com os conjuntos PP, PP* e P. O conjunto P armazena pedidos conhecidos que não fazem parte da solução corrente, PP registra os pedidos planejados ao longo da execução do módulo, e PP* armazena o subconjunto de pedidos em PP planejados dentro do prazo. O passo 2 consiste das operações de processamento de eventos, e desconstrução e reconstrução de rotas durante a jornada de trabalho (t < l0). Se o próximo evento corresponde à chegada de um ou mais pedidos no início do planejamento (t = 0 e r = 0) (passo 2.2), estes são incluídos em P e aciona- se o procedimento de planejamento de rotas para geração de uma solução S (passo 2.5). Cada novo pedido p planejado é incluído no conjunto PP, e caso seu atendimento ocorra dentro do prazo, no conjunto PP* (passo 2.7). Caso contrário, se o evento corresponde à chegada de um pedido após o início da jornada ou a um fim de serviço (t > 0 e r > 0), o status de cada localidade em S é avaliado para identificar pedidos que possam ser retirados da solução. No passo 2.3, estes são excluídos (provocando a desconstrução parcial de S) e incluídos em P; se o evento corresponder à chegada de um novo pedido, este é também adicionado a P (passo 2.4). Esses pedidos são então incorporados à solução, seja em rotas novas ou já existentes (passo 2.5).

O passo 2.6 garante que pedidos planejados e removidos durante a desconstrução pertençam à solução resultante, e impõe que todos os pedidos planejados no prazo mantenham esse status na reconstrução. Esta imposição tem como objetivo fornecer aos clientes cujo pedido já tenha sido planejado a garantia do prazo de atendimento ou a informação de ocorrência de atrasos. Se na reconstrução de uma solução anterior (armazenada como S0 no passo 2.2) essas premissas forem violadas, S0 é recuperada como solução corrente (S = S0) e os pedidos afetados são simplesmente fixados nas posições de suas rotas, não sendo removidos ao se refazer a desconstrução. Em outras palavras, somente novos pedidos podem ser excluídos do planejamento.

5.1. A heurística de inserção para o PRV dinâmico

A heurística de inserção no passo 2.5 do Quadro 1 é baseada na heurística i de Solomon (1987) para o PRVJT. As decisões fundamentais do método consistem na seleção de pedidos para inicialização de rotas, e o critério de seleção dos demais pedidos e suas posições nas rotas. Os passos da heurística são descritos no Quadro 2.


No passo 1, os conjuntos NI e I são inicializados. NI contém os pedidos que não fazem parte da solução corrente S (conjunto P do módulo de despacho no Quadro 1), e I armazena o subconjunto de pedidos em P planejados na execução da heurística. No passo 2, uma nova rota é iniciada selecionando- se o pedido p ∈ NI cujo prazo de atendimento é mais curto (critério de inicialização). Caso nenhum pedido possa iniciar rotas, o procedimento é finalizado (passo 6). Isso ocorre quando para todo p ∈ NI, a viagem direta d- k- d (onde d corresponde à localidade do depósito e k à localidade de p) viola a restrição de tempo máximo de rota. No passo 3 são investigadas as possibilidades de inserção factível de cada pedido p ∈ NI em S, e selecionada aquela com melhor avaliação segundo o critério de inserção, discutido mais adiante.

Nos passos 2 e 3 é também verificada a existência de caminhos mais rápidos entre localidades conhecidas. Assim como em Pureza e Laporte (2008), apenas caminhos mais rápidos com uma única localidade intermediária são considerados. Note que eles são naturalmente computados ao se analisar as possibilidades de inserção da localidade k do pedido p entre duas localidades i e j roteadas; um caminho mais rápido entre i e j é identificado se a chegada em j for antecipada com a inclusão de k. Nesse caso, o trecho i- k- j é incorporado à rota de i e j, e os instantes de chegada e partida a partir de j são recalculados (atualização da programação). Como k tem o papel de nó intermediário, o veículo da rota de i e j não está sendo designado para servir o pedido p, mas apenas utilizando o trecho i- k- j para reduzir o tempo de rota. Portanto, o tempo de serviço em p não é incluído no cálculo do instante de chegada em j. Isso só ocorrerá se p for selecionado para ser servido naquela posição.

No passo 4, caso haja pedidos em NI com posições factíveis de inserção, o pedido p* com melhor avaliação segundo o critério de inserção é selecionado e inserido na posição associada. Caso contrário, se nenhum p ∈ NI apresentar posições factíveis de inserção e o número de veículos da frota (F) não foi totalmente utilizado (r < F), retorna- se ao passo 2 para inicialização de uma nova rota. O passo 5 verifica se ainda existem pedidos não inseridos que tenham apresentado posições factíveis de inserção; como a solução foi alterada com a inserção de p*, retorna- se ao passo 3 para recálculo dessas posições.

O critério de inserção utilizado nos passos 3 e 4 busca maximizar ganhos com a inclusão da localidade k do pedido p não roteado entre duas localidades i e j em rotas parciais, em oposição a servir p em uma rota direta. Especificamente, as localidades i e j são selecionadas tal que (Equação 1):

onde:

• ddk, dik, dkj e dij: distância entre as localidades do depósito e k, i e k, k e i, e i e j, respectivamente.

• slc: nível médio de serviço com a inclusão de k entre i e j.

• slo: nível médio de serviço na solução atual.

O 2º termo da expressão corresponde ao aumento em distância com a inserção de p, enquanto o 3º termo é a deterioração no nível médio de serviço da solução resultante, em relação à atual, igualmente ponderados. O nível médio de serviço é calculado somando- se os tempos entre a colocação de cada pedido e seu atendimento, dividido pelo número total desses pedidos; se a inserção de k entre i e j resulta na violação do prazo de atendimento de um pedido pr na rota, o tempo de atendimento de pr calculado é multiplicado por 2 (penalização). Caso o número de rotas atual seja igual ou superior a F – 2, e o atendimento de p em uma rota direta no início do dia subsequente provocar a violação de prazo, o cálculo de gkij é dado pela Equação 2:

onde M é um número grande.

A modificação no cálculo de gkij endereça uma situação crítica ao objetivo do problema, caracterizada por: (i) pedidos que mesmo atendidos em uma rota direta no início do dia subsequente teriam seus prazos violados; e (ii) folga reduzida de recursos. Nesse sentido, o algoritmo é conservador na preservação do nível de serviço; quando dois ou menos veículos da frota estão disponíveis no depósito, gkij é modificado para privilegiar a escolha dos pedidos que satisfaçam (i). Dentre estes, é dada maior prioridade à escolha que apresente menor deterioração da qualidade da solução (2º e 3º termos da expressão).

Essa heurística de inserção é aqui denominada SOL, como referência à heurística de Solomon (1987). Observe que como na heurística original, manteve- se o uso de custos geográficos e temporais para avaliação de inserções. Entretanto, para alinhamento com o objetivo do problema aqui tratado, o componente temporal considera o impacto na solução como um todo (deterioração do nível médio de serviço) ao invés do impacto em elementos individuais (por exemplo, deterioração do nível de serviço do pedido em j).

O algoritmo resultante foi denominado DINÂMICO. A partir deste, foram elaborados três outros algoritmos com a finalidade de comparação do desempenho, e cujas diferenças são discutidas a seguir.

5.2. Algoritmos estáticos

5.2.1. Estático_NN

Esse algoritmo visa reproduzir tanto quanto possível a maneira como a empresa planeja suas rotas para manutenção de equipamentos. O problema é tratado de forma estática; pedidos que chegam ao sistema após t = 0 são considerados para roteamento somente no dia posterior. Para os pedidos existentes em t = 0, o roteamento é feito uma única vez. Por simplicidade, o zoneamento da região para divisão de clientes entre veículos não foi realizado. Observe que sem essa decomposição do problema, a qualidade das rotas geradas tende a ser melhor.

O planejamento das rotas é feito por meio de uma adaptação da heurística do vizinho mais próximo (NN). Especificamente:

• A inicialização de cada rota toma como pedido semente (ps) o pedido não roteado, cujo atendimento a partir do depósito respeita a restrição de tempo máximo de rota, e cuja localidade tem o menor prazo para atendimento (pedido de maior urgência).

• Para cada pedido p não planejado, seu custo de inserção em uma dada rota é calculado como a média ponderada da distância e tempo de viagem entre a última localidade programada e a localidade do novo pedido. Os pesos dados aos critérios distância e tempo são 0,2 e 0,8 respectivamente. O pedido com posição factível de menor custo (p*) é inserido após a última localidade da rota associada.

• Caso haja pedidos cujo tempo que falta para cumprir o prazo de atendimento desejado seja inferior à metade de um dia de trabalho, o critério anterior é desconsiderado, e o pedido é selecionado. Se houver mais pedidos nessa situação, a escolha dentre estes é feita de forma aleatória.

Antes da análise da inserção de cada pedido p na solução, verifica- se a existência de caminhos mais rápidos entre todas as localidades de pedidos conhecidos, tendo a localidade k do pedido p como nó intermediário. Se um caminho mais rápido é identificado entre duas localidades planejadas i e j, a programação da rota a partir de j é atualizada. O papel de k entre i e j será sempre o de nó intermediário, já que a inserção de p para atendimento ocorre sempre após a última localidade das rotas.

5.2.2. Estático_SOL

Esse algoritmo é uma versão de ESTÁTICO_NN, onde a heurística de inserção NN é substituída pela heurística SOL. No início de cada dia, SOL é aplicada aos pedidos existentes e uma única vez, enquanto os pedidos que chegam ao sistema em t > 0 são armazenados e considerados somente no início do dia posterior. O objetivo dessa versão é o de verificar o impacto do uso de um método de roteamento mais sofisticado na qualidade das soluções.

5.2.3. rEstático

Esse algoritmo é uma versão semiestática de DINÂMICO. Apesar de os pedidos que chegam ao sistema após t = 0 serem considerados para roteamento somente no dia seguinte, as rotas planejadas são desconstruídas e reconstruídas a cada fim de serviço. Isso permite a reavaliação de decisões tomadas em estágios anteriores, podendo trazer reduções na distância total percorrida, alterar o tamanho da frota ou incluir pedidos conhecidos cuja inserção não tenha ocorrido.

Note que os passos do módulo de despacho descritos no Quadro 1 não são alterados nesse algoritmo; a diferença em relação a DINÂMICO é que, no início do dia d, o módulo só é informado dos pedidos que chegaram ao sistema até t = 0 daquele dia. Esses pedidos são considerados simultaneamente para roteamento, restando como única possibilidade para desconstrução e reconstrução das rotas os eventos que marcam fins de serviço.

6. Experimentos computacionais

Os algoritmos foram implementados em Borland Delphi 7, e os experimentos realizados em um computador Intel Core2 2,4 GHz, e 2,00 GB de RAM. Por questões de confidencialidade da empresa, três conjuntos de instâncias foram gerados aleatoriamente a partir dos dados fornecidos.

O desempenho dos quatro algoritmos descritos na seção 5 foi medido em termos de: (i) número de pedidos atendidos; (ii) número de pedidos atendidos com prazo de atendimento violado; (iii) nível médio de serviço por pedido atendido; (iv) número de veículos utilizados; e (v) distância total percorrida. Para cada instância, o nível médio de serviço é calculado somando- se os tempos decorridos entre a colocação de cada pedido servido e o início de seu atendimento, e dividindo- se pelo número de pedidos servidos. Esse intervalo de tempo inclui, quando pertinente, o período em que as atividades de prestação de serviço não estão em operação, ou seja, entre 17 horas e 8 horas.

6.1. Geração das instâncias

Inicialmente, 500 nós de demanda distintos foram gerados, mantendo- se a distribuição geográfica aleatória/agrupada. Esses nós constituem as localizações de pedidos potenciais; sua seleção e a geração do dia e instante de chegada ao sistema, assim como tempos de serviço, definem uma instância dinâmica.

Para cada instância, os limitantes inferior eo e superior lo da janela de tempo do depósito foram fixados em 0 e 540 minutos, respectivamente. Note que, dessa forma, a duração da janela do depósito l0 – e0 (tempo máximo de rota) é igual a 540 minutos, correspondentes às nove horas da operação do setor estudado da empresa.

Adotou- se um horizonte de planejamento de 12 dias úteis; o primeiro, sexto e décimo primeiro dias correspondem a segundas- feiras, o que significa que esses dias possuem pedidos estáticos correspondentes ao acumulado durante o fim de semana. Para cada um desses três dias, o número de pedidos que chega no fim de semana associado foi gerado aleatoriamente entre 6 e 10. Segundo informado pela empresa, cerca de dez pedidos chegam ao sistema nos fins de semana; dessa forma, a utilização da faixa 6 - 10 procura considerar que alguns destes pedidos são urgentes e serão atendidos no mesmo dia. A seleção de cada pedido estático e seu dia de chegada é feita de forma aleatória.

O número de pedidos que chegam a cada dia após t = 0 (pedidos dinâmicos) foi gerado entre 17 e 28, segundos uma distribuição uniforme, e corresponde aos valores mínimo e máximo diários fornecidos pela empresa. Assim como os pedidos estáticos, a seleção de cada pedido dinâmico e seu dia de chegada são feitos de forma aleatória. Seus instantes de chegada ao sistema foram, por sua vez, gerados conforme a seguinte distribuição, construída a partir de dados providos pela empresa (Tabela 1). Cada pedido pode ser atendido a partir do instante de sua colocação, desde que o retorno dos veículos ocorra até o horário de fechamento do depósito. Os tempos de serviço de cada pedido (estático ou dinâmico) foram gerados de acordo com a seguinte distribuição, construída a partir de dados fornecidos pela empresa (Tabela 2).

Observe, por exemplo, que 12,5% das atividades realizadas pelos técnicos têm uma duração de até 10 minutos (Tabela 2 – faixa 1) assim como 16% dos pedidos chegam ao sistema entre t = 480 e 600 minutos (Tabela 1 – faixa 5). O gerador selecionou uma faixa para cada pedido segundo essas distribuições, seguindo- se à geração aleatória do tempo de serviço na faixa associada. Para a última faixa de tempo de serviço, atribuíram- se exatos 125 minutos, uma vez que pedidos com tempos de serviço muito superiores a esse valor são incomuns na prática da empresa.

No processo descrito acima, foram gerados três conjuntos de 50 instâncias dinâmicas distintas; cada instância totaliza cerca de 280 pedidos. No primeiro conjunto (RCD0), as velocidades de percurso são admitidas como constantes e iguais a 0,83 (correspondentes a 50 km/h). Os conjuntos RCD1 e RCD2, por sua vez, consideram tempos de viagem em arcos entre cada duas localidades que não garantem a desigualdade triangular. Com o intuito de gerar esses tempos, os arcos foram classificados aleatoriamente dentre três categorias de velocidade, apresentadas na Tabela 3. Note que as variações de velocidade entre os arcos são mais marcantes no conjunto RCD2.

Finalmente, cabe ressaltar que a geração das coordenadas das localidades contempla um processo de ajuste que garante que os tempos de viagem entre o depósito e cada pedido não violam a restrição de tempo máximo de rota. Cada pedido pode ser servido, ainda que com atraso, se um veículo visitá- lo diretamente da garagem no instante de chegada do pedido ao sistema.

6.2. Resultados

Em um primeiro conjunto de experimentos, o tamanho da frota é limitado e igual ao utilizado na empresa, ou seja, 4 veículos (cenário FL). A Tabela 4 apresenta os resultados agregados (acumulados) para as 50 instâncias do conjunto RCD0. Na terceira coluna (pedidos atendidos) é indicada, além desse montante, a porcentagem correspondente do número total de pedidos (entre parêntesis). Na quarta coluna (pedidos atendidos com prazo violado), a porcentagem apresentada refere- se ao total de pedidos atendidos. A quinta coluna (nível médio de serviço) indica o tempo médio decorrido entre a colocação de um pedido e seu atendimento (em minutos). O número total de veículos e a distância total percorrida (em quilômetros) são mostrados nas colunas 6 e 7. Os tempos de CPU acumulados (em segundos) são também apresentados, porém sua relevância é pequena por estes serem curtos no tocante a aplicações práticas.

Os resultados das medidas de desempenho podem ser mais bem entendidos em termos de desvios percentuais entre algoritmos conforme estes crescem em sofisticação. Observa- se que a utilização de uma heurística mais poderosa no planejamento estático de ESTÁTICO_SOL produz, em relação a ESTÁTICO_NN, uma redução na quantidade de atendimentos com prazo violado de 30%, resultando em uma pequena melhoria do nível médio de serviço (0,8%). Em contrapartida, a obtenção dessas melhorias é acompanhada de um incremento da distância total e do número de veículos de 12,3% e 3,3% respectivamente.

As vantagens ao se aplicar o replanejamento de rotas a cada fim de serviço (algoritmo rESTÁTICO) em relação a ESTÁTICO_SOL ocorrem predominantemente em número de atendimentos com prazo de atendimento violado (71% de redução) e distância total percorrida (11,2%). Em relação aos demais indicadores, são obtidas pequenas melhorias ou deteriorações.

Finalmente, o tratamento totalmente dinâmico fornecido pelo algoritmo DINÂMICO produz benefícios particularmente evidentes. O número médio de pedidos atendidos com atraso se reduz a zero, e, em relação a rESTÁTICO, o nível médio de serviço apresenta um ganho de 62,5%. Juntamente com essas melhorias, verificam- se aumentos no número de veículos (19,8%) e na distância percorrida (29,7%).

A Tabela 5 apresenta os resultados para os conjuntos RCD1 e RCD2. Note que o desempenho dos algoritmos tende a piorar com a maior variabilidade das velocidades entre arcos. Em particular, observe o aumento no número de pedidos com prazo de atendimento violado obtidos com ESTÁTICO_NN e ESTÁTICO_SOL. A reconstrução das rotas aplicada em rESTÁTICO e DINÂMICO, por outro lado, ajuda a manter esses valores estáveis.

A Tabela 6 mostra os resultados dos experimentos com o conjunto RCD0 ao se considerar frotas de tamanho ilimitado (cenário FI). O objetivo é o de verificar o desempenho dos algoritmos em uma situação em que suas características sejam mais plenamente exploradas, ou seja, sob um cenário menos restrito. O indicador pedidos atendidos com prazo violado, utilizado no cenário FL, é substituído pelo número máximo de veículos obtido em um dia de trabalho em todas as execuções (coluna 6).

Como esperado, o desempenho dos algoritmos é superior em relação ao cenário anterior. O nível médio de serviço melhora ligeiramente e nenhum pedido teve seu prazo de atendimento violado. Note que a diferença entre o número de pedidos atendidos e o total de pedidos solicitados corresponde àqueles que chegaram ao sistema no 12º dia em um horário em que o atendimento estava indisponível. Tais ganhos requereram um aumento do tamanho da frota entre 2 e 5 veículos. Esses resultados sugerem que a frota atual está bem dimensionada, uma vez que os benefícios do aumento dela não parecem compensar os custos envolvidos.

7. Conclusões e perspectivas de pesquisa

Neste trabalho, foram investigados possíveis impactos da utilização do planejamento dinâmico de rotas em um horizonte de planejamento. Para tal, foi elaborado um algoritmo com base nas características do ambiente de operação de uma empresa de produção e distribuição de bebidas, cujo planejamento de rotas para manutenção de equipamentos é atualmente feito de forma manual e estática.

Resultados obtidos com instâncias geradas com base em algumas características dos clientes da empresa indicam as vantagens do tratamento dinâmico. Em relação ao nível de serviço, ganhos relativos a um algoritmo que procura simular a prática da empresa atingiram mais de 60%. O aumento no número de rotas (entre 7% e 23%) e distância total percorrida (aproximadamente 28%), por sua vez, são consistentes com a melhoria das medidas anteriores. Os experimentos também indicaram que o tamanho de frota atualmente praticado pela empresa oferece uma boa relação custo- benefício.

Conclui- se que a melhoria no nível de serviço com a aplicação de roteamento dinâmico pode alcançar porcentagens bastante significativas. Empresas que prestam serviços em ambientes com características dinâmicas se beneficiaram dessa prática, e trariam um diferencial razoável em relação aos competidores. Observe que se as instâncias do conjunto RCD0 representassem exemplos reais da empresa, seria possível reduzir o prazo máximo de atendimento praticado de 48 horas para cerca de nove horas no cenário mais restrito.

Como perspectivas de pesquisa futura, cabe ressaltar que o algoritmo proposto não considera o roteamento por área do prestador de serviço. Essa observação permite que a atual prática de zoneamento seja reavaliada pela empresa, ou que a metodologia proposta seja modificada para incluir essa restrição. Outra limitação do algoritmo proposto é que ele não endereça o balanceamento de serviço entre os veículos. De fato, a própria essência do roteamento dinâmico apresenta dificuldades para sua implementação, de forma que trade- offs entre o balanceamento e o nível de serviço precisarão ser considerados.

Finalmente, cabe notar que o algoritmo proposto se restringe a uma heurística de construção e, portanto, não utiliza fases de otimização de rotas nos intervalos entre chegadas de pedidos. Procedimentos de busca local ou meta- heurísticas são opções que trariam melhorias adicionais. Outra linha de pesquisa interessante é a análise do uso de desvios com os veículos em rota, excluindo- se, assim, a política de compromisso.

Adicionalmente, o problema poderia ser submetido a uma abordagem multiperiódica. Nesse caso, para o conjunto de pedidos conhecidos em t = 0 do 1º dia, uma decisão adicional do planejamento consistiria em definir o dia em que cada pedido seria servido, considerando- se os prazos de atendimento. Como o problema é dinâmico, o horizonte de tomada dessa decisão deve ser de curto prazo, sujeito a reavaliações diárias. A perspectiva é obter rotas que contemplem clientes próximos entre si e, portanto, mais flexíveis para a inserção de novos pedidos.

Agradecimentos

Os autores agradecem o apoio do CNPq (processo 311460/2006- 2), FAPESP (processo 2007/05689- 5), CAPES (DS), e os valiosos comentários e sugestões dos dois revisores anônimos.

  • BELL, W. J. et al. Improving the distribution of industrial gases with an on- line computerized routing and scheduling optimizer. Interfaces, v. 13, n. 6, p. 4- 23, 1983.
  • BERTSIMAS, D. J.; JAILLET, P.; ODONI, A. A priori optimization. Operations Research, v. 38, n. 6, p. 1019- 1033, 1990.
  • BERTSIMAS, D. J.; van RYZIN, G. A stochastic and dynamic vehicle routing problem in the euclidean plane. Operations Research, v. 39, n. 4, p. 601- 614, 1991.
  • BERTSIMAS, D. J.; SIMCHI- LEVI, D. A new generation of vehicle routing research: robust algorithms, addressing uncertainty. Operations Research, v. 44, n. 2, p. 286- 304, 1996.
  • BODIN, L. D. et al. Routing and scheduling of vehicle and crews: the state of the art. Computers and Operations Research, v. 10, n. 2, p. 63- 211, 1983.
  • BRANKE, J. et al. Waiting strategies for dynamic vehicle routing. Transportation Science, v. 39, n. 3, p. 298- 312, 2005.
  • BROWN, G. G. et al. Real- Time, Wide Area Dispatch of Mobil Tank Trucks. Interfaces, v. 17, n. 1, p. 107- 120, 1987.
  • CRAINIC, T. G.; DEJAX, P.; GENDREAU, M. Modeling the container fleet management problem using a stochastic programming approach. Operational Research 90, v. 18, p. 473- 486, 1991.
  • FLEISCHMANN, B.; GNUTZMANN, S.; SANDVOß, E. Dynamic vehicle routing based on online traffic information. Transportation Science, v. 38, n. 4, p. 420- 433, 2004.
  • GENDREAU, M. et al. Neighborhood search heuristics for a dynamic vehicle dispatching problem with pick- ups and deliveries. Transportation Research Part C, v. 14, n. 3, p. 157- 174, 2006.
  • GENDREAU, M. et al. Parallel tabu search for real- time vehicle routing and dispatching. Transportation Science, v. 33, n. 4, p. 381- 390, 1999.
  • GENDREAU, M.; LAPORTE, G.; SÉGUIN, R. Stochastic Vehicle Routing. European Journal of Operational Research, v. 88, p. 3- 12, 1996.
  • GENDREAU, M.; LAPORTE, G.; SEMET, F. A dynamic model and parallel tabu search heuristic for real- time ambulance relocation. Parallel Computing, v. 27, n. 12, p. 1641- 1653, 2001.
  • GENDREAU, M.; LAPORTE, G.; SEMET, F. Solving an ambulance location model by tabu search. Location Science, v. 5, n. 2, p. 75- 88, 1997.
  • GHIANI, G. et al. Real- time vehicle routing: solution concepts, algorithms and parallel computing strategies. European Journal of Operational Research, v. 151, n. 1, p. 1- 11, 2003.
  • GHIANI, G.; MANNI, E.; QUARANTA, A.; TRIKI, C. Anticipatory algorithms for same- day courier dispatching. Transportation Research Part E: Logistics and Transportation Review, v. 45, n. 1, p. 96- 106, 2009.
  • HVATTUM, L. M.; LØKKETANGEN, A.; LAPORTE, G. Solving a dynamic and stochastic vehicle routing problem with a sample scenario hedging heuristic. Transportation Science, v. 40, n. 4, p. 421- 438, 2006.
  • ICHOUA, S.; GENDREAU, M.; POTVIN, J. Y. Exploiting knowledge about future demands for real- time vehicle dispatching. Transportation Science, v. 40, n. 2, p. 211- 225, 2006.
  • KILBY, P.; PROSSER, P.; SHAW, P. Dynamic VRPs: a study of scenarios. Scotland: University of Strathclyde, 1998. Technical Report APES- 06- 1998.
  • LARSEN, A. The dynamic vehicle routing 2000. Thesis (Phd) - Department of Mathematical Modeling - IMM, Technical University of Denmark DTU, Denmark, 2000.
  • LARSEN, A.; MADSEN, O. B. G.; SOLOMON, M. M. The a priori dynamic traveling salesman problem with time windows. Transportation Science, v. 38, n. 4, p. 459- 472, 2004.
  • MADSEN, O. B. G.; RAVN, H. F.; RYGAARD, J. M. A heuristic algorithm for a dial- a- ride problem with time- windows, multiple capacities, and multiple objectives. Annals of Operations Research, v. 60, n. 1, p. 193- 208, 1995.
  • MITROVI'C- MINI'C, S.; LAPORTE, G. Waiting strategies for the dynamic pickup and delivery problem with time windows. Transportation Research Part B, v. 38, n. 7, p. 635- 655, 2004.
  • MONTEMANNI, R. et al. Ant colony system for a dynamic vehicle routing problem. Journal of Combinatorial Optimization, v. 10, n. 4, p. 327- 343, 2005.
  • PSARAFTIS, H. N. Dynamic vehicle routing: status and prospects. Annals of Operations Research, v. 61, n. 1, p. 143- 164, 1995.
  • PUREZA, V.; LAPORTE, G. Waiting and buffering strategies for the dynamic pickup and delivery problem with time windows. Information Systems and Operational Research, v. 46, n. 3, p. 165- 175, 2008.
  • SOLOMON, M. M. Algorithms for the vehicle routing and scheduling problem with time window constraints. Operations Research, v. 35, n. 2, p. 254- 265, 1987.

Datas de Publicação

  • Publicação nesta coleção
    09 Jul 2010
  • Data do Fascículo
    Dez 2010
Associação Brasileira de Engenharia de Produção Av. Prof. Almeida Prado, Travessa 2, 128 - 2º andar - Room 231, 05508-900 São Paulo - SP - São Paulo - SP - Brazil
E-mail: production@editoracubo.com.br