Spécifie les détails des expéditions non effectuées dans une solution. Dans les cas simples et/ou si nous sommes en mesure d'identifier la cause du saut, nous indiquons la raison ici.
Représentation JSON |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
Champs | |
---|---|
index |
L'index correspond à l'index de l'envoi dans le |
label |
Copie du |
reasons[] |
Liste des raisons pour lesquelles l'envoi a été ignoré. Voir le commentaire au-dessus de |
Motif
Si nous pouvons vous expliquer pourquoi la livraison a été ignorée, les motifs seront indiqués ici. Si la raison n'est pas la même pour tous les véhicules, reason
contiendra plus d'un élément. Les raisons d'une livraison ignorée ne doivent pas être en double (c'est-à-dire que tous les champs doivent être identiques, à l'exception de exampleVehicleIndex
). Exemple :
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
exampleVehicleIndex: 1
exampleExceededCapacityType: "Apples"
}
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
exampleVehicleIndex: 3
exampleExceededCapacityType: "Pears"
}
reasons {
code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
exampleVehicleIndex: 1
}
L'envoi ignoré est incompatible avec tous les véhicules. Les raisons peuvent être différentes pour tous les véhicules, mais la capacité "Pommes" d'au moins un véhicule sera dépassée (y compris le véhicule 1), la capacité "Pears" d'au moins un véhicule (y compris le véhicule 3) et la limite de distance d'au moins un véhicule (y compris le véhicule 1).
Représentation JSON |
---|
{
"code": enum ( |
Champs | |
---|---|
code |
Reportez-vous aux commentaires de Code. |
exampleExceededCapacityType |
Si le code de motif est |
exampleVehicleIndex |
Si le motif est lié à une incompatibilité avec un véhicule de livraison, ce champ fournit l'index d'un véhicule pertinent. |
Code
Code identifiant le type de motif. L'ordre ici n'a aucune signification. En particulier, il n'indique pas si une raison donnée apparaîtra avant une autre dans la solution, si les deux s'appliquent.
Enums | |
---|---|
CODE_UNSPECIFIED |
Elle ne doit jamais être utilisée. |
NO_VEHICLE |
Aucun véhicule du modèle ne rend toutes les expéditions impossibles. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
La demande de l'envoi dépasse la capacité d'un véhicule pour certains types de capacité, dont exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
La distance minimale nécessaire pour effectuer cet envoi, c'est-à-dire de l' Notez que pour ce calcul, nous utilisons les distances géodésiques. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
Le temps minimal nécessaire pour effectuer cette livraison, y compris la durée du trajet, le temps d'attente et le temps de maintenance, dépasse la valeur Remarque : dans le meilleur des cas, le temps de trajet est calculé comme suit : distance géodésique x 36 m/s (soit environ 130 km/heure). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
Mêmes données que ci-dessus, mais nous ne comparons que la durée minimale du trajet et le travelDurationLimit du véhicule. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
Le véhicule ne peut pas effectuer cette livraison dans le meilleur des cas (voir CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT pour le calcul du temps) s'il commence à son heure de début la plus précoce : le temps total ferait que le véhicule se terminerait après son heure de fin la plus tardive. |
VEHICLE_NOT_ALLOWED |
Le champ allowedVehicleIndices de l'envoi n'est pas vide et ce véhicule n'y est pas associé. |