Gli obiettivi sono parametri che predefiniscono target di ottimizzazione comuni, come
la distanza o la durata del viaggio più breve, le consegne puntuali, il bilanciamento dei carichi
tra i conducenti. Lo scopo è semplificare l'onboarding degli sviluppatori all'API Route Optimization prima di apprendere le complessità e la personalizzazione completa dei parametri di costo. Per scoprire come personalizzare completamente la vasta gamma di obiettivi, consulta "cost model ".
Se impostati, i ShipmentModel.objectives sovrascrivono completamente il modello di costi, pertanto sono incompatibili con i costi preesistenti. Ogni
Objective corrisponde a un numero di costi predefiniti per veicoli, spedizioni o
attributi di transizione.
Quando specifichi la modalità di risoluzione TRANSFORM_AND_RETURN_REQUEST,
la richiesta non viene risolta, ma solo convalidata e compilata con i costi
corrispondenti agli obiettivi specificati. La richiesta modificata viene restituita come
OptimizeToursResponse.processed_request. Tutte le altre modalità di risoluzione
restituiscono la richiesta risolta.
La modalità di risoluzione TRANSFORM_AND_RETURN_REQUEST è valida solo per le richieste OptimizeTours e non è disponibile per altre richieste dell'API Route Optimization.
Esempio: inviare una richiesta ShipmentModel.objectives
Prima di effettuare una richiesta, completa i seguenti passaggi:
- Assicurati di aver configurato le credenziali predefinite dell'applicazione come descritto in Utilizzare OAuth.
Imposta PROJECT_NUMBER_OR_ID sull'ID o sul numero del tuo progetto Cloud.
Il seguente comando invia un
OptimizeToursRequestall'API Route Optimization, che restituisce 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
Esempio: inviare una richiesta TRANSFORM_AND_RETURN_REQUEST
Prima di effettuare una richiesta, completa i seguenti passaggi:
- Assicurati di aver configurato le credenziali predefinite dell'applicazione come descritto in Utilizzare OAuth.
Imposta PROJECT_NUMBER_OR_ID sull'ID o sul numero del tuo progetto Cloud.
Il seguente comando invia una richiesta
OptimizeToursRequestall'API Route Optimization, che restituisce una rispostaOptimizeToursResponsecon il campoProcessedRequestimpostato. Il comando precedente produrrà una risposta simile alla seguente.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" } }