Ausgabe von "Vehicle Routing Problem berechnen"

Das Geoverarbeitungswerkzeug Vehicle Routing Problem berechnen gibt die folgenden Tabellen und Feature-Classes aus: Stopps, nicht zugewiesene Stopps, Routen und Wegbeschreibung. In den folgenden Unterabschnitten finden Sie Beschreibungen der Ausgabetabellen und -Feature-Classes sowie der entsprechenden Feldattribute.

Routes-Feature-Class

Die Routes-Line-Feature-Class repräsentiert die Treiber, Vehicles und Vehicle Route-Pfade eines Vehicle Routing Problems. Der Standardname dieser Ausgabe-Feature-Class ist "Routen", Sie können ihn jedoch ändern, indem Sie den Parameter Ausgabe-Routenname (output_routes_name in Python) vor der Berechnung ändern.

ArcGIS weist dasselbe Koordinatensystem zu, das auch vom zugrunde liegenden Netzwerk-Dataset für die Routes-Feature-Class verwendet wird. Dies kann durch die Angabe eines Wertes für den Parameter Ausgabe-Koordinatensystem in den Umgebungseinstellungen gesteuert werden.

Im Folgenden werden die Feldnamen der Routes-Feature-Class aufgeführt und beschrieben.

FeldnameBeschreibung

ObjectID

Das vom System verwaltete ID-Feld.

Name

Der Name der Route.

Shape

Das Geometriefeld, das das Shape der Route angibt.

Wählen Sie über den Parameter Routenlinien füllen (populate_route_lines in Python), ob dieses Feld gefüllt werden soll.

Die Routes-Feature-Class wird immer während der Ausführung von Vehicle Routing Problem berechnen erstellt und mit Daten gefüllt. Der Parameter Routenlinien füllen (populate_route_lines in Python) ermöglicht Ihnen jedoch zu wählen, ob für die Linien-Features Shape-Feldwerte erstellt und gespeichert werden sollen. Indem keine Shape-Feldwerte ausgefüllt werden, wird der Berechnungsvorgang beschleunigt und der Umfang des Server-Client-Datenaustauschs verringert. Häufig wird es jedoch vorgezogen, Routen auf einer Karte darzustellen, wofür das Ausfüllen des Shape-Felds erforderlich wäre.

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:

Detailinformationen:

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 dabei die maximale Anzahl der Aufträge überschritten wird, die der Route gemäß dem Feldwert für MaxOrderCount zugewiesen werden dürfen.
  • Capacities überschritten (2): Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, da hierdurch die Gesamtroutenkapazität überschritten wird, die durch den 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 eventuellen Pausenzeiten überschreiten die Gesamtzeit, die durch den Wert des Feldes MaxTotalTime für die Route angegeben wird.
  • MaxTotalTravelTime überschritten (8): Die Fahrzeit vom Startdepot zum Enddepot überschreitet die Gesamtfahrzeit, die durch den Wert des Feldes MaxTotalTravelTime für die Route angegeben wird.
  • MaxTotalDistance überschritten (16): Die Reisestrecke vom Startdepot zum Enddepot überschreitet die Gesamtreisestrecke, die durch den Wert des Feldes MaxTotalDistance für die Route angegeben wird.
  • 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 Auftragspaar überschritten (256): Der Route wurde vorab ein Auftragspaar zugewiesen, doch durch das Zuweisen der Aufträge des Auftragspaares wird die maximale Fahrzeit überschritten, die durch den Wert des Feldes MaxTransitTime für das Auftragspaar angegeben wird.
  • Auftragspaarverletzung (512): Ein Auftrag gehört zu einem Auftragspaar und kann der vorab zugewiesenen Route nicht zugewiesen werden.
  • Nicht erreichbar (1024): Ein vorab zugewiesener Auftrag befindet sich auf einem Netzwerkelement, das von der Route nicht erreicht werden kann.
  • Erforderliche Pausenzeiten können nicht eingefügt werden (2048): Eine Pausenzeit für die Route weist 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.
  • Erforderliche Lager können nicht eingefügt werden (4096): Auf einer Route wird die Kapazität überschritten, weshalb ein Lager zum Be-/Entladen besucht werden muss. 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 der Pausenzeit vorab eine Reihenfolge 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 der Pausenzeit vorab eine Reihenfolge zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Arbeitszeit nicht erreicht werden kann.
  • Verletzung des InboundArriveTime oder OutboundDepartTime-Auftrags (32768): Der Auftrag konnte nicht innerhalb der Einschränkungen für eingehende Ankunftszeit oder ausgehende Abfahrtzeit abgearbeitet werden. Diese Verletzung tritt auf, wenn alle LatestStartTime-Feldwerte der Routen vor den InboundArriveTime-Werten liegen werden oder keine der Routen ein Depot vor dem OutboundDepartTime-Wert des Auftrags erreichen kann.
  • Erstes/letztes Element kann nicht verankert werden (65536): Der Auftrag weist die Zuweisungsregel "Erstes Element verankern" oder "Letztes Element verankern" auf, diese Beschränkung konnte jedoch nicht vom Solver berücksichtigt werden. Diese Verletzung tritt auf, wenn die Anzahl der Aufträge mit der Zuweisungsregel "Erstes Element verankern" oder die Aufträge mit der Zuweisungsregel "Letztes Element verankern" größer ist als die Anzahl der verfügbaren Routen.

  • ViolatedConstraint_1
  • ViolatedConstraint_2
  • ViolatedConstraint_3
  • ViolatedConstraint_4

