Routenoptimierung für mehrere Fahrzeuge


12

Ich habe 100 Ziele und 5 Fahrzeuge und muss eine Lösung codieren, die die Fahrzeuge effizient zu jedem Ziel weiterleitet, sodass jedes Ziel von einem der Fahrzeuge besucht wird. Einige dieser Ziele können auch Zeitfenster haben, die besucht werden müssen.

Ich verwende PostgreSQL und PostGIS und wollte Pgrouting verwenden, bin mir aber nicht sicher, ob es für mehrere Fahrzeuge geeignet ist - aufgrund meines begrenzten Wissens über Dijkstra usw. denke ich, dass sie für ein einzelnes Fahrzeug ausgelegt sind.

Irgendwelche Gedanken darüber, ob Pgrouting dieses Problem lösen kann, und wenn ja, Codebeispiele? Wenn nicht, gibt es Open-Source-Alternativen, die das können?


Ich habe zufällig ein ähnliches Bedürfnis wie Sie. Ich betreibe ein NPO-NEMT-Geschäft (Non-Emergency Medical Transportation). Wir müssen Patienten mit Zeitfenstern für Abholungen oder Lieferungen zu ihren Terminen transportieren. Die meisten Anfragen gehen im Voraus ein, andere sind vor Ort. DARP scheint ein guter Algorithmus zu sein. Benötigen Sie DARP-Solver aus dem gleichen Grund? Nick
Nick Bazzi

Antworten:


10

pgRouting hat eine Funktion namens DARP (Dial-a-Ride Problem) :

Der DARP-Löser (Dial-a-Ride Problem) versucht, die Transportkosten zu minimieren und gleichzeitig die Einschränkungen des Kundenservicegrads (Zeitfensterverletzung, Warte- und Fahrzeiten) sowie die Einschränkungen der Flotte (Anzahl der Autos und Kapazität sowie Standort des Depots) zu erfüllen.

Mehr zu DARP und pgRouting:

Um diese neue Funktion nutzen zu können, müssen Sie den Darp Branch von pgRouting installieren .


Die Antworten auf diese Frage zum Stapelaustausch enthalten möglicherweise zusätzliche Informationen: Routing-Algorithmus für mehrere Fahrzeuge mit mehreren Abfahrten .


Ich habe den DARP-Algorithmus anfangs gesehen, ihn aber überstrichen, da ich nicht wusste, dass er für Kuriere verwendet werden kann. Sieht so aus, als würde das gut funktionieren! Es ist schade, dass die Dokumentationsseite keine Verwendungsbeispiele enthält. Möglicherweise müssen Sie den Quellcode durchsuchen, um zu sehen, wie es funktioniert.
RichW


1

Während ESRI ArcLogistics eindeutig nicht Ihren speziellen Anforderungen für die Verwendung von PostGIS oder Open Source entspricht, ist es für andere, die möglicherweise nicht über die Programmierkenntnisse oder die Zeit verfügen, ihre eigenen Lösungen zu implementieren, eine kostenpflichtige Standarderweiterung von ArcGIS, mit dem die von Ihnen beschriebenen Aufgaben ausgeführt werden.

Sie bieten derzeit auch eine kostenlose 30-Tage-Testversion an, wenn Sie sie ausprobieren möchten.


Ich bin letzte Woche zum ESRI-Hauptquartier gegangen, um diese Software für sie zu besprechen, aber sie scheint nicht unseren Anforderungen zu entsprechen (sie muss auf einem Server ausgeführt werden und ist auch recht teuer). Exzellentes Teil des Kits!
RichW

Unser FleetEngine-Produkt wird als Server mit einer SOAP-Schnittstelle ausgeführt. 100 Ziele, 5 Fahrzeuge und Zeitfenster gehören definitiv zu den Möglichkeiten. Es ist fast serienreif, kontaktieren Sie mich für eine Testlizenz. Es ist nicht Open Source oder kostenlos, aber andererseits nicht so teuer wie ArcLogistics.
Uffe Kousgaard

1
Hallo Uffe, kann es Fahrzeugbeschränkungen (Gewicht und Maße) berücksichtigen und die Pakete entsprechend auf die Fahrzeuge sortieren? Funktioniert es auch in Großbritannien und verwendet es Straßenverlaufsdaten, um Geschwindigkeiten usw. zu berechnen?
RichW

Ja zu all deinen Fragen. Es werden einfache Gewichts- / Volumenzusätze verwendet. Es kann nicht auch 3D-Packen, das wäre zu viel zu hoffen. Volle Unterstützung für Straßennetze in jedem Land, aber Sie müssen das Straßennetz bereitstellen. Leider habe ich die Antwort nicht früher gesehen, ich dachte, diese Diskussion wäre beendet. Schicken Sie mir eine E-Mail an uffe@routeware.dk, wenn Sie darüber weiter diskutieren möchten.
Uffe Kousgaard
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.