Otimização de rotas para vários veículos

12

Eu tenho 100 destinos e 5 veículos e preciso codificar uma solução que direcione os veículos com eficiência para cada destino, para que cada destino seja visitado por 1 dos veículos. Alguns desses destinos também podem ter janelas de tempo para serem visitadas.

Estou usando o PostgreSQL e o PostGIS e estava procurando usar o pgrouting, mas não tenho certeza de que seja adequado para vários veículos - pelo meu conhecimento limitado de Dijkstra etc., acho que eles foram projetados para um único veículo.

Alguma idéia sobre se o pgrouting pode resolver esse problema e, em caso afirmativo, algum exemplo de código? Caso contrário, existem alternativas de código aberto que possam fazer isso?

RichW
fonte
Por acaso, tenho uma necessidade semelhante à sua. Estou operando uma empresa NPO NEMT (Transporte Médico Não Emergencial). precisamos transportar os pacientes para suas consultas com janelas de tempo para retirada ou entrega. A maioria dos pedidos é recebida com antecedência, outros estão no local. DARP parece ser um bom algoritmo. Você precisa do solucionador DARP pelo mesmo motivo? Nick
Nick Bazzi

Respostas:

10

O pgRouting possui uma função chamada solucionador DARP (problema de discagem) :

O solucionador de problemas de discagem por condução (DARP) tenta minimizar os custos de transporte, satisfazendo as restrições de nível de serviço ao cliente (violação de janelas de tempo, tempos de espera e de viagem) e restrições de frota (número de carros e capacidade, além da localização do depósito).

Mais sobre DARP e pgRouting:

Para usar esta nova função, você precisa instalar o darp branch do pgRouting .


As respostas a esta pergunta sobre stackexchange podem fornecer informações adicionais: Algoritmo de roteamento para vários veículos com várias descargas .

underdark
fonte
Inicialmente, vi o algoritmo DARP, mas o reparei, pois não sabia que poderia ser usado para correios. Parece que vai fazer o trabalho muito bem! É uma pena que a página de documentação não tenha exemplos de uso; pode ser um caso de procurar no código-fonte para ver como ele funciona.
RichW 21/01
1

Embora a ESRI ArcLogistics claramente não atenda às suas necessidades específicas de uso do PostGIS ou de código aberto, para outras pessoas que podem não ter habilidades de programação ou tempo para implementar suas próprias soluções, é uma boa extensão paga e pronta para uso para ArcGIS projetado para realizar as tarefas que você descreveu.

Atualmente, eles também oferecem uma avaliação gratuita de 30 dias, se você quiser testá-lo.

RyanKDalton
fonte
Fui à sede da ESRI na semana passada para discutir esse software para eles, mas ele não parece atender às nossas necessidades (precisa ser executado em um servidor e também é bastante caro). Excelente peça de kit embora!
RichW 21/01
Nosso produto FleetEngine é executado como um servidor com uma interface SOAP. 100 destinos, 5 veículos e janelas de tempo estão definitivamente dentro dos recursos. Está muito perto de estar pronto para produção, entre em contato comigo para uma licença de teste. Não é de código aberto ou gratuito, mas por outro lado não é tão caro quanto o ArcLogistics.
precisa saber é o seguinte
1
Oi Uffe, ele pode levar em conta as restrições do veículo (peso e dimensões) e classificar os pacotes nos veículos de acordo? Além disso, ele funciona no Reino Unido e usa dados do histórico de estradas para calcular velocidades, etc.?
RichW 26/01
Sim a todas as suas perguntas. Utiliza adições simples de peso / volume. Também não pode ser feito em 3D, isso seria demais para se esperar. Suporte completo para redes de ruas em qualquer país também, mas você precisa fornecer a rede de ruas. Infelizmente, não vi a resposta mais cedo, pensei que essa discussão tivesse terminado. Ligue-me para [email protected] se quiser discutir mais sobre isso.
Uffe Kousgaard