Zeigt eine einzelne verletzte Beschränkung pro Feld an. Die Beschreibungen der Verletzungen werden in "ViolationConstraints" angezeigt.

  • MaxOrderCount überschritten (0): Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, weil dabei die maximale Anzahl der Aufträge überschritten wird, die der Route gemäß dem Feldwert für MaxOrderCount zugewiesen werden dürfen.
  • Capacities überschritten (1): Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, da hierdurch die Gesamtroutenkapazität überschritten wird, die durch den Wert des Feldes Capacities für die Route angegeben wird.
  • MaxTotalTime überschritten (2): Die Fahrzeit vom Startdepot zum Enddepot zuzüglich der Durchführungs- und Wartezeiten an beiden Depots sowie eventuellen Pausenzeiten überschreiten die Gesamtzeit, die durch den Wert des Feldes MaxTotalTime für die Route angegeben wird.
  • MaxTotalTravelTime überschritten (3): Die Fahrzeit vom Startdepot zum Enddepot überschreitet die Gesamtfahrzeit, die durch den Wert des Feldes MaxTotalTravelTime für die Route angegeben wird.
  • MaxTotalDistance überschritten (4): Die Reisestrecke vom Startdepot zum Enddepot überschreitet die Gesamtreisestrecke, die durch den Wert des Feldes MaxTotalDistance für die Route angegeben wird.
  • Hartes Zeitfenster (5): Beim Startdepot, Enddepot oder einer Pause für die Route liegt eine Verletzung eines harten Zeitfensters vor.
  • Nicht übereinstimmende Besonderheit (6): Die für einen Auftrag erforderlichen Besonderheiten werden auf der Zielroute nicht gefunden.
  • Harte Routenzone (7): Ein Auftrag, der der Route vorab zugewiesen wurde, fällt nicht in eine harte Routenzone.
  • MaxTransitTime für Auftragspaar überschritten (8): Der Route wurde vorab ein Auftragspaar zugewiesen, doch durch das Zuweisen der Aufträge des Auftragspaares wird die maximale Fahrzeit überschritten, die durch den Wert des Feldes MaxTransitTime für das Auftragspaar angegeben wird.
  • Auftragspaarverletzung (9): Ein Auftrag gehört zu einem Auftragspaar und kann der vorab zugewiesenen Route nicht zugewiesen werden.
  • Nicht erreichbar (10): Ein vorab zugewiesener Auftrag befindet sich auf einem Netzwerkelement, das von der Route nicht erreicht werden kann.
  • Erforderliche Pausenzeiten können nicht eingefügt werden (11): Eine Pausenzeit für die Route weist 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.
  • Erforderliche Lager können nicht eingefügt werden (12): Auf einer Route wird die Kapazität überschritten, weshalb ein Lager zum Be-/Entladen besucht werden muss. 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 (13): 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 der Pausenzeit vorab eine Reihenfolge zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Fahrzeit nicht erreicht werden kann.

  • Pausenzeit wegen MaxCumulWorkTime überschritten (14): 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 der Pausenzeit vorab eine Reihenfolge zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Arbeitszeit nicht erreicht werden kann.
  • Verletzung des InboundArriveTime oder OutboundDepartTime-Auftrags (15): Der Auftrag konnte nicht innerhalb der Einschränkungen für eingehende Ankunftszeit oder ausgehende Abfahrtzeit abgearbeitet werden. Diese Verletzung tritt auf, wenn alle LatestStartTime-Feldwerte der Routen vor den InboundArriveTime-Werten liegen werden oder keine der Routen ein Depot vor dem OutboundDepartTime-Wert des Auftrags erreichen kann.
  • Erstes/letztes Element kann nicht verankert werden (16): Der Auftrag weist die Zuweisungsregel "Erstes Element verankern" oder "Letztes Element verankern" auf, diese Beschränkung konnte jedoch nicht vom Solver berücksichtigt werden. Diese Verletzung tritt auf, wenn die Anzahl der Aufträge mit der Zuweisungsregel "Erstes Element verankern" oder die Aufträge mit der Zuweisungsregel "Letztes Element verankern" größer ist als die Anzahl der verfügbaren Routen.

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 als Produkt der Feldwerte TotalDistance und CostPerUnitDistance. Dieser Feldwert wird auf NULL gesetzt, wenn vor der Berechnung kein Entfernungsattribut angegeben ist.

