Disponible con una licencia de Network Analyst.
- Preparar la visualización
- Crear la capa de análisis del problema de generación de rutas para vehículos
- Agregar órdenes
- Agregar depósitos
- Agregar rutas
- Configurar las propiedades para el análisis del problema de generación de rutas para vehículos
- Ejecutar el proceso para determinar la asignación de la mejor ruta y la secuencia de orden
- Determinar indicaciones giro por giros para las rutas
- Hacer cambios en la solución existente para resolver un escenario diferente
- Eliminar una ruta existente de una solución
- Agregar reanudaciones de ruta
- Modificar rutas para incluir horas extra
- Agregar descansos
- Determinar la solución
- Agregar puntos semilla de ruta
- Determinar la solución
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.
Preparar la visualización
- Si tiene Exercise07.mxd abierto en ArcMap, salte al paso 6.
- Inicie ArcMap.
- En el cuadro de diálogo Introducción a ArcMap, haga clic en Mapas existentes > Buscar más.
Aparecerá el cuadro de diálogo Abrir documento de ArcMap.
- Vaya a C:\ArcGIS\ArcTutor\Network Analyst\Tutorial.
Ésta es la ubicación de instalación predeterminada para los datos de tutorial.
- Haga doble clic en Exercise07.mxd.
El documento de mapa se abre en ArcMap.
- Habilite la extensión ArcGIS Network Analyst.
- Haga clic en Personalizar > Extensiones.
Se abrirá el cuadro de diálogo Extensiones.
- Active Network Analyst.
- Haga clic en Cerrar.
- Haga clic en Personalizar > Extensiones.
- Haga clic en Personalizar > Barras de herramientas > Network Analyst.
La barra de herramientas Network Analyst se agrega a ArcMap.
- En la barra de herramientas de Network Analyst, haga clic en el botón Ventana Análisis de Red (Network Analyst) .
Se abre la ventana Network Analyst.
Si no se muestra la barra de herramientas de Network Analyst tendrá que agregarla.
Si no se muestra la ventana de Network Analyst tendrá que agregarla.
Puede acoplar o desacoplar la ventana de Network Analyst.
Crear la capa de análisis del problema de generación de rutas para vehículos
- Haga clic en Network Analyst en la barra de herramientas de Network Analyst y haga clic en Problema de generación de rutas para vehículos nuevos.
La capa de análisis de problema de generación de rutas para vehículos se agrega a la ventana de Network Analyst. Las clases de análisis de red (Órdenes, Depósitos, Rutas, Visitas a depósito, Rupturas, Zonas de ruta, Puntos de semilla de ruta, Reanudaciones de ruta, Especialidades, Pares de órdenes, Barreras de punto, Barreras de línea y Barreras de polígono) están vacías.
La capa del análisis también se agrega a la ventana Tabla de contenido.
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 Almacenamientos contienen información sobre el peso total de las mercancías (en libras) solicitadas en cada tienda, la ventana de tiempo durante la que se tiene que realizar la entrega, y el tiempo de servicio (en minutos) empleado en la visita a una tienda en particular. El tiempo de servicio es el tiempo necesario para descargar las mercancías.
Agregará estas entidades de puntos de tiendas como órdenes en la capa del análisis.
- En la ventana Network Analyst, haga clic con el botón derecho en Órdenes (0) y elija Cargar ubicaciones.
Se abre el cuadro de diálogo Cargar ubicaciones.
- Seleccione Almacenamientos en la lista desplegable Cargar ubicaciones.
- En la sección Propiedades del análisis de ubicación, asegúrese de que la propiedad Name se asocia automáticamente al campo NAME y que la propiedad ServiceTime se asocia al campo ServiceTime.
La ArcGIS Network Analyst extension intenta asociar automáticamente las propiedades de análisis de ubicación para una capa del problema de generación de rutas para vehículos creada recientemente basándose en un archivo de configuración (que se encuentra en el directorio de instalación de ArcGIS, en [...]\NetworkAnalyst\NetworkConfiguration\NASolverConfiguration.xml).
- Establezca el valor Campo de TimeWindowStart1 en TimeStart1.
- Establezca el valor Campo de TimeWindowEnd1 en TimeEnd1.
- Establezca el valor Campo de DeliveryQuantities en Solicitud.
- Escriba 0 bajo Valor predeterminado para la propiedad MaxViolationTime1.
Establecer esta propiedad en cero especifica que no se debe infringir la ventana de tiempo.
- Haga clic en Aceptar.
Veinticinco tiendas se muestran en la ventana de Network Analyst en Órdenes y se muestran como órdenes en el mapa.
La sección Propiedades del análisis de ubicación del cuadro de diálogo Cargar ubicaciones le permite especificar qué atributos de la clase de entidad de Almacenamientos contienen los valores que la ArcGIS Network Analyst extension utilizará para ayudar a resolver este problema de generación de rutas para vehículos.
Agregar depósitos
Las mercancías se entregan desde un centro de distribución único cuya ubicación se muestra en la capa de entidad DistributionCenter en ArcMap. El centro de distribución funciona entre las 8:00 a.m. y las 5:00 p.m. Agregará esta entidad de puntos a la clase de análisis de red Depósitos.
- En la ventana Network Analyst, haga clic con el botón derecho en Depósitos (0) y elija Cargar ubicaciones.
Se abre el cuadro de diálogo Cargar ubicaciones.
- Seleccione DistributionCenter en la lista desplegable Cargar ubicaciones.
- En la sección Propiedades del análisis de ubicación, asegúrese de que la propiedad Name se asocia automáticamente al campo NAME.
- Escriba 8 AM bajo Valor predeterminado para la propiedad TimeWindowStart1.
- Escriba 5 PM bajo Valor predeterminado para la propiedad TimeWindowEnd1.
- Haga clic en Aceptar.
Un centro de la distribución se muestra en la ventana de Network Analyst en 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 ventana de Network Analyst, haga clic con el botón derecho en Rutas (0) y elija Agregar elemento.
Se agrega una nueva ruta, Elemento 1, bajo la clase Rutas en la ventana de Network Analyst y se abre la ventana Propiedades de la ruta.
- En la ventana Propiedades, especifique los atributos de la ruta como se muestra en la tabla siguiente. La columna de descripción de la tabla explica el uso de valores determinados. Deje los valores predeterminados para los atributos que no estén en la tabla.
Atributos Valor Descripción Nombre
Truck_1
Nombre del vehículo.
StartDepotName
San Francisco
El camión empieza en el centro de la distribución.
EndDepotName
San Francisco
El camión vuelve al centro de la distribución al final de la ruta.
StartDepotServiceTime
60
Tiempo (en este caso, minutos) necesario para cargar por completo el camión con mercancías.
EarliestStartTime
8 AM
El camión puede iniciar la operación en cuanto abra el centro de distribución a las 8:00 a.m.
LatestStartTime
8 AM
El camión debe iniciar la operación lo antes posible.
Capacidades
15000
El camión puede transportar como máximo 15.000 libras de mercancías.
CostPerUnitTime
0,20
Al conductor del camión se le paga 12 dólares por hora, de modo que el sueldo es:12,00 $/60 minutos = 0,20 $ por minuto.
CostPerUnitDistance
1.5
El importe medio en dólares que se gasta por milla en combustible, depreciación del camión y mantenimiento.
MaxOrderCount
10
El número máximo de tiendas a las que puede dar servicio un camión.
MaxTotalTime
360
Debido a las restricciones del horario laboral, los conductores no pueden tener turnos de trabajo de más de seis horas (360 minutos).
MaxTotalTravelTime
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.
MaxTotalDistance
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.
- Haga clic en Aceptar.
Una nueva ruta, Truck_1, se agrega a la clase de rutas en la ventana de Network Analyst.
- Haga clic con el botón derecho en el objeto de ruta Truck_1 en la ventana de Network Analyst y elija Copiar.
- Haga clic con el botón derecho en la clase Ruta (1) en la ventana de Network Analyst y elija Pegar.
La clase Rutas contiene dos objetos de ruta idénticos.
- Repita el paso previo para crear un tercer objeto de ruta.
- Haga doble clic en el segundo objeto Truck_1 de la lista.
Se abre la ventana Propiedades.
- Haga clic en la propiedad Name y escriba Truck_2.
- Presione ENTRAR dos veces.
La ruta recibe un nombre único y la ventana se cierra.
- Utilice el mismo procedimiento para cambiar el nombre de la última ruta a Truck_3.
Puesto que los tres camiones del centro de distribución son iguales, puede hacer dos copias del primer camión que escribió y cambiar sus nombres.
Configurar las propiedades para el análisis del problema de generación de rutas para vehículos
- Haga clic en el botón Propiedades de capa de análisis de la ventana de Network Analyst.
Se abrirá el cuadro de diálogo Propiedades de capa.
- Haga clic en la pestaña Configuración de análisis.
- Establezca la lista desplegable Atributo de tiempo en TravelTime (Minutos).
El solucionador de VRP utilizará este atributo para calcular los costes basados en tiempo entre las órdenes y el depósito.
- Haga clic en la lista desplegable Atributo de distancia y elija Metros.
Este atributo se utiliza para determinar distancias de viaje entre las órdenes y el depósito para propósitos de restricción y creación de instrucciones; no obstante, el objetivo del solucionador de VRP es minimizar los costes horarios.
- Establezca Fecha predeterminada en Día de la semana. Elija Lunes en la lista desplegable Día de la semana.
- Establezca Cálculo de capacidad en 1.
Esta configuración indica que las mercancías que se están entregando tienen solo una medida. En este caso, esa medida es el peso (libras). Si las capacidades se especificaran utilizando dos medidas, tales como peso y volumen, el cálculo de capacidad se establecería en 2.
- Seleccione Minutos en Unidades de campo de tiempo.
Esto especifica que todos los atributos basados en tiempo, tales como ServiceTime y MaxViolationTime1 para Órdenes, y MaxTotalTime, MaxTotalTravelTime y CostPerUnitTime para Ruta, están en minutos.
- Establezca Unidades de campo de distancia en Millas.
Esto especifica que todos los atributos basados en distancia, tales como MaxTotalDistance y CostPerUnitDistance para Rutas, están en millas.
- Puesto que para estos camiones de reparto es difícil hacer cambios de sentido, establezca Giros en U en cruces en No permitido.
- Seleccione Línea recta en la lista desplegable Tipo de forma de salida.
Podría seleccionar la opción Forma verdadera con medidas o Forma verdadera si deseara que las rutas siguieran las calles. Observe que esta opción solo afecta a la visualización de las rutas, no a los resultados determinados por el solucionador de VRP.
- Active Utilizar jerarquía.
- En el marco Restricciones, active RestrictedTurns y Oneway.
- Deje las opciones del marco Indicaciones establecidas en sus valores predeterminados.
- Haga clic en Aceptar.
Ejecutar el proceso para determinar la asignación de la mejor ruta y la secuencia de orden
- Haga clic en el botón Resolver en la barra de herramientas de Network Analyst.
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.
Si recibe un mensaje de error, asegúrese de que el valor del atributo Capacidades de las rutas está establecido en 15000 en lugar de 15,000 y de que cada ruta tiene un nombre único.
Determinar indicaciones giro por giros para las rutas
- Haga clic con el botón derecho en Rutas (3) en la ventana de Network Analyst y haga clic en Selección > Borrar entidades seleccionadas.
- Haga clic en el botón Ventana de indicaciones en la barra de herramientas de Network Analyst.
Se abre el cuadro de diálogo Indicaciones.
- También puede exportar la capa de problema de generación de rutas para vehículos como un archivo de capa (<nombre de archivo>.lyr); para ello, haga clic con el botón derecho en Problema de generación de rutas para vehículos en la ventana Tabla de contenido y elija Guardar como archivo de capa. Esto guarda el análisis en disco para poder agregarlo a un documento de mapa diferente y reutilizarlo más tarde.
- Si desea continuar con las siguientes secciones avanzadas de este ejercicio del tutorial, cierre la ventana Indicaciones. De lo contrario, salga de ArcMap y no guarde ningún cambio en Exercise 07.mxd.
Hacer cambios en la solución existente para resolver un escenario diferente
La solución del problema de generación de rutas para vehículos obtenida anteriormente funcionó bien para la empresa. Sin embargo, después de unas semanas, el conductor asignado a Truck_2 se fue de vacaciones. Por lo tanto, ahora la empresa de distribución tiene que dar servicio a las mismas tiendas, pero 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.
Eliminar una ruta existente de una solución
- En la ventana de Network Analyst, haga clic con el botón derecho en el objeto Truck_2 de la clase Rutas y haga clic en Eliminar.
Agregar reanudaciones de ruta
Los dos centros de distribución satélite que la empresa adquirió están en 800 Brush Street y 100 Old County Roady, y pueden actuar como ubicaciones de reanudación para los camiones. Los camiones pueden reponer su carga visitando estas ubicaciones de reanudación y así ahorrar tiempo no teniendo que volver a los depósitos iniciales. 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.
- En la ventana de Network Analyst, haga clic con el botón derecho en Depósitos (1) y elija Buscar dirección.
Se abre el cuadro de diálogo Buscar.
- Elija SanFranciscoLocator en la lista desplegable Elegir un localizador.
- En el cuadro Dirección completa, escriba 800 Brush St.
- Haga clic en Buscar.
SanFranciscoLocator, que es un localizador de direcciones que ya se agregó a Exercise07.mxd, busca la dirección y muestra el resultado en la parte inferior del cuadro de diálogo Buscar.
- Haga clic con el botón derecho en el resultado en el cuadro de diálogo Buscar y elija Agregar como objeto de análisis de red.
La dirección ubicada se agrega como depósito a la ventana de Network Analyst y a la visualización del mapa.
- En el cuadro Dirección completa del cuadro de diálogo Buscar, escriba 100 Old County Rd.
- Haga clic en Buscar.
- Haga clic con el botón derecho en el nuevo resultado en la parte inferior del cuadro de diálogo Buscar y elija Agregar como objeto de análisis de red.
Se agrega un tercer depósito a la clase de análisis de red Depósitos
- Cierre el cuadro de diálogo Buscar.
- En la ventana de Network Analyst, haga clic con el botón derecho en Reanudaciones de ruta (0) y haga clic en Agregar elemento.
Un nuevo objeto de reanudación de ruta, Item1, se agrega bajo la clase reanudaciones de ruta en la ventana de Network Analyst y se abre la ventana Propiedades correspondiente a Item1.
- En la ventana Propiedades, especifique los atributos de la reanudación de ruta, como se muestra a continuación.
Atributos Valor Descripción DepotName
800 Brush St
El camión puede utilizar esta ubicación de depósito para la reanudación.
RouteName
Truck_1
Nombre del vehículo.
ServiceTime
30
Tiempo en minutos necesario para cargar el camión.
- Haga clic en Aceptar.
Un nuevo objeto de reanudación de ruta, 800 Brush St, se muestra dentro del elemento Truck_1 en la ventana de Network Analyst.
- Siga los últimos tres pasos para agregar tres objetos de reanudación de ruta más de modo que cada camión (Truck_1 y Truck_3) pueda volver a cargar en ambas ubicaciones de reanudación (800 Brush St, 100 Old County Rd).
La ventana Network Analyst debería mostrar ahora dos objetos de reanudación de ruta dentro de los elementos Truck_1 y Truck_3, respectivamente.
Puesto que ambos camiones pueden reponer sus cargas en las ubicaciones de 800 Brush Street y 100 Old County Road, asociará cada camión a las dos ubicaciones de reanudación. El solucionador de VRP deducirá la mejor ubicación de reanudación para los camiones, si y cuando necesitan volver a cargar.
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.
- En la ventana de Network Analyst, bajo la clase de análisis de red Rutas, haga doble clic en Truck_1.
Se abre la ventana Propiedades.
- Haga cambios en los atributos de Truck_1 de modo que coincidan con los valores de la tabla siguiente.
Atributos 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 Aceptar.
- Repita los últimos tres pasos para Truck_3.
Agregar descansos
Dado que los conductores tienen que trabajar más tiempo, necesitarán un descanso de media hora durante el turno de trabajo. En este paso, especificará los descansos para cada ruta.
- En la ventana de Network Analyst, haga clic con el botón derecho en Descansos (0) y elija Agregar elemento.
Se abre la ventana Propiedades.
- Especifique los valores de atributo para el nuevo descanso como se muestra en la tabla siguiente.
Atributos Valor Descripción TimeWindowStart
12:30 PM
El descanso tiene que iniciarse después de las 12:30 p.m.
TimeWindowEnd
13:30 PM
El descanso tiene que iniciarse antes de la 1:30 p.m.
RouteName
Truck_1
El nombre de la ruta a la que se aplica este descanso.
ServiceTime
30
La duración del descanso en minutos.
MaxViolationTime
0
El descanso tiene que empezar entre las 12:30 p.m. y la 1:30 p.m. El valor cero indica que el descanso no puede iniciarse después de la 1:30 p.m. (es decir, la ventana de tiempo del descanso es rígida).
IsPaid
Verdadero
Es un descanso pagado, de modo que el coste está incluido en el coste total de la ruta.
- Haga clic en Aceptar.
- Repita los últimos tres pasos, escribiendo Truck_3 para la propiedad RouteName.
La ventana Network Analyst muestra ahora dos objetos bajo la claseDescansos: Truck_1 y Truck_3.
Determinar la solución
- Haga clic en el botón Resolver en la barra de herramientas de Network Analyst.
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, sirve un conjunto de órdenes a lo largo del camino, visita una ubicación de reanudación para cargar el camión de nuevo, continúa sirviendo las órdenes restantes y, finalmente, vuelve al centro de distribución.
Esta solución cumple todas las restricciones especificadas por la empresa de distribución. Sin embargo, después de dar el itinerario de ruta a los dos conductores, la empresa detectó que el conductor de Truck_1 prefiere conducir por el área de San Francisco y el conductor de Truck_3 prefiere conducir en el área de East Bay. A la empresa le gustaría determinar una nueva solución en la que las rutas tiendan a servir las órdenes que se encontraran en las áreas que prefieran sus conductores. En los pasos siguientes, agregará puntos semilla de ruta para incorporar estas preferencias de los conductores.
Agregar puntos semilla de ruta
En este paso, agregará puntos semilla de ruta para Truck_1 y Truck_3 geocodificando direcciones. Tenga en cuenta que los puntos semilla de ruta también se pueden importar de una clase de entidad de puntos existente o crearse interactivamente utilizando la herramienta Crear una ubicación de red .
- En la ventana de Network Analyst, haga clic con el botón derecho en Puntos de semilla de ruta (0) y elija Buscar dirección.
Se abre el cuadro de diálogo Buscar.
- En el cuadro de texto Dirección completa, escriba 3000 Vicente Ave.
- Haga clic en Buscar.
SanFranciscoLocator busca la dirección y muestra el resultado en la parte inferior del cuadro de diálogo.
- Haga clic con el botón derecho en el resultado y elija Agregar como objeto de análisis de red.
La ubicación de la dirección se agrega como un punto de semilla de ruta. Se muestra en la ventana de Network Analyst y en la visualización del mapa.
- Cierre el cuadro de diálogo Buscar.
- En la ventana de Network Analyst, haga doble clic en el nuevo punto de semilla de ruta, 3000 Vicente Ave.
Se abre el cuadro de diálogo Propiedades.
- Especifique los valores de atributo para el punto de semilla de ruta como se muestra en la tabla siguiente.
Atributos Valor Descripción RouteName
Truck_1
El nombre de la ruta a la que se aplica este punto de semilla.
SeedPointType
Estático
Esto hace más probable que las órdenes cercanas al punto de semilla especificado se asignen a Truck_1.
- Repita los pasos 1-5 de esta sección para agregar otro punto de semilla de ruta en 2500 McGee Ave.
- Repita los pasos 6 y 7 para cambiar el atributo RouteName del segundo punto de semilla a Truck_3.
Determinar la solución
- Haga clic en el botón Resolver en la barra de herramientas de Network Analyst.
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. La ruta para Truck_ 1 incluye las órdenes solamente en San Francisco, y Truck_ 3 visita todas las órdenes en el área de East Bay, así como unas en otras partes de la ciudad.
- Salga de ArcMap sin guardar ningún cambio.