Los objetivos son parámetros que predefinen objetivos de optimización comunes, como la distancia o la duración de viaje más corta, las entregas a tiempo y el equilibrio de las cargas entre los conductores. El objetivo es facilitar la incorporación de los desarrolladores a la API de Route Optimization antes de aprender las complejidades y la personalización completa de los parámetros de costo. (Consulta "cost model " para obtener información sobre cómo personalizar por completo tu amplia variedad de objetivos).
Cuando se establece, el ShipmentModel.objectives anula por completo el modelo de costos, por lo que no es compatible 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,
la solicitud no se resuelve, solo se valida y se completa con los costos
correspondientes a los objetivos dados. La solicitud modificada se muestra como
OptimizeToursResponse.processed_request. Todos los demás modos de resolución mostrarán la solicitud resuelta.
El modo de resolución TRANSFORM_AND_RETURN_REQUEST solo es válido para las solicitudes 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 Usar OAuth.
Establece PROJECT_NUMBER_OR_ID en el número o el ID de tu proyecto de Cloud.
El siguiente comando envía una
OptimizeToursRequesta la API de Route Optimization, que muestra unaOptimizeToursResponse.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 Usar OAuth.
Establece PROJECT_NUMBER_OR_ID en el número o el ID de tu proyecto de Cloud.
El siguiente comando envía un
OptimizeToursRequesta la API de Route Optimization, que muestra unOptimizeToursResponsecon elProcessedRequestcampo 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" } }