Zeitfenster

Als Zeitfenster wird der Zeitraum zwischen einer Anfangs- und Endzeit bezeichnet, in dem ein Netzwerkstandort, z. B. ein Stopp bei einer Routenanalyse, in einer Route erreicht wird. Zeitfenster werden häufig zum Modellieren von Terminen oder Lieferzeiten verwendet.

Hinweis:
Ein Zeitfenster beschreibt, wann ein Fahrzeug an einem Ort eintreffen kann. Es beschreibt nicht den Zeitraum, in dem alle Aktivitäten an diesem Ort abgeschlossen sein müssen.

Zeitfenster können für ein bestimmtes Datum, einen generischen Wochentag oder das aktuelle Datum konfiguriert werden.

Weitere Informationen zu Datumsangaben und Uhrzeiten in einer Netzwerkanalyse

Zwei Netzwerkanalysetypen enthalten Zeitfenster: Routen-Analysen und Vehicle Routing Problem-Analysen.

Zeitfenster in einer Routenanalyse

Der Routen-Solver versucht, eine Route entlang bestimmter Stopps zu finden, die die geringsten Kosten verursacht und für die gleichzeitig die ausgewählten Beschränkungen im Netzwerk und alle Zeitfenster berücksichtigt werden. Wenn Überschreitungen des Zeitfensters unvermeidbar sind, versucht der Solver, die gesamte Zeitüberschreitung zu minimieren.

Zeitfenster in einer Routenanalyse werden mit Feldern in der Eingabeklasse Stops definiert:

NetzwerkanalyseklasseZeitfensterfeld

Stops

TimeWindowStart: Der Anfang des Zeitfensters, in dem der Stopp aufgesucht werden kann

TimeWindowEnd: Das Ende des Zeitfensters, in dem der Stopp aufgesucht werden kann

Zeitfenster werden automatisch in der Analyse verwendet, wenn Zeitfensterfelder gefüllt sind.

Die für jedes Zeitfenster angegebene Zeit kann in der lokalen Zeitzone der jeweiligen Eingabeposition oder in koordinierter Weltzeit (UTC) interpretiert werden. Bei Verwendung eines Routenanalyse-Layers kann die Zeitzone für Zeitfensterfelder mit dem Parameter Zeitzone für Zeitfelder im Dialogfeld des Geoverarbeitungswerkzeugs Routenanalyse-Layer erstellen oder in der Dropdown-Liste Bezugszeitzone auf dem Menüband Routen-Layer angegeben werden. Bei Verwendung eines Route-Solver-Objekts im arcpy.nax Python-Modul verwenden Sie die timeZoneForTimeWindows-Eigenschaft.

Wenn Zeitfenster verwendet werden, muss kein Analysezeitpunkt angegeben werden, da das Zeitfenster des ersten Stopps zum Bestimmen des Routenanfangs verwendet wird. Wenn Sie jedoch einen Analysezeitpunkt angeben, der beispielsweise den Anfang der Schicht eines Fahrers darstellt, wird dies bei den Ankunfts- und Abfahrtszeiten an allen Stopps berücksichtigt. Wenn die Route vor dem Zeitfenster des ersten Stopps beginnt, wird am ersten Stopp eine Wartezeit hinzugefügt. Wenn die Route nach Verstreichen des Zeitfensters eines Stopps beginnt, kann eine Zeitüberschreitung entstehen. Das Datum des Zeitfensters muss mit dem für den Zeitpunkt angegebenen Datum für die Routenanalyse übereinstimmen.

Auf der Route entstandene Wartezeiten oder Zeitüberschreitungen sind in der Ausgabe enthalten. Die gesamte Wartezeit und Zeitüberschreitung für jede Route finden Sie in der Ausgabeklasse Routes in Feldern mit dem Präfix TotalWait_ bzw. TotalViolation_. Die Wartezeit und Zeitüberschreitung für jeden Stopp auf einer Route finden Sie in der Ausgabeklasse Stops in Feldern mit dem Präfix Wait_ bzw. Violation_. Die Felder in der Ausgabeklasse Stops mit den Präfixen CumulWait_ und CumulViolation_ stellen die kumulative Wartezeit und Zeitüberschreitung bis zu diesem Punkt in der Route dar.

Zeitfenster in einer Vehicle Routing Problem-Analyse

Der Vehicle Routing Problem-Solver versucht, die kostengünstigste Route zu Aufträgen zu finden, bei der notwendige Depotstopps und Pausen eingeplant sind und bei der gleichzeitig die ausgewählten Einschränkungen im Netzwerk und alle Zeitfenster berücksichtigt werden. Wenn Überschreitungen des Zeitfensters unvermeidbar sind, versucht der Solver, die gesamte Zeitüberschreitung zu minimieren.

Zeitfenster in einer Vehicle Routing Problem-Analyse können mit den folgenden Feldern für die Klassen Orders, Depots und Breaks definiert werden:

NetzwerkanalyseklasseZeitfensterfeld

Orders

TimeWindowStart: Der Anfang des ersten Zeitfensters, in dem der Auftragsort aufgesucht werden kann

TimeWindowEnd: Das Ende des ersten Zeitfensters, in dem der Auftragsort aufgesucht werden kann

TimeWindowStart2: Der Anfang des zweiten Zeitfensters, in dem der Auftragsort aufgesucht werden kann

TimeWindowEnd2: Das Ende des zweiten Zeitfensters, in dem der Auftragsort aufgesucht werden kann

Depots

TimeWindowStart: Der Anfang des ersten Zeitfensters, in dem das Depot aufgesucht werden kann

TimeWindowEnd: Das Ende des ersten Zeitfensters, in dem das Depot aufgesucht werden kann

TimeWindowStart2: Der Anfang des zweiten Zeitfensters, in dem das Depot aufgesucht werden kann