TotalTime

Die Gesamtroutendauer. Diese umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen, Depots und Pausen. Der Wert TotalTime ist die Summe der folgenden Feldwerte:

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

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

TotalOrderServiceTime

Die Gesamtdurchführungszeit für alle Aufträge der Route.

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

TotalBreakServiceTime

Die Gesamtdurchführungszeit für alle Pausenzeiten der Route.

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

TotalTravelTime

Die Gesamtfahrzeit für die Route.

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

TotalDistance

Die Gesamtreisestrecke für die Route.

Die Einheit für diesen Feldwert wird durch den Parameter Uhrzeitfeldeinheiten(distance_units für Python) angegeben.

Dieser Feldwert wird auf NULL gesetzt, wenn vor der Berechnung kein 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 mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

TotalViolationTime

Der Gesamtzeitverstoß für alle Aufträge und Pausen der Route.

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

RenewalCount

Für eine Route mit Lagern zum Be-/Entladen entspricht dies der Anzahl der Stopps an Depots, bei denen ein Fahrzeug be- oder entladen wird.

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 mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

Directions-Feature-Class

"Directions" ist eine Line-Feature-Class, die schrittweise Anleitungen enthält, um Fahrern die Verfolgung ihrer eingegebenen Routen zu erleichtern. Der Standardname dieser Ausgabe-Feature-Class lautet "Directions". Sie können ihn jedoch ändern, indem Sie den Parameter Ausgabename für Wegbeschreibung (output_directions_name in Python) vor der Berechnung ändern. Im Übrigen erstellt das Werkzeug Vehicle Routing Problem berechnen stets die Directions-Feature-Class. Sie können mithilfe des Parameters Wegbeschreibungen füllen (populate_directions in Python) wählen, ob die Feature-Class während der Berechnung mit Features gefüllt werden soll. Standardmäßig wird sie nicht gefüllt. Wenn Sie keine Wegbeschreibungen benötigen, können Sie die Berechnungszeiten sowie die von Servern auf Clients übertragene Datenmenge erheblich reduzieren.

ArcGIS weist der Directions-Feature-Class dasselbe Koordinatensystem zu, das auch vom zugrunde liegenden Netzwerk-Dataset verwendet wird. Dies kann durch die Angabe eines Wertes für den Parameter Ausgabe-Koordinatensystem in den Umgebungseinstellungen gesteuert werden.

Im Folgenden werden die Feldnamen der Directions-Feature-Class aufgeführt und beschrieben.

FeldnameBeschreibung

ObjectID

Das vom System verwaltete ID-Feld.

Shape

Das Geometriefeld, das das Shape der Linien angibt.

RouteName

Der Name der Route, auf die die Fahraktion angewendet wird.

ArriveTime

Die Uhrzeit, an der die jeweilige Fahraktion initiiert wird. Wenn die Route mehrere Tage umfasst, werden das Datum und die Uhrzeit angezeigt.

Type

Dieses Feld ist für erfahrene Benutzer, die den Wegbeschreibungstext anpassen möchten. Für die Anforderungen der meisten Benutzer kann dieses Feld ignoriert und stattdessen das Feld Text verwendet werden.

