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 les plus courtes, les livraisons à l'heure ou l'équilibrage des charges entre les conducteurs. Il est conçu pour permettre aux développeurs de s'intégrer plus facilement à l'API Route Optimization avant d'apprendre les subtilités et la personnalisation complète des paramètres de coût. (Consultez cost model
pour découvrir comment personnaliser entièrement votre large éventail d'objectifs.)
Lorsqu'ils sont définis, les ShipmentModel.objectives
remplacent complètement le modèle de coûts. Ils sont donc incompatibles avec les coûts préexistants. Chaque Objective
correspond à un certain nombre de coûts prédéfinis pour les attributs de véhicules, d'expéditions ou de transitions.
Lorsque vous spécifiez le mode de résolution TRANSFORM_AND_RETURN_REQUEST
, la demande n'est pas résolue. Elle est uniquement validée et complétée avec les coûts correspondant aux objectifs indiqués. La requête modifiée est renvoyée sous la forme 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 : effectuer une requête ShipmentModel.objectives
Avant de faire une demande, procédez comme suit :
- Assurez-vous d'avoir configuré les identifiants par défaut de l'application 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 unOptimizeToursResponse
.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 : effectuer une requête TRANSFORM_AND_RETURN_REQUEST
Avant de faire une demande, procédez comme suit :
- Assurez-vous d'avoir configuré les identifiants par défaut de l'application 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 requête
OptimizeToursRequest
à l'API Route Optimization, qui renvoie une réponseOptimizeToursResponse
avec le champProcessedRequest
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" } }