- Représentation JSON
- ConstraintRelaxation
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- Détente
<ph type="x-smartling-placeholder">
- </ph>
- Représentation JSON
- Niveau
Solution injectée dans la requête, y compris des informations sur les visites qui doivent être limitées et sur la manière dont elles doivent l'être.
Représentation JSON |
---|
{ "routes": [ { object ( |
Champs | |
---|---|
routes[] |
Routes de la solution à injecter. Certaines routes peuvent être omises de la solution d'origine. Les itinéraires et les livraisons ignorées doivent respecter les hypothèses de validité de base listées pour |
skippedShipments[] |
Envois de la solution à injecter ignorés. Certaines peuvent être omises de la solution d'origine. Consultez le champ |
constraintRelaxations[] |
Pour zéro ou plusieurs groupes de véhicules, indique quand et dans quelle mesure assouplir les contraintes. Si ce champ est vide, tous les itinéraires de véhicules non vides sont entièrement contraints. |
ConstraintRelaxation
Pour un groupe de véhicules, indique à quel seuil les contraintes liées aux visites seront assouplies et à quel niveau. Les livraisons indiquées dans le champ skipped_shipment
ne peuvent pas être ignorées. c'est-à-dire qu'elles ne peuvent pas être effectuées.
Représentation JSON |
---|
{
"relaxations": [
{
object ( |
Champs | |
---|---|
relaxations[] |
Toutes les assouplissements des contraintes de visite qui s'appliqueront aux visites sur les itinéraires avec des véhicules dans le pays suivant : |
vehicleIndices[] |
Spécifie les index de véhicule auxquels la contrainte de visite Un indice de véhicule est mappé de la même manière que |
Relaxation
Si le champ relaxations
est vide, cela signifie que l'heure de début et la séquence de toutes les visites du routes
sont limitées. Aucune nouvelle visite ne peut donc être insérée ni ajoutée à ces itinéraires. De plus, les heures de début et de fin d'un véhicule en routes
sont entièrement limitées, sauf si le véhicule est vide (c'est-à-dire qu'il n'a pas de visites et que la valeur usedIfRouteIsEmpty
est définie sur "false" dans le modèle).
relaxations(i).level
spécifie le niveau d'assouplissement de la contrainte appliqué à une visite #j qui répond aux critères suivants:
route.visits(j).start_time >= relaxations(i).threshold_time
ETj + 1 >= relaxations(i).threshold_visit_count
De même, le démarrage du véhicule est relâché sur relaxations(i).level
s'il répond aux conditions suivantes:
vehicleStartTime >= relaxations(i).threshold_time
ETrelaxations(i).threshold_visit_count == 0
et l'extrémité du véhicule est relâchée surrelaxations(i).level
si les conditions suivantes sont remplies:vehicleEndTime >= relaxations(i).threshold_time
ETroute.visits_size() + 1 >= relaxations(i).threshold_visit_count
Pour appliquer un niveau d'assouplissement si une visite respecte le thresholdVisitCount
OU l'thresholdTime
, ajoutez deux relaxations
avec le même level
: l'un avec uniquement thresholdVisitCount
défini et l'autre avec seulement thresholdTime
défini. Si une visite remplit les conditions de plusieurs relaxations
, le niveau le plus souple s'applique. Par conséquent, entre le début du véhicule et les visites de l'itinéraire jusqu'à la fin du véhicule, le niveau de relaxation devient plus détendu: le niveau de relaxation ne diminue pas à mesure que l'itinéraire progresse.
La durée et la séquence des visites d'itinéraires qui ne satisfont pas aux conditions de seuil d'un relaxations
sont totalement limitées, et aucune visite ne peut être insérée dans ces séquences. De plus, si le début ou la fin d'un véhicule ne remplit pas les conditions d'un assouplissement, la durée est fixe, sauf si le véhicule est vide.
Représentation JSON |
---|
{
"level": enum ( |
Champs | |
---|---|
level |
Niveau d'assouplissement de la contrainte qui s'applique lorsque les conditions égales ou postérieures à |
thresholdTime |
Moment auquel ou après lequel l'assouplissement Horodatage au format RFC3339 UTC "Zulu", avec une résolution de l'ordre de la nanoseconde et jusqu'à neuf chiffres décimaux. Exemples : |
thresholdVisitCount |
Nombre de visites avant ou après lequel l'assouplissement Si la valeur est |
Niveau
Exprime les différents niveaux d'assouplissement des contraintes qui sont appliqués à une visite et ceux qui le suivent lorsque les conditions du seuil sont remplies.
L'énumération ci-dessous permet d'effectuer un assouplissement croissant.
Enums | |
---|---|
LEVEL_UNSPECIFIED |
Niveau d'assouplissement implicite par défaut: aucune contrainte n'est assouplie, c'est-à-dire que toutes les visites sont entièrement limitées. Cette valeur ne doit pas être utilisée explicitement dans |
RELAX_VISIT_TIMES_AFTER_THRESHOLD |
Les heures de début et de fin des visites sont assouplies, mais chaque visite reste liée au même véhicule, et la séquence des visites doit être respectée: aucune visite ne peut être insérée entre elles ni avant. |
RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD |
Identique à RELAX_VISIT_TIMES_AFTER_THRESHOLD , mais la séquence des visites est également assouplie: les visites restent simplement liées au véhicule. |
RELAX_ALL_AFTER_THRESHOLD |
Identique à RELAX_VISIT_TIMES_AND_SEQUENCE_AFTER_THRESHOLD , mais le véhicule est également assoupli: les visites sont entièrement sans frais à l'heure seuil ou après, et peuvent potentiellement ne pas être réalisées. |