Vehicle Routing Problem-Analyse

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

Vehicle Routing Problem-Analyse

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 Durchführung der Aufträge und die Minimierung der Gesamtbetriebskosten für die Fahrzeugflotte. Während der Network Analyst-Routen-Solver 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.

Weitere Informationen zum Workflow einer Netzwerkanalyse

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.

Erstellen eines Analyse-Layers für das Vehicle Routing Problem

Sie können den Analyse-Layer für das Vehicle Routing Problem erstellen, indem Sie in der Werkzeugleiste Network Analyst auf Network Analyst > Neues Vehicle Routing Problem klicken.

Die Werkzeugleiste "Network Analyst"

Wenn Sie einen Analyse-Layer für das Vehicle Routing Problem erstellen, wird dieser im Fenster Network Analyst mit seinen 13 Netzwerkanalyseklassen angezeigt: Aufträge, Depots, Routen, Depotstopps, Pausenzeiten, Routenzonen, Routenschwerpunkte, Lager (Be-/Entladen), Besonderheiten, Auftragspaare, Punkt-Barrieren, Linien-Barrieren und Polygon-Barrieren.

Das Fenster "Network Analyst"

Der Analyse-Layer für das Vehicle Routing Problem wird auch im Inhaltsverzeichnis als Verbund-Layer angezeigt, der die Bezeichnung "Vehicle Routing Problem" aufweist. 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. Es gibt neun Feature-Layer: Aufträge, Depotstopps, Depots, Routenschwerpunkte, Routen, Routenzonen, Punkt-Barrieren, Linien-Barrieren und Polygon-Barrieren. Jeder dieser neun Feature-Layer verfügt über eine Standardsymbologie, die im jeweiligen Dialogfeld Layer-Eigenschaften geändert werden kann.

HinweisHinweis:

Da es sich bei "Pausenzeiten", "Besonderheiten", "Auftragspaare" und "Lager (Be-/Entladen)" um Tabellen handelt, werden sie nicht im Inhaltsverzeichnis angezeigt.

Das Inhaltsverzeichnis

Klassen der Vehicle Routing Problem-Analyse

Der Analyse-Layer für das Vehicle Routing Problem besteht aus 13 Netzwerkanalyseklassen, bei denen es sich um Feature-Layer oder -Tabellen handelt, die im Analyse-Layer gespeichert sind. 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 Problem

Die folgenden Abschnitte bieten einen Überblick über die einzelnen Klassen und Beschreibungen ihrer Eigenschaften.

Weitere Informationen zu Netzwerkanalyseklassen

Aufträge-Feature-Layer

In diesem Feature-Layer werden die Aufträge gespeichert, die Teil eines angegebenen Analyse-Layers für das Vehicle Routing Problem sind. Bei einem Auftrag kann es sich um eine Lieferung an einen Kunden (z. B. eine Möbellieferung), eine Abholung von einem Kunden (z. B. die Abholung von Altfett von Restaurants) oder um eine andere Art von Arbeit (z. B. einen Kontrollbesuch) handeln.

Wenn Aufträge eine Abholung oder eine Auslieferung erfordern, können die Artikel über eine oder mehrere Eigenschaften verfügen, wobei es sich um ein 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.

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.

Eigenschaften von "Aufträge"

Eingabefelder von Aufträgen

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 der Tabelle "OrderPairs" 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.

Beschreibung

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. Wenn dieser Feldwert Null oder NULL ist, erfordert der Netzwerkstandort keine Servicezeit.

Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben.

TimeWindowStart1

Die Anfangszeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass keine Anfangszeit vorhanden ist.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

TimeWindowEnd1

Die Endzeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass keine Endzeit vorhanden ist.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

TimeWindowStart2

Die Anfangszeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass kein zweites Zeitfenster vorhanden ist.

Wenn das erste Zeitfenster gemäß den Feldern "TimeWindowStart1" und "TimeWindowEnd1" NULL ist, muss das zweite Zeitfenster ebenfalls NULL sein.

Wenn beide Zeitfenster nicht Null sind, muss das zweite Zeitfenster zeitlich hinter dem ersten Zeitfenster liegen und darf das erste Zeitfenster nicht überlappen.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

TimeWindowEnd2

Die Endzeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert 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.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

MaxViolationTime1

Eine Zeitfensterverletzung liegt vor, wenn die Ankunftszeit außerhalb 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 Nullwert hingegen gibt an, 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:

  • Minimieren des Gesamtzeitverstoßes, unabhängig von der Erhöhung der Reisekosten für die Fahrzeugflotte
  • Suchen einer Lösung, die einen Kompromiss zwischen Gesamtzeitverstoß und Reisekosten ermöglicht
  • Ignorieren des Gesamtzeitverstoßes und stattdessen Minimieren der Reisekosten für die Fahrzeugflotte

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 "MaxViolationTime1" überschritten wird.

MaxViolationTime2

Der maximal zulässige Zeitverstoß für das zweite Zeitfenster des Auftrags. Dieses Feld entspricht dem Feld "MaxViolationTime1".

DeliveryQuantities

Der Umfang (z. B. Gewicht, Volumen, Menge) der Lieferung für den Auftrag.

Wenn der Auftrag Waren mit einem Gesamtgewicht von 1.000 Kilogramm erfordert, sollte im Dialogfeld Layer-Eigenschaften des Analyse-Layers der Parameter Kapazitätszahl auf 1 und DeliveryQuantities auf 1000 festgelegt werden.

Wenn von der Eigenschaft Kapazitätszahl des Analyse-Layers mehrere Kapazitäten angegeben werden, werden die Werte von "DeliveryQuantities" durch Leerzeichen getrennt.

Wenn z. B. Gewicht und Volumen bekannt sind, sollte im Dialogfeld Layer-Eigenschaften des Analyse-Layers die Option Kapazitätszahl auf 2 festgelegt werden. Wenn der Auftrag Waren mit einem Gesamtgewicht von 1.000 Kilogramm erfordert, die 50 Kubikmeter Raum beanspruchen, sollte "DeliveryQuantities" auf 1000 50 festgelegt werden.

Eine leere Zeichenfolge oder ein Nullwert gibt an, dass alle Mengen (d. h. "DeliveryQuantities") Null sind. Wenn die Anzahl der Werte in der Zeichenfolge geringer als die Kapazitätszahl ist, werden die restlichen Werte als Nullen behandelt. Für "DeliveryQuantities" sind negative Werte nicht zulässig.

PickupQuantities

Der Umfang (z. B. Volumen, Gewicht, Menge) einer abzuholenden Lieferung für den Auftrag. Für "PickupQuantities" sind negative Werte nicht zulässig. Dieses Feld entspricht dem Feld "DeliveryQuantities".

HinweisHinweis:
Bei einem Austauschbesuch kann ein Auftrag Werte für "DeliveryQuantities" und "PickupQuantities" aufweisen.

Revenue