"Type" bezieht sich auf eine Konstante in einer von zwei Enumerationen: esriDirectionsManueverType oder esriDirectionsStringType. (Weitere Informationen zu den Enumerationen, auf die sich der Wert für Type bezieht, finden Sie in der Feldbeschreibung zu SubItemType.)

SubItemType

Dieses Feld ist für erfahrene Benutzer, die den Wegbeschreibungstext anpassen möchten. Für die Anforderungen der meisten Benutzer kann dieses Feld ignoriert und stattdessen das Feld Text verwendet werden.

SubItemType wird in Verbindung mit Type verwendet, um die im Feld Text angezeigte Wegbeschreibung zu erstellen. Das Feld SubItemType gibt an, ob sich das Feld Type auf den Wert einer Konstante in der Enumeration esriDirectionsManueverType oder esriDirectionsStringType bezieht.

  • Wenn der Wert für SubItemType 1 ist, bezieht sich der Wert in Type auf esriDirectionsManeuverType.
  • Wenn der Wert für SubItemType 2 ist, bezieht sich der Wert in Type auf esriDirectionsStringType.

Text

Eine Textbeschreibung der Wegbeschreibung.

ElapsedTime

Die verstrichene Zeit zwischen dem Beginn der aktuellen Wegbeschreibung und dem Beginn der nächsten bzw. dem Ende der Route für die letzte Wegbeschreibung.

Einige Wegbeschreibungen enthalten zusätzliche Datensätze für Durchführungszeit, Zeitverstöße usw. In diesen Fällen wird die verstrichene Zeit für jeden Datensatz repliziert. Um die insgesamt verstrichene Zeit zu berechnen, wählen Sie die Datensätze mit dem Type-Wert 1 aus, und addieren Sie die Datensätze.

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

DriveDistance

Die Entfernung zwischen der Position der aktuellen Wegbeschreibung und der nächsten bzw. dem Ende der Route für die letzte Wegbeschreibung.

Dieser Wert ist bei Wegbeschreibungen für Standorte, die mit dem Beginn des nächsten Routenteils identisch sind, 0.

Tabelle "Stopps"

Die Tabelle "Stopps" bietet Informationen über Stopps bei Depots, Aufträgen und Unterbrechungen. Die Information umfasst die Routen, auf denen die Stopps erfolgen, die Ankunfts- und Abfahrtszeiten sowie die Reihenfolge der Stopps.

Der Standardname dieser Ausgabetabelle ist "Stopps". Sie können sie jedoch umbenennen, indem Sie den Parameter Ausgabe-Stoppname (output_stops_name in Python) vor der Berechnung ändern.

Im Folgenden werden die Feldnamen der Tabelle "Stopps" aufgeführt und beschrieben.

FeldnameBeschreibung

ObjectID

Das vom System verwaltete ID-Feld.

Name

Der Name des Stopps. Dies ist ein Fremdschlüssel für den Namen des Depots, des Auftrags oder der Unterbrechung in den Eingabe-Feature-Sets und im Recordset. Das Eingabe-Feature- oder -Recordset wird durch das Feld StopType angegeben.

PickupQuantities

Größe der Fracht oder Anzahl der Personen, die an einem Stopp abgeholt werden sollen. Wenn mehrere Dimensionen an einen Stopp geliefert werden, wird die entsprechende Anzahl jeweils durch ein Leerzeichen getrennt.

Die Einheiten für dieses Feld werden nicht gespeichert. Sie sollten die Einheiten gemäß der Eingabe im Feld Quantities der Eingaberouten sowie in den Feldern PickupQuantities und DeliveryQuantities der eingegebenen Aufträge interpretieren. (Alle diese Felder müssen mit denselben Einheiten und den entsprechenden Dimensionen angegeben sein.)

DeliveryQuantities

Größe der Fracht oder Anzahl der Personen, die an einen Stopp geliefert werden sollen. Wenn mehrere Dimensionen an einen Stopp geliefert werden, wird die entsprechende Anzahl jeweils durch ein Leerzeichen getrennt.

Die Einheiten für dieses Feld werden nicht gespeichert. Sie sollten die Einheiten gemäß der Eingabe im Feld Quantities der Eingaberouten sowie in den Feldern PickupQuantities und DeliveryQuantities der eingegebenen Aufträge interpretieren. (Alle diese Felder müssen mit denselben Einheiten und den entsprechenden Dimensionen angegeben sein.)

