Eine in die Anfrage eingefügte Lösung, einschließlich Informationen darüber, welche Besuche und wie sie eingeschränkt werden müssen.
JSON-Darstellung |
---|
{ "routes": [ { object ( |
Felder | |
---|---|
routes[] |
Routen der einzuführenden Lösung. Einige Routen werden in der ursprünglichen Lösung möglicherweise weggelassen. Die Routen und übersprungenen Sendungen müssen die für |
skippedShipments[] |
Lieferungen der Injektionslösung übersprungen. Einige davon werden in der ursprünglichen Lösung möglicherweise weggelassen. Siehe Feld |
constraintRelaxations[] |
Gibt für keine oder mehr Fahrzeuggruppen an, wann und wie stark die 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, bei welchen Schwellenwerten die Einschränkungen für Besuche auf welcher Ebene gelockert werden. Lieferungen im Feld skipped_shipment
können nicht übersprungen werden und können daher nicht ausgeführt werden.
JSON-Darstellung |
---|
{
"relaxations": [
{
object ( |
Felder | |
---|---|
relaxations[] |
Alle Lockerungen der Besuchsbeschränkung, die für Besuche auf Routen mit Fahrzeugen in |
vehicleIndices[] |
Gibt die Fahrzeugindexe an, für die die Ein Fahrzeugindex wird genauso wie |
Entspannung
Wenn relaxations
leer ist, sind Startzeit und Reihenfolge aller Besuche am routes
vollständig beschränkt, und in diese Routen können keine neuen Besuche eingefügt oder hinzugefügt werden. Außerdem sind die Start- und Endzeit eines Fahrzeugs in routes
vollständig begrenzt, es sei denn, das Fahrzeug ist leer, d.h. es wurden keine Durchfahrten durchgeführt und usedIfRouteIsEmpty
im Modell auf „false“ gesetzt.
relaxations(i).level
gibt das Entspannungsniveau der Einschränkung an, das auf einen Besuch #j angewendet wird, der folgende Kriterien erfüllt:
route.visits(j).start_time >= relaxations(i).threshold_time
UNDj + 1 >= relaxations(i).threshold_visit_count
Ebenso wird das Starten des Fahrzeugs auf relaxations(i).level
gelockert, wenn folgende Bedingungen erfüllt sind:
vehicleStartTime >= relaxations(i).threshold_time
UNDrelaxations(i).threshold_visit_count == 0
und das Ende des Fahrzeugs wird aufrelaxations(i).level
gelockert, wenn Folgendes erfüllt:vehicleEndTime >= relaxations(i).threshold_time
UNDroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
Wenn ein Entspannungsgrad angewendet wird, wenn ein Besuch die thresholdVisitCount
ODER die thresholdTime
trifft, fügen Sie zwei relaxations
mit derselben level
hinzu: eine mit nur thresholdVisitCount
und die andere mit nur thresholdTime
. Wenn ein Besuch die Bedingungen mehrerer relaxations
erfüllt, gilt die strengste Stufe. Infolgedessen nimmt der Entspannungsgrad vom Start über die Routenbesichtigungen bis zum Ende der Route weniger ab.
Die Zeitangaben und die Abfolge von Routenbesuchen, die die Schwellenwertbedingungen einer beliebigen relaxations
nicht erfüllen, sind vollständig eingeschränkt. In diese Abfolgen können keine Besuche eingefügt werden. Wenn das Start- oder Ende eines Fahrzeugs die Bedingungen einer Entspannung nicht erfüllt, wird die Zeit festgesetzt, es sei denn, das Fahrzeug ist leer.
JSON-Darstellung |
---|
{
"level": enum ( |
Felder | |
---|---|
level |
Die Stufe der Einschränkungslockerung, die gilt, wenn die Bedingungen bei oder nach |
thresholdTime |
Der Zeitpunkt, zu dem oder nach dem die Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
thresholdVisitCount |
Anzahl der Besuche, bei denen oder nach der Wenn der Wert |
Ebene
Drückt die verschiedenen einschränkenden Entspannungsstufen aus, die für einen Besuch angewendet werden und die folgenden, wenn die Schwellenwertbedingungen erfüllt sind.
Die folgende Aufzählung bezieht sich auf die zunehmende Entspannung.
Enums | |
---|---|
LEVEL_UNSPECIFIED |
Implizites Standardentspannungsniveau: Keine Beschränkungen werden gelockert, d.h. alle Besuche sind vollständig beschränkt. Dieser Wert darf in |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
Startzeiten und Start- und Endzeiten der Fahrzeuge werden gelockert, aber jeder Besuch bleibt an dasselbe Fahrzeug gebunden und die Besuchsabfolge muss beobachtet werden: Zwischen den beiden oder davor kann kein Besuch eingefügt werden. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
Wie RELAX_VISIT_TIMES_AFTER_THRESHOLD , aber die Besuchssequenz ist auch gelockert: Besuche bleiben einfach an das Fahrzeug gebunden. |
RELAX_ALL_AFTER_THRESHOLD |
Wie „RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD “, aber das Fahrzeug ist auch entspannt: Besuche sind zum oder nach dem Grenzwert völlig kostenlos und können unter Umständen nicht ausgeführt werden. |