Disponible con una licencia de Network Analyst.
En este ejercicio, buscará las mejores rutas para una flota de vehículos, operada por una empresa de distribución, para entregar mercancías desde un centro de la distribución a un conjunto de 25 tiendas de comestibles. Cada almacén tiene una cantidad concreta de demanda de mercancías y cada camión tiene una capacidad limitada para llevar las mercancías. El objetivo principal es asignar a los camiones de la flota un subconjunto de las tiendas a las que prestar servicio y establecer la secuencia de entregas de manera que se minimicen los costes de transporte totales.
Esto se puede lograr resolviendo un problema de generación de rutas para vehículos (VRP). Una vez determinada la secuencia de entrega, generará instrucciones giro por giro para las rutas resultantes, que se pueden distribuir electrónicamente, o imprimirse y entregarse a los conductores para que hagan las entregas.
Obtener los datos
Puede descargar los datos de este tutorial.
- Vaya a la página de descarga de datos.
- Haga clic en el botón Descargar y guarde localmente el archivo.
- Descomprima el archivo descargado.
Crea un mapa
- Abra ArcGIS Pro.
- Cree un proyecto nuevo basado en la plantilla Map.aptx.
Aparece un proyecto nuevo con un mapa.
Agregar los datos del tutorial al proyecto
Un dataset de red es un modelo inteligente del sistema de carreteras. No solo contiene la ubicación y los atributos de las carreteras, sino también información sobre cómo se relacionan entre sí las carreteras, por ejemplo, qué carreteras están conectadas, qué giros entre carreteras conectadas están prohibidos o permitidos, así como otra información que afecta a las rutas de viaje disponibles y a la duración del viaje. El solucionador de rutas hace referencia al dataset de red para determinar las rutas más cortas entre paradas.
Nota:
Si realiza un análisis utilizando ArcGIS Online, el solucionador hace referencia a un dataset de red mundial y de alta calidad almacenado en la nube de ArcGIS Online y utiliza créditos de ArcGIS Online. También puede utilizar su propio dataset de red almacenado localmente en su equipo o utilizar ArcGIS Enterprise para publicar servicios de generación de rutas mediante el uso de su propio dataset de red y configurar los servicios con su portal corporativo para utilizarlos desde ArcGIS Pro.En esta serie de pasos deberá agregar un dataset de red al mapa.
- En el panel Catálogo, que se encuentra en el lateral de la aplicación de forma predeterminada, haga clic con el botón derecho en Carpetas y elija Agregar conexión de carpeta .
Se abrirá el cuadro de diálogo Agregar conexión de carpeta.
- Examine la carpeta donde colocó los datos del tutorial, haga doble clic en Network Analyst y, a continuación, haga clic en Tutorial para seleccionar la carpeta.
- Haga clic en Aceptar.
Se creará una conexión a la carpeta Tutorial.
- En el panel Catálogo, expanda Carpetas > Tutorial > SanFrancisco.gdb > Transporte.
- Arrastre Streets_ND, que tiene un icono de dataset de red sobre el mapa.
El dataset de red se agrega al panel Contenido y al mapa.
- Haga clic en Streets_ND en el panel Contenido y elija Zoom a capa para ver el área de San Francisco.
De forma predeterminada, los datasets de red creados con datos de tráfico muestran las condiciones del tráfico para la fecha y hora actual cuando se agregan al mapa. En este dataset de red se incluye el tráfico histórico, de modo que lo que está viendo son las condiciones del tráfico típicas para el día y la hora actuales de la semana. No todas las carreteras de este dataset de red incluyen el tráfico, de modo que, de forma predeterminada, solo se muestran aquellas que sí lo hacen.
El área que cubre el dataset de red es donde puede realizar análisis de red.
No es necesario visualizar el dataset de red para realizar un análisis, por lo que, para el siguiente análisis podrá ocultarlo.
- En el panel Contenido, desactive Streets_ND para visualizar solo el mapa base.
- En el panel Catálogo, vaya a Tutorial > SanFrancisco.gdb > Análisis.
- En el panel Catálogo, haga clic con el botón derecho en la capa Tiendas y elija Agregar a mapa actual.
La capa Tiendas se agrega al panel Contenido y al mapa.
- Repita el paso 9 para agregar la capa DistributionCenter al mapa.
Nota:
También puede agregar una capa al mapa arrastrándola desde el panel Catálogo al mapa.
A continuación, agregue uno de los datasets de red de la carpeta al mapa.
Crear la capa Problema de generación de rutas para vehículos
Una capa de Problema de generación de rutas para vehículos (VRP) proporciona la estructura y las propiedades necesarias para definir y solucionar problemas de generación de rutas para varios vehículos. También contiene los resultados posteriores a la solución.
- En la pestaña Análisis del grupo Flujos de trabajo, haga clic en Análisis de red > Problema de generación de rutas para vehículos .
La capa VRP se agrega al panel Contenido. Incluye varias subcapas que contienen las entradas y salidas del análisis.
Esto hace referencia al dataset de red de San Francisco porque la red estaba en el panel Contenido cuando se creó la capa VRP.
Nota:
Para ver o cambiar la fuente de datos de red que se utiliza para crear la capa de análisis de red, en la pestaña Análisis, en el grupo Flujos de trabajo, puede hacer clic en el menú desplegable Análisis de red y buscar en Fuente de datos de red.
- En el panel Contenido, haga clic en Problema de generación de rutas para vehículos para seleccionar la capa de grupo.
La pestaña Problema de generación de rutas para vehículos aparece en el grupo Network Analyst, en la parte superior de ArcGIS Pro.
- Haga clic en VRP para ver los controles de la pestaña.
Utilizará estos controles para definir el modelo VRP que desea generar.
Sugerencia:
La pestaña VRP solo aparece cuando se selecciona una capa de VRP en el panel Contenido. Además, si tiene varias capas VRP, puede cambiar la configuración de las capas individualmente o seleccionar varias capas para editar la configuración de todas las capas seleccionadas si comparten la misma fuente de datos de red.
Agregar órdenes
Agregará las ubicaciones de las tiendas de comestibles a la clase de análisis de red Órdenes. Puede pensar en las órdenes como en pedidos que satisfacer, dado que cada tienda de comestibles ha pedido que le entreguen mercancías desde el centro de distribución. Los miembros de la clase Órdenes se convertirán finalmente en paradas a lo largo de las rutas de los vehículos.
Las ubicaciones de las tiendas de comestibles ya se han agregado como una capa de entidades, Almacenamientos, en el documento de mapa. Los atributos de las Tiendas contienen información sobre el peso total de las mercancías (en libras) solicitadas en cada tienda, la ventana de tiempo durante la que debe realizarse la entrega y el tiempo de servicio (en minutos) empleado en la visita a una tienda. El tiempo de servicio es el tiempo necesario para descargar las mercancías.
La tabla muestra los valores de fecha de 12/30/1899. Este es el valor de fecha utilizado para indicar que solo se está especificando una hora. Cuando todos los campos de hora tienen esta fecha asociada con sus valores de hora, el solucionador utilizará la fecha predeterminada para determinar la fecha que se utilizará para la resolución. En este caso, resolveremos para un lunes genérico y eso se utilizará en cada campo de tiempo.
Obtenga más información sobre las ventanas de tiempo y cómo especificar fechas
- En la pestaña VRP, en el grupo Datos de entrada, haga clic en Importar órdenes.
Aparece la ventana Agregar ubicaciones.
- Asegúrese de que la Capa de análisis de red de entrada esté establecida en Problema de generación de rutas para vehículos y que la Subcapa esté establecida en Órdenes.
- Haga clic en la flecha desplegable para Ubicaciones de entrada y elija Tiendas. Se trata de la clase de entidad de puntos que agregó previamente al mapa.
- En Asignaciones de campos, elija Nombre de Propiedad y asegúrese de que NAME se asigne automáticamente en el parámetro Nombre de campo.
- Asigne los siguientes campos si no se asignan automáticamente:
- TimeWindowStart > TimeStart1
- TimeWindowEnd > TimeEnd1
- DeliveryQuantity_1 > Demanda
- En Asignaciones de campos, seleccione MaxViolationTime desde Propiedad y escriba 0 en el parámetro Valor predeterminado.
Esto indica que la ubicación no puede visitarse fuera de su ventana de tiempo designada.
- Deje la configuración predeterminada para el resto de parámetros y haga clic en el botón Aceptar.
Se incluyen un total de 25 tiendas en la tabla de atributos Órdenes y se visualizan como órdenes en el mapa.
Agregar depósitos
Las mercancías se entregan desde un único centro de distribución cuya ubicación se muestra en la capa de entidad DistributionCenter que se agregó previamente al mapa. El centro de distribución opera entre las 8:00 a.m. y las 5:00 p.m. Puede agregar esta entidad de puntos a la clase de análisis de red Depósitos.
- En la pestaña VRP, en el grupo Datos de entrada, haga clic en Importar depósitos.
Aparece la ventana Agregar ubicaciones.
- Asegúrese de que la Capa de análisis de red de entrada esté establecida en Problema de generación de rutas para vehículos y que la Subcapa esté establecida en Depósitos.
- Haga clic en la flecha desplegable para Ubicaciones de entrada y elija DistributionCenter.
- En Asignaciones de campos, elija Nombre de Propiedad y asegúrese de que NAME se asigne automáticamente en el parámetro Nombre de campo.
- En Asignaciones de campos, elija TimeWindowStart desde Propiedad y escriba 8AM en el parámetro Valor predeterminado.
- En Asignaciones de campos, elija TimeWindowEnd desde Propiedad y escriba 5PM en el parámetro Valor predeterminado.
- Deje la configuración predeterminada para el resto de parámetros y haga clic en el botón Aceptar.
Un centro de distribución se incluye en la tabla de atributos Depósitos y se muestra como un depósito en el mapa.
Agregar rutas
El centro de distribución tiene tres camiones, cada uno con una capacidad máxima de transporte de 15.000 libras de mercancías. Agregará tres rutas (una para cada vehículo) y establecerá las propiedades para las rutas sobre la base de los procedimientos operativos del centro.
- En la pestaña VRP, en el grupo Datos de entrada, haga clic en la flecha desplegable para Importar rutas y seleccione Agregar rutas.
Aparece la ventana Agregar ubicaciones.
- Asegúrese de que Capa de entrada de Problema de generación de rutas para vehículos se establezca en Problema de generación de rutas para vehículos.
- Para Número de rutas, introduzca 3.
- Cambie Prefijo de nombre de ruta a Camión.
- Desde las opciones desplegables Nombre de depósito inicial y Nombre de depósito final, seleccione San Francisco.
- Cambie Hora de inicio más temprana y Última hora de inicio a 8:00:00 AM.
- Cambie Número máx. de órdenes a 10.
- Para Capacity_1, introduzca el valor 15000.
- Para Restricciones de la ruta, introduzca los siguientes valores:
Parámetro
Valor
Descripción
Tiempo máximo total
360
Debido a las restricciones del horario laboral, los conductores no pueden tener turnos de trabajo de más de seis horas (360 minutos).
Tiempo de viaje máximo total
120
Para satisfacer las restricciones del horario laboral y poder continuar dando servicio a un número razonable de tiendas, teniendo en cuenta el tiempo de servicio necesario en una tienda, el camión no debe pasar más de dos horas (120 minutos) circulando por las calles.
Distancia máxima total
80
Para repartir los costes diarios de combustible y mantenimiento entre la flota, cada camión no debe recorrer más de 80 millas en su ruta.
- Para Costes, introduzca los siguientes valores:
Parámetro
Valor
Descripción
Coste por unidad de tiempo
0,20
Al conductor del camión se le paga 12 $ por hora, de modo que el sueldo es:12,00 $/60 minutos = 0,20 $ por minuto.
Coste por unidad de distancia
1,5
El importe medio en dólares que se gasta por milla en combustible, depreciación del camión y mantenimiento.
- Deje la configuración predeterminada para el resto de parámetros y haga clic en el botón Aceptar.
Se agregan tres rutas a la tabla de tributos de la subcapa Ruta.
Establecer las propiedades para el análisis del problema de generación de rutas para vehículos
La cinta VRP incluye diferentes secciones donde puede especificar parámetros para la capa.
- En la pestaña VRP, en el grupo Configuración de viaje, abra el cuadro de diálogo de propiedades de capa haciendo clic en el botón Iniciar propiedades de modo de viaje en la esquina derecha de la sección Configuración de viaje.
Aparece el cuadro de diálogo Propiedades de capa: Problema de generación de rutas para vehículos.
- Expanda la sección Cambios de sentido y en la lista desplegable, seleccione Ninguno.
- Haga clic en Aceptar.
La lista desplegable Modo muestra <Driving Time> indicando que el modo de viaje se ha ajustado.
- En el grupo Configuración de viaje, asegúrese de que Unidades de campo de tiempo tenga el valor Minutos y que Unidades de campo de distancia tenga el valor Millas.
Nota:
Los ajustes Unidades de campo de tiempo y Unidades de campo de distancia son para los campos de las subcapas de VRP y no afectan a las unidades de dirección. Las unidades de dirección siempre se indican en el estándar de la configuración regional utilizada.
- En el grupo Fecha predeterminada, seleccione Día de la semana desde la lista desplegable Tipo de fecha predeterminada.
- Desde la lista desplegable resultante con los días de la semana, seleccione Lunes.
- En el grupo Geometría de salida, seleccione Líneas rectas de la lista desplegable Tipo de forma lineal de geometría de salida.
La geometría de salida Líneas rectas resulta útil cuando desea conocer las órdenes asignadas a la ruta y la secuencia con la que se visitan. Si desea conocer la ruta exacta que tomará cada vehículo, utilice la opción A lo largo de la red.
Nota:
Las opciones de la geometría de salida solo afectan a la visualización de las rutas, no a los resultados que determina el solucionador de VRP.
Nota:
Este ajuste no está disponible si se utiliza ArcGIS Online.
Ejecutar el análisis
Ejecute el análisis VRP para determinar la asignación de la mejor ruta y la secuencia de orden.
- En la pestaña VRP, haga clic en Ejecutar
El solucionador de VRP calcula las tres rutas necesarias para servir las órdenes y dibuja líneas que conectan las órdenes. Cada ruta comienza y finaliza en el centro de la distribución y sirve un conjunto de órdenes por el camino.
Determinar indicaciones giro por giros para las rutas
Puede ver las indicaciones de maniobra detalladas en el panel Indicaciones.
- En la pestaña VRP del grupo Indicaciones, haga clic en el botón Mostrar indicaciones .
Aparece el panel Indicaciones mostrando las indicaciones paso a paso para cada ruta.
Nota:
Las unidades de dirección se indican en un sistema métrico o imperial en función del estándar de la configuración regional utilizada.
- Si desea continuar con las siguientes secciones avanzadas de este ejercicio del tutorial, cierre el panel Indicaciones. De lo contrario, guarde el proyecto y salga de ArcGIS Pro.
Hacer cambios en la solución existente para resolver un escenario diferente y eliminar una ruta existente
La solución de VRP obtenida anteriormente funcionó bien para la empresa. Sin embargo, después de unas semanas, el conductor asignado a Truck2 se fue de vacaciones. Ahora la empresa de distribución debe dar servicio a las mismas tiendas, aunque ahora con solo dos camiones. Para acomodar la carga de trabajo adicional, la empresa decidió pagar horas extras a los otros dos conductores y darles un descanso pagado durante el día. La empresa de distribución también adquirió dos centros de distribución satélite adicionales. Los camiones pueden utilizar estos centros para renovar la carga mientras hacen sus entrega, en lugar de volver al centro de distribución principal para volver a cargar. Modificará la solución obtenida del paso anterior para acomodar estos cambios.
- En el panel Contenido, haga clic con el botón derecho en Rutas y seleccione Tabla de atributos desde el menú contextual.
La tabla de atributos aparece con los campos de entrada y salida para cada ruta.
- Seleccione la fila para Truck2 y haga clic en el botón Eliminar selección en la vista de tabla.
Con esto se elimina la fila de la tabla además de la ruta correspondiente del mapa.
- Haga clic en la pestaña Editar y, en el grupo Administrar ediciones, haga clic en el botón Guardar .
- Haga clic en Sí en el cuadro de diálogo Guardar cambios.
Modificar rutas para incluir horas extra
Para acomodar la carga de trabajo adicional, la empresa desea retirar de las rutas las restricciones de tiempo máximo, tiempo de viaje máximo y las distancia máxima. Dado que los conductores tienen que trabajar más tiempo que antes, se les paga la tarifa de hora extra a razón de 18 $ la hora una vez completadas seis horas de trabajo. En este paso, hará estos cambios en las rutas.
- Con la tabla de atributos Rutas aún abierta, desplácese a través de la tabla hasta el campo OvertimeStartTime y haga doble clic en editar.
- Edite Truck1 y Truck3 para que coincidan con los valores de la tabla siguiente. Para los atributos que tienen un valor <Null>, retire el valor que está presente.
Nombre de campo
Valor
Descripción
OvertimeStartTime
360
El conductor cobra horas extra si trabaja durante más de seis horas (360 minutos).
CostPerUnitOvertime
0,3
El conductor del camión recibe 18 $ por hora por las horas extraordinarias. Por lo tanto, el sueldo en dólares por minuto es de: 18,00 $/60 minutos = 0,30 $ por minuto.
MaxOrderCount
20
Dado que el conductor sobra horas extra, se espera que sirva a más tiendas.
MaxTotalTime
<Nulo>
No hay ninguna restricción en la duración total del turno de trabajo para el conductor.
MaxTotalTravelTime
<Nulo>
No hay ninguna restricción sobre el tiempo empleado conduciendo por las calles.
MaxTotalDistance
<Nulo>
No hay ninguna restricción sobre la distancia total recorrida por un camión.
- Haga clic en la pestaña Editar y, en el grupo Administrar ediciones, haga clic en el botón Guardar .
- Haga clic en Sí en el cuadro de diálogo Guardar cambios.
- Cierre la tabla de atributos Rutas.
Agregar reanudaciones de ruta
La empresa adquirió dos centros de distribución satélite en 800 Brush Street y 100 Old County Road que actúan como ubicaciones de reanudación para los camiones. Los camiones pueden reponer su carga visitando estas ubicaciones de reanudación y ahorrar tiempo no teniendo que volver al depósito inicial. Agregará las ubicaciones de reanudación a la clase de análisis de red Depósitos geocodificando sus direcciones. Las rutas que se pueden reanudar en una ubicación de reanudación y el momento del servicio para la reanudación se especifican en la clase de análisis de red Reanudaciones de ruta.
El primer conjunto de pasos consiste en situar las ubicaciones de reanudación en la capa Depósitos.
- Haga clic en la pestaña Mapa, y en el grupo Consulta, haga clic en el botón Localizar .
Aparece el panel Localizar.
- Haga clic en el botón desplegable Opciones junto al cuadro de búsqueda y seleccione Configuración del proveedor.
- Haga clic en el botón Agregar localizador a proyecto.
Aparecerá el cuadro de diálogo Seleccionar localizador existente.
- Vaya a la ubicación de los datos del tutorial y seleccione SanFranciscoLocator.loc.
- Haga clic en Aceptar en el cuadro de diálogo Seleccionar localizador existente.
SanFranciscoLocator.loc se agrega al panel Configuración del proveedor.
- Haga clic en el botón Volver al panel Localizar.
- En el cuadro Buscar, escriba 800 Brush St. y pulse Intro.
- Haga clic con el botón derecho en 800 Brush St, Oakland, California, 94607 en SanFranciscoLocator y seleccione Agregar a clase de entidad desde el menú contextual.
Nota:
El uso de Servicio de geocodificación mundial como el localizador utiliza créditos.
- Desde el cuadro de diálogo Agregar a clase de entidad, expanda Problema de generación de rutas para vehículos: Depósitos y seleccione Depósitos.
- Haga clic en Aceptar.
Se agrega un depósito a la tabla de atributos Depósitos y se agrega al mapa.
- Repita los pasos 7–10 con la dirección 100 Old County Rd, Brisbane, California, 94005.
- Cierre el panel Localizar.
- En el panel Contenido, haga clic con el botón derecho en la subcapa Depósitos y seleccione Tabla de atributos desde el menú contextual.
- En la tabla de atributos Depósitos, haga doble clic en el campo Nombre para cambiar el nombre de los nuevos depósitos agregados de 800 Brush St depot a Brush St y de 100 Old County Rd depot a Old County Rd respectivamente.
Estos nombres deben coincidir exactamente en el siguiente conjunto de pasos para agregar la información de reanudación de ruta.
- En la pestaña Editar, en el grupo Administrar ediciones, haga clic en el botón Guardar .
- Haga clic en Sí en el cuadro de diálogo Guardar cambios.
- Cierre la tabla de atributos Depósitos.
- En el panel Contenido, haga clic con el botón derecho en la subtabla Reanudaciones de ruta y haga clic en Abrir.
La tabla está vacía.
- Haga clic en la fila Hacer clic para agregar una fila nueva.
- Agregue la siguiente información a la tabla de atributos.
RouteName
DepotName
ServiceTime
Truck1
Brush St
30
Truck3
Brush St
30
Truck1
Old County Rd
30
Truck3
Old County Rd
30
Asegúrese de que las palabras se correspondan con las que se utilizó en los campos Name de las tablas Depósitos y Rutas. La tabla de atributos debe asemejarse a la imagen siguiente:
- En la pestaña Editar, en el grupo Administrar ediciones, haga clic en el botón Guardar .
- Haga clic en Sí en el cuadro de diálogo Guardar cambios.
- Cierre la tabla de atributos Reanudaciones de ruta.
Agregar descansos
Dado que los conductores deben trabajar más tiempo, necesitan un descanso de media hora durante su turno de trabajo. En este paso, especificará los descansos para cada ruta.
- En la pestaña VRP, en el grupo Datos de entrada, haga clic en la flecha desplegable para Importar descansos y seleccione Agregar descansos.
Aparece la ventana Agregar ubicaciones.
- Asegúrese de que el parámetro Capa de entrada de problema de generación de rutas para vehículos se establezca en Problema de generación de rutas para vehículos.
- Deje el Nombre de ruta de destino en blanco.
Esto indica que los descansos que estableció para su aplicación en todas las rutas y entradas se realizarán para cada ruta que se encuentre actualmente en la tabla de atributos Rutas.
- Asegúrese de que Tipo de descanso se establezca en Descanso de ventana de tiempo.
- Active la casilla Pagado.
A los conductores se les pagará durante este tiempo, por lo que el coste asociado con el tiempo dedicado al descanso se incluirá en el coste total de la ruta.
- Establezca Duración de descanso en 30.
A los conductores se les concede un descanso de 30 minutos para almorzar.
- Establezca Inicio de la ventana de tiempo en 12:30 PM.
- Establezca Fin de ventana de tiempo en 1:30 PM.
- Establezca Tiempo de infracción máximo en 0
Los descansos deben empezar entre las 12:30 p.m. y 1:30 p.m. El valor cero indica que el descanso no puede iniciarse después de la 1:30 p.m.
- Deje la configuración predeterminada para el resto de parámetros y haga clic en el botón Aceptar.
La tabla de atributos Descansos muestra ahora dos entradas, un descanso pagado para el almuerzo entre las 12:30 p.m. y 1:30 p.m. para cada una de las rutas (Truck1 y Truck3).
Ejecutar el análisis
Siga estos pasos para ejecutar el análisis:
- En la pestaña VRP, haga clic en el botón Ejecutar .
El solucionador de VRP calcula las dos rutas que se pueden utilizar para servir las órdenes y dibuja líneas rectas que conectan las órdenes. Cada ruta empieza y termina en el centro de distribución, da servicio a un conjunto de órdenes a lo largo del camino, visita una ubicación de reanudación para volver a cargar el camión, continúa sirviendo las órdenes restantes y vuelve al centro de distribución.
La tabla de atributos Visitas al depósito puede examinarse para ver información sobre cuánta cantidad se cargó al comienzo del día y cuándo visitar las ubicaciones de reanudación. También mostrará las horas de llegada esperadas en estas ubicaciones.