StopType

Gibt an, ob der Stopp ein Depot, einen Auftrag oder eine Unterbrechung darstellt.

Das Feld speichert einen codierten Wert, der sich wie folgt interpretieren lässt:

  • Auftrag (0)
  • Depot (1)
  • Unterbrechung (2)

RouteName

Der Name der Route, auf der der Stopp erfolgt.

Sequence

Die relative Reihenfolge, in der die zugeteilte Route den Stopp anfährt.

Durch Sortierung nach den Feldern RouteName und Sequence wird für jede Route eine geordnete Liste der Stopps erstellt.

FromPreviousTravelTime

Die verstrichene Fahrtzeit vom vorherigen Stopp der Route zum aktuellen Stopp.

Die Einheit für diesen Feldwert wird mithilfe des Parameters Uhrzeitfeldeinheiten (time_units in Python) angegeben.

FromPreviousDistance

Die Entfernung auf der Route vom vorherigen Stopp der Route zum aktuellen Stopp.

Die Einheit für diesen Feldwert wird durch den Parameter Uhrzeitfeldeinheiten(distance_units für Python) angegeben.

ArriveCurbApproach

Gibt an, auf welcher Seite des Fahrzeugs sich die Bordsteinkante bei der Ankunft am Stopp befindet.

DepartCurbApproach

Gibt an, auf welcher Seite des Fahrzeugs sich die Bordsteinkante bei der Abfahrt vom Stopp befindet.

ArriveTime

Uhrzeit für die Ankunft am Stopp auf der Route.

Wenn das Netzwerk-Dataset mit Zeitzonen konfiguriert ist, entspricht der Tageszeitwert der Zeitzone, in der sich der Stopp befindet. Andernfalls entspricht er der auf dem Computer konfigurierten Zeitzone, mit dem die Analyse berechnet wird.

DepartTime

Uhrzeit für die Abfahrt vom Stopp auf der Route.

Wenn das Netzwerk-Dataset mit Zeitzonen konfiguriert ist, entspricht der Tageszeitwert der Zeitzone, in der sich der Stopp befindet. Andernfalls entspricht er der auf dem Computer konfigurierten Zeitzone, mit dem die Analyse berechnet wird.

ArriveTimeUTC

Uhrzeit für die Ankunft am Stopp auf der Route. Dieser Wert wird in koordinierter Weltzeit (Coordinated Universal Time, UTC) angegeben.

Dieses Feld ist NULL, wenn keine Zeitzonen für das Netzwerk-Dataset konfiguriert sind.

DepartTimeUTC

Uhrzeit für die Abfahrt vom Stopp auf der Route. Dieser Wert wird in koordinierter Weltzeit (Coordinated Universal Time, UTC) angegeben.

Dieses Feld ist NULL, wenn keine Zeitzonen für das Netzwerk-Dataset konfiguriert sind.

WaitTime

Die Wartezeit oder der Aufenthalt am Stopp. Beispielsweise fällt eine Wartezeit an, wenn auf einer Route bei einem Auftrag gewartet werden muss, bis sich ein Zeitfenster öffnet.

ViolationTime

Die vom Ende des Zeitfensters für den Stopp bis zur Ankunft des Fahrzeugs für die Route verstrichene Zeit.

Visualisieren von Stopps

Die Tabelle "Stopps" ist keine Feature-Class, weshalb Sie die Tabelle nicht einfach einer Karte hinzufügen können, um zu sehen, wo die Stopps liegen. Stattdessen müssen Sie zusätzliche Schritte durchführen, um Stopps auf einer Karte zu visualisieren. (Im Folgenden erhalten Sie entsprechende Anleitungen.) Sie empfinden die Vorgehensweise für die Anzeige von Stopps einer Route auf einer Karte womöglich als umständlich. Bedenken Sie jedoch, dass dieses Werkzeug zur Erstellung von VRP-Web-Services konzipiert ist. Die Ausgabe wird dabei so kurz wie möglich gehalten, um die Verarbeitungszeit durch den Server und die Datenübertragung zu minimieren. Dennoch ist die Ausgabe nicht zu knapp. Sie enthält immer noch die wesentlichen Informationen, die Sie zur Visualisierung von Stopps als Punkt-Features benötigen.

