Les objectifs sont des paramètres qui prédéfinissent des cibles d'optimisation courantes, telles que la distance ou la durée de trajet la plus courte, les livraisons à temps ou l'équilibrage des charges entre les conducteurs. Ils sont conçus pour permettre aux développeurs de se familiariser plus facilement avec l'API Route Optimization avant d'apprendre les subtilités et la personnalisation complète des paramètres de coût. (Pour savoir comment personnaliser entièrement vos objectifs, consultez la section "cost model ".)
Lorsqu'ils sont définis, les ShipmentModel.objectives remplacent complètement le modèle de coût
. Ils sont donc incompatibles avec les coûts préexistants. Chaque
Objective correspond à un certain nombre de coûts prédéfinis pour les véhicules, les expéditions ou les
attributs de transition.
Lorsque vous spécifiez le mode de résolution TRANSFORM_AND_RETURN_REQUEST,
la requête n'est pas résolue. Elle est uniquement validée et remplie avec les coûts
correspondant aux objectifs donnés. La requête modifiée est renvoyée en tant que
OptimizeToursResponse.processed_request. Tous les autres modes de résolution renvoient la requête résolue.
Le mode de résolution TRANSFORM_AND_RETURN_REQUEST n'est valide que pour les requêtes OptimizeTours et n'est pas disponible pour les autres requêtes de l'API Route Optimization.
Exemple : Envoyer une requête ShipmentModel.objectives
Avant d'envoyer une requête, procédez comme suit :
- Assurez-vous que les identifiants par défaut de l'application sont configurés comme décrit dans Utiliser OAuth.
Définissez PROJECT_NUMBER_OR_ID sur le numéro ou l'ID de votre projet Cloud.
La commande suivante envoie une
OptimizeToursRequestà l'API Route Optimization, qui renvoie uneOptimizeToursResponse.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ], } } EOM
Exemple : Envoyer une requête TRANSFORM_AND_RETURN_REQUEST
Avant d'envoyer une requête, procédez comme suit :
- Assurez-vous que les identifiants par défaut de l'application sont configurés comme décrit dans Utiliser OAuth.
Définissez PROJECT_NUMBER_OR_ID sur le numéro ou l'ID de votre projet Cloud.
La commande suivante envoie un
OptimizeToursRequestà l' API Route Optimization, qui renvoie unOptimizeToursResponseavec leProcessedRequestchamp défini. La commande précédente génère une réponse semblable à la suivante.curl -X POST 'https://routeoptimization.googleapis.com/v1/projects/PROJECT_NUMBER_OR_ID:optimizeTours' \ -H "Content-Type: application/json" \ -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ --data @- <<EOM { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.42506261000996, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.42421503206021, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } EOM
{ "processedRequest": { "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 37.425062610009959, "longitude": -122.09535511930135 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 37.424215032060211, "longitude": -122.09526063135228 } } ] } ], "vehicles": [ { "travelMode": "DRIVING", "costPerHour": 30, "costPerTraveledHour": 330, "costPerKilometer": 0.2 } ], "objectives": [ { "type": "MIN_TRAVEL_TIME" } ] }, "solvingMode": "TRANSFORM_AND_RETURN_REQUEST" } }