The input data types that can be specified when performing a vehicle routing problem (VRP) analysis using the VehicleRoutingProblemSchemaVersion.One schema version are described below.
Orders
Eine oder mehrere Positionen, die bei der VRP-Analyse für die Routenerstellung berücksichtigt werden. Ein Auftrag kann eine Lieferung (z. B. eine Möbellieferung), eine Abholung (z. B. die Abholung eines Passagiers durch einen Airport Shuttle-Bus) oder eine Art von Service oder Prüfung (z. B. das Zurückschneiden eines Baumes oder die Prüfung eines Gebäudes) repräsentieren.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | Der Name des Auftrags. Der Name muss eindeutig sein. Wenn kein Name angegeben wird, wird zum Zeitpunkt der Berechnung automatisch ein Name erstellt. | Text |
Description | Dies ist die Beschreibung des Auftrags. Diese kann Textinformationen zum Auftrag umfassen und muss nicht eindeutig sein. Sie können im Feld Name die ID-Nummer eines Kunden und im Feld Description den Namen oder die Adresse des Kunden speichern. | Text |
ServiceTime | Die Zeit, die am Netzwerkstandort verbracht wird, wenn die Route zu ihm führt, d. h. der Wert für die Impedanz des Netzwerkstandorts. Ein 0- oder NULL-Wert weist darauf hin, dass der Netzwerkstandort keine Durchführungszeit erfordert. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
TimeWindowStart1 | Die Anfangszeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein Nullwert gibt an, dass keine Anfangszeit vorhanden ist. 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 die Abfahrt des Fahrzeugs vor dem Ende des Zeitfensters berücksichtigt werden sollen, subtrahieren Sie den Wert ServiceTime vom Wert TimeWindowEnd1. Die Zeitfensterfelder (TimeWindowStart1, TimeWindowEnd1, TimeWindowStart2 und TimeWindowEnd2) 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 für die Analyse festgelegte Standarddatum verwendet wird. Wenn Sie Datums- und Uhrzeitwerte verwenden (z. B. 7/11/2010 8:00 Uhr), können Sie Zeitfenster über mehrere Tage festlegen. The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. to specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property. The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object. | Date |
TimeWindowEnd1 | Die Endzeit des ersten Fensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Endzeit vorhanden ist. | Date |
TimeWindowStart2 | Die Anfangszeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass kein zweites Zeitfenster vorhanden ist. Wenn das erste Zeitfenster gemäß den Feldern TimeWindowStart1 und TimeWindowEnd1 NULL ist, muss das zweite Zeitfenster ebenfalls NULL sein. Wenn es sich bei beiden Zeitfenstern um Nicht-NULL-Fenster handelt, können sie nicht überlappen. Außerdem muss das zweite Zeitfenster auf das erste folgen. | Date |
TimeWindowEnd2 | Die Endzeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Wenn TimeWindowStart2 und TimeWindowEnd2 beide NULL sind, gibt es kein zweites Zeitfenster. Wenn TimeWindowStart2 nicht NULL ist, aber TimeWindowEnd2 NULL ist, gibt es ein zweites Zeitfenster, das eine Startzeit, aber keine Endzeit hat. Dies ist zulässig. | Date |
MaxViolationTime1 | Eine Zeitfensterverletzung liegt vor, wenn die Ankunftszeit nach dem Ende des Zeitfensters liegt. Dieses Feld gibt den maximal zulässigen Zeitverstoß für das erste Zeitfenster des Auftrags an. Es darf den Wert 0, jedoch keinen negativen Wert enthalten. Der Wert 0 gibt an, dass kein Verstoß gegen das erste Zeitfenster des Auftrags zulässig ist, d. h. das erste Zeitfenster ist ein sog. "hartes" Zeitfenster. Ein NULL-Wert bedeutet andererseits auch, dass der zulässige Zeitverstoß unbegrenzt ist. Ein Wert ungleich 0 gibt die maximale Verspätung an. Beispielsweise kann ein Fahrzeug bis zu 30 Minuten nach dem Ende des ersten Zeitfensters bei einem Auftrag ankommen. The unit for this field value is specified by the timeUnits property of the analysis object. Zeitfensterverletzungen können vom Solver verfolgt und gewichtet werden. Daher können Sie den VRP-Solver anweisen, eine der folgenden Aktionen durchzuführen:
By assigning an importance level for the timeWindowFactor property of the analysis object, you are essentially choosing one of these options. In any case, however, the solver will return an error if the value set for MaxViolationTime1 is surpassed. | Double |
MaxViolationTime2 | Der maximal zulässige Zeitverstoß für das zweite Zeitfenster des Auftrags. Dieses Feld entspricht dem Feld MaxViolationTime1. | Double |
InboundArriveTime | Legt fest, wann der am Ort des Auftrags abzuliefernde Gegenstand am Startdepot bereit ist. Der Auftrag kann einer Route nur dann zugewiesen werden, wenn die eingehende Ankunftszeit dem letzten Startzeitwert der Route vorausgeht. Auf diese Weise kann die Route das Depot nicht verlassen, bevor der Liefergegenstand bereit ist, in das Depot geladen zu werden. Mit diesem Feld können Szenarien mit Umladungen eingehender Lieferungen modelliert werden. Beispiel: Für einen Auftrag sind spezielle Materialien erforderlich, die derzeit nicht im Depot verfügbar sind. Die Materialien werden von einem anderen Standort versendet und erreichen das Depot um 11:00 Uhr. Um sicherzustellen, dass ein Fahrzeug, das auf einer Route den Ort vor dem Eintreffen der Lieferung verlässt, dem Auftrag nicht zugewiesen wird, wird die eingehende Ankunftszeit des Auftrags auf 11:00 Uhr festgelegt. Die speziellen Materialien treffen um 11:00 Uhr ein, werden auf das Fahrzeug geladen und das Fahrzeug verlässt das Depot, um die ihm zugewiesenen Orte des Auftrags anzufahren. Notes:
| Date |
OutboundDepartTime | Legt fest, wann der am Ort des Auftrags abzuholende Liefergegenstand das End-Depot erreichen muss. Der Auftrag kann einer Route nur dann zugewiesen werden, wenn die Route den Ort des Auftrags anfahren kann und dessen End-Depot vor der angegebenen ausgehenden Abfahrtzeit erreicht. Mit diesem Feld können Szenarien mit Umladungen ausgehender Lieferungen modelliert werden. Beispiel: Eine Transportfirma schickt Lieferwagen los, um Pakete von Aufträgen abzuholen und sie zu einem Depot zu bringen. Von dort aus werden sie auf dem Weg zu ihrem Endziel zu anderen Einrichtungen weitertransportiert. Täglich um 15:00 Uhr stoppt ein Sattelschlepper am Depot, um die Pakete mit hoher Priorität abzuholen und sie direkt zu einer zentralen Verarbeitungsstation zu bringen. Um eine Verzögerung der Pakete mit hoher Priorität bis zur 15:00 Uhr-Fahrt des folgenden Tages zu vermeiden, lässt die Transportfirma die Pakete mit hoher Priorität an den Auftragsorten von Lieferwagen abholen und vor Ablauf der 15:00 Uhr-Frist zum Depot bringen. Dazu wird die Abfahrtszeit auf 15:00 Uhr festgelegt. Notes:
| Date |
DeliveryQuantities | Die Größe der Lieferung. Sie können die Größe in einer beliebigen Dimension angeben, wie Gewicht, Volumen oder Menge. Sie können auch mehrere Dimensionen, wie beispielsweise Gewicht und Volumen, angeben. Geben Sie Liefermengen ohne die Angabe von Einheiten ein. Beispiel: Wenn ein 135 Kilogramm schwerer Artikel geliefert werden muss, geben Sie 135 ein. Sie müssen daran denken, dass der Wert in Kilogramm angegeben ist. Wenn Sie mehrere Maße angeben, trennen Sie die numerischen Werte mit Leerzeichen. Wenn Sie beispielsweise das Gewicht und Volumen einer Lieferung mit einem Gewicht von 900 Kilogramm und einem Volumen von 3 Kubikmetern erfassen, geben Sie "900 3" ein. Sie müssen sich erneut die Einheiten merken, in diesem Fall Kilogramm und Kubikmeter. Sie müssen sich ferner merken, in welcher Abfolge die Werte und ihre entsprechenden Einheiten eingegeben werden. Stellen Sie sicher, dass die Werte für Capacities für Routen sowie DeliveryQuantities und PickupQuantities für Aufträge auf dieselbe Art und Weise angegeben werden. Das heißt, die Werte müssen in denselben Einheiten vorliegen. Bei Verwendung mehrerer Dimensionen müssen die Dimensionen für alle Parameter in derselben Reihenfolge aufgeführt werden. Wenn Sie beispielsweise das Gewicht in Kilogramm gefolgt von einem Volumen in Kubikmeter für DeliveryQuantities angeben, müssen die Kapazität der Routen und die "PickupQuantities" der Aufträge auf die gleiche Weise angegeben werden: Gewicht in Kilogramm, gefolgt von Volumen in Kubikmeter. Wenn Einheiten kombiniert werden oder die Reihenfolge geändert wird, treten unerwünschte Ergebnisse ohne Warnmeldungen auf. Eine leere Zeichenfolge oder ein NULL-Wert gibt an, dass alle Dimensionen unendlich sind. Wenn die Anzahl der Werte in der Zeichenfolge geringer als die Kapazitätszahl oder die Anzahl der verfolgten Dimensionen ist, werden die restlichen Werte als unendlich behandelt. Für "DeliveryQuantities" sind negative Werte nicht zulässig. | Text |
PickupQuantities | Die Größe der Abholung. Sie können die Größe in einer beliebigen Dimension angeben, wie Gewicht, Volumen oder Menge. Sie können auch mehrere Dimensionen, wie beispielsweise Gewicht und Volumen, angeben. Sie können jedoch keine negativen Werte verwenden. Dieses Feld entspricht dem Feld DeliveryQuantities für "Aufträge". Bei einem Austauschbesuch kann ein Auftrag Werte für "DeliveryQuantities" und "PickupQuantities" aufweisen. | Text |
Revenue | Die generierten Einnahmen, wenn der Auftrag in einer Lösung enthalten ist. Dieses Feld darf einen NULL-Wert (ein NULL-Wert steht für Einnahmen in Höhe von 0), jedoch keinen negativen Wert enthalten. "Revenue" wird beim Optimieren des Zielfunktionswertes einbezogen, ist jedoch nicht Bestandteil der Betriebskosten für die Lösung. Das bedeutet, dass das Feld TotalCost in "Routen" niemals "Revenue" enthält. Jedoch wird für "Revenue" die relative Gewichtung der Ausführung von Aufträgen berücksichtigt. | Double |
SpecialtyNames | Eine durch Leerzeichen getrennte Zeichenfolge mit den Namen der für den Auftrag erforderlichen Besonderheiten. Ein NULL-Wert gibt an, dass der Auftrag keine Besonderheiten erfordert. Die Schreibweise der Besonderheiten in den Klassen "Orders" und "Routes" muss exakt übereinstimmen, sodass der VRP-Solver sie verknüpfen kann. Hier ein Beispiel zur Veranschaulichung der Bedeutung und Funktionsweise von Besonderheiten: Eine Firma, die Grünanlagen pflegt und Baumschnittarbeiten durchführt, benötigt für einige Aufträge ein Fahrzeug mit einem Hubsteiger, um große Bäume zu beschneiden. Das Unternehmen gibt für diese Aufträge "Hubsteiger" in das Feld SpecialtyNames ein, um auf diese besondere Anforderung hinzuweisen. SpecialtyNames bleibt NULL für die anderen Aufträge. Entsprechend gibt die Firma "Hubsteiger" auch in das Feld SpecialtyNames von Routen ein, die von Fahrzeugen mit hydraulischen Auslegern befahren werden. Für die anderen Routen bleibt der Wert des Feldes NULL. Zum Zeitpunkt der Berechnung weist der VRP-Solver jeder Route Aufträge ohne besondere Anforderungen zu, er weist jedoch Aufträge, die Fahrzeuge mit Hubsteiger erfordern, nur den Routen zu, die darüber verfügen. | Text |
AssignmentRule | Gibt die Regel zum Zuweisen des Auftrags zu einer Route an. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
Dieses Feld darf keinen NULL-Wert enthalten. | Long |
RouteName | Der Name der Route, der der Auftrag zugewiesen wird. Mit diesem Feld wird ein Auftrag vorab einer bestimmten Route zugewiesen. Es kann einen NULL-Wert enthalten, um anzugeben, dass der Auftrag keiner Route vorab zugewiesen ist. In diesem Fall erfolgt die Ermittlung 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. Wenn der Auftrag einer Route zugewiesen wurde, enthält das Feld RouteName nach einem Berechnungsvorgang den Namen der Route, der der Auftrag zugewiesen ist. | Text |
Sequence | Gibt die Sequenz des Auftrags auf der zugewiesenen Route an. Dieses Feld dient zum Angeben der relativen Sequenz eines Auftrags auf der Route. Das Feld kann einen NULL-Wert enthalten, um anzugeben, dass der Auftrag an einer beliebigen Position auf der Route eingefügt werden kann. 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. | Long |
CurbApproach | Gibt die Richtung an, in der ein Fahrzeug beim Auftrag ankommt bzw. von ihm wegfährt. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
Das Attribut CurbApproach ist für die Verwendung sowohl in Ländern mit Rechtsverkehr (Deutschland) als auch in Ländern mit Linksverkehr (Großbritannien) konzipiert. Stellen Sie sich zunächst einen Auftrag auf der linken Seite eines Fahrzeugs vor. Es befindet sich stets auf der linken Seite, egal ob das Fahrzeug auf der linken oder rechten Seite der Straße fährt. Was sich abhängig von den nationalen Verkehrsregeln ändern kann, ist Ihre Entscheidung, aus welcher Richtung Sie sich dem Auftrag nähern, sodass er sich entweder links oder rechts vom Fahrzeug befindet. Wenn sich beispielsweise am Auftragsort keine Fahrspur zwischen Fahrzeug und Auftrag befinden soll, wählen Sie in Deutschland die rechte Seite des Fahrzeugs (1), in Großbritannien hingegen die linke Seite des Fahrzeugs (2) aus. | Long |
Bearing | Die Richtung, in die sich ein Punkt bewegt. Die Einheit ist Grad und wird im Uhrzeigersinn von geographisch Nord gemessen. Dieses Feld wird in Verbindung mit dem Feld BearingTol verwendet. Peilungsdaten werden normalerweise automatisch von einem mobilen Gerät gesendet, das mit einem GPS-Empfänger ausgestattet ist. Sie sollten möglichst Peilungsdaten einbeziehen, wenn Sie eine sich bewegende Eingabeposition laden, beispielsweise einen Fußgänger oder ein Fahrzeug. Durch die Verwendung dieses Feldes kann verhindert werden, dass Positionen falschen Kanten zugewiesen werden, was auftreten kann, wenn er sich zufällig in der Nähe einer Kreuzung oder einer Überführung befindet. Mithilfe der Peilung kann das Werkzeug einfacher ermitteln, auf welcher Straßenseite sich der Punkt befindet. | Double |
BearingTol | Anhand des Peilungstoleranzwertes wird ein Bereich mit zulässigen Peilungswerten erstellt, wenn Punkte über das Feld Bearing auf einer Kante bewegt werden. Wenn der Wert des Feldes Bearing innerhalb des Bereichs der zulässigen Werte liegt, die über die Peilungstoleranz auf einer Kante generiert werden, kann der Punkt dort als Netzwerkstandort hinzugefügt werden. Andernfalls wird der nächstgelegene Punkt an der übernächsten Kante ausgewertet. Die Einheiten in Grad, und der Standardwert ist 30. Der Wert muss größer als 0 und kleiner als 180 sein. Der Wert 30 bedeutet, dass beim Hinzufügen eines Netzwerkstandortes auf einer Kante durch Network Analyst auf beiden Seiten der Kante (links und rechts) und in beiden Digitalisierrichtungen der Kante ein zulässiger Peilungswertebereich in einem Winkel von 15 Grad generiert wird. | Double |
NavLatency | Dieses Feld wird nur im Berechnungsprozess verwendet, wenn die Felder Bearing und BearingTol ebenfalls Werte enthalten. Die Eingabe eines NavLatency-Feldwertes ist jedoch optional, selbst wenn in Bearing und BearingTol Werte enthalten sind. NavLatency gibt an, welche Kosten voraussichtlich zwischen dem Senden von GPS-Informationen von einem sich bewegenden Fahrzeug zu einem Server und dem Empfang der verarbeiteten Route durch das Navigationsgerät des Fahrzeugs anfallen. The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Zusammen beschreiben diese Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk |
Depots
Gibt für das betreffende Vehicle Routing Problem ein oder mehrere Depots an. Ein Depot ist ein Standort, den ein Fahrzeug am Anfang des Arbeitstages verlässt und zu dem es am Ende des Arbeitstages zurückkehrt. Fahrzeuge werden in Depots beladen (für Lieferungen) oder entladen (für Abholungen). In einigen Fällen kann ein Depot auch als Lager fungieren, an dem Artikel entladen oder eingeladen werden, 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.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | Der Name des Depots. Die Felder StartDepotName und EndDepotName in Routen referenzieren die Namen, die Sie hier angeben. Er wird ebenfalls von "Lager (Be-/Entladen)" referenziert, sofern verwendet. Bei Depotnamen wird nicht zwischen Groß- und Kleinschreibung unterschieden. Der Name muss jedoch eindeutig und das Feld darf nicht leer sein. | Text |
Description | Dies ist die Beschreibung des Depotstandorts. Diese können Textinformationen umfassen und müssen nicht eindeutig sein. Um beispielsweise zu notieren, in welcher Region sich ein Depot befindet, oder um die Adresse und Telefonnummer des Depots anzugeben, können Sie diese Informationen hier statt im Feld Name eingeben. | Text |
TimeWindowStart1 | Die Anfangszeit des ersten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein Nullwert gibt an, dass keine Anfangszeit vorhanden ist. Die Zeitfensterfelder (TimeWindowStart1, TimeWindowEnd1, TimeWindowStart2 und TimeWindowEnd2) 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 für die Analyse festgelegte Standarddatum verwendet wird. Wenn Sie Datums- und Uhrzeitwerte verwenden (z. B. 7/11/2010 8:00 Uhr), können Sie Zeitfenster über mehrere Tage festlegen. The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property. The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object. | Date |
TimeWindowEnd1 | Die Endzeit des ersten Fensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Endzeit vorhanden ist. | Date |
TimeWindowStart2 | Die Anfangszeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass kein zweites Zeitfenster vorhanden ist. Wenn das erste Zeitfenster gemäß den Feldern TimeWindowStart1 und TimeWindowEnd1 NULL ist, muss das zweite Zeitfenster ebenfalls NULL sein. Wenn es sich bei beiden Zeitfenstern um Nicht-NULL-Fenster handelt, können sie nicht überlappen. Außerdem muss das zweite Zeitfenster auf das erste folgen. | Date |
TimeWindowEnd2 | Die Endzeit des zweiten Zeitfensters für den Netzwerkstandort. Dieses Feld kann einen NULL-Wert enthalten. Wenn TimeWindowStart2 und TimeWindowEnd2 beide NULL sind, gibt es kein zweites Zeitfenster. Wenn TimeWindowStart2 nicht NULL ist, aber TimeWindowEnd2 NULL ist, gibt es ein zweites Zeitfenster, das eine Startzeit, aber keine Endzeit hat. Dies ist zulässig. | Date |
CurbApproach | Gibt die Richtung an, in der ein Fahrzeug beim Depot ankommt bzw. von ihm wegfährt. Der Feldwert wird als eine der nachfolgenden, in Klammern genannten Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
Das Attribut CurbApproach ist für die Verwendung sowohl in Ländern mit Rechtsverkehr (Deutschland) als auch in Ländern mit Linksverkehr (Großbritannien) konzipiert. Stellen Sie sich zunächst ein Depot auf der linken Seite eines Fahrzeugs vor. Es befindet sich stets auf der linken Seite, egal ob das Fahrzeug auf der linken oder rechten Seite der Straße fährt. Was sich abhängig von den nationalen Verkehrsregeln ändern kann, ist Ihre Entscheidung, aus welcher Richtung Sie sich dem Depot nähern, so dass es sich entweder links oder rechts vom Fahrzeug befindet. Wenn sich beispielsweise am Depot keine Fahrspur zwischen Fahrzeug und Depot befinden soll, wählen Sie in Deutschland die rechte Seite des Fahrzeugs (1), in Großbritannien hingegen die linke Seite des Fahrzeugs (2) aus. | Long |
Bearing | Die Richtung, in die sich ein Punkt bewegt. Die Einheit ist Grad und wird im Uhrzeigersinn von geographisch Nord gemessen. Dieses Feld wird in Verbindung mit dem Feld BearingTol verwendet. Peilungsdaten werden normalerweise automatisch von einem mobilen Gerät gesendet, das mit einem GPS-Empfänger ausgestattet ist. Sie sollten möglichst Peilungsdaten einbeziehen, wenn Sie eine sich bewegende Eingabeposition laden, beispielsweise einen Fußgänger oder ein Fahrzeug. Durch die Verwendung dieses Feldes kann verhindert werden, dass Positionen falschen Kanten zugewiesen werden, was auftreten kann, wenn er sich zufällig in der Nähe einer Kreuzung oder einer Überführung befindet. Mithilfe der Peilung kann das Werkzeug einfacher ermitteln, auf welcher Straßenseite sich der Punkt befindet. | Double |
BearingTol | Anhand des Peilungstoleranzwertes wird ein Bereich mit zulässigen Peilungswerten erstellt, wenn Punkte über das Feld Bearing auf einer Kante bewegt werden. Wenn der Wert des Feldes Bearing innerhalb des Bereichs der zulässigen Werte liegt, die über die Peilungstoleranz auf einer Kante generiert werden, kann der Punkt dort als Netzwerkstandort hinzugefügt werden. Andernfalls wird der nächstgelegene Punkt an der übernächsten Kante ausgewertet. Die Einheiten in Grad, und der Standardwert ist 30. Der Wert muss größer als 0 und kleiner als 180 sein. Der Wert 30 bedeutet, dass beim Hinzufügen eines Netzwerkstandortes auf einer Kante durch Network Analyst auf beiden Seiten der Kante (links und rechts) und in beiden Digitalisierrichtungen der Kante ein zulässiger Peilungswertebereich in einem Winkel von 15 Grad generiert wird. | Double |
NavLatency | Dieses Feld wird nur im Berechnungsprozess verwendet, wenn die Felder Bearing und BearingTol ebenfalls Werte enthalten. Die Eingabe eines NavLatency-Feldwertes ist jedoch optional, selbst wenn in Bearing und BearingTol Werte enthalten sind. NavLatency gibt an, welche Kosten voraussichtlich zwischen dem Senden von GPS-Informationen von einem sich bewegenden Fahrzeug zu einem Server und dem Empfang der verarbeiteten Route durch das Navigationsgerät des Fahrzeugs anfallen. The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Zusammen beschreiben diese Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk |
Routes
Gibt mindestens eine Route an, welche die Fahrzeug- und Fahrereigenschaften beschreibt. Eine Route kann Start- und Enddurchführungszeiten (Depot), eine feste oder flexible Startzeit, zeitbasierte Betriebskosten, entfernungsbasierte Betriebskosten, mehrere Kapazitäten, verschiedene Einschränkungen hinsichtlich des Arbeitstages eines Fahrers usw. aufweisen.
Hinweis:
Unlike other data types, such as Orders and Depots, this data type is a table and does not include any location information.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | Der Name der Route. Der Name muss eindeutig sein. Wenn der Feldwert NULL ist, generiert das Werkzeug zum Zeitpunkt der Berechnung einen eindeutigen Namen; die Eingabe eines Wertes ist in den meisten Fällen optional. Sie müssen jedoch einen Namen eingeben, wenn die Analyse Unterbrechungen, Lager zum Be-/Entladen, Routenzonen oder Aufträge umfasst, die einer Route vorab zugewiesen sind, da der Routenname in diesen Fällen als Fremdschlüssel verwendet wird. Bei Routennamen wird die Groß-/Kleinschreibung nicht beachtet. | Text |
Description | The descriptive information about the route. This can contain any textual information and does not need to be unique. | Text |
StartDepotName | Der Name des Startdepots für die Route. Dieses Feld dient als Fremdschlüssel für das Feld Name in "Depots". 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 Routing-Problem irrelevant ist, empfiehlt es sich, das Startdepot nicht anzugeben. Wenn StartDepotName jedoch NULL ist, kann EndDepotName nicht ebenfalls NULL sein. Virtuelle Startdepots sind nicht zulässig, wenn Aufträge oder Depots in mehreren Zeitzonen vorliegen. Wenn über die Route Lieferungen erfolgen und StartDepotName NULL ist, wird davon ausgegangen, dass das Fahrzeug vor Routenbeginn in einem virtuellen Depot beladen wird. Für eine Route ohne Stopps zum Be-/Entladen werden die zugehörigen Lieferaufträge (mit Werten für DeliveryQuantities ungleich 0 in "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. | Text |
EndDepotName | Der Name des Enddepots für die Route. Dieses Feld dient als Fremdschlüssel für das Feld Name in "Depots". | Text |
StartDepotServiceTime | Die Durchführungszeit am Startdepot. Mit dieser kann die Zeit zum Beladen des Fahrzeugs modelliert werden. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. The unit for this field value is specified by the timeUnits property of the analysis object. Bei der Durchführungszeit am Start- und Enddepot handelt es sich um feste Werte (Werte der Felder StartDepotServiceTime und EndDepotServiceTime), 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 zugewiesen werden, die einer vollständigen Lkw-Ladung oder einer durchschnittlichen Lkw-Ladung entsprechen, oder Sie können einen Schätzwert festlegen. | Double |
EndDepotServiceTime | Die Durchführungszeit am Enddepot. Mit dieser kann die Zeit zum Entladen des Fahrzeugs modelliert werden. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. The unit for this field value is specified by the timeUnits property of the analysis object. Bei der Durchführungszeit am Start- und Enddepot handelt es sich um feste Werte (Werte der Felder StartDepotServiceTime und EndDepotServiceTime), 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 zugewiesen werden, die einer vollständigen Lkw-Ladung oder einer durchschnittlichen Lkw-Ladung entsprechen, oder Sie können einen Schätzwert festlegen. | Double |
EarliestStartTime | Die früheste zulässige Startzeit für die Route. Diese wird vom Solver in Verbindung mit dem Zeitfenster des Startdepots verwendet, um realistische Routenstartzeiten zu bestimmen. Dieses Feld darf keine NULL-Werte enthalten, und der Standardwert für die reine Uhrzeit ist 08:00 Uhr. Der Standardwert wird als 08:00 Uhr an dem für die Analyse festgelegten Standarddatum interpretiert. The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property. The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object. | Date |
LatestStartTime | Die späteste zulässige Startzeit für die Route. Dieses Feld darf keine NULL-Werte enthalten, und der Standardwert für die reine Uhrzeit ist 10:00 Uhr. Der Standardwert wird als 10:00 Uhr an dem für die Analyse festgelegten Standarddatum interpretiert. The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property. The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object. | Date |
ArriveDepartDelay | In diesem Feld wird die Fahrzeitdauer gespeichert, die erforderlich ist, um das Fahrzeug auf normale Reisegeschwindigkeiten zu beschleunigen, bis zu einem Stopp zu verlangsamen und in das bzw. aus dem Netzwerk zu bewegen (z. B. in die Parkposition und aus der Parkposition). Indem ein Wert für ArriveDepartDelay verwendet wird, wird der VRP-Solver davon abgehalten, viele Routen zum Abarbeiten von Aufträgen mit physischer Lagegleichheit zu senden. Die Kosten für diese Eigenschaft treten zwischen Besuchen bei nicht lagegleichen Aufträgen, Depots und Lagern zum Be-/Entladen auf. Wenn eine Route beispielsweise an einem Depot startet und zum Besuch des ersten Auftrags führt, wird die Gesamtverzögerung bei der Ankunft und Abfahrt der Fahrzeit hinzugefügt. Dasselbe gilt für die Fahrt vom ersten Auftrag zum zweiten Auftrag. Wenn der zweite und dritte Auftrag lagegleich sind, wird der Wert unter ArriveDepartDelay dazwischen nicht hinzugefügt, da sich das Fahrzeug nicht bewegen muss. Wenn die Route dann zu einem Lager zum Be-/Entladen führt, wird der Wert der Fahrzeit wieder hinzugefügt. Obwohl ein Fahrzeug bei einer Pause die Fahrt verlangsamen und unterbrechen und danach wieder beschleunigen muss, kann der VRP-Solver den Wert unter ArriveDepartDelay für Pausen nicht hinzufügen. Dies bedeutet, dass die Verzögerung bei der Ankunft und Abfahrt nur einmal hinzugefügt wird (und nicht zweimal), wenn ein Fahrzeug auf einer Route den Ort eines Auftrags verlässt, für eine Pause anhält und dann weiter zum nächsten Auftrag fährt. Beispiel: 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 separat einen Parkplatz finden und dasselbe Gebäude betreten. Wenn die Aufträge jedoch mit einer Route abgearbeitet werden können, muss nur ein Fahrer einen Parkplatz finden und das Gebäude betreten, und es 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 und die Option mit nur einer Route zu identifizieren. (Ggf. müssen mehrere Routen verwendet werden, wenn andere Einschränkungen – z. B. Besonderheiten, Zeitfenster oder Kapazitäten – dies erfordern.) The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
Capacities | Die maximale Kapazität des Fahrzeugs. Sie können die Kapazität in einer beliebigen Dimension angeben, wie Gewicht, Volumen oder Menge. Sie können auch mehrere Dimensionen, wie beispielsweise Gewicht und Volumen, angeben. Geben Sie Kapazitäten ohne die Angabe von Einheiten ein. Beispiel: Wenn das Fahrzeug maximal 18 Tonnen transportieren kann, geben Sie 18 ein. Sie müssen daran denken, dass der Wert in Tonnen angegeben ist. Wenn Sie mehrere Maße angeben, trennen Sie die numerischen Werte mit Leerzeichen. Wenn beispielsweise Gewicht und Volumen erfasst werden und das Fahrzeug ein Gewicht von max. 18 Tonnen und ein Volumen von max. 56 Kubikmeter transportieren kann, geben Sie Capacities wie folgt an: "18 56". Sie müssen sich wieder die Einheiten merken. Sie müssen sich ferner merken, in welcher Abfolge die Werte und ihre entsprechenden Einheiten eingegeben werden (in diesem Fall Kilogramm gefolgt von Kubikmetern). Die Einheiten und deren Reihenfolge sind aus mehreren Gründen wichtig: Erstens können Sie so die Informationen auch später richtig deuten, und zweitens können Sie angemessene Werte für die Felder DeliveryQuantities und PickupQuantities für die Aufträge eingeben. Der VRP-Solver referenziert gleichzeitig Capacities, DeliveryQuantities und PickupQuantities, um zu bestätigen, dass eine Route nicht überlastet wird. In das Feld können keine Einheiten eingegeben werden, und das VRP-Werkzeug kann Einheiten nicht konvertieren. Sie müssen die Werte für die drei Felder mit denselben Einheiten und derselben Einheitenreihenfolge eingeben, um sicherzustellen, dass die Werte korrekt interpretiert werden. Wenn unterschiedliche Einheiten verwendet werden oder die Reihenfolge in einem der drei Felder geändert wird, erhalten Sie unerwünschte Ergebnisse ohne Warnmeldungen. Es wird empfohlen, vorab einen Standard für die Einheiten und deren Reihenfolge aufzustellen und diesen bei der Eingabe von Werten in diese drei Felder einzuhalten. Eine leere Zeichenfolge oder ein NULL-Wert ist das Äquivalent von Unendlichkeit. Kapazitätswerte dürfen nicht negativ sein. Wenn die Anzahl der Werte im Feld Capacities im Verhältnis zum Feld DeliveryQuantities oder PickupQuantities unter "Aufträge" nicht ausreichend ist, werden die restlichen Werte als unendlich behandelt. 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, wird davon ausgegangen, 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 lässt beispielsweise zu, dass eine Kugel mit 1.000 Kubikfuß in einen Lkw mit 1.000 Kubikfuß und einer Breite von 8 Fuß verladen wird. Tatsächlich hat die Kugel jedoch einen Durchmesser von 12,6 Fuß und passt nicht in den Lkw mit einer Breite von 8 Fuß. | Text |
FixedCost | Ein fester Geldbetrag, der nur anfällt, wenn die Route in einer Lösung verwendet wird (d. h. der Route sind Aufträge zugewiesen). Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine festen Kosten vorhanden sind. Diese Kosten sind Bestandteil der Gesamtbetriebskosten für die Route. | Double |
CostPerUnitTime | Der Geldbetrag – pro Zeiteinheit an Arbeit – der für die Gesamtroutendauer, einschließlich Fahrzeiten, Durchführungszeiten und Wartezeiten bei Aufträgen, Depots und Pausen, anfällt. Dieses Feld darf keinen NULL-Wert enthalten und der Standardwert ist 1,0. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
CostPerUnitDistance | Der – pro Einheit gefahrener Strecke – für die Routenlänge (gesamte Reisestrecke) anfallende Geldbetrag. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine Kosten vorhanden sind. The unit for this field value is specified by the distanceUnits property of the analysis object. | Double |
OvertimeStartTime | Die Dauer der regulären Arbeitszeit, bevor die Berechnung der Überstunden beginnt. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass keine Überstunden angewendet werden. The unit for this field value is specified by the timeUnits property of the analysis object. Wenn dem Fahrer beispielsweise bei Überschreiten einer Gesamtroutendauer von 8 Stunden Überstunden bezahlt werden müssen und als Zeiteinheiten Minuten festgelegt sind, wird OvertimeStartTime als 480 (8 Stunden * 60 Minuten/Stunde) angegeben. | Double |
CostPerUnitOvertime | Der pro Zeiteinheit von Überstunden anfallende Geldbetrag. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass der Wert von CostPerUnitOvertime mit dem Wert von CostPerUnitTime identisch ist. | Double |
MaxOrderCount | Die maximal zulässige Anzahl von Aufträgen für die Route. Dieses Feld darf keine NULL-Werte enthalten, und der Standardwert beträgt 30. | Long |
MaxTotalTime | Die maximal zulässige Routendauer. Die Routendauer umfasst Fahrzeiten sowie Durchführungs- und Wartezeiten bei Aufträgen, Depots und Pausen. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die Routendauer keine Einschränkung gilt. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
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. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die maximal zulässige Fahrzeit keine Einschränkung gilt. Dieser Feldwert darf nicht größer als der Wert des Feldes MaxTotalTime sein. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
MaxTotalDistance | Die maximal zulässige Reisestrecke für die Route. The unit for this field value is specified by the distanceUnits property of the analysis object. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die maximal zulässige Reisestrecke keine Einschränkung gilt. | Double |
SpecialtyNames | Eine durch Leerzeichen getrennte Zeichenfolge mit den Namen der von der Route unterstützten Besonderheiten. Ein NULL-Wert gibt an, dass die Route keine Besonderheiten unterstützt. Dieses Feld dient als Fremdschlüssel für das Feld SpecialtyNames in "Aufträge". Hier ein Beispiel zur Veranschaulichung der Bedeutung und Funktionsweise von Besonderheiten: Eine Firma, die Grünanlagen pflegt und Baumschnittarbeiten durchführt, benötigt für einige Aufträge ein Fahrzeug mit einem Hubsteiger, um große Bäume zu beschneiden. Das Unternehmen gibt für diese Aufträge "Hubsteiger" in das Feld SpecialtyNames ein, um auf diese besondere Anforderung hinzuweisen. SpecialtyNames bleibt NULL für die anderen Aufträge. Entsprechend gibt die Firma "Hubsteiger" auch in das Feld SpecialtyNames von Routen ein, die von Fahrzeugen mit hydraulischen Auslegern befahren werden. Für die anderen Routen bleibt der Wert des Feldes NULL. Zum Zeitpunkt der Berechnung weist der VRP-Solver jeder Route Aufträge ohne besondere Anforderungen zu, er weist jedoch Aufträge, die Fahrzeuge mit Hubsteiger erfordern, nur den Routen zu, die darüber verfügen. | Text |
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 unten aufgeführt sind (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code).
| Long |
Breaks
Die Unterbrechungszeiten bzw. Pausenzeiten für Routen in einem Vehicle Routing Problem. Eine Pausenzeit ist mit genau einer Route verknüpft und kann nach Abschluss eines Auftrags, auf dem Weg zu einem Auftrag oder vor dem Abarbeiten eines Auftrags eingelegt werden. Sie verfügt über eine Startzeit und eine Dauer, für die der Fahrer entweder bezahlt oder nicht bezahlt wird. Sie können drei Optionen verwenden, um den Beginn einer Pausenzeit festzulegen: Sie können ein Zeitfenster, eine maximale Fahrzeit oder eine maximale Arbeitszeit eingeben.
Unlike other data types, such as Orders or Depots, this data type is a table and does not include any location information.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
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 Routen und darf keinen NULL-Wert enthalten. | Text |
Precedence | Mithilfe von Vorrangswerten wird die Abfolge von Pausenzeiten einer Route festgelegt. Pausenzeiten mit einem Vorrangswert von 1 treten vor Pausenzeiten mit einem Vorrangswert von 2 ein usw. Alle Pausenzeiten müssen unabhängig davon, ob es sich um Zeitfenster-Pausenzeiten, Pausenzeiten wegen maximaler Fahrzeit oder Pausenzeiten wegen maximaler Arbeitszeit handelt, einen Vorrangswert aufweisen. | Long |
ServiceTime | Die Dauer der Pause. Dieses Feld darf keinen NULL-Wert enthalten. Der Standardwert ist 60. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
TimeWindowStart | Die Startzeit für das Zeitfenster der Pausenzeit. Es müssen sowohl eine Start- als auch eine Endzeit angegeben werden. Wenn dieses Feld über einen Wert verfügt, müssen die Feldwerte für MaxTravelTimeBetweenBreaks undMaxCumulWorkTime NULL sein. Außerdem müssen alle anderen Pausenzeiten in der Analyse NULL-Werte 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. 12:00 Uhr), wird vorausgesetzt, dass als Datum das vom Parameter default_date angegebene Datum verwendet wird. Wenn Sie Datums- und Uhrzeitwerte verwenden (z. B. 7/11/2012 00:00 Uhr), können Sie Zeitfenster über mehrere Tage angeben. Dies empfiehlt sich, wenn eine Pause kurz vor oder nach Mitternacht eingelegt werden soll. The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property. The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object. | Date |
TimeWindowEnd | Die Endzeit für das Zeitfenster der Pausenzeit. Es müssen sowohl eine Start- als auch eine Endzeit angegeben werden. Wenn dieses Feld über einen Wert verfügt, müssen die Feldwerte für MaxTravelTimeBetweenBreaks undMaxCumulWorkTime NULL sein. Alle anderen Pausenzeiten in der Analyse müssen NULL-Werte für MaxTravelTimeBetweenBreaks und MaxCumulWorkTime aufweisen. The value for this attribute can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM. To specify a time-only value, datetime.time(8, 30, 0) represents 8:30 AM on the default date that is set using the defaultDate property. The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object. | Date |
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 dem Parameter Gewichtung der Zeitfensterverletzung sanktioniert. Diese Eigenschaft kann NULL sein. Ein NULL-Wert mit den Werten TimeWindowStart und TimeWindowEnd gibt an, dass der zulässige Zeitverstoß unbegrenzt ist. Wenn MaxTravelTimeBetweenBreaks oder MaxCumulWorkTime über einen Wert verfügt, muss MaxViolationTime NULL sein. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
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. Dieses Feld beschränkt den Zeitraum, wie lange eine Person fahren darf, bis eine Pausenzeit erforderlich ist. Wenn als Zeiteinheit für die Analyse Minuten angegeben werden und MaxTravelTimeBetweenBreaks den Wert 120 aufweist, kann der Fahrer nach zwei Stunden Fahrt eine Pause einlegen. Um eine Pause nach zwei weiteren Stunden Fahrt zuzuweisen, muss für die Eigenschaft MaxTravelTimeBetweenBreaks der zweiten Pause der 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. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
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. Darin ist jedoch die Wartezeit nicht enthalten. Dies ist die Zeit, die eine Route (bzw. ein Fahrer) am Ort eines Auftrags oder an einem Depot mit dem Warten auf den Beginn des Zeitfensters verbringt. Dieses Feld beschränkt den Zeitraum, wie lange eine Person arbeiten darf, bis eine Pausenzeit erforderlich ist. Wenn als Zeiteinheit für die Analyse Minuten angegeben werden, 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. Im letzten 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. The unit for this field value is specified by the timeUnits property of the analysis object. | Double |
IsPaid | Ein boolescher Wert, der angibt, ob die Pausenzeit bezahlt wird. Wird dieser Feldwert auf 1 gesetzt, bedeutet dies, dass die Pausenzeit in die Berechnung der Routenkosten sowie die Bestimmung der Überstunden einbezogen wird. Der Wert 0 bedeutet das Gegenteil. Der Standardwert ist 1. | Long |
Sequence | Gibt die Sequenz der Pause auf der zugehörigen Route an. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert führt dazu, dass der Solver die Pausensequenz zuweist. Wenn Sequenzwerte angegeben werden, sollten sie für jede Route positiv und eindeutig sein (gültig für Depotstopps zum Be-/Entladen, Aufträge und Pausenzeiten), müssen jedoch nicht bei 1 beginnen und nicht zusammenhängend sein. | Long |
OrderPairs
Kombiniert Abhol- und Lieferaufträge, sodass sie über dieselbe Route abgearbeitet werden. Die Angabe von Auftragspaaren verhindert, dass die Analyse einer Route nur einen der Aufträge zuweist – entweder werden beide Aufträge derselben Route zugewiesen, oder keiner der Aufträge wird zugewiesen.
Zuweilen müssen Abholung und Lieferung der Aufträge paarweise zusammengefasst werden. Beispiel: Eine Kurierfirma benötigt eine Route, auf der ein wichtiges Paket abgeholt und ohne Rückkehr zum Depot oder zur Sortierstation geliefert wird, um die Lieferzeit zu minimieren. Durch die Verwendung von Auftragspaaren können diese zusammengehörigen Aufträge in der entsprechenden Reihenfolge derselben Route zugewiesen werden. Es können Einschränkungen für die Dauer zugewiesen werden, 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 zur Wohnung fahren. Bei der Fahrt von ihrer Wohnung zur Arztpraxis handelt es sich um ein Auftragspaar mit einer gewünschten Ankunftszeit bei der Arztpraxis, und bei der Fahrt von der Arztpraxis zu ihrer Wohnung handelt es sich um ein weiteres Auftragspaar mit einer gewünschten Abholzeit.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
FirstOrderName | Der Name des ersten Auftrags des Paares. Dieses Feld dient als Fremdschlüssel für das Feld Name in Aufträgen. | Text |
SecondOrderName | Der Name des zweiten Auftrags des Paares. Dieses Feld dient als Fremdschlüssel für das Feld Name in Aufträgen. 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. Die Auftragsmengen werden nicht an Depots geladen oder entladen. | Text |
MaxTransitTime | Die maximale Fahrzeit für das Auftragspaar. Die Fahrzeit ist die Dauer von der Abfahrtszeit des ersten Auftrags bis zur Ankunftszeit des zweiten Auftrags. Diese Einschränkung begrenzt die tatsächlich mit Fahren verbrachte Zeit zwischen den beiden Aufträgen. Wenn ein Fahrzeug Menschen oder verderbliche Waren transportiert, ist die Fahrzeit i. d. R. kürzer als bei einem Fahrzeug, das Pakete oder nicht verderbliche Waren transportiert. Dieses Feld kann NULL-Werte enthalten. Ein NULL-Wert gibt an, dass für die Fahrzeit keine Einschränkung gilt. The unit for this field value is specified by the timeUnits property of the analysis object. 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 der folgenden Strategien festlegen:
By assigning an importance level using the excessTransitFactor property of the analysis object, you are essentially choosing one of these three options. Regardless of the importance level, the solver will return an error if the MaxTransitTime value is surpassed. | Double |
RouteRenewals
Die Zwischendepots, über die die Routen führen können, um die Fracht für Auslieferungs- oder Abholungsaufträge zu laden oder zu entladen. Über "Lager (Be-/Entladen)" wird eine Route mit einem Depot verknüpft. Die Beziehung gibt an, dass für die Route das Be- oder Entladen am zugeordneten Depot möglich ist.
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.
Beachten Sie bei Verwendung von "Lager (Be-/Entladen)" Folgendes:
- 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 bestimmt.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
RouteName | Der Name der Route, auf die dieses Lager zum Be-/Entladen angewendet wird. Dieses Feld darf keinen NULL-Wert enthalten, und es fungiert als Fremdschlüssel für das Feld Name in Routen. | Text |
DepotName | Der Name des Depots, bei dem das Be-/Entladen erfolgt. Dieses Feld darf keinen NULL-Wert enthalten, und es fungiert als Fremdschlüssel für das Feld Name in Depots. | Text |
ServiceTime | Die Durchführungszeit für das Be-/Entladen. Dieses Feld kann einen NULL-Wert enthalten. Ein NULL-Wert gibt an, dass keine Durchführungszeit vorhanden ist. The unit for this field value is specified by the timeUnits property of the analysis object. 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 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. | Double |
Sequences | A space-separated string of sequence values of visits to the renewal depot. This field can contain a null value and is used to preassign visits to the renewal depot. | Text |
RouteZones
Weist Arbeitsgebiete für bestimmte Routen aus. Eine Routenzone ist ein Polygon-Feature. Mit ihr werden Routen eingeschränkt, um nur die Aufträge durchzuführen, die im angegebenen Gebiet oder in dessen Nähe liegen. Nachfolgend finden Sie Beispiele für Fälle, in denen sich Routenzonen als sinnvoll erweisen:
- 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 und es soll 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.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
RouteName | Der Name der Route, für die diese Zone gilt. Einer Routenzone kann maximal eine Route zugeordnet sein. Dieses Feld darf keine NULL-Werte enthalten, und es fungiert als Fremdschlüssel für das Feld Name in Routen. | Text |
IsHardZone | A Boolean value indicating a hard or soft route zone. A field value of 1 indicates that the route zone is hard; that is, an order that falls outside the route zone polygon can't be assigned to the route. The default value is 1. A field value of 0 indicates that such orders can still be assigned, but the cost of servicing the order is weighted by a function that is based on the Euclidean distance from the route zone. Basically, this means that as the straight-line distance from the soft zone to the order increases, the likelihood of the order being assigned to the route decreases. | Long |
PointBarriers
Verwenden Sie diesen Parameter, um einen oder mehrere Punkte anzugeben, die als vorübergehende Beschränkungen dienen bzw. die für das Passieren der betreffenden Straßen zusätzlich veranschlagte Zeit oder Entfernung anzeigen. Mit einer Punkt-Barriere kann beispielsweise ein umgestürzter Baum auf einer Straße oder eine Zeitverzögerung wegen des Halts an einem Bahnübergang angezeigt werden.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | Der Name der Barriere. | Text |
BarrierType | Gibt an, ob die Punkt-Barriere den Verkehr vollständig beschränkt oder ob beim Überschreiten der Barriere ein Mehraufwand an Zeit oder Entfernung entsteht. Der Wert für dieses Attribut wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
| Long |
Additional_Time | The added travel time when the barrier is traversed. This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the timeUnits property. | Double |
Additional_Distance | The added distance when the barrier is traversed. This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the distanceUnits property. | Double |
AdditionalCost | The added cost when the barrier is traversed. This field value must be greater than or equal to zero, and the values are interpreted to be in unknown units. | Double |
FullEdge | Gibt an, wie Punkt-Barrieren für Beschränkungen bei der Analyse auf die Kantenelemente angewendet werden. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
| Long |
CurbApproach | Gibt die Verkehrsrichtung an, die von der Barriere betroffen ist. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
Da Knoten Punkte sind und keine Seite haben, wirken sich Barrieren für Knoten auf alle Fahrzeuge aus, unabhängig vom Attribut "CurbApproach". Das Attribut CurbApproach kann sowohl in Ländern mit Rechtsverkehr (Deutschland) als auch in Ländern mit Linksverkehr (Großbritannien) verwendet werden. Stellen Sie sich zunächst eine Einrichtung auf der linken Seite eines Fahrzeugs vor. Es befindet sich stets auf der linken Seite, egal ob das Fahrzeug auf der linken oder rechten Seite der Straße fährt. Was sich abhängig von den nationalen Verkehrsregeln ändern kann, ist Ihre Entscheidung, aus welcher Richtung Sie sich der Einrichtung nähern, sodass sie sich entweder links oder rechts vom Fahrzeug befindet. Um beispielsweise eine Einrichtung zu erreichen, ohne dass sich eine Fahrspur zwischen dem Fahrzeug und der Einrichtung befindet, wählen Sie in Deutschland 1 (Rechte Seite des Fahrzeugs), in Großbritannien hingegen 2 (Linke Seite des Fahrzeugs) aus. | Long |
Bearing | Die Richtung, in die sich ein Punkt bewegt. Die Einheit ist Grad und wird im Uhrzeigersinn von geographisch Nord gemessen. Dieses Feld wird in Verbindung mit dem Feld BearingTol verwendet. Peilungsdaten werden normalerweise automatisch von einem mobilen Gerät gesendet, das mit einem GPS-Empfänger ausgestattet ist. Sie sollten möglichst Peilungsdaten einbeziehen, wenn Sie eine sich bewegende Eingabeposition laden, beispielsweise einen Fußgänger oder ein Fahrzeug. Durch die Verwendung dieses Feldes kann verhindert werden, dass Positionen falschen Kanten zugewiesen werden, was auftreten kann, wenn er sich zufällig in der Nähe einer Kreuzung oder einer Überführung befindet. Mithilfe der Peilung kann das Werkzeug einfacher ermitteln, auf welcher Straßenseite sich der Punkt befindet. | Double |
BearingTol | Anhand des Peilungstoleranzwertes wird ein Bereich mit zulässigen Peilungswerten erstellt, wenn Punkte über das Feld Bearing auf einer Kante bewegt werden. Wenn der Wert des Feldes Bearing innerhalb des Bereichs der zulässigen Werte liegt, die über die Peilungstoleranz auf einer Kante generiert werden, kann der Punkt dort als Netzwerkstandort hinzugefügt werden. Andernfalls wird der nächstgelegene Punkt an der übernächsten Kante ausgewertet. Die Einheiten in Grad, und der Standardwert ist 30. Der Wert muss größer als 0 und kleiner als 180 sein. Der Wert 30 bedeutet, dass beim Hinzufügen eines Netzwerkstandortes auf einer Kante durch Network Analyst auf beiden Seiten der Kante (links und rechts) und in beiden Digitalisierrichtungen der Kante ein zulässiger Peilungswertebereich in einem Winkel von 15 Grad generiert wird. | Double |
NavLatency | Dieses Feld wird nur im Berechnungsprozess verwendet, wenn die Felder Bearing und BearingTol ebenfalls Werte enthalten. Die Eingabe eines NavLatency-Feldwertes ist jedoch optional, selbst wenn in Bearing und BearingTol Werte enthalten sind. NavLatency gibt an, welche Kosten voraussichtlich zwischen dem Senden von GPS-Informationen von einem sich bewegenden Fahrzeug zu einem Server und dem Empfang der verarbeiteten Route durch das Navigationsgerät des Fahrzeugs anfallen. The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object. | Double |
Network location fields
| Zusammen beschreiben diese Eigenschaften den Punkt im Netzwerk, an dem sich das Objekt befindet. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk |
LineBarriers
Verwenden Sie diesen Parameter, um eine oder mehrere Linien anzugeben, die das Überfahren von Linien, die Straßen überschneiden, verbieten. Mit einer Linien-Barriere kann beispielsweise eine Parade oder Demonstration modelliert werden, die den Verkehr über mehrere Straßenzüge hinweg blockiert. Mit einer Linien-Barriere können außerdem schnell mehrere Straßen abgeriegelt werden, um unerwünschte Teile des Straßennetzes aus den möglichen Routen auszuschließen.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | Der Name der Barriere. | Text |
BarrierType | Gibt an, ob die Barriere den Verkehr vollständig beschränkt oder ob beim Passieren der Barriere Mehrkosten (in Form von Zeit oder Entfernung) entstehen. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
| Long |
ScaledTimeFactor | Um diesen Faktor erhöht sich die Fahrzeit durch die Straßen, die von der Barriere abgeschnitten werden. Der Feldwert muss größer 0 sein. | Double |
ScaledDistanceFactor | Um diesen Faktor erhöht sich die Strecke durch die Straßen, die von der Barriere abgeschnitten werden. Der Feldwert muss größer 0 sein. | Double |
ScaledCostFactor | Um diesen Faktor erhöhen sich die Kosten für die Straßen, die sich mit der Barriere schneiden. Der Feldwert muss größer 0 sein. | Double |
Locations | Die Information in diesem Feld definiert, welche Netzwerkkanten und -knoten durch die Linie oder das Polygon abgedeckt sind und welcher Anteil des Kantenelements jeweils abgedeckt ist. Die Information in diesem Feld kann nicht direkt gelesen oder bearbeitet werden. Sie wird jedoch von Network Analyst beim Berechnen einer Analyse interpretiert. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk | BLOB |
PolygonBarriers
Verwenden Sie diesen Parameter, um Polygone anzugeben, die den Verkehr entweder vollständig beschränken oder für die mehr Zeit oder eine längere Strecke für das Durchfahren der von den Polygonen überschnittenen Straßen veranschlagt wird.
The data type supports the following fields:
Field | Description | Data type |
---|---|---|
Name | Der Name der Barriere. | Text |
BarrierType | Gibt an, ob die Barriere den Verkehr vollständig beschränkt oder ob beim Passieren der Barriere Mehrkosten (in Form von Zeit oder Entfernung) entstehen. Der Feldwert wird als eine der nachfolgenden Ganzzahlen angegeben (verwenden Sie nicht den Namen in Klammern, sondern den numerischen Code):
| Long |
ScaledTimeFactor | Um diesen Faktor erhöht sich die Fahrzeit durch die Straßen, die von der Barriere abgeschnitten werden. Der Feldwert muss größer 0 sein. | Double |
ScaledDistanceFactor | Um diesen Faktor erhöht sich die Strecke durch die Straßen, die von der Barriere abgeschnitten werden. Der Feldwert muss größer 0 sein. | Double |
ScaledCostFactor | Um diesen Faktor erhöhen sich die Kosten für die Straßen, die sich mit der Barriere schneiden. Der Feldwert muss größer 0 sein. | Double |
Locations | Die Information in diesem Feld definiert, welche Netzwerkkanten und -knoten durch die Linie oder das Polygon abgedeckt sind und welcher Anteil des Kantenelements jeweils abgedeckt ist. Die Information in diesem Feld kann nicht direkt gelesen oder bearbeitet werden. Sie wird jedoch von Network Analyst beim Berechnen einer Analyse interpretiert. Weitere Informationen zur Suche nach Eingaben in einem Netzwerk | BLOB |