Wenn Sie beispielsweise sehen möchten, wo bei Aufträgen Stopps vorhanden sind, verknüpfen Sie die Tabelle "Stopps" mit dem ursprünglichen Auftrags-Feature-Set, das als Eingabe verwendet wurde. Sie können diese Datasets über die Felder StopType und Name in der Tabelle "Stopps" sowie das Feld Name im Auftrags-Feature-Set auswählen und verbinden. Eine ähnliche Methode können Sie für die Anzeige der Stopps bei Depots verwenden.

Tipp:

Solve Vehicle Routing Problem erstellt mehrere Eingabe-Feature-Sets, einschließlich der Aufträge- und Depots-Feature-Sets. Während das Werkzeug rechnet, werden diese In-Memory-Feature-Sets von ArcMap entfernt. Sie können sie jedoch zurückholen. Führen Sie hierzu die folgenden Schritte aus:

  1. Öffnen Sie das Fenster Ergebnisse im Menü Geoverarbeitung.
  2. Navigieren Sie im Fenster Ergebnisse zu den Ergebnissen des Vorgangs, von denen Sie ein Feature-Set wünschen.
  3. Blenden Sie das entsprechende Ergebnis in Vehicle Routing Problem berechnen ein.
  4. Blenden Sie Eingaben ein.
  5. Klicken Sie mit der rechten Maustaste auf das Feature-Set, das Sie ansehen möchten, und wählen Sie Zur Anzeige hinzufügen. Das Feature-Set wird in der Karte und im Inhaltsverzeichnis angezeigt.
  6. Um zu sehen, wo die Daten gespeichert sind, klicken Sie im Inhaltsverzeichnis auf die Schaltfläche Nach Quelle auflisten.

Im Unterschied zu Aufträgen und Depots werden Pausenzeiten nicht mit einem Eingabe-Feature-Set verknüpft. Daher ist zu deren Visualisierung eine andere Methode erforderlich. Sie können Wegbeschreibungen in der Analyse generieren, die Linien auswählen, die Features darstellen, und sie mithilfe des Werkzeugs Feature-Stützpunkte in Punkte in Punkte umwandeln.

Tabelle "Nicht zugewiesene Stopps"

In der Tabelle "Nicht zugewiesene Stopps" werden die Aufträge aufgelistet, die auf keiner Route besucht werden konnten. Ebenfalls angegeben wird, warum ein Stopp nicht besucht werden konnte, damit Sie das Problem beheben können.

Der Standardname dieser Ausgabetabelle ist "Stopps". Sie können sie jedoch umbenennen, indem Sie den Parameter Name von nicht zugewiesenen Ausgabe-Stopps (output_unassigned_stops_name in Python) vor der Berechnung ändern.

Im Folgenden werden die Feldnamen der Tabelle "Stopps" aufgeführt und beschrieben.

FeldnameBeschreibung

ObjectID

Das vom System verwaltete ID-Feld.

StopType

Gibt an, ob der Stopp ein Depot, einen Auftrag oder eine Unterbrechung darstellt. Das Feld speichert einen codierten Wert, der sich wie folgt interpretieren lässt:

  • Auftrag (0)
  • Depot (1)
  • Unterbrechung (2)

Name

Der Name des Stopps.

Dies ist ein Fremdschlüssel für den Namen des Depots, des Auftrags oder der Unterbrechung in den Eingabe-Feature-Sets und im Recordset. Das Eingabe-Feature- oder -Recordset wird durch das Feld StopType angegeben.

ViolatedConstraints

Dieses Feld enthält eine Zusammenfassung von Beschränkungsverletzungen. Es wird nach einem Berechnungsvorgang festgelegt. Wenn eine Einschränkung verletzt wird, kann dem Feld eine Kombination aus den unten aufgeführten Verstößen zugewiesen werden:

