Réponse après résolution d'un problème d'optimisation de tournée contenant les itinéraires suivis par chaque véhicule, les expéditions qui ont été ignorées et le coût global de la solution.
| Représentation JSON |
|---|
{ "routes": [ { object ( |
| Champs | |
|---|---|
routes[] |
Itinéraires calculés pour chaque véhicule. Le i-ème itinéraire correspond au i-ème véhicule du modèle. |
requestLabel |
Copie de |
skippedShipments[] |
Liste de tous les envois ignorés. |
validationErrors[] |
Liste de toutes les erreurs de validation que nous avons pu détecter de manière indépendante. Consultez l'explication "ERREURS MULTIPLES" pour le message |
processedRequest |
Dans certains cas, nous modifions la demande entrante avant de la résoudre, par exemple en ajoutant des coûts. Si solvingMode == TRANSFORM_AND_RETURN_REQUEST, la requête modifiée est renvoyée ici. Expérimental : pour en savoir plus, consultez https://developers.google.com/maps/tt/route-optimization/experimental/objectives/make-request. |
metrics |
Métriques de durée, de distance et d'utilisation pour cette solution. |
OptimizeToursValidationError
Décrit une erreur ou un avertissement rencontré lors de la validation d'un OptimizeToursRequest.
| Représentation JSON |
|---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
| Champs | |
|---|---|
code |
Une erreur de validation est définie par la paire ( Les champs qui suivent cette section fournissent plus de contexte sur l'erreur. ERREURS MULTIPLES : lorsque plusieurs erreurs sont détectées, le processus de validation tente d'en afficher plusieurs. Comme un compilateur, ce processus n'est pas parfait. Certaines erreurs de validation sont "fatales", ce qui signifie qu'elles interrompent l'ensemble du processus de validation. C'est le cas, entre autres, des erreurs STABILITÉ : |
displayName |
Nom à afficher de l'erreur. |
fields[] |
Un contexte d'erreur peut impliquer 0, 1 (la plupart du temps) ou plusieurs champs. Par exemple, vous pouvez faire référence à la première collecte du véhicule 4 et de l'envoi 2 comme suit : Notez toutefois que la cardinalité de |
errorMessage |
Chaîne lisible décrivant l'erreur. Il existe un mappage un-à-un entre STABILITÉ : Non stable. Le message d'erreur associé à un |
offendingValues |
Peut contenir la ou les valeurs du ou des champs. Cette option n'est pas toujours disponible. Vous ne devez absolument pas vous y fier et ne l'utiliser que pour le débogage manuel des modèles. |
FieldReference
Spécifie un contexte pour l'erreur de validation. Un FieldReference fait toujours référence à un champ donné de ce fichier et suit la même structure hiérarchique. Par exemple, nous pouvons spécifier l'élément 2 de startTimeWindows du véhicule 5 à l'aide de :
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Toutefois, nous omettons les entités de premier niveau telles que OptimizeToursRequest ou ShipmentModel pour éviter d'encombrer le message.
| Représentation JSON |
|---|
{
"name": string,
"subField": {
object ( |
| Champs | |
|---|---|
name |
Nom du champ (par exemple, "vehicles"). |
subField |
Sous-champ imbriqué de manière récursive, si nécessaire. |
| Vous trouverez ci-dessous la liste des champs mutuellement exclusifs. Au maximum, un seul des champs sera défini dans une réponse : | |
index |
Index du champ s'il est répété. |
key |
Clé si le champ est une carte. |
| Fin des champs qui s'excluent mutuellement. | |
Métriques
Métriques globales, agrégées sur tous les itinéraires.
| Représentation JSON |
|---|
{
"aggregatedRouteMetrics": {
object ( |
| Champs | |
|---|---|
aggregatedRouteMetrics |
Agrégé sur les itinéraires. Chaque métrique correspond à la somme (ou au maximum, pour les charges) de tous les champs |
skippedMandatoryShipmentCount |
Nombre d'expéditions obligatoires ignorées. |
usedVehicleCount |
Nombre de véhicules utilisés. Remarque : Si un itinéraire de véhicule est vide et que |
earliestVehicleStartTime |
Heure de début la plus ancienne pour un véhicule d'occasion, calculée comme le minimum de Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
latestVehicleEndTime |
Dernière heure de fin pour un véhicule d'occasion, calculée comme le maximum de Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : |
costs |
Coût de la solution, ventilé par champs de demande liés aux coûts. Les clés sont des chemins proto, relatifs à l'OptimizeToursRequest d'entrée (par exemple, "model.shipments.pickups.cost"), et les valeurs sont le coût total généré par le champ de coût correspondant, agrégé sur l'ensemble de la solution. En d'autres termes, costs["model.shipments.pickups.cost"] correspond à la somme de tous les coûts de retrait de la solution. Tous les coûts définis dans le modèle sont indiqués en détail ici, à l'exception de ceux liés à TransitionAttributes, qui ne sont signalés de manière agrégée qu'à partir du 01/01/2022. |
totalCost |
Coût total de la solution. Somme de toutes les valeurs de la carte des coûts. |