TimeWindowEnd2: Das Ende des zweiten Zeitfensters, in dem das Depot aufgesucht werden kann

Breaks

TimeWindowStart: Der Anfang des Zeitfensters, in dem die Pause stattfinden kann

TimeWindowEnd: Das Ende des Zeitfensters, in dem die Pause stattfinden kann

Vorversion:

Bei Verwendung eines VehicleRoutingProblem-Solver-Objekts mit Schemaversion One im Python-Modul arcpy.nax wird das erste Zeitfenster in den Klassen Orders und Depots mit den Feldern TimeWindowStart1 und TimeWindowEnd1 anstatt mit den Feldern TimeWindowStart und TimeWindowEnd definiert.

Die Eingabeklasse Routes verfügt ebenfalls über Zeitfensterfelder, die zum Angeben des Zeitraums, in dem eine Route beginnen kann, verwendet werden:

NetzwerkanalyseklasseZeitfensterfeld

Routes

EarliestStartTime: Der Anfang des Zeitfensters, in dem die Route beginnen kann

LatestStartTime: Das Ende des Zeitfensters, in dem die Route beginnen kann

Zeitfenster werden automatisch in der Analyse verwendet, wenn die Zeitfensterfelder gefüllt sind. Das Datum des Zeitfensters muss mit dem für die Analyse konfigurierten Standarddatum übereinstimmen.

Die für jedes Zeitfenster angegebene Zeit kann in der lokalen Zeitzone der jeweiligen Eingabeposition oder in koordinierter Weltzeit (UTC) interpretiert werden. Bei Verwendung eines Vehicle Routing Problem-Analyse-Layers kann die Zeitzone für Zeitfensterfelder mit dem Parameter Zeitzone für Zeitfelder im Dialogfeld des Geoverarbeitungswerkzeugs Analyse-Layer für Vehicle Routing Problem erstellen oder in der Dropdown-Liste Bezugszeitzone auf dem Menüband VRP-Layer angegeben werden. Bei Verwendung eines VehicleRoutingProblem-Solver-Objekts im arcpy.nax Python-Modul verwenden Sie die timeZoneForTimeWindows-Eigenschaft.

Auf der Route entstandene Wartezeiten oder Zeitüberschreitungen sind in der Ausgabe enthalten. Die gesamte Wartezeit und Zeitüberschreitung für jede Route finden Sie in der Ausgabeklasse Routes im Feld TotalWaitTime bzw. TotalViolationTime. Die bei den einzelnen Aufträgen, Pausen oder Depots auf einer Route entstandenen Wartezeiten und Zeitüberschreitungen finden Sie im Feld WaitTime bzw. ViolationTime. Die Felder CumulWaitTime und CumulViolationTime für einen Auftrag, ein Depot oder eine Pause stellen die kumulative Wartezeit bzw. Zeitüberschreitung bis zu diesem Punkt in der Route dar.

Sie können die Felder MaxViolationTime und MaxViolationTime2 in den Eingabeaufträgen und das Feld MaxViolationTime in den Eingabepausen zum Steuern der akzeptablen Zeitfensterverletzung für Ihre Analyse verwenden. Wenn Sie Zeitfenster als harte Einschränkung modellieren möchten, die Zeitfensterverletzungen nicht zulässt, legen Sie die entsprechenden Felder MaxViolationTime und MaxViolationTime2 auf Null fest.

Vorversion:

Bei Verwendung eines VehicleRoutingProblem-Solver-Objekts mit Schemaversion 1 im Python-Modul arcpy.nax hat das Feld MaxViolationTime in der Orders-Klasse den Namen MaxViolationTime1.

Beispiel für ein Zeitfenster

Im folgenden Beispiel werden Zeitfenster veranschaulicht, die für eine Routenanalyse verwendet werden, um die optimale Route zum Aufsuchen von drei Stopps (a, b und c) zu ermitteln. Das Zeitfenster für die einzelnen Stopps wird durch die Felder TimeWindowStart und TimeWindowEnd angegeben.

Beispiel für drei Stopps mit Zeitfensterinformationen

Die Route kann jederzeit zwischen 8:00 Uhr und 9:00 Uhr an Punkt a beginnen. Punkt b darf jedoch nicht vor 9:15 Uhr erreicht werden. Wie unten gezeigt, wird b um 9:08:24 Uhr erreicht.

Ankunft- und Abfahrtzeiten

Da b nur zwischen 9:15 Uhr und 9:30 Uhr erreicht werden darf, wird an Punkt b 6 Minuten und 36 Sekunden gewartet, und der Punkt wird um 9:15 Uhr verlassen. Diese Wartezeit wird im Feld Wait_TravelTime von Stopp b als 6,6 Minuten gespeichert und zum Gesamtzeitbedarf für die Route addiert. Im Feld Cumul_TraveTime für einen Stopp wird die Gesamtzeit gespeichert, die zum Erreichen dieser Station benötigt wird. Die kumulative Fahrzeit für Punkt b beträgt 15 Minuten (8 Minuten und 24 Sekunden Fahrzeit und 6 Minuten und 36 Sekunden Wartezeit, um das Zeitfenster für Stopp b zu berücksichtigen).

Wartezeit

Die Route sieht für Stopp b die Abfahrtszeit 9:15 Uhr vor, und Stopp c wird um 9:35:34 Uhr erreicht. Stopp c hat jedoch ein Zeitfenster von 9:15 Uhr bis 9:30 Uhr. Da das Zeitfenster von Stopp c bei dieser Route nicht berücksichtigt werden kann, entsteht eine Zeitüberschreitung von 5 Minuten und 34 Sekunden, die im Feld Violation_TravelTime als 5,58 Minuten gespeichert wird.

Zeitverstoß