Detailinformationen:

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 dabei die maximale Anzahl der Aufträge überschritten wird, die der Route gemäß dem Feldwert für MaxOrderCount zugewiesen werden dürfen.
  • Capacities überschritten (2): Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, da hierdurch die Gesamtroutenkapazität überschritten wird, die durch den 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 eventuellen Pausenzeiten überschreiten die Gesamtzeit, die durch den Wert des Feldes MaxTotalTime für die Route angegeben wird.
  • MaxTotalTravelTime überschritten (8): Die Fahrzeit vom Startdepot zum Enddepot überschreitet die Gesamtfahrzeit, die durch den Wert des Feldes MaxTotalTravelTime für die Route angegeben wird.
  • MaxTotalDistance überschritten (16): Die Reisestrecke vom Startdepot zum Enddepot überschreitet die Gesamtreisestrecke, die durch den Wert des Feldes MaxTotalDistance für die Route angegeben wird.
  • 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 Auftragspaar überschritten (256): Der Route wurde vorab ein Auftragspaar zugewiesen, doch durch das Zuweisen der Aufträge des Auftragspaares wird die maximale Fahrzeit überschritten, die durch den Wert des Feldes MaxTransitTime für das Auftragspaar angegeben wird.
  • Auftragspaarverletzung (512): Ein Auftrag gehört zu einem Auftragspaar und kann der vorab zugewiesenen Route nicht zugewiesen werden.
  • Nicht erreichbar (1024): Ein vorab zugewiesener Auftrag befindet sich auf einem Netzwerkelement, das von der Route nicht erreicht werden kann.
  • Erforderliche Pausenzeiten können nicht eingefügt werden (2048): Eine Pausenzeit für die Route weist 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.
  • Erforderliche Lager können nicht eingefügt werden (4096): Auf einer Route wird die Kapazität überschritten, weshalb ein Lager zum Be-/Entladen besucht werden muss. 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 der Pausenzeit vorab eine Reihenfolge 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 der Pausenzeit vorab eine Reihenfolge zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Arbeitszeit nicht erreicht werden kann.
  • Verletzung des InboundArriveTime oder OutboundDepartTime-Auftrags (32768): Der Auftrag konnte nicht innerhalb der Einschränkungen für eingehende Ankunftszeit oder ausgehende Abfahrtzeit abgearbeitet werden. Diese Verletzung tritt auf, wenn alle LatestStartTime-Feldwerte der Routen vor den InboundArriveTime-Werten liegen werden oder keine der Routen ein Depot vor dem OutboundDepartTime-Wert des Auftrags erreichen kann.
  • Erstes/letztes Element kann nicht verankert werden (65536): Der Auftrag weist die Zuweisungsregel "Erstes Element verankern" oder "Letztes Element verankern" auf, diese Beschränkung konnte jedoch nicht vom Solver berücksichtigt werden. Diese Verletzung tritt auf, wenn die Anzahl der Aufträge mit der Zuweisungsregel "Erstes Element verankern" oder die Aufträge mit der Zuweisungsregel "Letztes Element verankern" größer ist als die Anzahl der verfügbaren Routen.

  • ViolatedConstraint_1
  • ViolatedConstraint_2
  • ViolatedConstraint_3
  • ViolatedConstraint_4

