Descripción general de la API de Route Optimization

Route Optimization es una API de Google Maps Platform que acepta objetivos de enrutamiento de vehículos y restricciones operativas en forma de datos estructurados para proporcionar un plan de ruta para uno o más vehículos.

Por qué usar la optimización de rutas

Con la API de optimización de rutas, puedes establecer o definir mejor un proceso automatizado de despacho o planificación de rutas que mejore la eficiencia operativa de tus necesidades de transporte. Con parámetros para expresar tus objetivos operativos y restricciones únicos, y un algoritmo creado a partir de los datos confiables de Google Maps, el servicio genera los mejores planes de ruta posibles para cumplir con esas restricciones. Estos son algunos ejemplos de casos de uso:

  • Una empresa de logística usa Route Optimization para optimizar las asignaciones de todos los envíos al día siguiente y proporciona una ruta para cada envío que optimiza la distancia y la eficiencia de tiempo, el ahorro de costos, la entrega a tiempo y la satisfacción del conductor y el cliente final.
  • Una empresa de entrega de comida a pedido usa Route Optimization en su proceso de despacho en tiempo real para elegir el mejor conductor activo para recoger varios pedidos nuevos y, luego, insertarlo en sus rutas existentes.
  • Un proveedor de servicios médicos usa la optimización de rutas para asignar proveedores de atención médica a las citas, lo que mejora la eficiencia de las rutas de cada proveedor a lo largo del día.
  • Un proveedor de servicios de campo usa la optimización de rutas para encontrar la ruta y secuencia óptimas para las citas de servicio del técnico y volver a optimizar cuando se producen cambios de condición, por ejemplo, con retrasos en la ruta.

Qué puedes hacer con Route Optimization

Con la API de optimización de rutas, puedes optimizar las rutas y asignaciones de tareas para una flota de vehículos, teniendo en cuenta varios objetivos y restricciones.

Ejemplos de los objetivos:

  • Eficiencia de viaje: Define tus requisitos para la eficiencia de viajes en función de parámetros como la distancia y el tiempo hasta el destino.
  • Llega a tiempo: Asegúrate de que los vehículos lleguen a tiempo para sus tareas. Por ejemplo, define un período determinado para una acción de retiro, entrega o servicio.
  • Costo de uso del vehículo: Minimiza la cantidad de vehículos necesarios para realizar las tareas y, así, ahorrar costos.
  • Balanceo de cargas: Asegúrate de que las tareas se distribuyan de manera equitativa entre la flota de vehículos y el personal.

Ejemplos de las restricciones:

  • Horario laboral del conductor: Hora de inicio y finalización del trabajo, y tiempo de descanso
  • Capacidad del vehículo: Es la cantidad máxima de carga que un vehículo puede llevar a la vez.
  • Períodos: Se requiere un horario específico para llegar, como la disponibilidad del cliente o el horario de atención de la tienda.
  • Dependencias y compatibilidad: Define las dependencias de trabajo de una de las siguientes maneras:

    • Requiere tipos específicos de vehículos o personal.
    • Requiere que se realice otro trabajo primero.
    • Un envío debe ser el único en el vehículo en un momento determinado.

Consulta las guías de referencia para desarrolladores (REST, gRPC) para obtener detalles y todos los parámetros disponibles.

Cómo funciona la optimización de rutas

La API de Route Optimization usa varias entradas para mostrar un plan de ruta. Los datos de entrada incluyen vehículos, tareas o envíos, objetivos y restricciones. Un plan de ruta incluye la asignación de tareas a vehículos, las rutas con varias paradas para cada vehículo y las métricas relacionadas.

La API de Route Optimization logra esto con dos métodos:

  • OptimizeTours: Una API síncrona, que requiere que el cliente espere la respuesta del servidor antes de continuar con otras tareas
  • BatchOptimizeTours: Una API asíncrona que permite al cliente continuar con otras tareas antes de que el servidor finalice y responda

Ambos métodos comparten la misma interfaz y los parámetros admitidos. Puedes leer más sobre BatchOptimizeTours en Extremos síncronos y asíncronos.

La API de optimización de rutas acepta una solicitud POST HTTP con un cuerpo de solicitud JSON que contiene los detalles de la entrada.

La solicitud de OptimizeTours

La solicitud consta de las siguientes entidades obligatorias:

  • Modelo: Es una entidad global en la que se configuran las restricciones y la configuración de nivel global. También contiene Envíos y Vehículos.
  • Envío: Se usa para definir una tarea o un envío real que puede incluir una tarea de retiro y una visita de entrega, y los atributos correspondientes, incluidas las ubicaciones y otros atributos, restricciones y funciones de costo. Consulta la documentación de referencia de Envío (REST, gRPC) para obtener más información.
  • Vehículo: Se usa para definir un vehículo (o un conductor o personal) y los atributos de viaje correspondientes, incluidas las ubicaciones de partida y otros atributos, restricciones y funciones de costos del vehículo o del viaje. Consulta (REST, gRPC) para obtener más detalles.

Consulta Optimización de pedidos de retiro y entrega para ver un ejemplo simple.

La respuesta de OptimizeTours

La API de optimización de rutas muestra una respuesta JSON que incluye el plan de ruta para los vehículos y las tareas o envíos.

  • Rutas: Contiene las rutas para cada vehículo con sus tareas (o envíos) asignados.
  • Métricas: métricas agregadas sobre el plan de ruta generado

Consulta Optimización de pedidos de retiro y entrega para ver un ejemplo simple.

Obtén más detalles sobre cómo construir la solicitud y cómo interpretar la respuesta en Interpreta la respuesta.

Recursos

En la siguiente tabla, se resumen los recursos disponibles a través de la API de optimización de rutas junto con los datos que muestra.

Recursos de datos Datos que se muestran Formato de devolución
batchOptimizeTours (REST, gRPC) Muestra el nombre del recurso de una operación de larga duración, que indica cuando se completa el procesamiento. Proto de JSON o gRPC
optimizeTours (REST, gRPC) Devuelve una ruta optimizada, con detalles de las visitas y las métricas. Proto de JSON o gRPC

Cómo usar la optimización de rutas

1 Preparación Comienza con Configura tu proyecto de Google Cloud y completa las instrucciones de configuración que se indican a continuación.
2 Cómo ejecutar una solicitud básica y recibir una respuesta Después de la configuración, comienza con el envío de una solicitud básica y obtén la respuesta. Para ello, sigue las instrucciones sobre cómo crear una solicitud y, luego, Interpretar la respuesta.
3 Prueba una situación más avanzada y comienza a crear tu propia solicitud. Explora situaciones de ejemplo que comienzan con la Optimización de pedidos de retiro y entrega y comienza a crear solicitudes que coincidan con tus casos de uso.

Bibliotecas cliente disponibles

Si deseas obtener una lista de las bibliotecas cliente disponibles para la API de Route Optimization, consulta Bibliotecas cliente.

¿Qué sigue?