Die generierten Einnahmen, wenn der Auftrag in einer Lösung enthalten ist. Dieses Feld darf einen Nullwert (ein Nullwert 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 die Ausgabe der Eigenschaft "TotalCost" in der Klasse "Routen" niemals "Revenue" enthält. Jedoch wird für "Revenue" die relative Gewichtung der Ausführung von Aufträgen berücksichtigt.

SpecialtyNames

Eine durch Leerzeichen getrennte Zeichenfolge mit den Namen der für den Auftrag erforderlichen Besonderheiten. Ein Nullwert gibt an, dass der Auftrag keine Besonderheiten erfordert.

Dieses Feld dient als Fremdschlüssel für das Feld "Name" in der Tabelle "Besonderheiten". Besonderheitenobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste "SpecialtyNames" angezeigt werden. Beispiel: Ein Gartenbaubetrieb muss einen Auftrag mit einem Pestizid ausführen, das eine Lizenz für den Anwender erfordert. Das Unternehmen kann ein Besonderheitenobjekt mit dem Namen Lizenz erstellen und diese Eigenschaft auf Lizenz festlegen.

AssignmentRule

Diese Eigenschaft gibt die Regel zum Zuweisen des Auftrags zu einer Route an. Sie wird von einer Domäne von Werten eingeschränkt, die unten aufgeführt sind (codierte Werte werden in Klammern angegeben).

  • Ausschließen (0) – Der Auftrag wird aus dem nachfolgenden Berechnungsvorgang ausgeschlossen.
  • Route und relative Sequenz beibehalten (1) – Der Solver muss den Auftrag während des Berechnungsvorgangs immer der vorab zugewiesenen Route mit der vorab zugewiesenen relativen Sequenz zuweisen. Wenn diese Zuweisungsregel nicht befolgt werden kann, führt dies zu einem Verstoß gegen den Auftrag.
  • Route beibehalten (2) – Der Solver muss den Auftrag während des Berechnungsvorgangs immer der vorab zugewiesenen Route zuweisen. Außerdem muss eine gültige Sequenz festgelegt sein, auch wenn diese nicht unbedingt beibehalten werden muss. Wenn der Auftrag nicht der angegebenen Route zugewiesen werden kann, führt dies zu einem Verstoß gegen den Auftrag.
  • Override (3) – Der Solver versucht, während des Berechnungsvorgangs die Vorabzuweisung von Route und Sequenz für den Auftrag beizubehalten. Jedoch kann eine neue Route und/oder Sequenz für den Auftrag zugewiesen werden, wenn sich hierdurch der Gesamtwert der Zielfunktion verringern lässt. Dies ist der Standardwert.

Dieses Feld darf keinen Nullwert enthalten.

Netzwerkstandortfelder

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Zusammen beschreiben diese vier Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet.

Weitere Informationen zu Netzwerkstandortfeldern

CurbApproach

Die Eigenschaft "CurbApproach" gibt die Richtung an, in der ein Fahrzeug am Netzwerkstandort ankommen bzw. von ihm wegfahren kann. Es sind vier Optionen (ihre codierten Werte werden in Klammern angegeben) verfügbar:

  • Beide Seiten des Fahrzeugs (0) – Das Fahrzeug kann sich von beiden Richtungen dem Netzwerkstandort nähern und von ihm abfahren. Wenden ist erlaubt. Sie sollten diese Einstellung auswählen, wenn das Fahrzeug an dem Stopp eine Wende durchführen oder wenn es in eine Auffahrt oder einen Parkplatz einfahren und wenden kann.
  • Rechte Seite des Fahrzeugs (1) – Wenn sich das Fahrzeug dem Netzwerkstandort nähert oder von diesem wegfährt, muss sich die Bordsteinkante auf der rechten Seite des Fahrzeugs befinden. Wenden ist verboten.
  • Linke Seite des Fahrzeugs (2) – Wenn sich das Fahrzeug dem Netzwerkstandort nähert oder von diesem wegfährt, muss sich die Bordsteinkante auf der linken Seite des Fahrzeugs befinden. Wenden ist verboten.
  • Wendeverbot (3) – Wenn sich das Fahrzeug dem Netzwerkstandort nähert, kann sich die Bordkante auf jeder Seite des Fahrzeuges befinden; das Fahrzeug muss jedoch abfahren, ohne zu wenden.

Weitere Informationen zu Wendenregeln

HinweisHinweis:
  • 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 "TimeWindowEnd1".

  • Die Zeitfensterfelder können einen reinen Uhrzeitwert oder einen Wert für Datum und Uhrzeit enthalten. Wenn ein Zeitfeld, z. B. "TimeWindowStart1", 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 Uhrzeitwerte verwenden (z. B. 11.7.2008 8:00 Uhr), können Sie Zeitfenster über mehrere Tage festlegen.

  • Wenn Sie Verkehrsdaten verwenden, verweisen die Uhrzeitfelder des Netzwerkstandorts auf die gleiche Zeitzone wie die Kante, auf der sich der Netzwerkstandort befindet.

Eingabe-/Ausgabefelder von Aufträgen

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 Nullwert 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 Dropdown-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 Nullwert enthalten, um anzugeben, dass der Auftrag an einer beliebigen Position auf der Route eingefügt werden kann. Ein Nullwert ist nur gemeinsam mit einem Nullwert für "RouteName" zulässig.

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.

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

  • OK (0) – Der Netzwerkstandort ist gültig.
  • Nicht verortet (1) – Der Standort im Netzwerk kann nicht bestimmt werden.
  • Netzwerkelement wurde nicht verortet (2) – Das Netzwerkelement, auf dem sich der Netzwerkstandort befinden sollte, kann nicht gefunden werden. Dies kann der Fall sein, wenn eine Netzwerkkante gelöscht und der Netzwerkstandort nicht neu berechnet wird.

Nach dem Berechnungsvorgang kann der Status in einen der folgenden Statuswerte geändert werden:

  • OK (0) – Der Netzwerkstandort wurde erfolgreich ausgewertet.
  • Element nicht passierbar (3) – Das Netzwerkelement, auf dem sich der Netzwerkstandort befindet, ist nicht passierbar. Dies kann der Fall sein, wenn das Netzwerkelement durch ein Restriktionsattribut eingeschränkt wird.
  • Ungültige Feldwerte (4) – Die Feldwerte des Netzwerkstandorts liegen außerhalb der Domäne mit codierten Werten oder der Bereichsdomäne des Analyse-Layers. Beispiel: Es ist eine negative Zahl vorhanden, jedoch sind positive Zahlen erforderlich.
  • Nicht erreicht (5) – Der Netzwerkstandort kann nicht vom Solver erreicht 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).

HinweisHinweis:

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.

Ausgabefelder von Aufträgen

Ausgabefeld

Beschreibung

ViolatedConstraints

Dieses Feld enthält eine Zusammenfassung von Beschränkungsverletzungen. Es wird nach einem Berechnungsvorgang festgelegt. Eine Kombination der unten aufgeführten Verletzungen kann dem Feld zugewiesen werden, wenn das Zuweisen des Auftrags zu einer Route zur Verletzung einer Einschränkung führt.

DetailinformationenDetailinformationen:

Der codierte Wert, der die Textbeschreibung darstellt, wird unten in der Liste in Klammern dargestellt. Beachten Sie, dass die codierten Werte Teil einer geometrischen Sequenz sind, die zunimmt, da der letzte Wert verdoppelt wird. Auf diese Weise können verschiedene Kombinationen von Regel-Verletzungen codiert werden. Zum Beispiel wird die Kombination von "Capacities überschritten" (2) und "Harte Routenzone" (128) als 130 (2 +128) codiert.

  • MaxOrderCount überschritten (1) – Der Auftrag kann keiner Route zugewiesen werden, weil durch das Zuweisen der Wert des Feldes "MaxOrderCount" für die Route überschritten wird. Wenn die maximale Auftragsanzahl überschritten wird, wird die Lösung zwar generiert, aber einige Aufträge werden nicht abgearbeitet. In diesem Fall enthält der VRP-Solver die größte Anzahl von Aufträgen, die für die geltenden Einschränkungen möglich ist.
  • Capacities überschritten (2) – Der Auftrag kann keiner Route zugewiesen werden, weil durch das Zuweisen des Auftrags der Wert des Feldes "Capacities" für die Route überschritten wird.
  • MaxTotalTime überschritten (4) – Der Auftrag kann keiner Route zugewiesen werden, weil durch das Zuweisen des Auftrags der Wert des Feldes "MaxTotalTime" für die Route überschritten wird.
  • MaxTotalTravelTime überschritten (8) – Der Auftrag kann keiner Route zugewiesen werden, weil durch das Zuweisen des Auftrags der Wert des Feldes "MaxTotalTravelTime" für die Route überschritten wird.
  • MaxTotalDistance überschritten (16) – Der Auftrag kann keiner Route zugewiesen werden, weil durch das Zuweisen des Auftrags der Wert des Feldes "MaxTotalDistance" für die Route überschritten wird.
  • Hartes Zeitfenster (32) – Der Auftrag hat ein hartes Zeitfenster und kann einer Route nicht zugewiesen werden, ohne dass eine Zeitfensterverletzung auftritt. (Ein hartes Zeitfenster wird angegeben, indem dem Feld "MaxViolationTime1" oder "MaxViolationTime2" der Wert 0 zugewiesen wird.)
  • Nicht übereinstimmende Besonderheit (64) – Die für den Auftrag erforderlichen Besonderheiten werden auf der Zielroute nicht gefunden.
  • Harte Routenzone (128) – Der Auftrag liegt nicht in einer harten Routenzone. Wenn alle Routen harte Routenzonen aufweisen und ein Auftrag außerhalb einer Zone liegt, wird dem Auftrag diese Beschränkungsverletzung zugewiesen.
  • MaxTransitTime für Auftragszuordnung überschritten (256) – Der Auftrag gehört zu einem Auftragspaar, und durch Zuweisen des Auftrags wird die durch den Wert des Feldes "MaxTransitTime" für das Auftragspaar angegebene maximale Fahrzeit überschritten.
  • Auftragszuordnungsverletzung (512) – Der Auftrag gehört zu einem Auftragspaar und kann keiner Route zugewiesen werden, weil für den anderen Auftrag eine Beschränkungsverletzung vorhanden ist. Angenommen, die Aufträge O1 und O2 sind Auftragspaare, und Auftrag O1 ist in einem Netzwerkelement mit negativen Impedanzen verortet, doch für Auftrag O2 liegen keine Beschränkungsverletzungen vor. Der Solver gibt "Nicht erreichbar" für Auftrag O1 und "Auftragszuordnungsverletzung" für Auftrag O2 zurück, da beide Aufträge keiner Route zugeordnet werden können.
  • Nicht erreichbar (1024) – Der Auftrag befindet sich auf einem Netzwerkelement, das von keiner Route erreicht werden kann. Dies wird häufig von einem Auftrag verursacht, der sich in einem separaten Teil des Netzwerkes befindet.
  • Erforderliche Pausenzeit kann nicht eingefügt werden (2048) – Eine Pausenzeit für die Route weist bei Vorhandensein von vorab zugewiesenen Aufträgen den Sequenzwert Null auf, und die Pausenzeit kann an keiner Stelle eingefügt werden, ohne dass andere Verletzungen verursacht werden.
  • Erforderliche Lager können nicht eingefügt werden (4096) – Eine Route überschreitet ihre Kapazität, und es muss ein Lager zum Be-/Entladen besucht werden. Das Lager zum Be-/Entladen weist jedoch bei Vorhandensein von vorab zugewiesenen Aufträgen den Sequenzwert Null auf und kann an keiner Stelle eingefügt werden, ohne dass andere Verletzungen verursacht werden.
  • MaxTravelTimeBetweenBreaks überschritten (8192) – Der Solver konnte innerhalb des Zeitraums, der vom Feld "MaxTravelTimeBetweenBreaks" der Pausenzeit angegeben wird, keine Pausenzeit einfügen. Dies wird häufig dadurch verursacht, dass einer Pausenzeit vorab eine Sequenz zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Fahrzeit nicht erreicht werden kann.

  • Pausenzeit wegen MaxCumulWorkTime überschritten (16384) – Der Solver konnte innerhalb des Zeitraums, der vom Feld "MaxCumulWorkTime" der Pausenzeit angegeben wird, keine Pausenzeit einfügen. Dies wird häufig dadurch verursacht, dass einer Pausenzeit vorab eine Sequenz zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Arbeitszeit nicht erreicht werden kann.

