Die Lösung wird in die Anfrage eingefügt. Sie enthält Informationen dazu, welche Besuche eingeschränkt werden müssen und wie.
| JSON-Darstellung |
|---|
{ "routes": [ { object ( |
| Felder | |
|---|---|
routes[] |
Routen der Lösung, die eingefügt werden soll. Einige Routen werden möglicherweise aus der ursprünglichen Lösung ausgelassen. Die Routen und übersprungenen Sendungen müssen die für |
skippedShipments[] |
Übersprungene Sendungen der einzufügenden Lösung. Einige werden möglicherweise aus der ursprünglichen Lösung ausgelassen. Weitere Informationen finden Sie im Feld |
constraintRelaxations[] |
Gibt für null oder mehr Fahrzeuggruppen an, wann und wie stark 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 welchem Schwellenwert bzw. welchen Schwellenwerten 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 |
vehicleIndices[] |
Gibt die Fahrzeugindexe an, für die die Besuchsrestriktion Ein Fahrzeugindex wird genauso wie |
Entspannung
Wenn relaxations leer ist, sind die Startzeit und die Reihenfolge aller Besuche auf routes vollständig eingeschränkt und es dürfen keine neuen Besuche in diese Routen eingefügt oder hinzugefügt werden. Außerdem sind die Start- und Endzeit 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 „false“ gesetzt).
relaxations(i).level gibt die Stufe der Einschränkungslockerung an, die auf einen Besuch #j angewendet wird, der die folgenden Bedingungen erfüllt:
route.visits(j).start_time >= relaxations(i).threshold_timeUNDj + 1 >= relaxations(i).threshold_visit_count
Analog dazu wird der Fahrzeugstart auf relaxations(i).level verschoben, wenn Folgendes gilt:
vehicleStartTime >= relaxations(i).threshold_timeUNDrelaxations(i).threshold_visit_count == 0und das Fahrzeugende wird aufrelaxations(i).levelgelockert, wenn Folgendes zutrifft:vehicleEndTime >= relaxations(i).threshold_timeUNDroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
Wenn Sie eine Lockerungsstufe anwenden möchten, wenn ein Besuch die thresholdVisitCount ODER die thresholdTime erfüllt, 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, wird die am wenigsten restriktive Ebene angewendet. Daher wird das Entspannungsniveau vom Fahrzeugstart über die Routenbesuche bis zum Fahrzeugende immer entspannter, d.h., es nimmt im Laufe der Route nicht ab.
Die Zeit und Reihenfolge der Routenbesuche, die die Schwellenwertbedingungen keiner relaxations erfüllen, sind vollständig eingeschränkt und es dürfen keine Besuche in diese Sequenzen eingefügt werden. Wenn der Start oder das Ende eines Fahrzeugs nicht den Bedingungen einer Lockerung entspricht, wird die Zeit festgelegt, sofern das Fahrzeug nicht leer ist.
| JSON-Darstellung |
|---|
{
"level": enum ( |
| Felder | |
|---|---|
level |
Die Stufe der Einschränkungsaufhebung, die angewendet wird, wenn die Bedingungen am oder nach dem |
thresholdTime |
Die Zeit, zu der oder nach der die Lockerung Verwendet RFC 3339, wobei die generierte Ausgabe immer Z-normalisiert ist und 0, 3, 6 oder 9 Nachkommastellen verwendet. Andere Offsets als „Z“ werden ebenfalls akzeptiert. Beispiele: |
thresholdVisitCount |
Die Anzahl der Besuche, nach denen die Lockerung Wenn es |
Level
Gibt die verschiedenen Stufen der Lockerung von Einschränkungen an, die für einen Besuch und die nachfolgenden Besuche angewendet werden, wenn die Schwellenwertbedingungen erfüllt sind.
Die Aufzählung unten erfolgt in der Reihenfolge der zunehmenden Lockerung.
| Enums | |
|---|---|
LEVEL_UNSPECIFIED |
Implizites Standard-Relaxierungsniveau: 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 Startzeiten für Besuche und Fahrzeuge werden flexibler, aber jeder Besuch ist weiterhin an dasselbe Fahrzeug gebunden und die Reihenfolge der Besuche muss eingehalten werden. Es darf kein Besuch dazwischen oder davor eingefügt werden. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
Wie RELAX_VISIT_TIMES_AFTER_THRESHOLD, aber die Besuchsreihenfolge ist ebenfalls gelockert: Besuche können nur von diesem Fahrzeug durchgeführt werden, können aber möglicherweise nicht durchgeführt werden. |
RELAX_ALL_AFTER_THRESHOLD |
Wie RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD, aber das Fahrzeug ist auch entspannt: Besuche sind ab der Schwelle kostenlos und können möglicherweise nicht durchgeführt werden. |