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 impostato, ShipmentModel.objectives
sovrascrive completamente il modello di costi, pertanto non è compatibile con i costi preesistenti. Ogni
Objective
corrisponde a una serie 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 sul numero o sull'ID del tuo progetto Cloud.
Il seguente comando invia un
OptimizeToursRequest
all'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 sul numero o sull'ID del tuo progetto Cloud.
Il seguente comando invia una richiesta
OptimizeToursRequest
all'API Route Optimization, che restituisce una rispostaOptimizeToursResponse
con il campoProcessedRequest
impostato. 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" } }