Closed rkoetsch closed 5 years ago
Tilmann, könntst Du Dich hier bitte einklinken? Klingt ein wenig wie das, was Du für Xy gerade machst. Danke ...
In einem anderen Projekt wird tatsächlich die normale MATSim-Population mit der Frachtnachfrage verknüpft. Das Grundprinzip: Agenten fordern Dienstleistungen während ihren Aktivitäten an. Das geschieht offline, ebenso wie die dann angestoßene Tourenplanung. Die Auftragsdaten sind dabei als Aktivitätenattribute in den Agentenplänem enthalten. Die Frachtagenten führen ihre Touren aus. Sie können dabei auf eigene Fahrzeuge, aber potentiell auch auf DRT-Flotten zurückgreifen. Die Kunden bewerten die erfolgte Dienstleistung (ist die Dienstleistung pünktlich erfolgt?) und können replanning betreiben (derzeit: Wechsel des Dienstleisters innerhalb der Branche).
Aktuell braucht der Code Überarbeitung. Da bin ich dran.
Das Beschriebene klingt wie (Express-)Lieferungen innerhalb der Stadt von einem Tag auf den anderen. Dann gäbe es noch Lieferungen von außerhalb der Stadt, könnten dazu ne Art Verteilzentrumsagenten viele Aufträge von einem (z.B. DHL-)Verteilzentrum aus anwerfen? (Ggf. ließe sich das alles aber auch abbilden indem es von außerhalb angestoßen wird - Fragen wie "Wechsel des Dienstleisters" würden dann natürlich wegfallen)
Woran ich allerdings vorallem gedacht hatte war die Beförderung von Menschen, welche anstatt mit einem Fahrrad/Auto/Taxi eben mit diesem "Fracht"-Service von a nach b wollen
Woher die Dienstleistungen/Lieferungen stammen, ist nach wie vor durch die Datenstruktur des entsprechenden Carriers gegeben. Gibt es zum Beispiel den Carrier DHL-Verteilzentrum und die MATSim-Population bestellen bei diesem etwas, so erfolgt die Lieferung von dem Depot dieses Carriers.
Die Nutzung von einer Flotte für Personen- und Güterwirtschaftsverkehr ist mit der erwähnten Erweiterung auch abbildbar. Hier stellen sich dann noch einige OR-related Fragen bezüglich des Operationsschemas eines solchen Flottenbetriebs.
Wichtig ist hier, die Konzepte von Offline- (JSprit / Freight-Contrib) und Onlineplanung (DRT, bzw. bei euch derzeit AmoDeus) auseinanderzuhalten. Die Freight-Contrib ist nur für die Offlineplanung gemacht. Was du beschreibst, scheint die Verschmelzung von Offline (Güter) und Online (Personen) anzustreben.
Man kann Güter als auch Personen Online wie auch Offline haben.
Beispiele: Güter-Offline -> Warenbestellung im Internet Güter-Online -> Expresslieferung z.b. für Firmen von einer Filiale zur anderen Personen-Offline -> Ich habe meine Tour bereits vorher gebucht z.B. Pendler oder so etwas wie Flixbus Personen-Online -> Taxi (wobei ich diese auch vorher bestellen kann) oder "spontanes" Ride-Sharing
Die grundlegende Unterscheidung bei der Simulation von einem Tag wäre weiß ich schon am Anfang des Tages, dass das Gut / die Person befördert werden soll oder erfahre ich dies erst im Laufe des Tages. Da ihr/wir immer den selben Tag simulieren (?) kann ich ja auch eigentlich immer davon ausgehen, dass ich vorher weiß was passiert ... das ist ja auch die generelle Annahme für Agenden (?), die wissen doch schon vorher dass sie am Nachmittag zum Sport wollen.
Der Unterschied von Offline und Online besteht ja eigentlich nur darin, wann der Plan des Agenten an den Algorithmus übergeben wird (Alles zusammen am Anfang, oder gestückelt während der Simulation), oder nicht?
Offline wie auch Online gäbe es dann noch die Ebene, dass der Agent eine andere Alternative wählen kann wenn der Alg nein sagt (sofern dies gewünscht ist).
Bedeutet das, du möchtest darauf hinaus, so etwas wie einen innerstädtischen Flixbus zu simulieren? Kannst du bitte nochmal spezifizieren, was genau der Usecase und dieses Tickets ist?
Einen Flixbus könnte man mit der erwähnten Erweiterung jedenfalls simulieren. Ein innerstädtischer Usecase wäre eventuell so etwas wie ein Krankenpfleger/Handwerker, für den Offline Tourenplanung gemacht werden soll.
Usecase für das Ticket?
Aktuell werden in dem Projekt hier die Auftragsdaten (Shipments im Code definiert) und ich dachte mir es wäre schön wenn diese von den MATSim Agenten angestoßen werden würden.
Ich hatte dabei Personen im Kopf, natürlich können dies auch Guter sein. Allerdings stelle ich mir aus MATSim Personen noch viel leicht als Güter vor (da die Agenten einfach ein weiteres Fahrzeug wählen könnten).
Für das aktuell geplante Paper (Usecase?) sind die pünktlichen Ankunftszeiten relevant. Das kann man natürlich mit Gütern durchspielen hat mit Personen aber noch etwas mehr relevanz. Die Person soll möglichst nach Plan abgeholt werden und auch nach Plan ihr Ziel erreichen.
Merke: Aktuell in Arbeit -> Agenten bestellen Pakete (über DHL, DPD, Hermes Verteilzentren) oder Dienstleistungen (verschiedene Krankenpfleger/Handwerker etc.).
Aktuell werden die Shipments und Fahrzeugtypen usw. in der Klasse RunFreight erstellt. Dies ist sicher für einige Tests und Anwendungsfälle okay, aber beispielsweise für PAVE wäre es interessant, wenn die Agenten in MATSim die Aufträge generieren.