Zeigt eine einzelne verletzte Beschränkung pro Feld an. Die Beschreibungen der Verletzungen werden in "ViolationConstraints" angezeigt.

  • MaxOrderCount überschritten (0): Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, weil dabei die maximale Anzahl der Aufträge überschritten wird, die der Route gemäß dem Feldwert für MaxOrderCount zugewiesen werden dürfen.
  • Capacities überschritten (1): Der Route können die vorab zugewiesenen Aufträge nicht zugewiesen werden, da hierdurch die Gesamtroutenkapazität überschritten wird, die durch den Wert des Feldes Capacities für die Route angegeben wird.
  • MaxTotalTime überschritten (2): Die Fahrzeit vom Startdepot zum Enddepot zuzüglich der Durchführungs- und Wartezeiten an beiden Depots sowie eventuellen Pausenzeiten überschreiten die Gesamtzeit, die durch den Wert des Feldes MaxTotalTime für die Route angegeben wird.
  • MaxTotalTravelTime überschritten (3): Die Fahrzeit vom Startdepot zum Enddepot überschreitet die Gesamtfahrzeit, die durch den Wert des Feldes MaxTotalTravelTime für die Route angegeben wird.
  • MaxTotalDistance überschritten (4): Die Reisestrecke vom Startdepot zum Enddepot überschreitet die Gesamtreisestrecke, die durch den Wert des Feldes MaxTotalDistance für die Route angegeben wird.
  • Hartes Zeitfenster (5): Beim Startdepot, Enddepot oder einer Pause für die Route liegt eine Verletzung eines harten Zeitfensters vor.
  • Nicht übereinstimmende Besonderheit (6): Die für einen Auftrag erforderlichen Besonderheiten werden auf der Zielroute nicht gefunden.
  • Harte Routenzone (7): Ein Auftrag, der der Route vorab zugewiesen wurde, fällt nicht in eine harte Routenzone.
  • MaxTransitTime für Auftragspaar überschritten (8): Der Route wurde vorab ein Auftragspaar zugewiesen, doch durch das Zuweisen der Aufträge des Auftragspaares wird die maximale Fahrzeit überschritten, die durch den Wert des Feldes MaxTransitTime für das Auftragspaar angegeben wird.
  • Auftragspaarverletzung (9): Ein Auftrag gehört zu einem Auftragspaar und kann der vorab zugewiesenen Route nicht zugewiesen werden.
  • Nicht erreichbar (10): Ein vorab zugewiesener Auftrag befindet sich auf einem Netzwerkelement, das von der Route nicht erreicht werden kann.
  • Erforderliche Pausenzeiten können nicht eingefügt werden (11): Eine Pausenzeit für die Route weist 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.
  • Erforderliche Lager können nicht eingefügt werden (12): Auf einer Route wird die Kapazität überschritten, weshalb ein Lager zum Be-/Entladen besucht werden muss. 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 (13): 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 der Pausenzeit vorab eine Reihenfolge zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Fahrzeit nicht erreicht werden kann.

  • Pausenzeit wegen MaxCumulWorkTime überschritten (14): 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 der Pausenzeit vorab eine Reihenfolge zugewiesen wird, was dazu führt, dass sie innerhalb der maximalen Arbeitszeit nicht erreicht werden kann.
  • Verletzung des InboundArriveTime oder OutboundDepartTime-Auftrags (15): Der Auftrag konnte nicht innerhalb der Einschränkungen für eingehende Ankunftszeit oder ausgehende Abfahrtzeit abgearbeitet werden. Diese Verletzung tritt auf, wenn alle LatestStartTime-Feldwerte der Routen vor den InboundArriveTime-Werten liegen werden oder keine der Routen ein Depot vor dem OutboundDepartTime-Wert des Auftrags erreichen kann.
  • Erstes/letztes Element kann nicht verankert werden (16): Der Auftrag weist die Zuweisungsregel "Erstes Element verankern" oder "Letztes Element verankern" auf, diese Beschränkung konnte jedoch nicht vom Solver berücksichtigt werden. Diese Verletzung tritt auf, wenn die Anzahl der Aufträge mit der Zuweisungsregel "Erstes Element verankern" oder die Aufträge mit der Zuweisungsregel "Letztes Element verankern" größer ist als die Anzahl der verfügbaren Routen.

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 wurde erfolgreich ausgewertet.
  • Not located (1): Der Punkt wurde nicht erfolgreich im Netzwerk gefunden.
  • Network element not located (2): Das von den Netzwerkstandortfeldern des Punktes identifizierte Netzwerkelement kann nicht gefunden werden. Dies kann auftreten, wenn ein Netzwerkelement, in dem sich der Punkt befinden müsste, gelöscht und der Netzwerkstandort nicht neu berechnet wurde.
  • Element not traversable (3): Das Netzwerkelement, in dem sich der Punkt befindet, ist nicht passierbar. Dies kann der Fall sein, wenn das Netzwerkelement durch ein Restriktionsattribut eingeschränkt wird.
  • Invalid field values (4): Mindestens ein Feldwert des Punktes liegt außerhalb der codierten oder Bereichsdomäne des Analyse-Layers. Beispiel: Es ist eine negative Zahl vorhanden, jedoch sind positive Zahlen erforderlich.
  • Not reached (5): Der Punkt kann nicht vom Solver erreicht werden. Der Punkt kann sich in einem separaten, von anderen Eingaben getrennten Bereich des Netzwerks befinden. Es ist auch möglich, dass Barrieren oder Beschränkungen die Fahrt zu oder von dem Punkt verhindern.
  • Time window violation (6): Der Punkt konnte innerhalb der festgelegten Zeitfenster nicht erreicht werden. Dieser Status gilt nur für Analysetypen, die Zeitfenster unterstützen.
  • Not located on closest (7): Der dem Punkt am nächsten gelegene Netzwerkstandort ist aufgrund einer Beschränkung oder Barriere nicht passierbar, sodass der Punkt stattdessen im nächstgelegenen passierbaren Netzwerk-Feature verortet wurde.

Verwandte Themen