Weitere Informationen zur Problembehandlung bei Netzwerkanalysen

HinweisHinweis:

Der Wert 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 "ViolatedConstraints" angegeben, und der Auftrag wird weiterhin vom Solver behandelt. Dem Feld "ViolatedConstraints" werden ggf. weitere leichte Verletzungen dieser Art hinzugefügt, bis (a) der Solver eine Verletzung ermittelt, die den Berechnungsvorgang für den jeweiligen Auftrag vorzeitig beendet, oder (b) 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 Uhrzeit-Wert 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 Uhrzeit-Wert von dem Netzwerkelement übernommen, auf dem sich der Auftrag befindet.

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.

Klasse "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.

Eigenschaften von "Depots"

Eingabefelder von Depots

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 "RouteRenewals" und im Feature-Layer "Depotstopps", um auf Depots zu verweisen. Bei Depotnamen muss nicht zwischen Groß- und Kleinschreibung unterschieden werden, sie müssen angegeben werden und eindeutig sein.

Beschreibung

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.

TimeWindowStart1

Die Anfangszeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass keine Anfangszeit vorhanden ist.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

TimeWindowEnd1

Die Endzeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass keine Endzeit vorhanden ist.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

TimeWindowStart2

Die Anfangszeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass kein zweites Zeitfenster vorhanden ist.

Wenn das erste Zeitfenster gemäß den Feldern "TimeWindowStart1" und "TimeWindowEnd1" NULL ist, muss das zweite Zeitfenster ebenfalls NULL sein.

Wenn beide Zeitfenster nicht Null sind, muss das zweite Zeitfenster zeitlich hinter dem ersten Zeitfenster liegen und darf das erste Zeitfenster nicht überlappen.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

TimeWindowEnd2

Die Endzeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen Nullwert 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.

(Der Hinweis nach dieser Liste von Eigenschaften enthält weitere Informationen.)

Netzwerkstandortfelder

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

Zusammen beschreiben diese vier Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet.

Weitere Informationen zu Netzwerkstandortfeldern

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:

  • Beide Seiten des Fahrzeugs (0) – Das Fahrzeug kann sich von beiden Richtungen dem Netzwerkstandort nähern und von ihm abfahren. Wenden ist erlaubt. Sie sollten diese Einstellung auswählen, wenn das Fahrzeug an dem Stopp eine Wende durchführen oder wenn es in eine Auffahrt oder einen Parkplatz einfahren und wenden kann.
  • Rechte Seite des Fahrzeugs (1) – Wenn sich das Fahrzeug dem Netzwerkstandort nähert oder von diesem wegfährt, muss sich die Bordsteinkante auf der rechten Seite des Fahrzeugs befinden. Wenden ist verboten.
  • Linke Seite des Fahrzeugs (2) – Wenn sich das Fahrzeug dem Netzwerkstandort nähert oder von diesem wegfährt, muss sich die Bordsteinkante auf der linken Seite des Fahrzeugs befinden. Wenden ist verboten.
  • Wendeverbot (3) – Diese Option ist für Depots nicht zulässig. Während des Berechnungsvorgangs wird eine Fehlermeldung zurückgegeben, wenn "Wendeverbot" verwendet wird. Trotzdem kann das Wenden vermieden werden, indem "Linke Seite des Fahrzeugs" oder "Rechte Seite des Fahrzeugs" ausgewählt wird.

Weitere Informationen zu Wendenregeln

HinweisHinweis:
  • Die Zeitfensterfelder können einen reinen Uhrzeitwert oder einen Wert für Datum und Uhrzeit enthalten. Wenn ein Zeitfeld, z. B. "TimeWindowStart1", 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 Uhrzeitwerte verwenden (z. B. 11.7.2008 8:00 Uhr), können Sie Zeitfenster über mehrere Tage festlegen.

  • Wenn Sie Verkehrsdaten verwenden, verweisen die Uhrzeitfelder des Netzwerkstandorts auf die gleiche Zeitzone wie die Kante, auf der sich der Netzwerkstandort befindet.

Eingabe-/Ausgabefelder von Depots

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

  • OK (0) – Der Netzwerkstandort ist gültig.
  • Nicht verortet (1) – Der Standort im Netzwerk kann nicht bestimmt werden.
  • Netzwerkelement wurde nicht verortet (2) – Das Netzwerkelement, auf dem sich der Netzwerkstandort befinden sollte, kann nicht gefunden werden. Dies kann der Fall sein, wenn eine Netzwerkkante gelöscht und der Netzwerkstandort nicht neu berechnet wird.

Nach dem Berechnungsvorgang kann der Status in einen der folgenden Statuswerte geändert werden:

  • OK (0) – Der Netzwerkstandort wurde erfolgreich ausgewertet.
  • Element nicht passierbar (3) – Das Netzwerkelement, auf dem sich der Netzwerkstandort befindet, ist nicht passierbar. Dies kann der Fall sein, wenn das Netzwerkelement durch ein Restriktionsattribut eingeschränkt wird.
  • Ungültige Feldwerte (4) – Die Feldwerte des Netzwerkstandorts liegen außerhalb der Domäne mit codierten Werten oder der Bereichsdomäne des Analyse-Layers. Beispiel: Es ist eine negative Zahl vorhanden, jedoch sind positive Zahlen erforderlich.
  • Nicht erreicht (5) – Der Netzwerkstandort kann nicht vom Solver erreicht 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).

Routen-Klasse

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 außerdem die Fahrt zwischen Depots und Aufträgen dar. In ArcGIS Network Analyst sind Fahrzeuge, Routen und Fahrer Synonyme, und die Bezeichnung "Route" umfasst alle drei Begriffe.

HinweisHinweis:

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 Laden 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 und/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. Außerdem können sie mit dem Befehl Element hinzufügen erstellt werden.

Routeneigenschaften

Eingabefelder von Routen

Eingabefeld

Beschreibung

ObjectID

Das vom System verwaltete ID-Feld.

Name

Der Name des Netzwerkanalyse-Objekts.

Dieses Feld ist der Primärschlüssel und dient als Fremdschlüssel im Aufträge-Feature-Layer, in der Tabelle "Pausenzeiten", im Routenzonen-Feature-Layer, im Routenschwerpunkte-Feature-Layer, in der Tabelle "Lager (Be-/Entladen)" und im Depotstopps-Feature-Layer. 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.

Beschreibung

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 "EndDepotName" nicht ebenfalls NULL sein.

