Auf dieser Seite kann interaktiv ein eigenes Location-Routing-Problem gelöst werden. Für mehr zu LRP siehe LRP Theorie.
Ziel ist es, eine Menge an Kunden möglichst kostengünstig zu beliefern, indem eine optimale Route gefahren wird. Optional kann außerdem aus einer Menge an Standorten gewählt werden, an welchen das Lieferfahrzeug befüllt wird und seine Route startet.
Die Kosten werden hier als Fahrzeit in Sekunden angegeben. Vielleicht mache ich das später noch benutzerfreundlicher … 🙂
Bedienung
Ausklappen für detaillierte Anleitung.
- Der Schalter „Neue Adresse“ erzeugt ein Eingabefeld für eine Kundenadresse. Ein Kunde ist dabei eine Adresse/Person/Unternehmen/…, das beliefert werden soll. Für jeden Kunden auf den Schalter drücken, um ein separates Textfeld zu erzeugen. Ein Kunde kann wieder entfernt werden, indem auf das dazugehörige Kreuz gedrückt wird. Es muss mindestens ein Kunde angegeben werden!*
- Der Schalter „Neuer Standort“ erzeugt ein Eingabefeld für eine Standortadresse. Ein Standort ist dabei eine Adresse/Person/Unternehmen/…, an dem das Lieferfahrzeug beladen wird und am Ende der Tour wieder zurückkehrt. Es muss mindestens ein Standort angegeben werden!
- Adressen können als einfacher Text ohne besondere Formatierung eingegeben werden, also etwa „Spreeweg 1 Berlin“. Falls es eine Straße/Ort mehrmals gibt, empfiehlt es sich, auch die PLZ einzugeben.
Alternativ können die Adressen auch durch Klicken auf die Karte ausgewählt werden. Durch erneutes Klicken auf eine Markierung wird diese Adresse wieder entfernt.
- Sowohl beim Kundenfeld als auch beim Standortfeld kann außerdem noch der Bedarf bzw. die Lagerkapazität eingegeben werden. Die Einheit ist dabei egal, solange sie in allen Fällen identisch ist. Wird hier keine Eingabe vorgenommen, dann wird ein Kundenbedarf von 10 Einheiten und eine Standortkapazität von 1000 Einheiten angenommen. Die Standortkapazität entspricht auch der Lieferfahrzeugkapazität. Die Summe der Standortkapazitäten muss größergleich der Summe der Kundenbedarfe sein. Bei Standorten können außerdem Fixkosten der Standorte angegeben werden, die bei der Verwendung eines Standortes entstehen. Diese Kosten werden auf die Fahrtkosten [Zeit in Sekunden] addiert, entsprechend sollte die Einheit der Standortkosten in einem passenden Verhältnis zu den Fahrtkosten stehen. Standardmäßig haben Standorte keine Fixkosten.
- Zustätzlich kann ein stochastischer, Poisson-verteilter Kundenbedarf angenommen werden. Dafür den Haken bei „Stochastischer Kundenbedarf mit Poisson-Verteilung.“ setzen.
- Sind alle Eingaben vorgenommen, so kann durch die Schaltfläche „Berechne Standort- und Routenplan“ die Berechnung gestartet werden. Nach Betätigung bitte warten, bis das Ladesymbol des Browsers verschwindet. Je nach Kunden/Standortanzahl dauert das mind. 10 Sekunden bis einige Minuten. Hinweis: Große Instanzen wurden hier noch nicht getestet, ich freue mich daher auf Feedback zur Performance, falls jemand sich die Mühe gemacht hat, viele (bis zu 24) Kunden einzugeben.
- Das Ergebnis wird dann unterhalb der Schaltflächen angezeigt. Die Kosten sind die Fahrzeit in Sekunden. Für jedes eingesetzte Fahrzeug bzw. Standort wird ein Fahrplan erzeugt, der die Reihenfolge der besuchten Orte angibt. Zur Überprüfung der Eingaben werden außerdem die Adresse, die dazugehörigen gefundenen Koordinaten und die eingegebene Standortkapazität bzw. der Bedarf ausgegeben. Außerdem wird die Route in Luftlinienform auf der Karte angezeigt. Die tatsächlich ausgegebene Fahrzeit berücksichtigt aber die kürzeste Straßenstrecke zwischen zwei Punkten.
Viel Spaß beim Ausprobieren!
*Aber mal im Ernst, wer braucht bitte eine Routenplanung für einen Kunden?
Limitationen
Aufgrund der zugrundeliegenden APIs, die ich unter anderem zur Distanzberechnung verwende, ist die kombinierte Anzahl aus Standorten und Kunden beschränkt auf 25.
WICHTIG: Wie bereits auf der Startseite erwähnt, ist das hier ein Testprojekt, welches sich jederzeit ändern kann und dessen Ergebnisse nicht garantiert fehlerfrei sind.
Eingabe leeren.