In die Anfrage eingebrachte Lösung mit Informationen dazu, welche Besuche eingeschränkt werden müssen und wie.
JSON-Darstellung |
---|
{ "routes": [ { object ( |
Felder | |
---|---|
routes[] |
Routen der einzuschleusenden Lösung. Einige Routen wurden möglicherweise aus der ursprünglichen Lösung entfernt. Die Routen und übersprungenen Sendungen müssen die für |
skipped |
Übersprungene Lieferungen der einzuschleusenden Lösung. Einige davon wurden möglicherweise aus der ursprünglichen Lösung entfernt. Siehe Feld |
constraint |
Gibt für null oder mehr Fahrzeuggruppen an, wann und in welchem Umfang Einschränkungen gelockert werden sollen. Wenn dieses Feld leer ist, sind alle nicht leeren Fahrzeugrouten vollständig eingeschränkt. |
ConstraintRelaxation
Gibt für eine Gruppe von Fahrzeugen an, ab welchem Grenzwert die Einschränkungen für Besuche gelockert werden und auf welche Stufe. Sendungen, die im Feld skipped_shipment
aufgeführt sind, müssen übersprungen werden, d.h., sie können nicht ausgeführt werden.
JSON-Darstellung |
---|
{
"relaxations": [
{
object ( |
Felder | |
---|---|
relaxations[] |
Alle Lockerungen der Besuchseinschränkungen, die für Besuche auf Routen mit Fahrzeugen in |
vehicle |
Gibt die Fahrzeugindizes an, auf die die Besuchseinschränkung Ein Fahrzeugindex wird wie |
Entspannung
Wenn relaxations
leer ist, sind der Beginn und die Reihenfolge aller Besuche auf routes
vollständig eingeschränkt und es können keine neuen Besuche eingefügt oder diesen Routen hinzugefügt werden. Außerdem sind der Beginn und das Ende eines Fahrzeugs in routes
vollständig eingeschränkt, es sei denn, das Fahrzeug ist leer, d.h., es hat keine Besuche und usedIfRouteIsEmpty
ist im Modell auf „falsch“ gesetzt.
relaxations(i).level
gibt die Lockerungsstufe der Einschränkung an, die auf einen Besuch #j angewendet wird, der folgende Bedingungen erfüllt:
route.visits(j).start_time >= relaxations(i).threshold_time
UNDj + 1 >= relaxations(i).threshold_visit_count
Ebenso wird der Fahrzeugstart auf relaxations(i).level
gelockert, wenn folgende Bedingungen erfüllt sind:
vehicleStartTime >= relaxations(i).threshold_time
UNDrelaxations(i).threshold_visit_count == 0
und das Fahrzeugende wird aufrelaxations(i).level
gelockert, wenn folgende Bedingungen erfüllt sind:vehicleEndTime >= relaxations(i).threshold_time
UNDroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
Wenn ein Besuch die thresholdVisitCount
ODER die thresholdTime
erfüllt, fügen Sie zwei relaxations
mit derselben level
hinzu: eine mit nur thresholdVisitCount
und eine mit nur thresholdTime
. Wenn ein Besuch die Bedingungen mehrerer relaxations
erfüllt, gilt die am wenigsten strikte Stufe. Das bedeutet, dass der Entspannungsgrad vom Start des Fahrzeugs über die Routenbesuche bis zum Ende des Fahrzeugs immer weiter sinkt.
Zeitpunkt und Reihenfolge von Routenbesuchen, die die Grenzbedingungen für eine relaxations
nicht erfüllen, sind vollständig eingeschränkt und es können keine Besuche in diese Sequenzen eingefügt werden. Wenn ein Fahrzeugstart oder -ende nicht die Bedingungen für eine Lockerung erfüllt, ist die Zeit festgelegt, es sei denn, das Fahrzeug ist leer.
JSON-Darstellung |
---|
{
"level": enum ( |
Felder | |
---|---|
level |
Der Grad der Lockerung der Einschränkung, der gilt, wenn die Bedingungen bei oder nach |
threshold |
Der Zeitpunkt, zu dem oder nach dem die Entspannung Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
threshold |
Die Anzahl der Besuche, ab der die Lockerung Wenn es |
Level
Gibt die verschiedenen Einschränkungen an, die für einen Besuch angewendet werden, und die, die folgen, wenn die Grenzbedingungen erfüllt sind.
Die folgende Aufzählung ist in absteigender Reihenfolge der Entspannung geordnet.
Enums | |
---|---|
LEVEL_UNSPECIFIED |
Implizites Standard-Lockerungsniveau: Es werden keine Einschränkungen gelockert, d.h., alle Besuche sind vollständig eingeschränkt. Dieser Wert darf in |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
Die Start- und Endzeiten von Besuchen und Fahrzeugen werden gelockert, aber jeder Besuch bleibt demselben Fahrzeug zugeordnet und die Besuchsreihenfolge muss eingehalten werden: Zwischen oder vor den Besuchen darf kein Besuch eingefügt werden. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
Entspricht RELAX_VISIT_TIMES_AFTER_THRESHOLD , aber die Besuchsabfolge ist auch lockerer: Besuche können nur von diesem Fahrzeug durchgeführt werden, aber potenziell nicht ausgeführt werden. |
RELAX_ALL_AFTER_THRESHOLD |
Entspricht RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD , aber das Fahrzeug ist auch entspannt: Besuche sind ab oder nach dem Grenzwert völlig kostenlos und können möglicherweise nicht ausgeführt werden. |