Los objetivos son parámetros que definen previamente los objetivos de optimización comunes, como la distancia o la duración de viaje más cortas, las entregas a tiempo y el equilibrio de las cargas entre los conductores. Su objetivo es facilitar la incorporación de los desarrolladores a la API de Route Optimization antes de que aprendan las sofisticaciones y la personalización completa de los parámetros de costo.
Cuando se configuran, los ShipmentModel.objectives
anulan por completo el modelo de costos, por lo que son incompatibles con los costos preexistentes. Cada Objective
se asigna a una cantidad de costos predefinidos para vehículos, envíos o atributos de transición.
Cuando se especifica el modo de resolución TRANSFORM_AND_RETURN_REQUEST
, no se resuelve la solicitud, sino que solo se valida y se completa con los costos correspondientes a los objetivos determinados. La solicitud modificada se devuelve como OptimizeToursResponse.processed_request
. Todos los demás modos de resolución devolverán la solicitud resuelta.
El modo de resolución TRANSFORM_AND_RETURN_REQUEST
solo es válido para las solicitudes de OptimizeTours
y no está disponible para otras solicitudes de la API de Route Optimization.
Ejemplo: Realiza una solicitud ShipmentModel.objectives
Antes de realizar una solicitud, completa los siguientes pasos:
- Asegúrate de tener configuradas las credenciales predeterminadas de la aplicación como se describe en Usa OAuth.
Establece PROJECT_NUMBER_OR_ID en el ID o número de tu proyecto de Cloud.
El siguiente comando envía un
OptimizeToursRequest
a la API de Route Optimization, que devuelve 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
Ejemplo: Realiza una solicitud TRANSFORM_AND_RETURN_REQUEST
Antes de realizar una solicitud, completa los siguientes pasos:
- Asegúrate de tener configuradas las credenciales predeterminadas de la aplicación como se describe en Usa OAuth.
Establece PROJECT_NUMBER_OR_ID en el ID o número de tu proyecto de Cloud.
El siguiente comando envía una
OptimizeToursRequest
a la API de Route Optimization, que devuelve unaOptimizeToursResponse
con el campoProcessedRequest
establecido. El comando anterior producirá una respuesta similar a la siguiente.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" } }