Mit der Network Analyst-Lizenz verfügbar.
Viele Organisationen arbeiten Aufträge mithilfe einer Fahrzeugflotte ab. Beispielsweise kann ein großes Möbelgeschäft mehrere Lastwagen zum Ausliefern von Möbeln an Kunden einsetzen. Ein auf Fettrecycling spezialisiertes Unternehmen kann Lkw von einer Einrichtung zu Restaurants senden, um dort Altfett abzuholen. Eine Gesundheitsbehörde kann in einem Terminplan tägliche Kontrollbesuche für die einzelnen Gesundheitskontrolleure festlegen.
Allen oben genannten Beispielen ist das Vehicle Routing Problem (VRP) gemeinsam. Jede Organisation muss bestimmen, welche Aufträge (Wohnstätten, Restaurants oder Standorte von Kontrollbesuchen) mit den einzelnen Routen (Lkw oder Kontrolleur) ausgeführt werden sollen und in welcher Reihenfolge die Aufträge erledigt werden sollen. Das wichtigste Ziel ist die optimale Durchführung der Aufträge und die Minimierung der Gesamtbetriebskosten für die Fahrzeugflotte. Während der Routen-Solver der Erweiterung "ArcGIS Network Analyst" die optimale Route für ein einzelnes Fahrzeug und viele Stopps ermittelt, ermittelt der VRP-Solver die optimalen Routen für eine Fahrzeugflotte, mit der viele Aufträge abgearbeitet werden. Der VRP-Solver kann außerdem spezifischere Probleme lösen, weil zahlreiche Optionen verfügbar sind, z. B. Vergleichen von Fahrzeugkapazitäten mit Auftragsmengen, Zuteilen von Pausenzeiten für Fahrer sowie paarweises Zusammenstellen von Aufträgen für dieselbe Route.
Beim Ermitteln einer Vehicle Routing Problem-Lösung wird der gleiche Workflow wie bei anderen Netzwerkanalysen verwendet.
Analyse-Layer für das Vehicle Routing Problem
Im Analyse-Layer für das Vehicle Routing Problem werden Eingaben, Parameter und Ergebnisse für ein bestimmtes Vehicle Routing Problem gespeichert. Nachdem der Layer erstellt wurde, wird er auch im Fenster Inhalt als Verbund-Layer mit der Bezeichnung "Vehicle Routing Problem" angezeigt. Falls im Kartendokument bereits ein Vehicle Routing Problem mit dem gleichen Namen vorhanden ist, wird "Vehicle Routing Problem 1", "Vehicle Routing Problem 2" usw. verwendet. Der Analyse-Layer für das Vehicle Routing Problem besteht aus13 Netzwerkanalyseklassen, die neun Feature-Layer ("Aufträge", "Depots", "Routen", "Pausenzeiten", "Routenzonen", "Depotstopps", "Punkt-Barrieren", "Linien-Barrieren" und "Polygon-Barrieren") und vier Tabellen ("Routenbesonderheiten", "Auftragsbesonderheiten", "Auftragspaare" und "Lager (Be-/Entladen)") umfassen. Sie enthalten die Netzwerkanalyse-Objekte, die beim Lösen des Vehicle Routing Problem verwendet werden. Die Beziehungen zwischen verschiedenen Netzwerkanalyseklassen werden im folgenden Dokument dargestellt:
Beziehungen zwischen Netzwerkanalyseklassen im Vehicle Routing ProblemWeitere Informationen zum Erstellen von Netzwerkanalyse-Layern
Für die Unterstützung von VRP-Workflows ab ArcGIS Pro 2.6 wurden einige Schemaänderungen eingeführt. Weitere Informationen finden Sie unter Änderungen am VRP-Schema.
Hinweis:
Wenn beim Referenzieren von ArcGIS.com oder eines Portals für das Netzwerk-Dataset des VRP-Layers die Berechnung fehlschlägt, werden nur die Felder "ViolatedConstraints" aktualisiert. Alle anderen Eingabe- und Ausgabefelder bleiben unverändert.
Aufträge
In diesem Feature-Layer werden die Aufträge gespeichert, die Teil eines angegebenen Analyse-Layers für das Vehicle Routing Problem sind. Ein Auftrag kann eine Lieferung an einen Kunden, eine Abholung von einem Kunden oder eine sonstige Arbeit sein. Dazu gehören z. B. eine Möbellieferung, eine Fettabholung von einem Restaurant oder ein Inspektionstermin.
Wenn Aufträge eine Abholung oder eine Auslieferung erfordern, können die Artikel über eine oder mehrere Eigenschaften verfügen, wobei es sich um eine Art von Maß oder Wert oder um eine Kombination mehrerer Maße oder Werte handeln kann, z. B. Gewichtung, Volumen oder Anzahl von Einheiten. Einigen Aufträgen, z. B. Kontrollbesuchen, ist möglicherweise keine Auslieferung oder Abholung zugeordnet.
Ein Auftrag kann über eine Durchführungszeit verfügen. Dies ist die zum Abarbeiten des Auftrags erforderliche Zeit. Beispielsweise kann für einen Lieferwagen eine Durchführungszeit von 20 Minuten erforderlich sein, um ein Möbelstück zu entladen und in einer Wohnung aufzustellen. Die Durchführungszeit kann für alle Aufträge gleich oder für jeden Auftrag unterschiedlich sein.
Ein Auftrag kann ein oder zwei Zeitfenster aufweisen, die angeben, wann ein Fahrzeug den Ort des Auftrags aufsuchen darf. Beispiel: Ein Lieferwagen für Großhandelslebensmittel darf nur zwischen 8:00 und 10:00 Uhr oder zwischen 14:00 und 16:00 Uhr bei einem Restaurant eintreffen, weil bei einer Ankunft zu einer anderen Uhrzeit der Restaurantbetrieb gestört wird.
Der VRP-Solver ist nicht für die Lösung von Problemen über einen Zeitraum von einem Jahr vorgesehen. Daher müssen alle Durchführungszeiten und Zeitfenster weniger als ein Jahr betragen.
Einem Auftrag können Besonderheiten zugeordnet werden. Beispielsweise kann ein Auftrag einen Facharbeiter mit einer bestimmten Qualifikation (z. B. einen Elektriker) oder ein Fahrzeug mit bestimmten Funktionen (z. B. eine Hebebühne) erfordern. Dem Auftrag wird nur eine Route zugewiesen, die über die gleiche Besonderheit verfügt.
Auftrag: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
Shape | Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. |
Name | Der Name des Netzwerkanalyse-Objekts. Der Name muss eindeutig sein. Dieses Feld fungiert als Primärschlüssel und wird als Fremdschlüssel verwendet, um auf Aufträge in den Tabellen "Auftragspaare" und "Auftragsbesonderheiten" zu verweisen. Bei Auftragsnamen muss nicht zwischen Groß- und Kleinschreibung unterschieden werden und sie müssen auch dann angegeben werden (Feld darf nicht leer sein), wenn der Auftrag aus dem Berechnungsvorgang ausgeschlossen wird. |
Description | Dies ist die Beschreibung des Auftrags. Diese kann Textinformationen zum Auftrag umfassen und muss nicht eindeutig sein. Sie können im Feld "Name" die ID-Nummer eines Kunden und im Feld "Beschreibung" den eigentlichen Namen oder die Adresse des Kunden speichern. |
ServiceTime | Diese Eigenschaft gibt an, wie viel Zeit am Netzwerkstandort verbracht wird, wenn die Route zu ihm führt. Das heißt, in ihr wird der Wert für die Impedanz des Netzwerkstandorts gespeichert. Ein 0 oder NULL-Wert weist darauf hin, dass der Netzwerkstandort keine Durchführungszeit erfordert. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
TimeWindowStart | Die Anfangszeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Anfangszeit vorhanden ist. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
TimeWindowEnd | Die Endzeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Endzeit vorhanden ist. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
TimeWindowStart2 | Die Anfangszeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass kein zweites Zeitfenster vorhanden ist. Wenn das erste Zeitfenster gemäß den Feldern TimeWindowStart und TimeWindowEnd NULL ist, muss das zweite Zeitfenster ebenfalls NULL sein. Wenn es sich bei beiden Fenstern um Nicht-NULL-Fenster handelt, können sie nicht überlappen. Außerdem muss das zweite Zeitfenster auf das erste folgen. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
TimeWindowEnd2 | Die Endzeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Wenn TimeWindowStart2 und TimeWindowEnd2 beide NULL sind, gibt es kein zweites Zeitfenster. Wenn TimeWindowStart2 nicht NULL ist, aber TimeWindowEnd2 NULL ist, gibt es ein zweites Zeitfenster, das eine Startzeit, aber keine Endzeit hat. Dies ist zulässig. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
MaxViolationTime | Eine Zeitfensterverletzung liegt vor, wenn die Ankunftszeit nach dem Ende des Zeitfensters liegt. Dieses Feld gibt den maximal zulässigen Zeitverstoß für das erste Zeitfenster des Auftrags an. Es darf den Wert 0, jedoch keinen negativen Wert enthalten. Der Wert 0 gibt an, dass kein Verstoß gegen das erste Zeitfenster des Auftrags zulässig ist, d. h. das erste Zeitfenster ist ein sog. "hartes" Zeitfenster. Ein NULL-Wert bedeutet jedoch auch, dass der zulässige Zeitverstoß unbegrenzt ist. Ein Wert ungleich 0 gibt die maximale Verspätung an. Beispielsweise kann ein Fahrzeug bis zu 30 Minuten nach dem Ende des ersten Zeitfensters bei einem Auftrag ankommen. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Zeitfensterverletzungen können vom Solver verfolgt und gewichtet werden. Daher können Sie für den VRP-Solver eine von drei Strategien festlegen:
Wenn Sie für die Einstellung Zeitfensterverletzung des Analyse-Layers eine Gewichtung zuweisen, wählen Sie letztendlich eine dieser drei Strategien aus. Der Solver gibt jedoch in jedem Fall einen Fehler zurück, wenn der für MaxViolationTime festgelegte Wert überschritten wird. |
MaxViolationTime2 | Der maximal zulässige Zeitverstoß für das zweite Zeitfenster des Auftrags. Dieses Feld entspricht dem Feld MaxViolationTime. |
InboundArriveTime | Legt fest, wann der am Ort des Auftrags abzuliefernde Gegenstand am Startdepot bereit ist. Der Auftrag kann einer Route nur dann zugewiesen werden, wenn die eingehende Ankunftszeit dem letzten Startzeitwert der Route vorausgeht. Auf diese Weise kann die Route das Depot nicht verlassen, bevor der Liefergegenstand bereit ist, in das Depot geladen zu werden. Mit diesem Feld können Szenarien mit Umladungen eingehender Lieferungen modelliert werden. Beispiel: Für einen Auftrag sind spezielle Materialien erforderlich, die derzeit nicht im Depot verfügbar sind. Die Materialien werden von einem anderen Standort versendet und erreichen das Depot um 11:00 Uhr. Um sicherzustellen, dass eine Route, die den Ort vor dem Eintreffen der Lieferung verlässt, dem Auftrag nicht zugewiesen wird, wird die eingehende Ankunftszeit des Auftrags auf 11:00 Uhr festgelegt. Die speziellen Materialien treffen um 11:00 Uhr ein, werden auf das Fahrzeug geladen und das Fahrzeug verlässt das Depot, um die ihm zugewiesenen Orte des Auftrags anzufahren. Anmerkungen:
|
OutboundDepartTime | Legt fest, wann der am Ort des Auftrags abzuholende Liefergegenstand das End-Depot erreichen muss. Der Auftrag kann einer Route nur dann zugewiesen werden, wenn die Route den Ort des Auftrags anfahren kann und dessen End-Depot vor der angegebenen ausgehenden Abfahrtzeit erreicht. Mit diesem Feld können Szenarien mit Umladungen ausgehender Lieferungen modelliert werden. Beispiel: Eine Transportfirma schickt Lieferwagen los, um Pakete von Aufträgen abzuholen und sie zu einem Depot zu bringen. Von dort aus werden sie auf dem Weg zu ihrem Endziel zu anderen Einrichtungen weitertransportiert. Täglich um 15:00 Uhr stoppt ein Sattelschlepper am Depot, um die Pakete mit hoher Priorität abzuholen und sie direkt zu einer zentralen Verarbeitungsstation zu bringen. Um eine Verzögerung der Pakete mit hoher Priorität bis zur 15:00 Uhr-Fahrt des folgenden Tages zu vermeiden, lässt die Transportfirma die Pakete mit hoher Priorität an den Auftragsorten von Lieferwagen abholen und vor Ablauf der 15:00 Uhr-Frist zum Depot bringen. Dazu wird die Abfahrtszeit auf 15:00 Uhr festgelegt. Anmerkungen:
|
| Die Größe der Lieferung. Sie können die Größe in einer beliebigen Dimension angeben, wie Gewicht, Volumen oder Menge. Wenn mehrere DeliveryQuantities vorhanden sind, geben Sie sie nach Bedarf mit den Feldern DeliveryQuantity_1 bis DeliveryQuantity_9 an. |
| Die Größe der Abholung. Sie können die Größe in einer beliebigen Dimension angeben, wie Gewicht, Volumen oder Menge. Wenn mehrere PickupQuantities vorhanden sind, geben Sie sie nach Bedarf mit den Feldern PickupQuantity_1 bis PickupQuantity_9 an. |
Revenue | Die generierten Einnahmen, wenn der Auftrag in einer Lösung enthalten ist. Dieses Feld darf einen NULL-Wert (ein NULL-Wert steht für Einnahmen in Höhe von 0), jedoch keinen negativen Wert enthalten. "Revenue" wird beim Optimieren des Zielfunktionswertes einbezogen, ist jedoch nicht Bestandteil der Betriebskosten für die Lösung. Das bedeutet, dass das Feld TotalCost in der Klasse "Routen" in seiner Ausgabe nie die Einnahmen enthält. Jedoch werden für die Einnahmen die relative Gewichtung der Ausführung von Aufträgen berücksichtigt. |
AssignmentRule | In diesem Feld ist die Regel zum Zuweisen des Auftrags zu einer Route angegeben. Sie wird von einer Domäne von Werten eingeschränkt, die unten aufgeführt sind (codierte Werte werden in Klammern angegeben).
Dieses Feld darf keinen NULL-Wert enthalten. |
Netzwerkstandortfelder
| Zusammen beschreiben diese Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk |
CurbApproach | Die Eigenschaft CurbApproach gibt die Richtung an, in der ein Fahrzeug bei der Einrichtung ankommt bzw. von ihr wegfährt. Es sind vier Optionen (ihre codierten Werte werden in Klammern angegeben) verfügbar:
|
Hinweis:
Ein Zeitfenster gibt nur an, wann ein Fahrzeug bei einer Lieferung ankommen kann. Es gibt nicht an, wann die Durchführungszeit abgeschlossen sein muss. Wenn die Durchführungszeit und das Abfahren des Fahrzeugs vor Ablauf des Zeitfensters berücksichtigt werden sollen, subtrahieren Sie "ServiceTime" vom Feld TimeWindowEnd.
Die Zeitzone für die Zeitfensterfelder kann mit dem Parameter time_zone_for_time_fields im Geoverarbeitungswerkzeug Analyse-Layer für Vehicle Routing Problem erstellen angegeben werden.
Die Zeitfensterfelder können einen reinen Uhrzeitwert oder einen Wert für Datum und Uhrzeit enthalten. Wenn ein Zeitfeld, z. B. TimeWindowStart, einen reinen Uhrzeitwert enthält (z. B. 8:00 Uhr), wird vorausgesetzt, dass als Datum das von der Eigenschaft "Standarddatum" des Analyse-Layers angegebene Datum verwendet wird. Wenn Sie Datums- und Zeitwerte verwenden (z. B. 7/11/2010 8:00 Uhr), können Sie Zeitfenster über mehrere Tage festlegen.
Das Standarddatum wird ignoriert, wenn ein Zeitfenster ein Datum mit der Zeit enthält. Formatieren Sie alle Zeitfenster in Depots, Routen, Aufträgen und Pausenzeiten so, dass außer der Uhrzeit auch das Datum enthalten ist, um Fehler in dieser Situation auszuschließen.
Wenn Sie Verkehrsdaten verwenden, beziehen sich die Felder für Uhrzeit und Datum des Netzwerkstandorts immer auf die gleiche Zeitzone wie die Kante, auf der sich der Netzwerkstandort befindet.
Aufträge: Eingabe-/Ausgabefelder
Eingabe-/Ausgabefeld | Beschreibung |
---|---|
RouteName | Der Name der Route, der der Auftrag zugewiesen wird. Als Eingabefeld dient dieses Feld zum Vorabzuweisen eines Auftrags zu einer bestimmten Route. Es kann einen NULL-Wert enthalten, um anzugeben, dass der Auftrag keiner Route vorab zugewiesen ist. In diesem Fall erfolgt die Zuweisung der bestmöglichen Route für den Auftrag durch den Solver. Wenn das Feld auf NULL festgelegt ist, muss das Feld "Sequence" ebenfalls auf NULL festgelegt werden. Das Feld "RouteName" dient als Fremdschlüssel für das Feld "Name" in der Klasse "Routen". Routenobjekte müssen vorhanden sein, bevor sie in der Liste "RouteName" angezeigt werden. Wenn der Auftrag einer Route zugewiesen wurde, enthält das Feld RouteName nach einem Berechnungsvorgang den Namen der Route, der der Auftrag zugewiesen ist. |
Sequence | Gibt die Sequenz des Auftrags auf der zugewiesenen Route an. Als Eingabefeld dient dieses Feld zum Angeben der relativen Sequenz eines Auftrags auf der Route. Das Feld kann einen NULL-Wert enthalten, um anzugeben, dass der Auftrag an einer beliebigen Position auf der Route eingefügt werden kann. Ein NULL-Wert ist nur gemeinsam mit einem NULL-Wert für RouteName zulässig. Die Eingabesequenzwerte sind nicht negativ und für jede Route eindeutig (gültig für Depotstopps, Aufträge und Pausenzeiten), müssen jedoch nicht bei 0 beginnen und nicht zusammenhängend sein. Nach einem Berechnungsvorgang enthält das Feld Sequence den Sequenzwert des Auftrags für die zugewiesene Route. Ausgabesequenzwerte für eine Route gelten für Depotstopps, Aufträge und Pausenzeiten, sie beginnen bei 1 (beim Startdepot) und sind aufeinander folgende Werte. Daher ist der kleinstmögliche Ausgabesequenzwert für einen einer Route zugewiesenen Auftrag 2, weil eine Route immer bei einem Depot beginnt. |
Status | Dieses Feld wird von einer Domäne von Werten eingeschränkt, die unten aufgeführt ist (ihre codierten Werte werden in Klammern angegeben).
Nach dem Berechnungsvorgang kann der Status in einen der folgenden Statuswerte geändert werden:
Wenn Zeitfenster verwendet werden und die Route ein zu frühes oder zu spätes Ankommen bewirkt, ändert sich der Wert in Zeitfensterverletzung (6). |
Hinweis:
Wenn der Wert des Feldes "AssignmentRule" für den Auftrag "Ausschließen" lautet, werden die Eingabewerte für die Felder "Status", "RouteName" und "Sequence" während des Berechnungsvorgangs nicht geändert.
Aufträge: Ausgabefelder
Ausgabefeld | Beschreibung |
---|---|
| Diese Felder enthalten eine Zusammenfassung von Beschränkungsverletzungen. Es wird nach einem Berechnungsvorgang festgelegt. Jedes Feld enthält eine Verletzung. Wenn ein Auftrag mehrere Verletzungen enthält, wird das nächste Feld "ViolatedConstraint_#" verwendet.
Weitere Informationen zur Problembehandlung bei Netzwerkanalysen Hinweis:Der Feldwert von "ViolatedConstraints" für einen Auftrag ohne Route beschreibt nicht unbedingt alle Beschränkungsverletzungen des Auftrags. Wenn die Verletzung so schwerwiegend ist, dass der Auftrag sofort von jeder weiteren Behandlung ausgeschlossen wird, wird er vom Solver nicht weiter behandelt, sodass keine weiteren Verletzungen für diesen Auftrag festgestellt werden. Wenn eine Verletzung festgestellt wird, die nicht automatisch zu einem Stopp der Lösungsgenerierung führt, wird die Verletzung in den Feldern "ViolatedConstraints" angegeben und der Auftrag wird weiterhin vom Solver behandelt. Den Feldern "ViolatedConstraints" werden ggf. weitere Verletzungen dieser Art hinzugefügt, bis der Solver eine Verletzung ermittelt, die den Berechnungsvorgang für den jeweiligen Auftrag vorzeitig beendet, oder der Solver eine Gesamtlösung für das Problem ermittelt. |
FromPrevTravelTime | Die Fahrzeit zwischen dem vorherigen Stopp auf der Route und dem Auftrag. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
FromPrevDistance | Die Reisestrecke zwischen dem vorherigen Stopp auf der Route und dem Auftrag. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
CumulTravelTime | Die kumulative Fahrzeit für die Route bis zur Ankunft beim Auftrag. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulDistance | Die kumulative Reisestrecke für die Route bis zur Ankunft beim Auftrag. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
CumulTime | Die kumulative Routendauer bis zum Auftrag (einschließlich). Die kumulative Dauer umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
ArriveCurbApproach | Gibt an, auf welcher Seite des Fahrzeugs sich die Bordsteinkante befindet, wenn sich das Fahrzeug dem Netzwerkstandort nähert. Wenn der Wert für CurbApproach des Netzwerkstandorts auf "Rechte Seite des Fahrzeugs" festgelegt wird, dann hat ArriveCurbApproach nach dem Berechnen den Wert "Rechte Seite des Fahrzeugs". Wenn der Wert für CurbApproach jedoch auf "Beide Seiten des Fahrzeugs" oder "Wendeverbot" festgelegt wird, kann ArriveCurbApproach den Wert "Rechte Seite des Fahrzeugs" oder "Linke Seite des Fahrzeugs" haben, je nachdem, welcher Wert den insgesamt kürzesten Pfad ergibt. |
DepartCurbApproach | Gibt an, auf welcher Seite des Fahrzeugs sich die Bordsteinkante befindet, wenn sich das Fahrzeug vom Netzwerkstandort entfernt. Wenn der Wert für CurbApproach des Netzwerkstandorts auf "Rechte Seite des Fahrzeugs" festgelegt wird, dann hat DepartCurbApproach nach dem Berechnen den Wert "Rechte Seite des Fahrzeugs". Wenn der Wert für CurbApproach jedoch auf "Beide Seiten des Fahrzeugs" oder "Wendeverbot" festgelegt wird, kann DepartCurbApproach den Wert "Rechte Seite des Fahrzeugs" oder "Linke Seite des Fahrzeugs" haben, je nachdem, welcher Wert den insgesamt kürzesten Pfad ergibt. |
ArriveTime | Der Datums- und Uhrzeitwert, der die Ankunftszeit beim Auftrag angibt. Die Ankunftszeit der Route beim Auftrag kann vor dem Anfang eines der Zeitfenster des Auftrags liegen. In diesem Fall ist eine Wartezeit beim Auftrag vorhanden. Für einen Auftrag mit weichen Zeitfenstern kann die Ankunftszeit der Route beim Auftrag nach dem Ende eines der Zeitfenster liegen. In diesem Fall liegt ein Zeitverstoß beim Auftrag vor. Wenn Verkehrsdaten verwendet werden, die mehrere Zeitzonen umfassen, wird die Zeitzone für diesen Uhrzeitwert von dem Netzwerkelement übernommen, auf dem sich der Auftrag befindet. |
DepartTime | Der Datums- und Uhrzeitwert, der die Abfahrtszeit vom Auftrag angibt. Die Abfahrt vom Auftrag auf der Route erfolgt nach Abschluss der Durchführung. Wenn Verkehrsdaten verwendet werden, die mehrere Zeitzonen umfassen, wird die Zeitzone für diesen Uhrzeitwert von dem Netzwerkelement übernommen, auf dem sich der Auftrag befindet. |
ArriveTimeUTC | Der Datums- und Uhrzeitwert zur Angabe der Ankunftszeit in koordinierter Weltzeit (Coordinated Universal Time, UTC) am Auftragsort. |
DepartTimeUTC | Der Datums- und Uhrzeitwert zur Angabe der Abfahrtszeit in koordinierter Weltzeit (Coordinated Universal Time, UTC) vom Auftragsort. Die Abfahrt vom Auftrag auf der Route erfolgt nach Abschluss der Durchführung. |
WaitTime | Die Wartezeit oder der Aufenthalt beim Auftrag. Beispielsweise ist ein Wartezeitwert vorhanden, wenn auf einer Route bei dem Auftrag gewartet werden muss, bis sich ein Zeitfenster öffnet. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
ViolationTime | Die zwischen dem Ende des Zeitfensters für den Auftrag und der Ankunft des Fahrzeugs für die Route verstrichene Zeit. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulWaitTime | Die kumulative Wartezeit vom Anfang der Route bis zum Abschluss des Auftrags. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulViolationTime | Der kumulative Zeitverstoß vom Anfang der Route bis zum Abschluss des Auftrags. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
Depots
In dieser Netzwerkanalyseklasse werden die Depots gespeichert, die Teil eines angegebenen Analyse-Layers für das Vehicle Routing Problem sind. Ein Depot ist ein Standort, den ein Fahrzeug am Anfang des Arbeitstages verlässt und zu dem es am Ende des Arbeitstages zurückkehrt. Depots sind Standorte, an denen Fahrzeuge beladen (für Lieferungen) oder entladen (für Abholungen) werden. In einigen Fällen kann ein Depot auch als Lager fungieren, an dem das Fahrzeug Artikel entladen oder laden kann, um weitere Lieferungen oder Abholungen durchzuführen. Ein Depot weist Öffnungs- und Schließzeiten auf, die durch ein hartes Zeitfenster angegeben werden. Fahrzeuge dürfen nicht außerhalb dieses Zeitfensters bei einem Depot eintreffen.
Depots: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
Shape | Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. |
Name | Der Name des Netzwerkanalyse-Objekts. Dieses Feld ist ein Primärschlüssel und dient als Fremdschlüssel im Routen-Feature-Layer, in der Tabelle "Lager (Be-/Entladen)" und im Depostopps-Feature-Layer, um auf Depots zu verweisen. Bei Depotnamen muss nicht zwischen Groß- und Kleinschreibung unterschieden werden, sie müssen angegeben werden und eindeutig sein. |
Description | Die beschreibenden Informationen zum Netzwerkanalyse-Objekt. Diese können Textinformationen umfassen und müssen nicht eindeutig sein. Eventuell möchten Sie notieren, in welcher Region sich ein Depot befindet, oder die Adresse und Telefonnummer des Depots angeben. Sie können diese Informationen hier statt im Feld "Name" eingeben. |
TimeWindowStart | Die Anfangszeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Anfangszeit vorhanden ist. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
TimeWindowEnd | Die Endzeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Endzeit vorhanden ist. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
TimeWindowStart2 | Die Anfangszeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass kein zweites Zeitfenster vorhanden ist. Wenn das erste Zeitfenster gemäß den Feldern TimeWindowStart und TimeWindowEnd NULL ist, muss das zweite Zeitfenster ebenfalls NULL sein. Wenn es sich bei beiden Fenstern um Nicht-NULL-Fenster handelt, können sie nicht überlappen. Außerdem muss das zweite Zeitfenster auf das erste folgen. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
TimeWindowEnd2 | Die Endzeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Wenn TimeWindowStart2 und TimeWindowEnd2 beide NULL sind, gibt es kein zweites Zeitfenster. Wenn TimeWindowStart2 nicht NULL ist, aber TimeWindowEnd2 NULL ist, gibt es ein zweites Zeitfenster, das eine Startzeit, aber keine Endzeit hat. Dies ist zulässig. (Weitere Informationen finden Sie im Hinweis unter dieser Eigenschaftentabelle.) |
Netzwerkstandortfelder
| Zusammen beschreiben diese Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk |
CurbApproach | Die Eigenschaft "CurbApproach" gibt die Richtung an, aus der ein Fahrzeug am Depot ankommen bzw. dieses verlassen kann. Dies ist für Fahrzeuge nützlich, die ein Depot in einer bestimmten Richtung anfahren oder verlassen oder auch das Wenden vermeiden müssen. Sie können diese Anforderungen berücksichtigen, indem Sie für "CurbApproach" einen der folgenden vier Werte auswählen:
|
Hinweis:
Die Zeitfensterfelder können einen reinen Uhrzeitwert oder einen Wert für Datum und Uhrzeit enthalten. Wenn ein Zeitfeld, z. B. TimeWindowStart, einen reinen Uhrzeitwert enthält (z. B. 8:00 Uhr), wird vorausgesetzt, dass als Datum das von der Eigenschaft "Standarddatum" des Analyse-Layers angegebene Datum verwendet wird. Wenn Sie Datums- und Zeitwerte verwenden (z. B. 7/11/2010 8:00 Uhr), können Sie Zeitfenster über mehrere Tage festlegen.
Die Zeitzone für die Zeitfensterfelder kann mit dem Parameter time_zone_for_time_fields im Geoverarbeitungswerkzeug Analyse-Layer für Vehicle Routing Problem erstellen angegeben werden.
Das Standarddatum wird ignoriert, wenn ein Zeitfenster ein Datum mit der Zeit enthält. Formatieren Sie alle Zeitfenster in Depots, Routen, Aufträgen und Pausenzeiten so, dass außer der Uhrzeit auch das Datum enthalten ist, um Fehler in dieser Situation auszuschließen.
Wenn Sie Verkehrsdaten verwenden, beziehen sich die Felder für Uhrzeit und Datum des Netzwerkstandorts immer auf die gleiche Zeitzone wie die Kante, auf der sich der Netzwerkstandort befindet.
Depots: Eingabe-/Ausgabefelder
Eingabe-/Ausgabefeld | Beschreibung |
---|---|
Status | Dieses Feld wird von einer Domäne von Werten eingeschränkt, die unten aufgeführt ist (ihre codierten Werte werden in Klammern angegeben).
Nach dem Berechnungsvorgang kann der Status in einen der folgenden Statuswerte geändert werden:
Wenn Zeitfenster verwendet werden und das geroutete Fahrzeug zu früh oder zu spät ankommt, ändert sich der Wert in Zeitfensterverletzung (6). |
Routen
In dieser Netzwerkanalyseklasse werden die Routen gespeichert, die Teil eines angegebenen Analyse-Layers für das Vehicle Routing Problem sind. Eine Route gibt die Fahrzeug- und Fahrereigenschaften an und stellt die Fahrt zwischen Depots und Aufträgen dar. In Network Analyst sind Fahrzeuge, Routen und Fahrer Synonyme und die Bezeichnung "Route" umfasst alle drei Begriffe.
Hinweis:
Der VRP-Solver kann es nicht berücksichtigen, wenn in einer einzelnen Routing-Lösung dasselbe Fahrzeug in mehreren Schichten verwendet wird oder Fahrer innerhalb eines Arbeitstages gewechselt werden.
Für eine Route kann an den Start- oder Enddepots Zeit für das Be- und Entladen veranschlagt sein. Der Zeitraum, der an einem Depot verbracht wird, ist für die Route festgelegt und wird als Durchführungszeit am Start- und Enddepot angegeben.
Eine Route kann zu einer bestimmten Zeit beginnen oder eine flexible Anfangszeit aufweisen, d. h. einen Anfangszeitbereich mit frühestem und spätestem zulässigen Zeitpunkt. Der Anfangszeitbereich und das Zeitfenster des Startdepots werden beim Bestimmen der tatsächlichen Anfangszeit der Route berücksichtigt.
Die Betriebskosten einer einzelnen Route können sich aus zeitbasierten Kosten, entfernungsbasierten Kosten oder festen Kosten zusammensetzen, die unabhängig vom Betrag der Arbeitszeit oder der gefahrenen Strecke sind. Außerdem können mit der Nutzung eines Fahrzeugs feste Kosten verbunden sein, wenn für Tage mit hohem Arbeitspensum zusätzliche Fahrzeuge gemietet werden müssen. Ebenso wird möglicherweise der Fahrer für die Anzahl der Arbeitsstunden bezahlt, einschließlich oder ausschließlich Überstunden und Essenspausen. Anhand solcher Kosten können zeitbasierte Kosten angegeben werden. Anhand der Kraftstoffkosten können Entfernungskosten angegeben werden.
Außerdem weist das auf einer bestimmten Route eingesetzte Fahrzeug eine Kapazität auf, von der die Menge abhängt, die vom Fahrzeug transportiert werden kann.
Für den Arbeitstag eines Fahrers können Beschränkungen gelten, z. B. die zurückgelegte Gesamtstrecke oder die Anzahl der aufgrund von gesetzlichen Vorschriften oder Verträgen mit Gewerkschaften zulässigen Dauer der Arbeits- oder Fahrzeit.
Die Route kann Arbeitspausen umfassen. Diese Pausenzeiten werden dem Fahrer entweder bezahlt oder nicht bezahlt.
Ein Fahrzeug kann über bestimmte Funktionen verfügen, z. B. eine Hebebühne oder eine besondere Verkleidung, oder Facharbeiter können unterschiedliche Qualifikationen aufweisen. Die Aufträge, für die diese Besonderheiten festgelegt sind, müssen den entsprechenden Routen zugewiesen werden.
Eine Route kann einer Zone zugeordnet werden, wenn die Ausführung der Route auf eine vordefinierte geographische Region begrenzt ist.
Routen sind Linien-Features. Sie können aus vorhandenen Routen in anderen Analyse-Layern für das Vehicle Routing Problem, aus anderen Linien-Features oder aus Tabellen importiert werden.
Routen: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
Name | Der Name des Netzwerkanalyse-Objekts. Diese Feld ist der Primärschlüssel und dient als Fremdschlüssel in den Feature-Layern "Aufträge", "Pausenzeiten", "Routenzonen" und "Depotstopps" sowie in den Tabellen "Lager (Be-/Entladen)" und "Routenbesonderheiten". Bei Routennamen muss nicht zwischen Groß- und Kleinschreibung unterschieden werden, und sie müssen auch dann angegeben werden (dürfen nicht leer sein), wenn die Route nicht im Berechnungsvorgang enthalten ist. Der Name muss eindeutig sein. |
Description | Die beschreibenden Informationen zum Netzwerkanalyse-Objekt. Diese können Textinformationen umfassen und müssen nicht eindeutig sein. |
StartDepotName | Der Name des Startdepots für die Route. Dieses Feld dient als Fremdschlüssel für das Feld "Name" in der Klasse "Depots". Depotobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste "StartDepotName" angezeigt werden. Wenn der Wert für StartDepotName NULL ist, beginnt die Route mit dem ersten zugewiesenen Auftrag. Wenn die Startposition des Fahrzeuges unbekannt oder für das Problem irrelevant ist, empfiehlt es sich, das Startdepot nicht anzugeben. Wenn StartDepotName jedoch NULL ist, kann EndDepotNamenicht ebenfalls NULL sein. Virtuelle Startdepots sind nicht zulässig, wenn Aufträge oder Depots in mehreren Zeitzonen vorliegen. Wenn über die Route Lieferungen erfolgen und StartDepotName NULL ist, wird davon ausgegangen, dass das Fahrzeug vor Routenbeginn in einem virtuellen Depot beladen wird. Für eine Route ohne Stopps zum Be-/Entladen werden die zugehörigen Lieferaufträge (mit einem Wert ungleich 0 in DeliveryQuantity_#-Feldern in der Klasse "Aufträge") am Startdepot oder virtuellen Depot geladen. Für eine Route mit Stopps zum Be-/Entladen werden nur die Lieferaufträge vor dem ersten Stopp zum Be-/Entladen am Startdepot oder virtuellen Depot geladen. |
EndDepotName | Der Name des Enddepots für die Route. Dieses Feld dient als Fremdschlüssel für das Feld "Name" in der Klasse "Depots". Depotobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste EndDepotName angezeigt werden. |
StartDepotServiceTime | Die Durchführungszeit am Startdepot. Mit dieser kann die Zeit zum Beladen des Fahrzeugs modelliert werden. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Hinweis:Bei der Durchführungszeit am Start- und Enddepot handelt es sich um feste Werte (von den Werten der Felder StartDepotServiceTime und EndDepotServiceTime angegeben), bei der das tatsächliche Beladen für eine Route nicht berücksichtigt wird. Beispielsweise kann die Zeit zum Beladen eines Fahrzeugs am Startdepot von der Größe der Aufträge abhängen. Als Durchführungszeiten für Depots können Werte festgelegt werden, die einer vollständigen Lkw-Ladung oder einer durchschnittlichen Lkw-Ladung entsprechen, oder Sie können einen eigenen Schätzwert festlegen. |
EndDepotServiceTime | Die Durchführungszeit am Enddepot. Mit dieser kann die Zeit zum Entladen des Fahrzeugs modelliert werden. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Hinweis:Bei der Durchführungszeit am Start- und Enddepot handelt es sich um feste Werte (von den Werten der Felder StartDepotServiceTime und EndDepotServiceTime angegeben), bei der das tatsächliche Beladen für eine Route nicht berücksichtigt wird. Beispielsweise kann die Zeit zum Beladen eines Fahrzeugs am Startdepot von der Größe der Aufträge abhängen. Als Durchführungszeiten für Depots können Werte festgelegt werden, die einer vollständigen Lkw-Ladung oder einer durchschnittlichen Lkw-Ladung entsprechen, oder Sie können einen eigenen Schätzwert festlegen. |
EarliestStartTime | Die früheste zulässige Startzeit für die Route. Diese wird vom Solver in Verbindung mit dem Zeitfenster des Startdepots verwendet, um realistische Routenstartzeiten zu bestimmen. Dieses Feld darf keine NULL-Werte enthalten, und sein Standardwert für die reine Uhrzeit ist 8:00 Uhr. Der Standardwert wird als 8:00 Uhr an dem von der Eigenschaft Standarddatum des Analyse-Layers angegebenen Datum interpretiert. Das Standarddatum wird ignoriert, wenn ein Zeitfenster ein Datum mit der Zeit enthält. Formatieren Sie alle Zeitfenster in Depots, Routen, Aufträgen und Pausenzeiten so, dass außer der Uhrzeit auch das Datum enthalten ist, um Fehler in dieser Situation auszuschließen. Beim Verwenden von Netzwerk-Datasets mit Verkehrsdaten über mehrere Zeitzonen hinweg entspricht die Zeitzone für EarliestStartTime der Zeitzone der Kante oder des Knotens, auf der bzw. dem sich das Startdepot befindet. |
LatestStartTime | Die späteste zulässige Startzeit für die Route. Dieses Feld darf keine NULL-Werte enthalten, und sein Standardwert für die reine Uhrzeit ist 10:00 Uhr. Der Standardwert wird als 10:00 Uhr an dem von der Eigenschaft Standarddatum des Analyse-Layers angegebenen Datum interpretiert. Das Standarddatum wird ignoriert, wenn ein Zeitfenster ein Datum mit der Zeit enthält. Formatieren Sie alle Zeitfenster in Depots, Routen, Aufträgen und Pausenzeiten so, dass außer der Uhrzeit auch das Datum enthalten ist, um Fehler in dieser Situation auszuschließen. Beim Verwenden von Netzwerk-Datasets mit Verkehrsdaten über mehrere Zeitzonen hinweg entspricht die Zeitzone für LatestStartTime der Zeitzone der Kante oder des Knotens, auf der bzw. dem sich das Startdepot befindet. |
ArriveDepartDelay | In diesem Feld wird die Fahrzeitdauer gespeichert, die erforderlich ist, um das Fahrzeug auf normale Reisegeschwindigkeiten zu beschleunigen, bis zu einem Stopp zu verlangsamen und in das bzw. aus dem Netzwerk zu bewegen (z. B. in die Parkposition und aus der Parkposition). Indem ein Wert für "ArriveDepartDelay" verwendet wird, wird der VRP-Solver davon abgehalten, viele Routen zum Abarbeiten von Aufträgen mit physischer Lagegleichheit zu senden. Die Kosten für diese Eigenschaft treten zwischen Besuchen bei nicht lagegleichen Aufträgen, Depots und Lagern zum Be-/Entladen auf. Wenn eine Route beispielsweise an einem Depot startet und zum Besuch des ersten Auftrags führt, wird die Gesamtverzögerung bei der Ankunft und Abfahrt der Fahrzeit hinzugefügt. Dasselbe gilt für die Fahrt vom ersten Auftrag zum zweiten Auftrag. Wenn der zweite und dritte Auftrag lagegleich sind, wird der Wert unter "ArriveDepartDelay" dazwischen nicht hinzugefügt, da sich das Fahrzeug nicht bewegen muss. Wenn die Route dann zu einem Lager zum Be-/Entladen führt, wird der Wert der Fahrzeit wieder hinzugefügt. Obwohl ein Fahrzeug bei einer Pause die Fahrt verlangsamen und unterbrechen und danach wieder beschleunigen muss, kann der VRP-Solver den Wert unter "ArriveDepartDelay" für Pausen nicht hinzufügen. Dies bedeutet, dass die Verzögerung bei der Ankunft und Abfahrt nur einmal hinzugefügt wird (und nicht zweimal), wenn ein Fahrzeug auf einer Route den Ort eines Auftrags verlässt, für eine Pause anhält und dann weiter zum nächsten Auftrag fährt. Angenommen, für ein Hochhaus liegen fünf lagegleiche Aufträge vor, die mit drei verschiedenen Routen abgearbeitet werden sollen. Dies bedeutet, dass drei Verzögerungen bei der Ankunft und Abfahrt anfallen. Drei Fahrer müssen einen Parkplatz finden und dasselbe Gebäude betreten. Wenn die Aufträge jedoch von nur einer Route abgearbeitet werden können, muss nur ein Fahrer einen Parkplatz finden und das Gebäude betreten. Somit fällt nur eine Verzögerung bei der Ankunft und Abfahrt an. Da das Ziel des VRP-Solvers die Kostenreduzierung ist, versucht er, die Verzögerungen bei der Ankunft und Abfahrt zu beschränken, wählt also die Option mit nur einer Route. (Beachten Sie, dass ggf. mehrere Routen verwendet werden müssen, wenn andere Einschränkungen – z. B. Besonderheiten, Zeitfenster oder Kapazitäten – dies erfordern.) Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
| Die maximale Ladung (z. B. Volumen, Gewicht, Menge), die vom Fahrzeug transportiert werden kann. Wenn mehrere Kapazitäten vorhanden sind, geben Sie sie nach Bedarf mit den Feldern Capacity_1 bis Capacity_9 an. |
FixedCost | Ein fester Geldbetrag, der nur anfällt, wenn die Route in einer Lösung verwendet wird (d. h. der Route sind Aufträge zugewiesen). Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine festen Kosten vorhanden sind. Diese Kosten sind Bestandteil der Gesamtbetriebskosten für die Route. |
CostPerUnitTime | Der Geldbetrag – pro Zeiteinheit an Arbeit – der für die Gesamtroutendauer, einschließlich Fahrzeiten, Durchführungszeiten und Wartezeiten bei Aufträgen, Depots und Pausen, anfällt. Dieses Feld darf keinen NULL-Wert enthalten und der Standardwert ist 1,0. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CostPerUnitDistance | Der – pro Einheit gefahrener Strecke – für die Routenlänge (gesamte Reisestrecke) anfallende Geldbetrag. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine Kosten vorhanden sind. Die Entfernungseinheit wird von der Eigenschaft Entfernungsfeldeinheiten des Analyse-Layers angegeben. Der Solver gibt einen Fehler zurück, wenn diesem Feld ein Wert zugewiesen wird und für den Analyse-Layer nicht die Eigenschaft Entfernungsattribut angegeben ist. |
OvertimeStartTime | Die Dauer der regulären Arbeitszeit, bevor die Berechnung der Überstunden beginnt. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine Überstunden angewendet werden. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Wenn beispielsweise bei Überschreiten einer Gesamtroutendauer von 8 Stunden für den Fahrer Überstunden bezahlt werden müssen und für die Eigenschaft Uhrzeitfeldeinheiten des Analyse-Layers Stunden als Einheit festgelegt ist, wird "OvertimeStartTime" als 8 angegeben. |
CostPerUnitOvertime | Der pro Zeiteinheit von Überstunden anfallende Geldbetrag. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass der Wert von CostPerUnitOvertime mit dem Wert von CostPerUnitTime identisch ist. |
MaxOrderCount | Die maximal zulässige Anzahl von Aufträgen für die Route. Dieses Feld darf keine NULL-Werte enthalten und der Standardwert beträgt 30. |
MaxTotalTime | Die maximal zulässige Routendauer. Die Routendauer umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen, Depots und Pausen. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die Routendauer keine Einschränkung gilt. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
MaxTotalTravelTime | Die maximal zulässige Fahrzeit für die Route. Die Fahrzeit umfasst nur die Zeit für Fahrten im Netzwerk, ohne Durchführungs- oder Wartezeit. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die maximal zulässige Fahrzeit keine Einschränkung gilt. Dieser Feldwert darf nicht größer als der Wert des Feldes MaxTotalTime sein. |
MaxTotalDistance | Die maximal zulässige Reisestrecke für die Route. Die Einheit für die Gesamtstrecke wird von der Eigenschaft Entfernungsfeldeinheiten des Analyse-Layers angegeben. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die maximal zulässige Reisestrecke keine Einschränkung gilt. Der Solver gibt einen Fehler zurück, wenn diesem Feld ein Wert zugewiesen wird und für den Analyse-Layer nicht die Eigenschaft Entfernungsattribut angegeben ist. |
AssignmentRule | Gibt an, ob die Route beim Lösen des Problems verwendet werden kann. Dieses Feld ist durch eine Domäne von Werten eingeschränkt. Die möglichen Werte lauten wie folgt:
|
Routen: Ausgabefelder
Ausgabefeld | Beschreibung |
---|---|
Shape | Das Linien-Shape der Route. Wenn die Eigenschaft Ausgabe-Shape-Typ des Analyse-Layers auf "Kein" festgelegt ist, wird kein Shape zurückgegeben. Wenn die Eigenschaft Ausgabe-Shape-Typ auf "Gerade Linie" festgelegt ist, werden gerade Routenlinien zurückgegeben, mit denen die einzelnen Paare von aufeinanderfolgenden Stopps verbunden werden. Sowohl mit Streckenverlauf mit Messwerten als auch mit Echtes Shape werden Linien zurückgegeben, die die entsprechenden Routen im Netzwerk verfolgen. Der Unterschied zwischen den beiden Werten ist, dass mit Streckenverlauf mit Messwerten eine Linie zurückgegeben wird, die bereits linear nach Zeit referenziert ist. |
| Dieses Feld enthält eine Zusammenfassung von Beschränkungsverletzungen. Es wird nach einem Berechnungsvorgang festgelegt. Wenn eine Route die Verletzung einer Beschränkung verursacht, können den Feldern die unten aufgeführten Verletzungen zugewiesen werden, und zwar eine Verletzung pro Feld.
|
OrderCount | Die Anzahl von Aufträgen, die der Route zugewiesen sind. |
TotalCost | Die gesamten Betriebskosten der Route, wobei es sich um die Summe der folgenden Feldwerte handelt:
|
RegularTimeCost | Die Kosten der regulären Arbeitszeit ohne unbezahlte Pausen. |
OvertimeCost | Die Kosten für Überstunden ohne unbezahlte Pausen. |
DistanceCost | Die Entfernungskosten-Komponente, die durch Multiplizieren der Werte für die Felder "TotalDistance" und "CostPerUnitDistance" berechnet wird. Dieser Feldwert ist NULL, wenn für den Analyse-Layer nicht die Eigenschaft Entfernungsattribut angegeben ist. |
TotalTime | Die Gesamtroutendauer. Diese umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen, Depots und Pausen. Der Wert unter "TotalTime" ist die Summe der folgenden Feldwerte:
Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
TotalOrderServiceTime | Die Gesamtdurchführungszeit für alle Aufträge der Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
TotalBreakServiceTime | Die Gesamtdurchführungszeit für alle Pausenzeiten der Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
TotalTravelTime | Die Gesamtfahrzeit für die Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
TotalDistance | Die Gesamtreisestrecke für die Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
StartTime | Die Anfangszeit für die Route. Die Route kann vor Beginn des Zeitfensters für das Startdepot beginnen. In diesem Fall ist beim Startdepot eine Wartezeit vorhanden. Wenn Verkehrsdaten verwendet werden, die mehrere Zeitzonen umfassen, wird die Zeitzone für diesen Tageszeitwert von dem Netzwerkelement übernommen, auf dem sich das Startdepot befindet. |
EndTime | Die Endzeit für die Route. Die Route endet bei Abschluss des Einsatzes am Enddepot. Wenn Verkehrsdaten verwendet werden, die mehrere Zeitzonen umfassen, wird die Zeitzone für diesen Tageszeitwert von dem Netzwerkelement übernommen, auf dem sich das Enddepot befindet. |
StartTimeUTC | Die Startzeit der Route in koordinierter Weltzeit (Coordinated Universal Time, UTC). |
EndTimeUTC | Die Endzeit der Route in koordinierter Weltzeit (Coordinated Universal Time, UTC). |
TotalWaitTime | Die Gesamtwartezeit für alle Aufträge, Depots und Pausen der Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
TotalViolationTime | Der Gesamtzeitverstoß für alle Aufträge und Pausen der Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
RenewalCount | Bei einer Route mit Lagern zum Be-/Entladen stimmt dieser Wert mit der Anzahl der Stopps an Depots zum Be-/Entladen überein. |
TotalRenewalServiceTime | Bei einer Route mit Lagern zum Be-/Entladen ist dies die Gesamtdurchführungszeit für alle Stopps zum Be- und Entladen auf der Route. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
Pausenzeiten
Diese Netzwerkanalyseklasse speichert de Unterbrechungszeiten bzw. Pausenzeiten für Routen in einem Vehicle Routing Problem. Eine Pausenzeit ist mit genau einer Route verknüpft und kann nach Abschluss eines Auftrags, auf dem Weg zu einem Auftrag oder vor dem Abarbeiten eines Auftrags eingelegt werden. Sie verfügt über eine Startzeit und eine Dauer, für die der Fahrer entweder bezahlt oder nicht bezahlt wird. Sie können drei Optionen verwenden, um den Beginn einer Pausenzeit festzulegen. Sie können ein Zeitfenster, eine maximale Fahrzeit oder eine maximale Arbeitszeit eingeben.
Zeitfensterpause: Zum Einrichten einer Zeitfensterpause geben Sie zwei Tageszeitwerte ein, um einen Zeitraum festzulegen, in dem die Pause beginnen soll. Die Felder TimeWindowStart und TimeWindowEnd enthalten die begrenzenden Tageszeitwerte. Die Dauer bzw. Durchführungszeit der Pause ist vom Zeitfenster unabhängig und kann daher über das Ende des Zeitfensters hinaus reichen. Beispiel: Wenn das Zeitfenster für eine einstündige Pause von 10:00 bis 10:15 Uhr reicht, muss die Pause nach 10:00 Uhr und vor 10:15 Uhr beginnen. Wenn sie um 10:10 Uhr beginnt, endet die Pause um 11:10 Uhr. Zeitfenster-Pausenzeiten sind nicht zulässig, wenn Aufträge oder Depots in mehreren Zeitzonen vorliegen. Ist in dieser Situation eine Pausenzeit erforderlich, verwenden Sie die Pausenzeit wegen maximaler Arbeitszeit.
Pausenzeiten wegen maximaler Fahrzeit: Bei dieser Art von Pause geben Sie an, wie lange eine Person fahren darf, bevor die Pausenzeit eingehalten werden muss. (Beachten Sie, dass nur die Fahrzeit beschränkt ist. Bei anderen Zeiten wie Warte- und Durchführungszeiten ist dies nicht der Fall.) Wenn Sie für die MaxTravelTimeBetweenBreaks-Eigenschaft der ersten Pausenzeit einen Wert von vier Stunden eingeben, erhält der Fahrer z. B. eine Pause, bevor die akkumulierte Fahrzeit ab dem Beginn der Route vier Stunden übersteigt. Für nachfolgende Pausen wird die Fahrzeit ab der vorherigen Pause akkumuliert. Wenn Sie eine zweite Pausenzeit mit einem MaxTravelTimeBetweenBreaks-Wert von zwei Stunden verwenden, muss die zweite Pause eingehalten werden, bevor zwei Stunden Fahrzeit nach der vorherigen Pause vergangen sind, nicht ab dem Startdepot.
Die letzte Pausenzeit wegen maximaler Fahrzeit beschränkt nicht nur die akkumulierte Fahrzeit ab der vorherigen Pause oder dem Start der Route, sondern auch die Fahrzeit von der letzten Pause bis zum Enddepot. Dies gilt auch, wenn es nur eine Pausenzeit gibt. Der VRP-Solver ist so konzipiert, um zu verhindern, dass auf einer Route alle Pausenzeiten verbraucht werden und die Fahrt dann über einen längeren Zeitraum ohne Pause fortgesetzt wird. Im letzten Beispiel wurde MaxTravelTimeBetweenBreaks auf zwei Stunden festgelegt. Wenn dies die letzte Pausenzeit der Route ist, muss es für die Route möglich sein, das Enddepot innerhalb einer Fahrzeit von zwei Stunden zu erreichen. Andernfalls gibt der Solver einen Fehler zurück.
Pausenzeit wegen maximaler Arbeitszeit: Diese Pausenzeit gibt an, wie lange eine Person arbeiten darf, bevor eine Pause erforderlich ist. Im Gegensatz zu Pausenzeiten wegen maximaler Fahrzeit, bei der die Fahrzeit ab dem Ende der letzten Pause akkumuliert wird, wird bei Pausenzeiten wegen maximaler Arbeitszeit immer die Arbeitszeit vom Anfang der Route an akkumuliert, einschließlich der Durchführungszeit am Startdepot.
Beachten Sie, dass diese Pausenzeit die akkumulierte Arbeitszeit beschränkt, in der die Fahrzeit und alle Durchführungszeiten enthalten sind. Die Wartezeit ist darin jedoch nicht enthalten.
Ein Vehicle Routing Problem-Analyse-Layer kann nur berechnet werden, wenn alle Pausenzeiten den gleichen Typ aufweisen. Der Berechnungsprozess schlägt fehl, wenn eine Kombination aus Zeitfenster-Pausenzeiten, Pausenzeiten wegen maximaler Fahrzeit und Pausenzeiten wegen maximaler Arbeitszeit verwendet wird.
Sie können für eine Route bis zu fünf Pausenzeiten angeben. Angenommen, Sie verwenden Pausenzeiten wegen maximaler Fahrzeit für eine Analyse. Sie können einer Route zwei Pausenzeiten zuweisen, damit der Fahrer nach zwei Stunden Fahrzeit eine Pause von 15 Minuten einlegen und nach weiteren zwei Stunden Fahrt zu einer einstündigen Mittagspause anhalten kann. Sie können auch andere Routen verwenden, denen zwischen 0 und 5 Pausenzeiten zugewiesen sind.
Pausenzeiten verfügen über das Feld Vorrang, über das die Sequenz festgelegt wird. Wenn Sie also möchten, dass eine Pause von 15 Minuten vor einer Pause mit einer Länge von einer Stunde liegen soll, muss der Vorrangwert der fünfzehnminütigen Pause 1 und der Vorrangwert der anderen Pause 2 lauten. Vorrangwerte sind für alle Pausen erforderlich, obwohl Pausenzeiten wegen maximaler Arbeitszeit und Zeitfenster-Pausenzeiten meist über eine chronologische Reihenfolge verfügen
Falls auf einer Route das abschließende Ziel erreicht wird, bevor alle Pausenzeiten wegen maximaler Fahrzeit oder wegen maximaler Arbeitszeit eingelegt wurden, werden die verbleibenden Pausenzeiten ignoriert. Wenn Zeitfenster-Pausenzeiten am Ende einer Route übrig bleiben, wartet die Route mit dem Abschluss, bis alle Pausenzeiten beachtet wurden, anstatt vorzeitig zu enden.
Pausenzeiten: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
TimeWindowStart | Die Anfangszeit für das Zeitfenster der Pausenzeit. Halboffene Zeitfenster sind als Pausenzeiten ungültig. Wenn dieses Feld über einen Wert verfügt, müssen die Feldwerte für MaxTravelTimeBetweenBreaks und MaxCumulWorkTime NULL sein. Alle anderen Pausenzeiten in der Analyse müssen NULL-Werte für MaxTravelTimeBetweenBreaksund MaxCumulWorkTime aufweisen. Zur Berechnungszeit tritt ein Fehler auf, falls eine Route über mehrere Pausenzeiten mit überlappenden Zeitfenstern verfügt. Die Zeitfensterfelder für Pausen können einen reinen Uhrzeitwert oder einen Wert für Datum und Uhrzeit enthalten. Wenn ein Zeitfeld, z. B. TimeWindowStart, einen reinen Uhrzeitwert enthält (z. B. 12:00 Uhr), wird vorausgesetzt, dass als Datum das von der Eigenschaft Standarddatum des Analyse-Layers angegebene Datum verwendet wird. Wenn Sie Datums- und Zeitwerte verwenden (z. B. 7/11/2012 12:00 Uhr), können Sie Zeitfenster über mehrere Tage angeben. Dies empfiehlt sich besonders, wenn eine Pause kurz vor oder nach Mitternacht eingelegt werden soll. Das Standarddatum wird ignoriert, wenn ein Zeitfenster ein Datum mit der Zeit enthält. Formatieren Sie alle Zeitfenster in Depots, Routen, Aufträgen und Pausenzeiten so, dass außer der Uhrzeit auch das Datum enthalten ist, um Fehler in dieser Situation auszuschließen. |
TimeWindowEnd | Die Endzeit für das Zeitfenster der Pausenzeit. Halboffene Zeitfenster sind als Pausenzeiten ungültig. Wenn dieses Feld über einen Wert verfügt, müssen die Feldwerte für MaxTravelTimeBetweenBreaks und MaxCumulWorkTime NULL sein. Alle anderen Pausenzeiten in der Analyse müssen NULL-Werte für MaxTravelTimeBetweenBreaksund MaxCumulWorkTime aufweisen. Das Standarddatum wird ignoriert, wenn ein Zeitfenster ein Datum mit der Zeit enthält. Formatieren Sie alle Zeitfenster in Depots, Routen, Aufträgen und Pausenzeiten so, dass außer der Uhrzeit auch das Datum enthalten ist, um Fehler in dieser Situation auszuschließen. Weitere Informationen finden Sie in der Beschreibung von TimeWindowStart (oben). |
MaxTravelTimeBetweenBreaks | Die maximale Fahrzeit, die akkumuliert werden kann, bevor die Pausenzeit genommen wird. Die Fahrzeit wird entweder ab dem Ende der vorherigen Pause oder, falls noch keine Pause eingelegt wurde, ab dem Start der Route akkumuliert. Wenn es sich um die letzte Pausenzeit der Route handelt, gibt MaxTravelTimeBetweenBreaks auch die maximale Fahrzeit an, die von der letzten Pause bis zum Enddepot akkumuliert werden kann. Mithilfe dieser Eigenschaft kann der Zeitraum beschränkt werden, wie lange eine Person fahren darf, bis eine Pausenzeit erforderlich ist. Wenn die Eigenschaft Uhrzeitfeldeinheiten des Analyse-Layers auf "Minuten" festgelegt ist und "MaxTravelTimeBetweenBreaks" den Wert 120 enthält, kann der Fahrer nach zwei Stunden Fahrt eine Pause einlegen. Um eine Pause nach zwei weiteren Stunden Fahrt zuzuweisen, muss die Eigenschaft "MaxTravelTimeBetweenBreaks" der zweiten Pause auf den Wert 120 festgelegt werden. Wenn dieses Feld über einen Wert verfügt, müssen TimeWindowStart, TimeWindowEnd, MaxViolationTime und MaxCumulWorkTime NULL sein, damit eine Analyse erfolgreich berechnet werden kann. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
MaxCumulWorkTime | Die maximale Arbeitszeit, die akkumuliert werden kann, bevor die Pausenzeit genommen wird. Arbeitszeit wird immer ab dem Anfang der Route akkumuliert. Die Arbeitszeit ist die Summe der Fahrzeit und Durchführungszeiten für Aufträge, Depots und Pausenzeiten. Beachten Sie jedoch, dass die Wartezeit darin nicht enthalten ist. Dies ist die Zeit, die eine Route (bzw. ein Fahrer) am Ort eines Auftrags oder an einem Depot mit dem Warten auf den Beginn des Zeitfensters verbringt. Mithilfe dieser Eigenschaft kann der Zeitraum beschränkt werden, wie lange eine Person arbeiten darf, bis eine Pausenzeit erforderlich ist. Wenn die Eigenschaft Uhrzeitfeldeinheiten des Analyse-Layers auf "Minuten" festgelegt ist, "MaxCumulWorkTime" den Wert 120 enthält und "ServiceTime" den Wert 15 aufweist, kann der Fahrer nach zwei Stunden Arbeit eine Pause von 15 Minuten einlegen. Angenommen, für das letzte Beispiel ist nach weiteren drei Stunden Arbeit eine zweite Pause erforderlich. Um diese Pause anzugeben, geben Sie 315 (fünf Stunden und fünfzehn Minuten) als MaxCumulWorkTime-Wert der zweiten Pause ein. In dieser Zahl sind die MaxCumulWorkTime- und ServiceTime-Werte der vorherigen Pausenzeit sowie die drei zusätzlichen Stunden Arbeitszeit vor dem Gewähren der zweiten Pause enthalten. Bedenken Sie dabei Folgendes: Um zu vermeiden, dass Pausen wegen maximaler Arbeitszeit vorzeitig eingelegt werden, wird die Arbeitszeit ab dem Anfang der Route akkumuliert. Außerdem enthält die Arbeitszeit die Durchführungszeiten von vorher besuchten Depots, Aufträgen und Pausenzeiten. Wenn dieses Feld über einen Wert verfügt, müssen TimeWindowStart, TimeWindowEnd, MaxViolationTime und MaxTravelTimeBetweenBreaks NULL sein, damit eine Analyse erfolgreich berechnet werden kann. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
RouteName | Der Name der Route, auf die die Pausenzeit angewendet wird. Eine Pausenzeit wird nur einer Route zugewiesen, aber einer Route können mehrere Pausenzeiten zugewiesen werden. Dieses Feld ist ein Fremdschlüssel für das Feld Name in der Klasse Routen und darf keinen Nullwert enthalten. Routenobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste RouteName angezeigt werden. |
Precedence | Mithilfe von Vorrangswerten wird die Abfolge von Pausenzeiten einer Route festgelegt. Pausenzeiten mit einem Vorrangswert von 1 treten vor Pausenzeiten mit einem Vorrangswert von 2 ein usw. Alle Pausenzeiten müssen unabhängig davon, ob es sich um Zeitfenster-Pausenzeiten, Pausenzeiten wegen maximaler Fahrzeit oder Pausenzeiten wegen maximaler Arbeitszeit handelt, einen Vorrangswert aufweisen. |
ServiceTime | Die Dauer der Pause. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
MaxViolationTime | Dieses Feld gibt den maximal zulässigen Zeitverstoß für eine Zeitfenster-Pausenzeit an. Eine Zeitfensterverletzung liegt vor, wenn die Ankunftszeit außerhalb der Zeitspanne liegt. Der Wert 0 gibt an, dass keine Zeitfensterverletzung zulässig ist. Das heißt, es handelt sich um ein hartes Zeitfenster. Ein Wert ungleich 0 gibt die maximale Verspätung an. Beispielsweise kann die Pause 30 Minuten nach dem Ende des zugehörigen Zeitfensters beginnen, jedoch wird die Verspätung entsprechend der Eigenschaft Zeitfensterverletzung des Analyse-Layers sanktioniert. Diese Eigenschaft kann NULL sein. Ein NULL-Wert mit TimeWindowStart- und TimeWindowEnd-Werten gibt an, dass für den zulässigen Zeitverstoß kein Grenzwert gilt. Wenn MaxTravelTimeBetweenBreaks oder MaxCumulWorkTime über einen Wert verfügt, muss MaxViolationTime NULL sein. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
IsPaid | Ein boolescher Wert, der angibt, ob die Pausenzeit bezahlt wird. Der Wert "True" gibt an, dass die Pausenzeit in die Berechnung der Routenkosten sowie die Bestimmung der Überstunden einbezogen wird. Der Wert "False" gibt das Gegenteil an. Der Standardwert ist "True". |
Pausenzeiten: Eingabe-/Ausgabefelder
Eingabe-/Ausgabefeld | Beschreibung |
---|---|
Sequence | Gibt als Eingabefeld die Sequenz der Pause auf der zugehörigen Route an. Dieses Feld kann NULL-Werte enthalten. Die Eingabesequenzwerte sind positiv und für jede Route eindeutig (gültig für Depotstopps zum Be-/Entladen, Aufträge und Pausenzeiten), müssen jedoch nicht bei 1 beginnen und nicht zusammenhängend sein. Der Solver ändert das Sequenzfeld. Nach dem Berechnungsvorgang enthält dieses Feld den Sequenzwert der Pausenzeit auf der zugehörigen Route. Ausgabesequenzwerte für eine Route gelten für Depotstopps, Aufträge und Pausenzeiten, sie beginnen bei 1 (beim Startdepot) und sind aufeinander folgende Werte. |
Pausenzeiten: Ausgabefelder
Ausgabefeld | Beschreibung |
---|---|
RelativePosition | Die relative Position der Pausenzeit. Pausenzeiten werden zwischen zwei Netzwerkstandorten (Aufträge oder Depots) eingelegt. Der Wert 0,0 gibt an, dass die Pause direkt nach der Auftragsdurchführung am vorherigen Netzwerkstandort genommen wird. Der Wert 1,0 gibt an, dass die Pause direkt vor der Auftragsdurchführung am nachfolgenden Netzwerkstandort genommen wird. Ein Wert dazwischen gibt an, an welcher Stelle der Route vom ersten zum zweiten Netzwerkstandort die Pause eingelegt wird. Zum Beispiel gibt 0,25 an, dass die Pause nach einem Viertel der Route vom vorherigen Netzwerkstandort zum nächsten Netzwerkstandort genommen wird. Es spielt keine Rolle, wie viele Pausen zwischen zwei Netzwerkstandorten liegen. Die relative Position wird immer relativ zu den Netzwerkstandorten gemeldet, nicht zu den anderen Pausen. |
FromPrevTravelTime | Die Fahrzeit vom vorherigen Stopp, vom vorherigen Depot oder von der vorherigen Pausenzeit bis zu dieser Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
FromPrevDistance | Die Reisestrecke vom vorherigen Stopp, vom vorherigen Depot oder von der vorherigen Pausenzeit bis zu dieser Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
CumulTravelTime | Die kumulative Fahrzeit für die Route bis zum Erreichen der Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulDistance | Die kumulative Reisestrecke für die Route bis zum Erreichen der Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
CumulTime | Die kumulative Routendauer bis zum Abschluss der Pause. Die kumulative Dauer umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen, Depots und Pausen. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
ArriveTime | Die tatsächliche Ankunftszeit bei der Pause. Die Ankunftszeit der Route bei der Pause kann vor dem Anfang des Zeitfensters für die Pause liegen. In diesem Fall ist eine Wartezeit bei der Pause vorhanden. Für eine Pause mit weichen Zeitfenstern kann die Ankunftszeit der Route bei der Pause nach dem Ende des Zeitfensters liegen. In diesem Fall liegt ein Zeitverstoß bei der Pause vor. Wenn ein Netzwerk-Dataset mit mehreren Zeitzonen verwendet wird, wird die Zeit in der Zeitzone gemeldet, die für den tatsächlichen Pausenstandort gilt. |
DepartTime | Der Zeitpunkt, zu dem die Pause abgeschlossen ist. Wenn ein Netzwerk-Dataset mit mehreren Zeitzonen verwendet wird, wird die Zeit in der Zeitzone gemeldet, die für den tatsächlichen Pausenstandort gilt. |
ArriveTimeUTC | Der Datums- und Uhrzeitwert zur Angabe der Ankunftszeit in koordinierter Weltzeit (Coordinated Universal Time, UTC) |
DepartTimeUTC | Der Datums- und Uhrzeitwert zur Angabe der Abfahrtszeit in koordinierter Weltzeit (Coordinated Universal Time, UTC). |
WaitTime | Die Wartezeit bei der Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
ViolationTime | Der Zeitverstoß bei der Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulWaitTime | Die kumulative Wartezeit vom Anfang der Route bis zum Abschluss der Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulViolationTime | Der kumulative Zeitverstoß vom Anfang der Route bis zum Abschluss der Pause. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
Routenzonen
Routenzonen geben ein Arbeitsgebiet für eine bestimmte Route an. Eine Routenzone ist ein Polygon-Feature. Mit ihr werden Routen eingeschränkt, um nur die Aufträge durchzuführen, die in einem Gebiet oder in dessen Nähe liegen. Einige Beispiele für Fälle, in denen Routenzonen sinnvoll sein können:
- Einige Ihrer Mitarbeiter verfügen nicht über die erforderlichen Genehmigungen für die Durchführung von Arbeit in bestimmten Bundesländern oder Gemeinden. Sie können eine harte Routenzone erstellen, damit diese Mitarbeiter nur Aufträge in Gebieten erreichen, in denen die Anforderungen erfüllt werden.
- Bei einem Ihrer Fahrzeuge treten häufig Pannen auf. Daher soll es nur Aufträge an Standorten durchführen, die sich in der Nähe Ihrer Reparaturwerkstatt befinden, um die Reaktionszeit zu minimieren. Sie können eine weiche oder harte Routenzone erstellen, um das Fahrzeug in der Nähe zu behalten.
Routenzonen: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
Shape | Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. |
RouteName | Der Name der Route, für die diese Zone gilt. Einer Routenzone kann maximal eine Route zugeordnet sein. Dieses Feld darf keine Nullwerte enthalten und es fungiert als Fremdschlüssel für das Feld Name im Routen-Feature-Layer. Routenobjekte müssen vorhanden sein, bevor sie in der Liste "RouteName" angezeigt werden. |
IsHardZone | Ein boolescher Wert, der eine harte oder weiche Routenzone angibt. Der Wert "True" gibt an, dass es sich um eine harte Routenzone handelt. Dies bedeutet, dass ein Auftrag, der sich außerhalb des Routenzonenpolygons befindet, der Route nicht zugewiesen werden kann. Der Standardwert ist "True" (1). Der Wert "False" (0) gibt an, dass Aufträge außerhalb des Routenzonenpolygons dennoch zugewiesen werden können, die Kosten für die Durchführung des Auftrags jedoch mit einer Funktion gewichtet werden, die auf der euklidischen Entfernung von der Routenzone basiert. Im Grunde bedeutet dies, dass die Wahrscheinlichkeit einer Zuweisung des Auftrags zu der Route umso geringer ist, je größer die direkte Entfernung der weichen Zone vom Auftrag ist. |
Hinweis:
- Da der Abstand zwischen der Routenzone und den Aufträgen mit der euklidischen Entfernung gemessen wird, ist das netzwerkbasierte Entfernungsattribut nicht erforderlich.
- Obwohl mit einer Route, die einer harten Routenzone zugeordnet ist, nur Aufträge in der Routenzone durchgeführt werden können, können andere Routen dennoch die Aufträge in derselben Zone erreichen und durchführen. Der Grund hierfür ist, dass mit Routenzonen die Route und nicht die Aufträge eingeschränkt werden. (Wenn Sie alle Aufträge in einem Gebiet ausschließlich einer Route zuweisen möchten, verwenden Sie keine Routenzonen. Wählen Sie stattdessen die Aufträge in einem Gebiet aus, ändern Sie das Feld "RouteName" der Aufträge in den Namen der entsprechenden Route, und legen Sie das Feld "AssignmentRule" auf "Route beibehalten" fest.)
Depotstopps
Wenn eine Route an einem Depot startet, das Be- und Entladen durchführt oder dort endet, wird ein Depotstopp erstellt. Depotstoppobjekte stellen Informationen dazu bereit, warum eine Route einen Stopp an einem Depot aufweist und was dort erfolgt. Die Menge der Waren, die an einem Depot auf ein Fahrzeug geladen oder von diesem entladen wird, wird in den Eigenschaften eines Depotstopps aufgezeichnet. Dabei sind auch Informationen enthalten, die für das Interpretieren einer Vehicle Routing Problem-Lösung hilfreich sind.
Dies ist eine reine Ausgabe-Netzwerkanalyseklasse. Depotstopp-Features werden nur während des Berechnungsvorgangs erstellt. Aus diesem Grund ist die Analyseklasse vor dem Berechnungsprozess immer leer.
Depotstopps: Ausgabefelder
Ausgabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
Shape | Das Geometriefeld, das die geographische Position des Netzwerkanalyse-Objekts angibt. |
DepotName | Der Name des besuchten Depots. Dieses Feld dient als Fremdschlüssel für das Feld "Name" in der Netzwerkanalyseklasse "Depots". Wenn für die Route ein virtuelles Depot verwendet wird, die Route also an einem Auftrag und nicht an einem Depot beginnt und endet, hat "DepotName" den Wert NULL. |
RouteName | Der Name der Route, die diesen Stopp aufweist. Dieses Feld dient als Fremdschlüssel für das Feld "Name" im Routen-Feature-Layer. |
Sequence | Gibt die Sequenz des auf der Route besuchten Depots an. Die Ausgabesequenzwerte für eine Route gelten für Depotstopps, Aufträge und Pausenzeiten, sie beginnen bei 1 (beim Startdepot) und sind aufeinander folgende Werte. |
VisitType | Der Grund für den Stopp bei diesem Depot. Dieses Feld ist durch eine Domäne von Werten eingeschränkt:
|
ServiceTime | Die Durchführungszeit (z. B. das Be- oder Entladen) beim Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
FromPrevTravelTime | Die Fahrzeit zwischen dem vorherigen Stopp auf der Route und dem Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
FromPrevDistance | Die Reisestrecke zwischen dem vorherigen Stopp auf der Route und dem Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
CumulTravelTime | Die kumulative Fahrzeit für die Route bis zur Ankunft an diesem Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulDistance | Die kumulative Reisestrecke für die Route bis zur Ankunft an diesem Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Entfernungsfeldeinheiten" des Analyse-Layers angegeben. Dieses Feld ist Null, wenn in den Analyseparametern nicht die Eigenschaft "Entfernungsattribut" angegeben ist. |
CumulTime | Die kumulative Routendauer bis zum Depot (einschließlich). Die kumulative Dauer umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen, Depots und Pausen. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
ArriveTime | Die Ankunftszeit am Depot. Die Ankunftszeit der Route beim Depot kann vor dem Anfang des Zeitfensters für das Depot liegen. In diesem Fall ist eine Wartezeit am Depot vorhanden. Wenn Verkehrsdaten verwendet werden, die mehrere Zeitzonen umfassen, stimmt die Zeitzone für diesen Tageszeitwert mit der Zeitzone des Netzwerkelements überein, auf dem sich das Depot befindet. |
DepartTime | Die Abfahrtszeit vom Depot. Wenn Verkehrsdaten verwendet werden, die mehrere Zeitzonen umfassen, stimmt die Zeitzone für diesen Tageszeitwert mit der Zeitzone des Netzwerkelements überein, auf dem sich das Depot befindet. |
ArriveTimeUTC | Der Datums- und Uhrzeitwert zur Angabe der Ankunftszeit in koordinierter Weltzeit (Coordinated Universal Time, UTC) am Depot. |
DepartTimeUTC | Der Datums- und Uhrzeitwert zur Angabe der Abfahrtszeit in koordinierter Weltzeit (Coordinated Universal Time, UTC) vom Depot. |
WaitTime | Die Wartezeit am Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulWaitTime | Die kumulative Wartezeit vom Anfang der Route bis zum Abschluss am Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
CumulViolationTime | Der kumulative Zeitverstoß vom Anfang der Route bis zum Abschluss am Depot. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. |
| Der Umfang (z. B. Volumen, Gewicht, Menge) der am Depot zu ladenden Artikel. Wenn mehrere Umfänge vorhanden sind, geben Sie sie nach Bedarf mit den Feldern LoadedQuantity_1 bis LoadedQuantity_9 an. |
| Der Umfang (z. B. Volumen, Gewicht, Menge) der am Depot zu entladenden Artikel. Wenn mehrere Umfänge vorhanden sind, geben Sie sie nach Bedarf mit den Feldern UnloadedQuantity_1 bis UnloadedQuantity_9 an. |
Hinweis:
Der Feature-Layer Depotstopps enthält nicht das Ausgabefeld ViolationTime, weil Depots harte Zeitfenster aufweisen.
Besonderheiten
In den zwei Tabellen "Auftragsbesonderheiten" und "Routenbesonderheiten" werden die Besonderheiten aufgeführt, die für Aufträge erforderlich sein und von Routen unterstützt werden können. Ein Auftrag kann von einer Route nur durchgeführt werden, wenn sie alle für den Auftrag erforderlichen Besonderheiten unterstützt.
Beispielsweise kann ein Auftrag einen Facharbeiter mit einer bestimmten Qualifikation oder ein Fahrzeug mit bestimmten Funktionen erfordern. Sie modellieren diese Fähigkeiten, Funktionen usw., indem Sie diese zuerst der Tabelle "Besonderheiten" hinzufügen. Als Nächstes fügen Sie der Tabelle "Routenbesonderheiten" die Besonderheiten hinzu, die von einer Route unterstützt werden. Wenn die VRP-Analyse berechnet wird, werden Aufträge, die bestimmte Besonderheiten erfordern, mit Routen verknüpft, die diese Bedingungen erfüllen.
Auftragsbesonderheiten: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
OrderName | Der Name des Netzwerkanalyse-Objekts. Dieses Feld ist der Primärschlüssel und dient als Fremdschlüssel im Feature-Layer Aufträge, um auf Besonderheiten von Aufträgen zu verweisen. |
SpecialtyName | Dies ist die Beschreibung der Besonderheit. Das Feld gibt die für den Auftrag erforderliche Besonderheit an. Es wird nur eine Besonderheit pro Zeile aufgeführt. Wenn mehrere erforderlich sind, erstellen Sie einen Eintrag in einer neuen Zeile. Die Namen von Besonderheiten dürfen keine Leerzeichen enthalten. Eine Besonderheit, die sich auf einen erfahrenen Techniker bezieht, muss z. B. als ErfahrenerTechniker eingegeben werden. |
Routenbesonderheiten: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
RouteName | Der Name des Netzwerkanalyse-Objekts. Dieses Feld ist der Primärschlüssel und dient als Fremdschlüssel im Feature-Layer Routen, um auf Besonderheiten von Routen zu verweisen. |
SpecialtyName | Dies ist die Beschreibung der Besonderheit. Das Feld gibt die von der Route unterstützte Besonderheit an. Es wird nur eine Besonderheit pro Zeile aufgeführt. Wenn mehrere erforderlich sind, erstellen Sie einen Eintrag in einer neuen Zeile. Die Namen von Besonderheiten dürfen keine Leerzeichen enthalten. Eine Besonderheit, die sich auf einen erfahrenen Techniker bezieht, muss z. B. als ErfahrenerTechniker eingegeben werden. |
Auftragspaare
Diese Netzwerkanalyseklasse ist eine Tabelle mit Datensätzen, die zum Bilden von Paaren aus Lieferungs- und Abholungsaufträgen verwendet wird, um die Abarbeitung mit derselben Route zu erreichen.
Zuweilen müssen Abholung und Lieferung für Aufträge paarweise zusammengefasst werden. Beispiel: Für einen Kurierdienst ist die Lieferung eines Dokuments mit zwei Stopps verbunden – einem Stopp zum Abholen des Dokuments beim Absender und einem zweiten Stopp zum Abgeben des Dokuments beim Empfänger. Diese zusammengehörigen Stopps werden mit der entsprechenden Sequenz derselben Route zugewiesen. Es ist unzulässig, einer Route nur einen der Aufträge zuzuweisen – entweder werden beide Aufträge derselben Route zugewiesen, oder keiner der Aufträge wird zugewiesen.
Es können Einschränkungen für die Dauer gelten, für die ein Paket im Fahrzeug bleiben darf. Beispiel: Eine Blutprobe muss innerhalb von zwei Stunden von der Arztpraxis in das Labor gebracht werden.
Einige Situationen können zwei Auftragspaare erfordern. Angenommen, Sie möchten eine Seniorin von ihrer Wohnung zum Arzt und wieder zurück in ihre Wohnung fahren. Bei der Fahrt von ihrer Wohnung zu der Arztpraxis handelt es sich um ein Auftragspaar mit einer gewünschten Ankunftszeit bei der Arztpraxis, und bei der Fahrt von der Arztpraxis zurück zu ihrer Wohnung handelt es sich um ein Auftragspaar mit einer gewünschten Abholzeit.
Auftragspaare: Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
FirstOrderName | Der Name des ersten Auftrags des Paares. Dieses Feld dient als Fremdschlüssel für das Feld Name im Aufträge-Feature-Layer. Auftragsobjekte müssen vorhanden sein, bevor sie in der Liste FirstOrderName angezeigt werden. |
SecondOrderName | Der Name des zweiten Auftrags des Paares. Dieses Feld dient als Fremdschlüssel für das Feld Name im Aufträge-Feature-Layer. Auftragsobjekte müssen vorhanden sein, bevor sie in der Liste SecondOrderName angezeigt werden. Der erste Auftrag des Paares muss ein Abholungsauftrag sein, d. h., der Wert für die zugehörigen Felder "DeliveryQuantities" ist NULL. Der zweite Auftrag des Paares muss ein Lieferauftrag sein, d. h., der Wert für die zugehörigen Felder"PickupQuantities" ist NULL. Die Menge, die mit dem ersten Auftrag abgeholt wird, muss mit der Menge übereinstimmen, die mit dem zweiten Auftrag geliefert wird. Als Sonderfall können in Szenarien, in denen keine Kapazitäten verwendet werden, beide Aufträge die Menge 0 aufweisen. Hinweis:Die Auftragsmengen werden nicht an Depots geladen oder entladen. |
MaxTransitTime | Die maximale Fahrzeit für das Auftragspaar. Die Fahrzeit ist die Dauer von der Abfahrtszeit des ersten Auftrags bis zur Ankunftszeit des zweiten Auftrags. Diese Einschränkung begrenzt die tatsächlich mit Fahren verbrachte Zeit zwischen den beiden Aufträgen. Wenn ein Fahrzeug Menschen oder verderbliche Waren transportiert, ist die Fahrzeit i. d. R. kürzer als bei einem Fahrzeug, das Pakete oder nicht verderbliche Waren transportiert. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die Fahrzeit keine Einschränkung gilt. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Vom Solver können Fahrzeitüberschreitungen (in Bezug auf die direkte Fahrzeit zwischen Auftragspaaren gemessen) verfolgt und gewichtet werden. Daher können Sie für den VRP-Solver eine von drei Strategien festlegen: Minimieren der Gesamt-Fahrzeitüberschreitung unabhängig von höheren Reisekosten für die Fahrzeugflotte, Suchen einer Lösung mit ausgewogenem Verhältnis zwischen Gesamtzeitverstoß und Reisekosten sowie Ignorieren der Gesamt-Fahrzeitüberschreitung und stattdessen Minimieren der Reisekosten für die Fahrzeugflotte. Wenn Sie für die Einstellung Fahrzeitüberschreitung des Analyse-Layers eine Gewichtung zuweisen, wählen Sie letztendlich eine dieser drei Strategien aus. Unabhängig von der Gewichtung gibt der Solver jedoch immer einen Fehler zurück, wenn der Wert für MaxTransitTime überschritten wird. |
Lager (Be-/Entladen)
Die Klasse "Lager (Be-/Entladen)" gibt die Zwischendepots an, über die die Routen einer Vehicle Routing Problem-Analyse führen können, um Waren für Auslieferungs- oder Abholungsaufträge zu laden oder zu entladen.
Mit einem Analyseobjekt vom Typ "Lager (Be-/Entladen)" wird ein Routenobjekt mit einem Depotobjekt verknüpft. Die Beziehung gibt an, dass für die Route das Be- oder Entladen am zugeordneten Depot möglich ist.
In einigen Branchen besteht jede Route aus einer oder mehreren Fahrten, bei denen das Fahrzeug eine vollständige Ladung liefert oder erst abholt und dann liefert. Lager zum Be-/Entladen können zum Modellieren von Szenarien verwendet werden, in denen ein Fahrzeug am Startdepot eine vollständige Ladung von Lieferungen abholt, die Aufträge durchführt, zum Depot zurückkehrt, um neue Lieferungen zu laden, und weitere Aufträge durchführt. Beispielsweise kann bei der Lieferung von Propangas das Fahrzeug mehrere Lieferungen durchführen, bis der Tank nahezu oder vollständig leer ist, einen Stützpunkt zum Nachfüllen aufsuchen und dann weitere Lieferungen durchführen.
Beim Arbeiten mit Lagern (Be-/Entladen) sind folgende Regeln und Optionen zu beachten:
- Die Stelle zum Nachladen/Entladen bzw. der Standort zum Be-/Entladen muss nicht mit dem Start- oder Enddepot übereinstimmen.
- Jede Route kann eine oder mehrere vorab festgelegte Standorte zum Be-/Entladen aufweisen.
- Ein Standort zum Be-/Entladen kann mehrmals auf einer einzelnen Route verwendet werden.
- In einigen Fällen sind möglicherweise für eine Route mehrere potenzielle Standorte zum Be-/Entladen vorhanden, und vom Solver wird der nächste verfügbare Standort zum Be-/Entladen ausgewählt.
Lager (Be-/Entladen): Eingabefelder
Eingabefeld | Beschreibung |
---|---|
ObjectID | Das vom System verwaltete ID-Feld. |
DepotName | Der Name des Depots, bei dem das Be-/Entladen erfolgt. Dieses Feld darf keinen Nullwert enthalten, es fungiert als Fremdschlüssel für das Feld Name im Depots-Feature-Layer. Depotobjekte müssen vorhanden sein, bevor sie in der Liste "DepotName" angezeigt werden. |
RouteName | Der Name der Route, auf die dieses Lager zum Be-/Entladen angewendet wird. Dieses Feld darf keinen Nullwert enthalten, es fungiert als Fremdschlüssel für das Feld Name im Routen-Feature-Layer. Routenobjekte müssen vorhanden sein, bevor sie in der Liste "RouteName" angezeigt werden. |
ServiceTime | Die Durchführungszeit für das Be-/Entladen. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben. Hinweis:Die Zeit zum Beladen eines Fahrzeugs an einem Depot zum Be-/Entladen kann von der Größe des Fahrzeugs und seinem Beladungszustand abhängen. Die Durchführungszeit für das Be-/Entladen an einem Lager ist ein fester Wert, bei dem das tatsächliche Beladen nicht berücksichtigt wird. Für die Durchführungszeit zum Be-/Entladen sollte daher ein Wert festgelegt werden, der einer vollständigen Lkw-Ladung oder einer durchschnittlichen Lkw-Ladung entspricht, oder Sie können einen eigenen Schätzwert für die Zeit festlegen. |
Lager (Be-/Entladen): Eingabe-/Ausgabefelder
Eingabe-/Ausgabefeld | Beschreibung |
---|---|
Sequences | Gibt als Eingabefeld eine durch Leerzeichen getrennte Zeichenfolge von Sequenzwerten für Stopps am Depot zum Be-/Entladen an. Dieses Feld kann einen NULL-Wert enthalten und damit werden Stopps am Depot zum Be-/Entladen vorab zugewiesen. Wenn das Feld als Ausgabefeld fungiert, kann der Solver die Sequenz ändern und in diesem Feld speichern. Nach dem Berechnungsvorgang enthält dieses Feld die Sequenzwerte der Stopps an diesem Depot zum Be-/Entladen für die entsprechende Route. Wenn an diesem Depot während einer einzelnen Route mehrere Stopps zum Be-/Entladen erfolgen, werden die Sequenzwerte durch Leerzeichen getrennt. Ausgabesequenzwerte für eine Route gelten für Depotstopps, Aufträge und Pausenzeiten, sie beginnen bei 1 (beim Startdepot) und sind aufeinander folgende Werte. Wenn eine Route bei einem Depot beginnt, über zwei Aufträge verläuft, einen Stopp zum Be-/Entladen enthält und dann fortgesetzt wird, lautet der Sequenzwert beim Stopp zum Be-/Entladen "4". |
Punkt-, Linien- und Polygon-Barrieren
Barrieren dienen dazu, eine vorübergehende Einschränkung zu definieren, Impedanz hinzuzufügen und die Impedanz von Teilen des Netzwerks zu skalieren. Wenn ein neuer Netzwerkanalyse-Layer erstellt wird, sind die Barrierenklassen leer. Sie werden nur aufgefüllt, wenn Sie ihnen Objekte hinzufügen. Es ist aber nicht erforderlich, Barrieren hinzuzufügen.
Barrieren sind in allen Netzwerkanalyse-Layern verfügbar. Daher werden sie in einem separaten Thema beschrieben.
Eigenschaften des VRP-Analyse-Layers
In den folgenden Unterabschnitten werden die Parameter aufgeführt, die Sie für den Analyse-Layer festlegen können. Sie befinden sich auf dem Menüband VRP, das nur verfügbar ist, wenn der Routen-Layer oder einer seiner Sublayer im Bereich Inhalt ausgewählt wird.
Ausführen
Klicken Sie in der Gruppe Analyse auf Ausführen , nachdem Sie Eingabe-Features geladen und Analyseeigenschaften festgelegt haben, um die Vehicle Routing Problem-Analyse zu berechnen.
Aufträge importieren
Klicken Sie auf die Schaltfläche Aufträge importieren , um Features aus einer anderen Datenquelle, z. B. einem Punkt-Feature-Layer, in die Feature-Class Orders zu laden.
Depots importieren
Klicken Sie auf die Schaltfläche Depots importieren , um Features aus einer anderen Datenquelle, z. B. einem Punkt-Feature-Layer, in die Feature-Class Depots zu laden.
Routen importieren
Im Dropdown-Menü können Sie auswählen, ob die Routen importiert oder hinzugefügt werden sollen.
Routen importieren
Klicken Sie auf die Schaltfläche Routen importieren , um Features aus einer anderen Datenquelle, z. B. einem Linien-Feature-Layer oder einer Standalone-Tabelle, in die Feature-Class Routes zu laden.
Routen hinzufügen
Klicken Sie auf die Schaltfläche Routen hinzufügen , um mit dem Geoverarbeitungswerkzeug Routen für Vehicle Routing Problem hinzufügen mehrere Routen auf einmal zu erstellen.
Pausen importieren
Im Dropdown-Menü können Sie auswählen, ob die Pausenzeiten importiert oder hinzugefügt werden sollen.
Pausen importieren
Klicken Sie auf die Schaltfläche Pausen importieren , um Features aus einer anderen Datenquelle, z. B. einem Linien-Feature-Layer oder einer Standalone-Tabelle, in die Feature-Class Breaks zu laden.
Pausenzeiten hinzufügen
Klicken Sie auf die Schaltfläche Pausenzeiten hinzufügen , um mit dem Geoverarbeitungswerkzeug Pausenzeiten für Vehicle Routing Problem hinzufügen mehrere Pausenzeiten auf einmal zu erstellen.
Barrieren importieren
Klicken Sie auf Punkt-Barrieren importieren , Linien-Barrieren importieren oder Polygon-Barrieren importieren , um Features aus einer anderen Datenquelle, wie einem Feature-Layer, in eine der Feature-Classes für Barrieren (Punkt-Barrieren, Linien-Barrieren oder Polygon-Barrieren) zu laden.
Routenzonen importieren
Klicken Sie auf die Schaltfläche Routenzonen importieren , um Features aus einer anderen Datenquelle, z. B. einem Polygon-Feature-Layer, in die Feature-Class Route Zones zu laden.
Auftragspaare importieren
Klicken Sie auf die Schaltfläche Auftragspaare importieren , um Features aus einer anderen Datenquelle, z. B. einer Standalone-Tabelle, in die Tabelle Auftragspaare zu laden.
Lager (Be-/Entladen) importieren
Klicken Sie auf die Schaltfläche Lager (Be-/Entladen) importieren , um Features aus einer anderen Datenquelle, z. B. einer Standalone-Tabelle, in die Tabelle Lager (Be-/Entladen) zu laden.
Auftragsbesonderheiten importieren
Klicken Sie auf die Schaltfläche Auftragsbesonderheiten importieren , um Features aus einer anderen Datenquelle, z. B. einer Standalone-Tabelle, in die Tabelle Auftragsbesonderheiten zu laden.
Routenbesonderheiten importieren
Klicken Sie auf die Schaltfläche Routenbesonderheiten importieren , um Features aus einer anderen Datenquelle, z. B. einer Standalone-Tabelle, in die Tabelle Routenbesonderheiten zu laden.
Features erstellen
Klicken Sie auf die Schaltfläche Features erstellen , um den Bereich Features erstellen zu öffnen. Wählen Sie eine der verfügbaren Vorlagen, um Features in der aktuellen Karte zu erstellen.
Modus
In der Dropdown-Liste Modus können Sie einen Reisemodus auswählen, wobei es sich um eine Gruppe von Einstellungen handelt, die zusammen die Bewegung von Fußgängern, Autos, Lkw usw. oder andere Reisemodi modellieren. Die in der Dropdown-Liste verfügbaren Optionen sind von den Reisemodi abhängig, die in der Netzwerkdatenquelle konfiguriert wurden, auf die der Netzwerkanalyse-Layer verweist.
Da die VRP-Berechnung ausschließlich mit zeitbasierter Impedanz erfolgt, stehen lediglich Reisemodi mit zeitbasierter Impedanz zur Auswahl.
Uhrzeitfeldeinheiten
Die Zeiteinheiten, die von den Zeitdatenfeldern in den Sublayern und Tabellen des Analyse-Layers verwendet werden. Über die Dropdown-Liste sind die folgenden Optionen verfügbar:
- Sekunden
- Minuten
- Stunden
- Tage
Entfernungsfeldeinheiten
Die Entfernungseinheiten, die von den Entfernungsfeldern in den Sublayern und Tabellen des Analyse-Layers verwendet werden. Über die Dropdown-Liste sind die folgenden Optionen verfügbar:
- Meter
- Kilometer
- Fuß
- Meilen
- Seemeilen
- Zentimeter
- Millimeter
- Dezimeter
- Yard
- Zoll
Standardmäßiger Datumstyp
Wenn nur eine Uhrzeit angegeben ist, wird in den Datums- und Uhrzeitfeldern das Standarddatum verwendet. Die Dropdown-Liste Standardmäßiger Datumstyp enthält die folgenden Optionen:
Datum: Geben Sie das Kalenderdatum an.
Wochentag: Geben Sie einen Wochentag an.
- Sonntag
- Montag
- Dienstag
- Mittwoch
- Donnerstag
- Freitag
- Samstag
Heute: Es wird das aktuelle Datum verwendet.
Aus der Dropdown-Liste Bezugszeitzone können Sie die Zeitzone für die Analyse auswählen. Die folgenden Optionen sind verfügbar:
- Lokale Zeit an Standorten
- UTC (Koordinierte Weltzeit)
Linearer Shape-Typ der Ausgabegeometrie
Mit diesem Steuerelement können Sie festlegen, wie die Ausgabe auf der Karte dargestellt werden soll. Über die Dropdown-Liste sind die folgenden Optionen verfügbar:
- Keine Linien: Keine linearen Shapes werden generiert.
- Gerade Linien: In gerade Linien vereinfachte Geometrie wird ausgegeben.
- Entlang Netzwerk: Absolute Pfade werden entlang des Netzwerks auf der Karte generiert.
Hinweis:
Die Option Gerade Linien ist nicht verfügbar, wenn die VRP-Layer auf einen VRP-Service oder auf Portal verweisen.Gewichtung für Zeitfenster
Mit der Einstellung Gewichtung für Zeitfenster können Sie die Gewichtung des Minimierens von Zeitfensterverletzungen beim Ausführen der Analyse konfigurieren. Mit einer höheren Gewichtung der Einhaltung der Zeitfenster generiert der Solver eine Lösung, die Zeitfensterverletzungen reduziert, die Gesamtberechnungskosten jedoch erhöht. Die folgenden Optionen sind zur Auswahl verfügbar:
Hoch: Wählen Sie diese Einstellung aus, wenn die rechtzeitige Ankunft bei Aufträgen wichtiger ist als eine Minimierung der Gesamtlösungskosten. Wenn eine hohe Gewichtung des Zeitfensters festgelegt wird, ändert sich das Steuerelement entsprechend. | |
Medium: Der Solver sucht einen Kompromiss zwischen der Einhaltung von Zeitfenstern und der Senkung der Gesamtlösungskosten. Wenn eine mittlere Gewichtung des Zeitfensters festgelegt wird, ändert sich das Steuerelement entsprechend. | |
Niedrig: Wählen Sie diese Einstellung aus, wenn die Einhaltung von Zeitfenstern weniger wichtig ist als die Reduzierung der Gesamtlösungskosten. Wenn eine niedrige Gewichtung des Zeitfensters festgelegt wird, ändert sich das Steuerelement entsprechend. |
Gewichtung für Fahrzeit
Der Parameter ist nur relevant, wenn Auftragspaare verwendet werden. Mit der Gewichtung für Fahrzeit können Sie die Bedeutung einer Fahrzeitüberschreitung gewichten. Die Fahrzeitüberschreitung entspricht der Zeit, um die die direkte Fahrzeit zwischen den Auftragspaaren überschritten wird. Die Fahrzeitüberschreitung ergibt sich aus Unterbrechungen oder Fahrten zu anderen Aufträgen oder Depots, die zwischen den Auftragspaaren stattgefunden haben. Die folgenden Optionen sind zur Auswahl verfügbar:
Hoch: Der Solver versucht, eine Lösung zu finden, bei der die Fahrzeitüberschreitungen bei Auftragspaaren auf Kosten steigender Gesamtfahrzeiten minimiert werden. Wenn eine hohe Gewichtung der Fahrzeit festgelegt wird, ändert sich das Steuerelement entsprechend. | |
Mittel: Der Solver sucht einen Kompromiss zwischen der Reduzierung der Fahrzeitüberschreitung und der Senkung der Gesamtlösungskosten. Wenn eine mittlere Gewichtung der Fahrzeit festgelegt wird, ändert sich das Steuerelement entsprechend. | |
Niedrig: Wählen Sie diese Einstellung aus, um eine Lösung zu suchen, deren Gesamtkosten möglichst gering sind. Wenn eine niedrige Gewichtung der Fahrzeit festgelegt wird, ändert sich das Steuerelement entsprechend. |
Räumliches Clustering
Legen Sie die Eigenschaft Räumliches Clustering fest, um das räumliche Clustering verwenden zu können.
Cluster: Die einer einzelnen Route zugewiesenen Aufträge werden räumlich gruppiert. Durch das Bilden von Auftrags-Clustern befinden sich Routen häufig in kleineren Gebieten. Dadurch schneiden sich die Routenlinien weniger oft, jedoch können sich die Gesamtfahrzeiten erhöhen. | |
Do Not Cluster: Der Solver priorisiert das Bilden von räumlichen Auftrags-Clustern nicht, und die Routenlinien können sich schneiden. Wählen Sie diese Option, wenn Routenzonen angegeben sind. |
Wegbeschreibungen
Mit den Steuerelementen auf der Registerkarte Wegbeschreibung können Sie Wegbeschreibungen generieren und die Manöver für den aktiven Analyse-Layer anzeigen.
- Ausgabe bei Berechnung: Aktivieren Sie diese Option, wenn Sie Wegbeschreibungen für den aktuellen Netzwerkanalyse-Layer bei der Berechnung erstellen möchten.
- Wegbeschreibung anzeigen : Wenn die Option Ausgabe bei Berechnung aktiviert ist und Sie auf die Option Wegbeschreibung anzeigen klicken, wird im Bereich Wegbeschreibung eine detaillierte Wegbeschreibung für jede Route in der Lösung angezeigt.
Hinweis:
Der VRP-Solver bestimmt mit einer zeitneutralen Start-Ziel-Kostenmatrix die Routenzuweisung und -sequenz. Mit den Werten dieser zeitneutralen Start-Ziel-Kostenmatrix werden die Zeit- und Entfernungskosten für die Felder "Orders", "DepotVisits" und "Routes" gefüllt, damit sie der zum Lösen des Problems verwendeten Optimierungslogik entsprechen. Nachdem die Sequenz der Stopps und Depotstopps für jede Route abgeschlossen wurde, werden mit dem Routen-Solver Wegbeschreibungen generiert. Dabei wird die tatsächliche Startzeit der Route verwendet, sodass die Wegbeschreibungsfelder mit genaueren, auf den Verkehrsbedingungen basierenden Ankunftszeiten aufgefüllt werden können.
Als Routen-Layer freigeben
Mit der Schaltfläche Routen-Layer der Gruppe Freigeben als können Sie die Ergebnisse der Analyse als Routen-Layer freigeben. Diese Schaltfläche öffnet das Geoverarbeitungswerkzeug Als Routen-Layer freigeben. Nach der erfolgreichen Ausführung werden die Ergebnisse der Analyse als Routen-Layer-Elemente im Portal freigegeben.