Wenn über die Route Lieferungen erfolgen und "StartDepotName" NULL ist, wird davon ausgegangen, dass das Fahrzeug vor Routenbeginnen in einem virtuellen Depot beladen wird. Für eine Route ohne Stopps zum Be-/Entladen werden die zugehörigen Lieferaufträge (mit Werten für "DeliveryQuantities" ungleich 0 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.

Wenn "EndDepotName" NULL ist, endet die Route bei dem letzten zugewiesenen Auftrag. Wenn die Endposition des Fahrzeuges unbekannt oder für das Problem irrelevant ist, empfiehlt es sich, das Enddepot nicht anzugeben. Wenn "EndDepotName" jedoch NULL ist, kann "StartDepotName" nicht ebenfalls NULL sein.

Wenn auf einer Route Abholungen erfolgen und "EndDepotName" NULL ist, wird davon ausgegangen, dass das Fahrzeug am Ende der Route in einem virtuellen Depot entladen wird. Für eine Route ohne Stopps zum Be-/Entladen werden die zugehörigen Abholungsaufträge (mit Werten für "PickupQuantities" ungleich 0 in der Klasse "Aufträge") am Enddepot oder virtuellen Depot entladen. Für eine Route mit Stopps zum Be-/Entladen werden nur die Abholungsaufträge nach dem letzten Stopp zum Be-/Entladen am Enddepot oder virtuellen Depot entladen.

StartDepotServiceTime

Die Durchführungszeit am Startdepot. Mit dieser kann die Zeit zum Beladen des Fahrzeugs modelliert werden. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass keine Durchführungszeit vorhanden ist.

Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben.

HinweisHinweis:

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 Nullwert enthalten. Ein Nullwert gibt an, dass keine Durchführungszeit vorhanden ist.

Die Einheit für diesen Feldwert wird durch die Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben.

HinweisHinweis:

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

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

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 unter "ArriveDepartDelay" 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.

Capacities

Die maximale Ladung (z.B. Volumen, Gewicht, Menge), die vom Fahrzeug transportiert werden kann. Wenn ein Fahrzeug maximal 20.000 Kilogramm transportieren kann, sollte im Dialogfeld Layer-Eigenschaften des Analyse-Layers die Option Kapazitätszahl auf 1 und Capacities auf 20000 festgelegt werden. Wenn ein Fahrzeug 300 Kubikmeter transportieren kann, sollte Kapazitätszahl auf 1 und Capacities auf 300 festgelegt werden.

VorsichtVorsicht:

Der VRP-Solver führt lediglich einen einfachen booleschen Test durch, um festzustellen, ob die Kapazitäten überschritten werden. Wenn der Kapazitätswert einer Route größer als oder gleich der gesamten transportierten Menge ist, geht der VRP-Solver davon aus, dass die Fracht in das Fahrzeug passt. Abhängig von der tatsächlichen Form der Fracht und des Fahrzeugs kann diese Annahme jedoch falsch sein. Der VRP-Solver wird beispielsweise gestatten, dass eine Kugel mit 1.000 Kubikfuß in einen LKW mit 1.000 Kubikfuß und eine Breite von 8 Fuß verladen wird. Tatsächlich hat die Kugel jedoch einen Durchmesser von 5 Meter und passt nicht in den LKW.

Wenn vom Parameter Kapazitätszahl des Analyse-Layers mehrere Kapazitäten angegeben werden, werden die Werte von "Capacities" durch Leerzeichen getrennt. Wenn z. B. maximales Gewicht und Volumen des Fahrzeugs verwendet werden, sollte im Dialogfeld Layer-Eigenschaften des Analyse-Layers die Option Kapazitätszahl auf 2 festgelegt werden. Wenn das Fahrzeug ein Gewicht von 20.000 Kilogramm und ein Volumen von 800 Kubikmeter transportieren kann, sollte Capacities auf 20000 800 festgelegt werden.

Eine leere Zeichenfolge oder ein Nullwert gibt an, dass alle Werte Null sind. Kapazitätswerte dürfen nicht negativ sein.

Wenn die Anzahl der Werte in der Zeichenfolge "Capacities" geringer als die Kapazitätszahl ist, werden die restlichen Werte als 0 behandelt.

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 Nullwerte enthalten. Ein Nullwert gibt an, dass keine festen Kosten vorhanden sind. Diese Kosten sind Bestandteil der Gesamtbetriebskosten für die Route.

CostPerUnitTime

Der – pro Zeiteinheit an Arbeit – für die Gesamtroutendauer, einschließlich Fahrzeiten, Durchführungszeiten und Wartezeiten bei Aufträgen, Depots und Pausen, anfallende Geldbetrag. Dieses Feld darf keinen Nullwert enthalten, und der Standardwert ist 1,0.

Die Zeiteinheit 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 Nullwerte enthalten. Ein Nullwert 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 Nullwerte enthalten. Ein Nullwert gibt an, dass keine Überstunden angewendet werden.

Die Zeiteinheit 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 Nullwerte enthalten. Ein Nullwert 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 Nullwerte enthalten, und der Standardwert ist 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 Nullwerte enthalten. Ein Nullwert gibt an, dass für die Routendauer keine Beschrä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 Nullwerte enthalten. Ein Nullwert gibt an, dass für die maximal zulässige Fahrzeit keine Beschrä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 Nullwerte enthalten. Ein Nullwert gibt an, dass für die maximal zulässige Reisestrecke keine Beschrä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.

SpecialtyNames

Eine durch Leerzeichen getrennte Zeichenfolge mit den Namen der von der Route unterstützten Besonderheiten. Ein Nullwert gibt an, dass die Route keine Besonderheiten unterstützt. Dieses Feld dient als Fremdschlüssel für das Feld "Name" in der Tabelle "Besonderheiten". Besonderheitenobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste "SpecialtyNames" angezeigt werden.

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:

  • Einschließen – Die Route wird in den Berechnungsvorgang einbezogen. Dies ist der Standardwert.
  • Ausschließen – Die Route wird aus dem Berechnungsvorgang ausgeschlossen.

Ausgabefelder von Routen

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.

ViolatedConstraints

Dieses Feld enthält eine Zusammenfassung von Beschränkungsverletzungen. Es wird nach einem Berechnungsvorgang festgelegt. Wenn eine Route zur Verletzung einer Einschränkung führt, kann dem Feld eine Kombination aus den unten aufgeführten Verletzungen zugewiesen werden:

DetailinformationenDetailinformationen:

Der codierte Wert, der die Textbeschreibung darstellt, wird unten in der Liste in Klammern dargestellt. Beachten Sie, dass die codierten Werte Teil einer geometrischen Sequenz sind, die zunimmt, da der letzte Wert verdoppelt wird. Auf diese Weise können verschiedene Kombinationen von Regel-Verletzungen codiert werden. Zum Beispiel wird die Kombination von "Capacities überschritten" (2) und "Harte Routenzone" (128) als 130 (2 +128) codiert.

  • MaxOrderCount überschritten (1) – Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, weil durch das Zuweisen der Aufträge die maximale Anzahl der Aufträge überschritten wird, die gemäß dem Wert des Feldes "MaxOrderCount" für die Route zugewiesen werden dürfen.
  • Capacities überschritten (2) – Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, weil durch das Zuweisen der Aufträge die Gesamtroutenkapazität überschritten wird, die vom Wert des Feldes "Capacities" für die Route angegeben wird.
  • MaxTotalTime überschritten (4) – Die Fahrzeit vom Startdepot zum Enddepot, zuzüglich der Durchführungs- und Wartezeiten an beiden Depots sowie ggf. Pausenzeiten, überschreitet die vom Wert des Feldes "MaxTotalTime" für die Route angegebene Gesamtzeit.
  • MaxTotalTravelTime überschritten (8) – Die Fahrzeit vom Startdepot zum Enddepot, zuzüglich der Durchführungs- und Wartezeiten an beiden Depots sowie ggf. Pausenzeiten, überschreitet die vom Wert des Feldes "MaxTotalTravelTime" für die Route angegebene GesamtFahrzeit.
  • MaxTotalDistance überschritten (16) – Die Reisestrecke vom Startdepot zum Enddepot, zuzüglich der Durchführungs- und Wartezeiten an beiden Depots sowie ggf. Pausenzeiten, überschreitet die vom Wert des Feldes "MaxTotalDistance" für die Route angegebene Gesamtreisestrecke.
  • Hartes Zeitfenster (32) – Beim Startdepot, Enddepot oder einer Pause für die Route liegt eine Verletzung eines harten Zeitfensters vor.
  • Nicht übereinstimmende Besonderheit (64) – Die für einen Auftrag erforderlichen Besonderheiten werden auf der Zielroute nicht gefunden.
  • Harte Routenzone (128) – Ein Auftrag, der der Route vorab zugewiesen wurde, fällt nicht in eine harte Routenzone.
  • MaxTransitTime für Auftragszuordnung überschritten (256) – Der Route ist ein Auftragspaar vorab zugewiesen, und durch Zuweisen der Aufträge des Auftragspaares wird die durch den Wert des Feldes "MaxTransitTime" für das Auftragspaar angegebene maximale Fahrzeit überschritten.
  • Auftragszuordnungsverletzung (512) – Der Auftrag gehört zu einem Auftragspaar und kann keiner vorab zugewiesenen Route zugewiesen werden.
  • Nicht erreichbar (1024) – Ein vorab zugewiesener Auftrag befindet sich auf einem Netzwerkelement, das von der Route nicht erreicht werden kann.
  • Erforderliche Pausenzeit kann nicht eingefügt werden (2048) – Eine Pausenzeit für die Route weist bei Vorhandensein von vorab zugewiesenen Aufträgen den Sequenzwert Null auf, und die Pausenzeit kann an keiner Stelle eingefügt werden, ohne dass andere Verletzungen verursacht werden.
  • Erforderliche Lager können nicht eingefügt werden (4096) – Eine Route überschreitet ihre Kapazität, und es muss ein Lager zum Be-/Entladen besucht werden. Das Lager zum Be-/Entladen weist jedoch bei Vorhandensein von vorab zugewiesenen Aufträgen den Sequenzwert Null auf und kann an keiner Stelle eingefügt werden, ohne dass andere Verletzungen verursacht werden.
  • MaxTravelTimeBetweenBreaks überschritten (8192) – Der Solver konnte innerhalb des Zeitraums, der vom Feld "MaxTravelTimeBetweenBreaks" der Pausenzeit angegeben wird, keine Pausenzeit einfügen. Dies wird häufig dadurch verursacht, dass einer Pausenzeit vorab eine Sequenz zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Fahrzeit nicht erreicht werden kann.

  • Pausenzeit wegen MaxCumulWorkTime überschritten (16384) – Der Solver konnte innerhalb des Zeitraums, der vom Feld "MaxCumulWorkTime" der Pausenzeit angegeben wird, keine Pausenzeit einfügen. Dies wird häufig dadurch verursacht, dass einer Pausenzeit vorab eine Sequenz zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Arbeitszeit nicht erreicht werden kann.

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:

  • FixedCost
  • RegularTimeCost
  • OvertimeCost
  • DistanceCost

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:

  • StartDepotServiceTime
  • EndDepotServiceTime
  • TotalOrderServiceTime
  • TotalBreakServiceTime
  • TotalRenewalServiceTime
  • TotalWaitTime
  • TotalTravelTime

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.

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.

Depotstopps-Feature-Layer

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.

Eigenschaften von "Depotstopps"

Ausgabefelder von Depotstopps

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.

  • Start
  • Ende
  • Lager (Be-/Entladen)

ServiceTime

Die Durchführungszeit (z. B. das Laden 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.

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.

TotalLoadedQuantities

Der Umfang (z. B. Volumen, Gewicht, Menge) der am Depot zu ladenden Artikel. Wenn von der Eigenschaft Kapazitätszahl des Analyse-Layers mehrere Kapazitäten angegeben werden, werden sie durch Leerzeichen getrennt. Beispielsweise gibt bei Lieferungen der Wert für das Feld "TotalLoadedQuantities" die tatsächliche Menge der vom Fahrzeug gelieferten Waren vor der Rückkehr zu einem Depot an. Dieser Wert ist kleiner oder gleich dem Wert des Feldes "Capacities" für eine bestimmte Route und gibt an, dass mit der Route eine LKW-Ladung von Lieferungen durchgeführt wird.

TotalUnloadedQuantities

Der Umfang (z. B. Volumen, Gewicht, Menge) der am Depot zu entladenden Artikel. Wenn von der Eigenschaft Kapazitätszahl des Analyse-Layers mehrere Kapazitäten angegeben werden, werden sie durch Leerzeichen getrennt. Beispielsweise gibt bei Abholungen oder Routen mit Lagern zum Be-/Entladen der Wert für das Feld "TotalUnloadedQuantities" die tatsächliche Menge der vom Fahrzeug abgeholten und zu dem Depot gebrachten Waren an. Dieser Wert ist kleiner oder gleich dem Wert des Feldes "Capacities" für eine bestimmte Route und gibt an, dass mit der Route eine LKW-Ladung von Abholungen durchgeführt wird.

HinweisHinweis:

Der Depotstopps-Feature-Layer enthält nicht das Ausgabefeld "ViolationTime", weil Depots harte Zeitfenster aufweisen.

Klasse "Pausenzeiten"

Dies ist eine nicht räumliche Netzwerkanalyseklasse, die die Unterbrechungszeiten bzw. Pausenzeiten für Routen in einem Vehicle Routing Problem speichert. 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.

  • 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 zwei Stunden Fahrt zu einer einstündigen Mittagspause anhalten kann. Sie können auch andere Routen verwenden, denen zwischen null und fünf 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 Vorrangswert der fünfzehnminütigen Pause 1 und der Vorrangswert der anderen Pause 2 lauten. Vorrangswerte 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.

Eigenschaften von Pausenzeiten

Eingabefelder von Pausenzeiten

Eingabefeld

Beschreibung

ObjectID

Das vom System verwaltete ID-Feld.

TimeWindowStart

Die Anfangszeit für das Zeitfenster der Pausenzeit.

Wenn dieses Feld NULL ist und "TimeWindowEnd" über einen gültigen Tageszeitwert verfügt, kann die Pausenzeit jederzeit vor dem TimeWindowEnd-Wert starten.

Wenn dieses Feld über einen Wert verfügt, müssen "MaxTravelTimeBetweenBreaks" und "MaxCumulWorkTime" NULL sein. Außerdem müssen alle anderen Pausenzeiten im Analyse-Layer Nullwerte für "MaxTravelTimeBetweenBreaks" und "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. 00:00 Uhr), wird vorausgesetzt, dass als Datum das von der Eigenschaft Standarddatum angegebene Datum verwendet wird. Wenn Sie Datums- und Uhrzeitwerte verwenden (z. B. 11.7.2010 00: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.

Beim Verwenden von Netzwerk-Datasets mit Verkehrsdaten über mehrere Zeitzonen hinweg entspricht die Zeitzone für "TimeWindowStart" und "TimeWindowEnd" der Zeitzone der Kante oder des Knotens, auf der bzw. dem sich das Startdepot befindet.

TimeWindowEnd

Die Endzeit für das Zeitfenster der Pausenzeit.

Wenn dieses Feld NULL ist und "TimeWindowStart" über einen gültigen Tageszeitwert verfügt, kann die Pausenzeit jederzeit nach dem TimeWindowStart-Wert starten.

Wenn dieses Feld über einen Wert verfügt, müssen "MaxTravelTimeBetweenBreaks" und "MaxCumulWorkTime" NULL sein. Außerdem müssen alle anderen Pausenzeiten im Analyse-Layer Nullwerte für "MaxTravelTimeBetweenBreaks" und "MaxCumulWorkTime" aufweisen.

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

Vorrang

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 Nullwerte enthalten. Ein Nullwert 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 Nullwert 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".

Eingabe-/Ausgabefelder von Pausenzeiten

Eingabe-/Ausgabefeld

Beschreibung

Sequence

Gibt als Eingabefeld die Sequenz der Pause auf der zugehörigen Route an. Dieses Feld kann Nullwerte 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.

Ausgabefelder von Pausenzeiten

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 Verkehrsdaten mit mehreren Zeitzonen verwendet werden, wird die Zeit in der Zeitzone gemeldet, die für das Startdepot der zugeordneten Route gilt.

DepartTime

Der Zeitpunkt, zu dem die Pause abgeschlossen ist.

Wenn Verkehrsdaten mit mehreren Zeitzonen verwendet werden, wird die Zeit in der Zeitzone gemeldet, die für das Startdepot der zugeordneten Route gilt.

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.

Klasse "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.

Wenn Sie in einer Analyse Routenzonen verwenden, können Sie nicht gleichzeitig Routenschwerpunkte verwenden.

Eigenschaften von Routenzonen

Eingabefelder von Routenzonen

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 Dropdown-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". Der Wert "False" 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.

HinweisHinweis:

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

Klasse "Routenschwerpunkte"

In dieser Netzwerkanalyseklasse werden die Routenschwerpunkte gespeichert, die Teil eines angegebenen Analyse-Layers für das Vehicle Routing Problem sind. Mit Routenschwerpunkten wird punktbasierte Cluster-Bildung für die Routen angegeben. Je kürzer die Entfernung eines Auftrags zum Schwerpunkt einer Route, desto höher ist i. d. R. die Wahrscheinlichkeit, dass der Auftrag dieser Route zugewiesen wird – sofern weitere Kriterien, z. B. Besonderheiten und Kapazitäten, erfüllt werden. Das Bilden von Clustern für Aufträge kann zu Routen führen, die ein kleineres Gebiet abdecken und weniger Überschneidungen anderer Routen aufweisen, doch sind möglicherweise die Gesamtkosten der Lösung höher. Sie können mithilfe von Schwerpunkten dafür sorgen, dass Fahrer in Umgebungen bleiben, mit denen sie vertraut sind, oder Sie können unterteilte Routen verwenden, wenn diese für Ihr Unternehmen einfacher zu verwalten sind.

Beim Arbeiten mit Routenschwerpunkten sind folgende Regeln und Optionen zu beachten:

  • Einer Route kann ein Schwerpunkt vorab zugewiesen sein, oder der Schwerpunkt kann vom VRP-Solver berechnet werden.
  • Wenn Sie in der Analyse Routenschwerpunkte verwenden, können Sie keine Routenzonen verwenden.
  • Wenn Routenschwerpunkte verwendet werden, muss jeder Route ein Routenschwerpunkt zugewiesen werden.
  • Unterschiedliche Typen von Routenschwerpunkten können nicht kombiniert werden. Die Netzwerkanalyseklasse muss entweder nur dynamische oder nur statische Schwerpunkte aufweisen.

Routenschwerpunkte sind Punkt-Features, jedoch keine Netzwerkstandorte. Sie verfügen also nicht über Netzwerkstandortfelder.

Klasse "Routenschwerpunkte"

Eingabefelder von Routenschwerpunkten

Eingabefeld

Beschreibung

ObjectID

Das vom System verwaltete ID-Feld.

RouteName

Der Name der Route, für die dieser Routenschwerpunkt gilt. Es ist höchstens ein Routenschwerpunkt pro Route vorhanden. Dieses Feld darf keine Nullwerte enthalten, und es fungiert als Fremdschlüssel für das Feld "Name" in der Klasse "Routen". Routenobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste "RouteName" angezeigt werden.

SeedPointType

Der Typ des Routenschwerpunkts. Dieses Feld ist durch eine Domäne von Werten eingeschränkt. Die möglichen Werte lauten Statisch und Dynamisch. Der Standardwert des Feldes ist "Statisch".

Bei statischen Routenschwerpunkten geben Sie die Position des Routenschwerpunkts an, und der Solver versucht, die Route als Cluster um die Position des Routenschwerpunkts zu bilden. Bei dynamischen Routenschwerpunkten fügen Sie den Routenschwerpunkt an einer beliebigen Position auf der Karte hinzu. Anschließend werden während des Berechnungsvorgangs Aufträge als Cluster angeordnet, und schließlich wird der Routenschwerpunkt auf den Schwerpunkt der Aufträge für die Route verschoben.

Eingabe-/Ausgabefelder von Routenschwerpunkten

Eingabe-/Ausgabefeld

Beschreibung

Shape

Gibt als Eingabefeld die Position eines Routenschwerpunkts an. Bei einem statischen Routenschwerpunkt bleibt das Eingabe-Punkt-Shape während des gesamten Berechnungsvorgangs unverändert.

Bei einem dynamischen Routenschwerpunkt hingegen wird das Eingabe-Shape ignoriert, und der Solver ändert während des Berechnungsvorgangs das Feld "Shape", um den neuen Standort des Routenschwerpunkts anzuzeigen.

HinweisHinweis:

Der Abstand zwischen Routenschwerpunkten und Aufträgen wird mit der euklidischen Entfernung gemessen. Daher ist das netzwerkbasierte Entfernungsattribut in den Layer-Eigenschaften nicht erforderlich.

Klasse "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 Routenschwerpunkten 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.

Eigenschaften von "Lager (Be-/Entladen)"

Eingabefelder von "Lager (Be-/Entladen)"

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, und es fungiert als Fremdschlüssel für das Feld "Name" im Depots-Feature-Layer. Depotobjekte müssen vorhanden sein, bevor sie in der Dropdown-Liste "DepotName" angezeigt werden.

RouteName

Der Name der Route, auf die dieses Lager zum Be-/Entladen angewendet wird. Dieses Feld darf keinen Nullwert 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 Dropdown-Liste "RouteName" angezeigt werden.

ServiceTime

Die Durchführungszeit für das Be-/Entladen. Dieses Feld kann einen Nullwert enthalten. Ein Nullwert gibt an, dass keine Durchführungszeit vorhanden ist. Die Einheit für die Durchführungszeit wird von der Eigenschaft "Uhrzeitfeldeinheiten" des Analyse-Layers angegeben.

HinweisHinweis:

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.

Eingabe-/Ausgabefelder von "Lager (Be-/Entladen)"

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 Nullwert 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".

Klasse "Besonderheiten"

In dieser Tabelle sind die Besonderheiten aufgeführt, die für Aufträge ggf. erforderlich sind und von Routen unterstützt werden. 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 Klasse "Besonderheiten" hinzufügen. Als Nächstes fügen Sie die Besonderheiten, die von einer Route unterstützt werden, ihrer SpecialtyNames-Eigenschaft hinzu. Zuletzt fügen Sie die Besonderheiten, die für einen Auftrag erforderlich sind, seiner SpecialtyNames-Eigenschaft hinzu. Wenn die VRP-Analyse berechnet wird, werden Aufträge, die bestimmte Besonderheiten erfordern, mit Routen verknüpft, die diese Bedingungen erfüllen.

Eigenschaften von "Besonderheiten"

Eingabefelder von Besonderheiten

Eingabefeld

Beschreibung

ObjectID

Das vom System verwaltete ID-Feld.

Name

Der Name des Netzwerkanalyse-Objekts.

Dieses Feld ist der Primärschlüssel und dient als Fremdschlüssel im Aufträge-Feature-Layer sowie im Routen-Feature-Layer, um auf Besonderheiten zu verweisen.

Namen von Besonderheiten müssen eindeutig sein und dürfen nicht leer bleiben. Außerdem dürfen sie keine Leerzeichen enthalten. Eine Besonderheit, die sich auf einen erfahrenen Techniker bezieht, muss z. B. als ErfahrenerTechniker eingegeben werden.

Diese Unzulässigkeit von Leerzeichen ist erforderlich, weil Aufträge und Routen, die mehreren Besonderheiten zugeordnet sind, Namen von Besonderheiten durch Leerzeichen getrennt auflisten, z. B. "ErfahrenerTechniker Lift".

Beschreibung

Die beschreibenden Informationen zum Netzwerkanalyse-Objekt. Diese können Textinformationen umfassen und müssen nicht eindeutig sein.

Klasse "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.

Eigenschaften von "Auftragspaare"

Eingabefelder von "Auftragspaare"

Eingabefeld

Beschreibung

ObjectID

Das vom System verwaltete ID-Feld.

FirstOrderName

Der Name des ersten Auftrags des Paars. 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 Dropdown-Liste "FirstOrderName" angezeigt werden.

SecondOrderName

Der Name des zweiten Auftrags des Paars. 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 Dropdown-Liste "SecondOrderName" angezeigt werden.

Der erste Auftrag des Paares muss ein Abholungsauftrag sein, d. h., der Wert für das zugehörige Feld "DeliveryQuantities" ist Null. Der zweite Auftrag des Paares muss ein Lieferauftrag sein, d. h., der Wert für das zugehörige Feld "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.

HinweisHinweis:

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 Nullwerte enthalten. Ein Nullwert gibt an, dass für die Fahrzeit keine Beschrä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: (1) Minimieren der Gesamt-Fahrzeitüberschreitung, unabhängig von der Erhöhung der Reisekosten für die Fahrzeugflotte, (2) Suchen einer Lösung, die einen Kompromiss zwischen Gesamtzeitverstoß und Reisekosten ermöglicht, und (3) 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 in jedem Fall einen Fehler zurück, wenn "MaxTransitTime" überschritten wird.

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.

Weitere Informationen zu Barrieren

Parameter der Vehicle Routing Problem-Analyse

Die Analyseparameter für den Analyse-Layer werden im Dialogfeld Layer-Eigenschaften festgelegt. Das Dialogfeld kann auf verschiedene Weise geöffnet werden:

Informationen zum Öffnen des Dialogfelds "Layer-Eigenschaften" für die Netzwerkanalyse

Die Registerkarte "Analyseeinstellungen"

In den folgenden Unterabschnitten werden die Parameter, die Sie auf dem Analyse-Layer festlegen können, aufgeführt. Sie finden sie auf der Registerkarte Analyseeinstellungen des Dialogfelds Layer-Eigenschaften für den Analyse-Layer.

Registerkarte "Analyseeinstellungen"
Analyseeinstellungen für einen Vehicle Routing Problem-Analyse-Layer

Zeitattribut

Das Zeitkosten-Attribut, mit dem die Routenzeit entlang der Netzwerkelemente definiert wird. Das Zeitkosten-Attribut ist erforderlich, da der VRP-Solver (Vehicle Routing Problem) die Zeiten minimiert.

Weitere Informationen zu Kostenattributen

Entfernungsattribut

Das Entfernungskosten-Attribut, mit dem die Länge entlang der Netzwerkelemente definiert wird. Das Entfernungskosten-Attribut ist optional.

Weitere Informationen zu Kostenattributen

Standarddatum

Das implizite Datum für Zeitfeldwerte, für die kein Datum für die Uhrzeit angegeben wurde. Wenn ein Zeitfeld, z. B. "TimeWindowStart1" für einen Auftrag, einen reinen Uhrzeitwert enthält (z. B. 8:00 Uhr), wird als Datum das von der Eigenschaft Standarddatum angegebene Datum vorausgesetzt. Wenn ein Auftrag beispielsweise den TimeWindowStart1-Wert 9:00 Uhr aufweist und als Standarddatum der 6. März 2011 festgelegt ist, wird als vollständiger Zeitwert für das Feld der Wert "9:00 Uhr, 6. März 2011" verwendet. Wenn die Einstellung für Standarddatum geändert wird, wird das implizierte Datum für sämtliche Zeitfeldwerte mit nicht festgelegtem Datum zum neuen Standarddatum. Das Standarddatum wirkt sich nicht auf Zeitfeldwerte aus, für die bereits eine Zeit mit einem bestimmten Datum festgelegt ist.

Wenn das Netzwerk-Dataset historische Verkehrsdaten enthält, können sich die Ergebnisse der Analyse abhängig von dem hier angegebenen Datum ändern. Falls die Routen z. B. um 8:00 Uhr am Sonntag starten, wenn nicht viel Verkehr ist, dauern die Routen länger, wenn sie erst am Monat um 8:00 Uhr zur Hauptverkehrszeit durchgeführt werden. Außerdem kann sich die optimale Route abhängig von den Verkehrsbedingungen ändern.

Sie können auswählen, ob Sie einen Wochentag (Wochentag) oder einen Kalendertag (Spezielles Datum) eingeben möchten. Für einen Kalendertag geben Sie den Tag, den Monat und das Jahr an. Für einen Wochentag können Sie Heute oder einen beliebigen Tag der Woche (Sonntag bis Samstag) auswählen. Wochentage ermöglichen Ihnen, einen Analyse-Layer zu konfigurieren, der ohne Änderung des Datums wiederverwendet werden kann.

Die Verwendung von Wochentagen empfiehlt sich vor allem im Zusammenhang mit Verkehrsdaten. Wenn Sie beispielsweise die Einstellungen Wochentag und Heute auswählen, generiert der Solver Ergebnisse, die auf den historischen Verkehrsdaten für den aktuellen Tag basieren, wobei der aktuelle Tag aus den Betriebssystemeinstellungen des Computers abgerufen wird. Wenn Sie beispielsweise am nächsten Tag, dem 5. Mai, zurückkehren und den gleichen Analyse-Layer erneut berechnen, basiert die Lösung auf den historischen Verkehrsdaten des Wochentags, auf den der 5. Mai fällt. Wenn Sie für Wochentag den Wert Montag auswählen und die Berechnung durchführen, basiert die Lösung auf den historischen Verkehrsdaten für den nächsten Montag. Ist jedoch der aktuelle Tag ein Montag, verwendet die Lösung die historischen Verkehrsdaten des heutigen Tags.

Weitere Informationen zu historischen Verkehrsdaten

Kapazitätszahl

Die Anzahl der Abmessungen für die zulässige Höchstlast, mit denen die jeweiligen Höchstlasten der Fahrzeuge beschrieben werden. Bei einem Lieferauftrag kann für jedes Fahrzeug eine Höchstlast oder ein Höchstvolumen gelten, das aufgrund physischer oder gesetzlicher Bedingungen auf einmal befördert werden darf. Wenn Sie die Last und das Volumen in den Aufträgen verfolgen, können Sie hier unter Verwendung dieser beiden Kapazitätswerte eine Überladung der Fahrzeuge verhindern. Die Kapazitätszahl für dieses Szenario lautet 2 (Volumen und Gewicht). Je nach Problem möchten Sie vielleicht unterschiedliche Arten von Kapazitätsmengen verfolgen. Die in die Kapazitätsfelder eingegebenen Kapazitäten ("DeliveryQuantities" und "PickupQuantities" für die Klasse "Aufträge" und "Capacities" für die Klasse "Routen") sind durch Leerzeichen getrennte numerische Zeichenfolgen, die so viele Werte enthalten können, wie in "Kapazitätszahl" festgelegt ist. Jedes Kapazitätsmaß sollte für alle Kapazitätsfeldwerte innerhalb derselben VRP-Analyse-Layers in derselben Positionsreihenfolge angezeigt werden. Die Kapazitäten selbst sind nicht benannt. Um eine versehentliche Verschiebung der Kapazitätsparameter zu vermeiden, stellen Sie sicher, dass die durch Leerzeichen getrennten Kapazitätslisten für alle Kapazitätsfeldwerte immer in derselben Reihenfolge eingegeben werden.

Uhrzeitfeldeinheiten

Die Zeiteinheiten, die von den Zeitdatenfeldern in den Sublayern und Tabellen des Analyse-Layers verwendet werden (Netzwerkanalyseklassen). Diese Einstellung muss nicht mit den Einheiten des Zeitkosten-Attributs übereinstimmen.

Entfernungsfeldeinheiten

Die Entfernungseinheiten, die von den Entfernungsfeldern in den Sublayern und Tabellen des Analyse-Layers verwendet werden (Netzwerkanalyseklassen). Diese Einstellung muss nicht mit den Einheiten des optionalen Entfernungskosten-Attributs übereinstimmen.

Wenden an Kreuzungen

In ArcGIS Network Analyst kann das Wenden überall, nirgendwo, nur in Sackgassen oder nur an Kreuzungen und in Sackgassen zulässig sein. Das Zulassen von Wenden bedeutet, dass die Route an einem Knoten wenden und auf der gleichen Straße wieder zurückführen kann.

Informationen zu Wendenregeln

Ausgabe-Shape-Typ

Die Routen-Features, die von der Analyse ausgegeben werden, können auf vier Arten dargestellt werden.

  • Mit Echtes Shape wird die tatsächliche Form der resultierenden Route dargestellt.

    Route als 'Echtes Shape'

  • Mit Streckenverlauf mit Messwerten wird die exakte Form der resultierenden Route dargestellt. Die Ausgabe umfasst zudem Routenmesswerte für die lineare Referenzierung. Die Messwerte nehmen ab dem ersten Halt zu und zeichnen die kumulierte Impedanz auf.

    Weitere Informationen zur linearen Referenzierung

  • Mit Gerade Linie wird eine einzelne gerade Linie zwischen den Stopps angezeigt.

    Route als gerade Linie

  • Wenn als Ausgabe-Shape-Typ Kein festgelegt ist, wird kein Shape zurückgegeben.

In allen diesen Fällen sind die zeitbasierten und entfernungsbasierten Kosten in der Lösung identisch, und die Attribute des Routen-Feature-Layers sind ebenfalls identisch. Der einzige Unterschied besteht im Shape der Routenausgabe oder darin, ob automatisch lineare Referenzierung festgelegt wird.

Hierarchie verwenden

Wenn das Netzwerk-Dataset über ein Hierarchieattribut verfügt, kann die Hierarchie während der Analyse herangezogen werden. Wenn eine Hierarchie verwendet wird, werden vom Solver Kanten einer höheren Rangstufe gegenüber Kanten niedrigerer Rangstufen bevorzugt. Hierarchische Berechnungen sind schneller und können verwendet werden, um zu simulieren, dass ein Fahrer lieber auf Autobahnen statt Landstraßen fährt, selbst wenn die Fahrstrecke dann länger ist. Wird keine Hierarchie verwendet, dann wird eine genaue Route für das Netzwerk-Dataset berechnet.

Weitere Informationen zur Routenerstellung mit Hierarchie

Beschränkungen

Sie können auswählen, welche Restriktionsattribute bei der Berechnung der Analyse beachtet werden sollen. Beschränkungen, beispielsweise Einbahnstraßen, sollten beim Suchen von Lösungen für Fahrzeuge, die Einbahnstraßen beachten müssen, (z. B. Fahrzeuge, die keine Einsatzfahrzeuge sind) verwendet werden. Wenn das Netzwerk-Dataset weitere Restriktionsattribute, z. B. eine Gewichts- oder Höhenbeschränkung, enthält, können diese ebenfalls verwendet werden.

Weitere Informationen zu Beschränkungen.

Restriktionsattribute können auch zusammen mit dynamischen Attributen verwendet werden. So kann eine Kante beispielsweise eingeschränkt sein, wenn das Fahrzeug höher als die lichte Höhe eines Tunnels ist.

Weitere Informationen zur Routenerstellung mit parametrisierten Attributen

Wegbeschreibung

Mit den Eigenschaften von "Wegbeschreibung" können Sie die Einheiten für die Entfernung und optional auch für die Zeit festlegen. Darüber hinaus können Sie wählen, ob eine Wegbeschreibung nach dem Generieren einer Route automatisch geöffnet wird. (Wenn Wegbeschreibungen nicht automatisch angezeigt werden, können Sie auf die Schaltfläche Fenster 'Wegbeschreibung' Fenster "Wegbeschreibung" klicken, um die Wegbeschreibung anzuzeigen.)

Die Registerkarte "Erweiterte Einstellungen"

Registerkarte "Erweiterte Einstellungen" eines VRP-Layers

Im Dialogfeld Layer-Eigenschaften werden auf der Registerkarte Erweiterte Einstellungen die folgenden Eigenschaften des Analyse-Layers für das Vehicle Routing Problem angezeigt: Die hier vorgenommenen Einstellungen wirken sich auf die Prioritäten des Solvers beim Behandeln von Zeitfensterverletzungen von Routen und Fahrzeitüberschreitungen für Auftragspaare aus. Sie können den Wert Niedrig, Mittel oder Hoch zuweisen. Je höher die Gewichtung, desto intensiver versucht der Solver, die entsprechenden Zeitfensterverletzungen oder Fahrzeitüberschreitungen zu verringern oder zu beseitigen.

Zeitfensterverletzung

Zeitfensterverletzung: Mit dieser Eigenschaft können Sie festlegen, wie wichtig die Einhaltung von Zeitfenstern ist, ohne Beschränkungsverletzungen zu verursachen. Eine Zeitfensterverletzung tritt auf, wenn eine Route nach dem Schließen eines Zeitfensters einen Auftrag, ein Depot oder eine Unterbrechung erreicht. Als Verletzung ist das Intervall zwischen dem Ende des Zeitfensters und der Ankunftszeit einer Route definiert.

Diagramm einer Zeitfensterverletzung

Die VRP-Lösung kann sich in Abhängigkeit des Wertes ändern, den Sie für die Eigenschaft Zeitfensterverletzung auswählen. In der folgenden Liste wird die Bedeutung der verschiedenen Werte beschrieben, und es werden mögliche Auswirkungen auf die VRP-Lösung genannt:

  • Hoch – Der Solver versucht, eine Lösung zu finden, bei der Zeitfensterverletzungen auf Kosten steigender Gesamtfahrzeiten minimiert werden. Wählen Sie "Hoch" aus, wenn die rechtzeitige Ankunft bei Aufträgen wichtiger ist als eine Minimierung der Gesamtlösungskosten. Dies kann z. B. der Fall sein, wenn Sie einen Termin mit Kunden bei den Aufträgen vereinbart haben und eine verspätete Ankunft vermeiden möchten (eine weitere Möglichkeit ist die Verwendung von harten Zeitfenstern, bei denen keine Verletzung zulässig ist).

    Wenn weitere Beschränkungen eines Vehicle Routing Problem vorliegen, ist es eventuell unmöglich, alle Aufträge innerhalb ihrer Zeitfenster zu erreichen. In diesem Fall können auch mit der Einstellung "Hoch" Zeitfensterverletzungen auftreten.

  • Mittel – Dies ist die Standardeinstellung. Der Solver sucht einen Kompromiss zwischen der Einhaltung von Zeitfenstern und der Senkung der Gesamtlösungskosten.

  • Niedrig – Der Solver versucht, eine Lösung zu finden, bei der die GesamtFahrzeit unabhängig von Zeitfenstern minimiert wird. Wählen Sie "Niedrig" aus, wenn die Einhaltung von Zeitfenstern weniger wichtig ist als die Reduzierung der Gesamtlösungskosten. Sie können ggf. diese Einstellung wählen, wenn Sie einen wachsenden Rückstand an Service-Anforderungen bewältigen müssen. Um an einem Tag mehr Aufträge durchführen zu können und den Rückstand abzuarbeiten, können Sie "Niedrig" auswählen, obwohl den Kunden durch die Verspätungen Ihrer Fahrzeugflotte Unannehmlichkeiten entstehen.

In den nächsten beiden Abbildungen wird dieselbe Gruppe von Aufträgen und Depots gezeigt. Die Routen sind jedoch unterschiedlich, weil andere Einstellungen für "Zeitfensterverletzung" verwendet wurden. In der linken Abbildung wird die Route gezeigt, die bei der Gewichtung "Niedrig" für "Zeitfensterverletzung" erzeugt wurde. Die Route ist kurz, es liegt jedoch eine Zeitfensterverletzung vor. Wenn die Einstellung auf "Hoch" festgelegt ist, erfüllt die Route alle Zeitfenster, jedoch ist sie länger, weil der Auftrag mit einem Zeitfenster zuerst durchgeführt wird.

Niedrige Gewichtung
Niedrige Gewichtung
Hohe Gewichtung
Hohe Gewichtung

Fahrzeitüberschreitung

Mit dieser Eigenschaft können Sie festlegen, wie wichtig die Reduzierung von Fahrzeitüberschreitungen ist. 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.

Berechnen der Fahrzeitüberschreitung
Berechnen der Fahrzeitüberschreitung

Die VRP-Lösung kann sich in Abhängigkeit des Wertes ändern, den Sie für Fahrzeitüberschreitung auswählen. In der folgenden Liste wird die Bedeutung der verschiedenen Werte beschrieben, und es werden mögliche Auswirkungen auf die VRP-Lösung genannt:

  • Hoch – Der Solver versucht, eine Lösung zu finden, bei der die Fahrzeitüberschreitungen bei Auftragspaaren auf Kosten steigender Gesamtfahrzeiten minimiert werden. Diese Einstellung empfiehlt sich, wenn bei Aufträgen Personen befördert werden und Sie die Fahrzeiten der Personen verkürzen möchten. Ein typisches Beispiel sind Taxiunternehmen.
  • Mittel – Dies ist die Standardeinstellung. Der Solver sucht einen Kompromiss zwischen der Reduzierung der Fahrzeitüberschreitung und der Senkung der Gesamtlösungskosten.
  • Niedrig – Der Solver versucht, eine Lösung zu finden, bei der die Gesamtlösungskosten unabhängig von Zeitüberschreitungen minimiert werden. Diese Einstellung wird normalerweise von Kurierdiensten verwendet. Da Kurierdienste Pakete und keine Personen befördern, muss die Fahrzeit nicht berücksichtigt werden. Mit der Einstellung "Niedrig" können Kuriere Auftragspaare in der ordnungsgemäßen Reihenfolge abwickeln und die Gesamtlösungskosten minimieren.

In den nächsten beiden Abbildungen wird dieselbe Gruppe von Aufträgen und Depots gezeigt. Die Routen sind jedoch unterschiedlich, weil andere Einstellungen für "Fahrzeitüberschreitung" verwendet wurden. In der linken Abbildung wird die Route gezeigt, die bei einer Gewichtung von "Niedrig" für "Fahrzeitüberschreitung" erzeugt wurde. Die Gesamtroute ist zwar kurz, jedoch ist die Fahrzeit vom ersten Auftrag zu dem im Auftragspaar zugeordneten Auftrag, dem Flughafen, lang. Wenn die Gewichtung auf "Hoch" festgelegt ist, verringert sich die Zeit der Route zwischen dem ersten Auftrag und dem Flughafen, während für den anderen Auftrag rechts dieselbe Fahrzeit beibehalten wird. Die Gesamtkosten der Route erhöhen sich jedoch.

Niedrige Gewichtung
Niedrige Gewichtung (Kurier)
Hohe Gewichtung (Taxi)

Die Registerkarte "Netzwerkstandorte"

Die Parameter auf der Registerkarte Netzwerkstandorte dienen zum Suchen von Netzwerkstandorten und Festlegen von Werten für deren Eigenschaften.

Weitere Informationen zu Netzwerkstandorten

Lösen eines Vehicle Routing Problem und Interpretieren der Ergebnisse

Nachdem ein Analyse-Layer für das Vehicle Routing Problem erstellt, die erforderlichen Netzwerkanalyse-Objekte gefüllt und entsprechende Analyseeigenschaften festgelegt wurden, können Sie auf die Lösung für den Analyse-Layer für das Vehicle Routing Problem per Klick auf die Schaltfläche Berechnen Berechnen in der Werkzeugleiste Network Analyst zugreifen.

Nach der Berechnung wird die Eigenschaft Ausgabe-Shape-Typ auf Echtes Shape festgelegt, und der Vehicle Routing Problem-Solver zeichnet für jede Route im Netzwerk Linien, die Startdepots, Aufträge, Depots zum Be-/Entladen und Enddepots verbinden.

Im Fenster Network Analyst wird auch die Klasse "Aufträge" aktualisiert, um alle Aufträge nach den Routen zu gruppieren, denen sie zugewiesen sind. Die Klasse "Depotstopps" wird aktualisiert, um für jede Route Start- und Enddepot sowie Depots zum Be-/Entladen anzuzeigen.

Beim Berechnungsvorgang ignoriert der Vehicle Routing Problem-Solver alle Routen und Aufträge, deren Wert für das Feld "AssignmentRule" auf "Ausschließen" festgelegt ist.

Anschließend berechnet der Vehicle Routing Problem-Solver eine intern verwaltete Start-Ziel-Kostenmatrix zwischen allen Aufträgen und Depotstandorten, für die das Zeitattribut als Impedanz und ggf. das Entfernungsattribut als akkumuliertes Attribut verwendet wird.

Informationen zur Start-Ziel-Kostenmatrix-Analyse

Der VRP-Solver erstellt eine erste Lösung, die aus vorab zugewiesenen Aufträgen, Pausenzeiten und Stopps zum Be-/Entladen besteht, sofern eines dieser Netzwerkanalyse-Objekte vorab Routen zugewiesen ist. Wenn mit dieser Vorabzuweisung keine gültige erste Lösung ermittelt werden kann (d. h., einige Beschränkungen wurden verletzt), schlägt der Berechnungsvorgang fehl.

Während Aufträge ohne Route vorhanden sind, versucht der VRP-Solver, den preisgünstigsten Auftrag ohne Route in die am besten geeignete Route einzufügen. Der Solver versucht, die Sequenz von Aufträgen zu ändern, die einer Route zugeordnet sind, wenn durch das Ändern der Sequenz die Lösung verbessert wird. Jedoch werden keine Aufträge verschoben, deren Wert für das Feld "AssignmentRule" auf "Route und relative Sequenz beibehalten" festgelegt ist.

Nachdem alle möglichen Aufträge erfolgreich Routen zugeordnet wurden, gibt der Vehicle Routing Problem-Solver die Ergebnisse in den entsprechenden Ausgabefeldern der Netzwerkanalyse-Objekte aus. Wenn einige Aufträge keiner Route zugeordnet werden können, werden die verletzten Beschränkungen in die "ViolatedConstraints"-Felder des Aufträge-Feature-Layers ausgegeben. Wenn eine Route in einer Lösung nicht verwendet wird, werden die entsprechenden Ausgabefelder auf Null festgelegt.

Informationen zu verletzten Beschränkungen für Aufträge und Routen

Interpretieren der Ergebnisse einer Vehicle Routing Problem-Analyse

Nachdem ein Analyse-Layer für das Vehicle Routing Problem erfolgreich berechnet wurde, kann durch Lesen der Eingabe- und Ausgabefelder der Tabelle "Pausenzeiten", des Depotstopps-Feature-Layers, des Aufträge-Feature-Layers und des Routen-Feature-Layers die Routing-Lösung für jede Route zusammengestellt werden. Der Routenplan wird ermittelt, indem eine Suche nach "RouteName" erfolgt und die Sequenzwerte in "Pausenzeiten", "Depotstopps" und "Aufträge" bestimmt werden. Sie können eine Wegbeschreibung generieren, um einen ähnlichen Routenplan zu kompilieren. Der Routen-Feature-Layer bietet eine Zusammenfassung jeder berechneten Route.

Verwandte Themen


7/10/2012