matsim-vsp / pave

https://matsim-vsp.github.io/pave
GNU General Public License v2.0
2 stars 2 forks source link

Auftragsdaten von MATSim #10

Closed rkoetsch closed 5 years ago

rkoetsch commented 5 years ago

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.

kainagel commented 5 years ago

Tilmann, könntst Du Dich hier bitte einklinken? Klingt ein wenig wie das, was Du für Xy gerade machst. Danke ...

tschlenther commented 5 years ago

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.

rkoetsch commented 5 years ago

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

tschlenther commented 5 years ago

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.

tschlenther commented 5 years ago

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.

rkoetsch commented 5 years ago

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.

rkoetsch commented 5 years ago

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).

tschlenther commented 5 years ago

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.

rkoetsch commented 5 years ago

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.

rkoetsch commented 5 years ago

Merke: Aktuell in Arbeit -> Agenten bestellen Pakete (über DHL, DPD, Hermes Verteilzentren) oder Dienstleistungen (verschiedene Krankenpfleger/Handwerker etc.).