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.
Se impostato, ShipmentModel.objectives
sovrascrive completamente il modello di costi, pertanto non è compatibile con i costi preesistenti. Ogni
Objective
corrisponde a un numero di costi predefiniti per veicoli, spedizioni o
attributi di transizione.
Quando viene specificata 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 un
OptimizeToursRequest
all'API Route Optimization, che restituisce unOptimizeToursResponse
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" } }