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 werden soll.
Zwei Netzwerkanalyse-Layer enthalten Zeitfenster: Routen- und Vehicle Routing Problem-Analyse-Layer. In den folgenden beiden Tabellen sind die Netzwerkanalyse-Klassen aufgeführt, für die Sie Zeitfenster festlegen können.
Zeitfensterfeldern in Routenanalyse-Layern
Netzwerkanalyseklasse | Zeitfensterfeld |
---|---|
Stopps |
TimeWindowStart |
TimeWindowEnd |
Hinweis:
Zeitfenster werden verwendet, wenn eines der Zeitfelder TimeWindowStart und TimeWindowEnd) im Stopps-Layer ausgefüllt ist. Die Zeitzone für die Zeitfensterfelder kann angegeben werden, wenn mit dem Parameter Zeitzone für Zeitfelder im Dialogfeld des Geoverarbeitungswerkzeugs Routenanalyse-Layer erstellen ein neuer Routenanalyse-Layer erstellt wird. Sie können auch mit der Liste Bezugszeitzone auf dem Menüband "Route" die Zeitzone für Zeitfensterfelder angeben. Um die Zeitzone für die Zeitfensterfelder in einem vorhandenen Layer zu aktualisieren, verwenden Sie die Eigenschaft timeZoneUsageForTimeFields der Klasse RouteSolverProperties in Python.
Zeitfensterfelder in Analyse-Layern für ein Vehicle Routing Problem
Netzwerkanalyseklasse | Zeitfensterfeld |
---|---|
Aufträge |
TimeWindowStart |
TimeWindowEnd | |
TimeWindowStart2 | |
TimeWindowEnd2 | |
Depots | TimeWindowStart |
TimeWindowEnd | |
TimeWindowStart2 | |
TimeWindowEnd2 | |
Unterbrechungen | TimeWindowStart |
TimeWindowEnd |
Sie müssen im Analyse-Layer eines Vehicle Routing Problem keine Eigenschaften aktivieren, um Zeitfenster verfügbar zu machen. Diese sind immer verfügbar. Mit den Klassen "Aufträge" und "Depots" können Sie zwei Zeitfenster festlegen.
Hinweis:
Zeitfenster werden verwendet, wenn eines der Zeitfelder (TimeWindowStart und TimeWindowEnd) in den Layern "Aufträge" und "Depots" ausgefüllt ist. Die Zeitzone für die Zeitfensterfelder kann angegeben werden, wenn mit dem Parameter Zeitzone für Zeitfelder im Dialogfeld des Geoverarbeitungswerkzeugs Analyse-Layer für Vehicle Routing Problem erstellen ein Analyse-Layer für ein Vehicle Routing Problem erstellt wird. Sie können auch mit der Liste Bezugszeitzone auf dem Menüband "VRP" die Zeitzone für Zeitfensterfelder angeben. Um die Zeitzone für die Zeitfensterfelder in einem vorhandenen Layer zu aktualisieren, verwenden Sie die Eigenschaft timeZoneUsageForTimeFields der Klasse VehicleRoutingProblemSolverProperties in Python.
Routenobjekte im Vehicle Routing Problem verfügen ebenfalls über Zeitfensterfelder: EarliestStartTime und LatestStartTime. Sie geben den Zeitraum an, in dem eine Route beginnen kann.
Verwenden von Datumsangaben in Zeitfenstern
Damit der Routenanalyse-Layer für "Heute" aufgelöst wird, müssen die Zeitfensterfelder und Zeitpunkt auf den Wert Heute – 30.12.1899 festgelegt werden. Um einen Layer für die Vehicle Routing Problem-Analyse für "Heute" aufzulösen, muss Standarddatum auf den Wert Heute – 30.12.1899 festgelegt werden.
Wenn die Auflösung für einen Wochentag erfolgen soll, wird für die Zeitfensterfelder weiterhin der Wert "Heute" verwendet, jedoch sollte als Zeitpunkt für einen Routenanalyse-Layer und als Standarddatum für einen Layer für die Vehicle Routing Problem-Analyse das entsprechende Datum des Wochentages angegeben werden.
Statt ein bestimmtes Datum zu verwenden, kann ein Wochentag mithilfe der folgenden Datumsangaben angegeben werden:
- Heute: 30.12.1899
- Sonntag: 31.12.1899
- Montag: 1.1.1900
- Dienstag: 02.01.1900
- Mittwoch: 03.01.1900
- Donnerstag: 04.01.1900
- Freitag: 05.01.1900
- Samstag: 06.01.1900
Das Datum des Zeitfensters muss mit dem für den Zeitpunkt angegebenen Datum (für eine Routenanalyse) oder dem Standarddatum (für eine Vehicle Routing Problem-Analyse) übereinstimmen.
Beispiel für ein Zeitfenster
Stellen Sie sich zum besseren Verständnis von Zeitfenstern vier Stopps vor (a, b, c und d), für die eine Route gefunden werden soll. Das Zeitfenster für die einzelnen Stopps wird durch die Felder TimeWindowStart und TimeWindowEnd angegeben.
Die Route kann bei Punkt a zu einem beliebigen Zeitpunkt zwischen 8:00 und 9:00 Uhr beginnen. Sie darf jedoch Punkt b nicht vor 9:10 Uhr erreichen. Wie unten gezeigt, erreicht die Route Punkt b um 9:05:08 Uhr.
Da Punkt b nur zwischen 9:10 und 9:12 Uhr angefahren werden soll, wartet die Route vier Minuten und 52 Sekunden an Punkt b und fährt um 9:10 Uhr ab. Diese Wartezeit wird im Feld Wait_TravelTime von Stopp b als 4,66 Minuten gespeichert und zur Gesamtzeit für die Route hinzugefügt. 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 10 Minuten (5 Minuten und 8 Sekunden Fahrzeit und 4 Minuten und 52 Sekunden Wartezeit, um das Zeitfenster für Stopp b zu berücksichtigen).
Die Route verlässt Stopp b um 9:10 Uhr und erreicht Stopp c um 9:15:20 Uhr Für Stopp c liegt das Zeitfenster jedoch zwischen 9:10 und 9:12 Uhr. Dieser Verstoß von 3 Minuten und 20 Sekunden wird im Feld Violation_TravelTime als 3,33 Minuten gespeichert, da das Zeitfenster von Stopp c in dieser Route nicht eingehalten werden kann.
Zeitfenster werden als "weiche" Einschränkung behandelt. Das bedeutet, dass der Solver zwar versucht, die Zeitfenster zu berücksichtigen, diese jedoch ggf. für einige Stopps verletzt, um die Stopps zu erreichen. Dies ist der Unterschied zu "harten" Einschränkungen, bei denen keine Route zum Stopp erstellt wird, dessen Zeitfenster überschritten wurde. Harte Zeitfenster werden vom Routenanalyse-Layer nicht unterstützt. Sie können sie jedoch in einem Analyse-Layer für ein Vehicle Routing Problem für die Zeitfenster "Aufträge" verwenden, indem Sie das entsprechende Feld MaxViolationTime auf Null setzen.
Ein Routen-Solver versucht, eine Route entlang bestimmter Stopps zu finden, die die geringsten Kosten verursacht und für die 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.