Vehicle Routing Problem: Sirviendo pedidos mediante una flota de

Transcripción

Vehicle Routing Problem: Sirviendo pedidos mediante una flota de
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Vehicle Routing Problem: Sirviendo pedidos
mediante una flota de vehículos
En este ejercicio, buscaremos las rutas óptimas para una flota de vehículos, operados por una
compañía de distribución, para entregar mercancía desde un centro de distribución a un
conjunto de 25 tiendas de alimentación. Cada tienda tiene una demanda específica de
productos y cada camión tiene una capacidad determinada de transporte.
El objetivo principal es asignar los camiones de la flota al conjunto de tiendas para llevar a cabo
las entregas secuencialmente, de manera que se minimicen los costes globales del tranporte.
Esto se puede llevar a cabo solucionando un problema de rutas para vehículos (Vehicle
Routing Problem – VRP).
Una vez la secuencia de entregas haya sido determinada, generaremos un informe de
direcciones tramo a tramo, que podría ser distribuido electrónicamente o impreso para los
conductores de los camiones.
Preparando la visualización
1. Abrimos Vehicle_Routing_Problem.mxd en ArcMap.
2. Nos aseguramos de tener activada la extensión Network Analyst.
3. Abrimos la barra de análisis de Network Analyst (Customize > Toolbars > Network
Analyst).
4. Mostramos la ventana de Network Analyst mediante el botón correspondiente de la
barra de herramientas.
La ventana de Network Analyst puede colocarse donde nos vaya mejor. En este caso, la
hemos situado debajo de la tabla de contenidos:
Creando la capa de análisis de Vehicle Routing Problem
5. Clicamos en Network Analyst en la barra de herramientas Network Analyst y
clicamos en New Vehicle Routing Problem.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
La capa de análisis para el problema de rutas de vehículos se añade a la ventana Network
Analyst. Los distintos elementos (Orders, Depots, Routes, Depot Visits, Breaks, Route
Zones, Route Seed Points, Route Renewals, Specialties, Order Pairs, Point Barriers, Line
Barriers, y Polygon Barriers) estan vacíos.
La capa de análisis se añade tambien a la Tabla de Contenidos.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Añadiendo los pedidos (orders)
Añadiremos las localizaciones de las tiendas a la clase Orders. Nos podemos imaginar las
orders como los pedidos realizados, ya que cada tienda ha solicitado productos que deben ser
entregados desde el centro de distribución. Los miembros de la clase Orders serán al final las
distintas paradas a lo largo de las rutas de los vehículos.
Las localizaciones de las tiendas ya están añadidas en el mapa en la capa Stores. Los
atributos de las tiendas contienen información sobre el peso total de los productos demandados
por cada tienda, la ventana temporal dentro de la cual debe realizarse la entrega y el tiempo de
servicio previsto para cada entrega (el tiempo de descarga de los productos).
6. En la ventana Network Analyst clicamos con el botón derecho sobre Orders (0) y
elegimos Load Locations. Se abre la ventana Load Locations.
7. Seleccionamos Stores de la lista desplegable Load Locations.
8. Nos aseguramos que la propiedad Name se ha asociado al campo Name, y que la
propiedad ServiceTime se ha asociado al campo ServiceTime.
9. Seleccionamos en Field el campo TimeStart1 para la propiedad TimeWindowStart1.
10. Seleccionamos en Field el campo TimeEnd1 para la propiedad TimeWindowEnd1.
11. Seleccionamos en Field el campo Demand para la propiedad DeliveryQuantities.
12. Indicamos un 0 como el valor por defecto en la propiedad MaxViolationTime1. Esto
indica que la ventana temporal no puede ser ignorada.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
13. Clicamos en OK.
Las 25 tiendas son listadas en la ventana Network Analyst bajo Orders y se visualizan en el
mapa.
Añadiendo los almacenes (Depots)
Los productos son entregados desde un único centro de distribución, que se encuentra
representado por la capa DistributionCenter. El centro de distribución opera entre las 8:00
a.m. y las 5:00 p.m. Vamos a añadir el centro de distribución en Depots.
14. En la ventana Network Analyst, clicamos con el botón derecho en Depots (0)
elegimos Load Locations. Se abre la ventana Load Locations.
15. Seleccionamos DistributionCenter de la lista de Load Locations.
16. Nos aseguramos que la propiedad Name se ha asociado al campo Name.
17. Escribimos 8 AM en Default Value para la propiedad TimeWindowStart1.
18. Escribimos 5 PM en Default Value para la propiedad TimeWindowEnd1.
19. Clicamos en OK.
Un centro de distribución se lista en la ventana Network Analyst en Depots y se visualiza en
el mapa.
Añadiendo las Rutas (Routes)
El centro de distribución cuenta con tres camiones, cada uno de los cuales con una capacidad
máxima de 15000 Kgs de productos. Habrá que añadir tres rutas (una para cada camión) y
establecer las propiedades de las rutas en base a los procedimientos operacionales del centro
de distribución.
20. En la ventana Network Analyst, clicar con el botón derecho en Routes (0) y elegir
Add Item.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Una nueva ruta, Item 1, se ha añadido bajo la clase Routes en la ventana Network Analyst
window, y la ventana de propiedades de la ruta se abre.
21. En la ventana Properties, has que especificar los atributos para la ruta que se
muestran a continuación. Lo atributos que no aparecen en la tabla hay que dejarlos con
su valor por defecto.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
22. Clicamos en OK.
Una ruta nueva, llamada Truck_1, se añade a la clase de rutas en la ventana Network
Analyst.
Como los tres camiones on idénticos, podemos realizar dos copias de la ruta creada para el
primer camión y cambiarles el nombre.
23. Clicamos con el botón derecho en el objeto de ruta Truck_1 en la ventana Network
Analyst y elegimos Copy.
24. Clicamos con el botón derecho en la clase Route (1) en la ventana Network Analyst y
elegimos Paste.
25. Repetimos el proceso para crear un tercer objeto de ruta.
26. Hacemos doble click sobre el segundo Truck_1 de la lista. Se abre la ventana de
propiedades.
27. Clicamos en la propiedad Name y escribimos Truck_2.
28. Pulsamos ENTER dos veces. Se asigna a la ruta un nombre único y se cierra la
ventana.
29. Usamos el mismo procedimiento para renombrar la tercera ruta como Truck_3.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Estableciendo las propiedades para el análisis
30. Clicamos el botón de propiedades de la capa de análisis en la ventana Network
Analyst.
31. Clicamos en la pestaña Analysis Settings.
32. Nos aseguramos de que en Time Attribute tenemos TravelTime (Minutes)
seleccionado.
33. Clicamos en Distance Attribute y elegimos Meters. Este atributo se usa para calcular
las distancias, aunque lo que se minimiza es el tiempo.
34. Indicamos en Default Date el Day of Week. Elegimos Monday en el desplegable.
35. Nos aseguramos de que en Capacity Count hay el valor 1. Esto indica que los
productos a entregar tienen sólo una unidad de medida, en este caso el peso. En otros
casos podríamos tener más, como, por ejemplo, pero y volumen.
36. Nos aseguramos de que Minutes está seleccionado en Time Field Units. Esto indica
que todos los atributos de tiempo se expresan en minutos.
37. Nos aseguramos de que Distance Field Units indica Kilometers. Esto indica que
todas las distancias se indican en kilómetros.
38. Como los camiones tienen dificultades para realizar giros de 180º, establecemos UTurns at Junctions como Not Allowed.
39. Seleccionamos Straight Line en el desplegable Output Shape Type. Esto sólo afecta
la visualización de las rutas, y no el resultado del análisis.
40. Nos aseguramos de que Use Hierarchy está marcado.
41. En Restrictions, nos aseguramos de que RestrictedTurns y Oneway están
marcados.
42. Dejamos los valores por defecto en Directions.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
43. Clicamos en OK.
Ejecutar el proceso para determinar la mejor asignación de ruta y secuencia
de reparto
44. Clicamos en el botón Solve en la barra de herramientas Network Analyst.
El solucionador VRP calcula las tres rutas necesarias para el reparto y dibuja las líneas que
conectan los distintos puntos de reparto. Cada ruta empieza y termina en el centro de
distribución.
Determinar las direcciones giro a giro para las rutas
45. Clicamos con el botón derecho en Routes (3) en la ventana Network Analyst y clicar en
Selection > Clear Selected Features.
46. Clicamos en el botón de la ventana de direccions en la barra de herramientas Network
Analyst. Se abre la ventana de direccions.
47. Podemos exportas el resultado como un layer (<filename>.lyr) clicando con el botón
derecho sobre Vehicle Routing Problem en la tabla de contenidos y eligiendo Save
As Layer File. Esto guarda el resultado en el disco duro para poder usarlo
posteriormente en otro mapa.
48. Cerramos la ventana de direcciones.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Realizando cambios a la solución existente para plantear un escenario
distinto
La solución obtenida hasta ahora funciona bien. Sin embargo, al cabo de unas semanas, el
conductor del segundo camión se toma vacaciones. Ahora, la compañía de distribución debe
realizar las mismas entregas pero sólo con dos camiones. Para conseguirlo, deciden pagar
horas extra a los dos conductores restantes y darles un descanso pagado durante el día.
Adicionalmente, la empresa adquiere dos centros de distribución satélites, que pueden ser
usados por los camiones para reponer los productos sin tener que volver al centro de
distribución principal. Vamos a ver como analizamos de nuevo el problema con estas nuevas
condiciones.
Borrando una ruta existente de la solución
49. En la ventana Network Analyst, clicamos con el botón derecho sobre Truck_2 en la
clase Routes y elegimos Delete.
Añadiendo puntos de repuesto (route renewals)
Los dos centros de distribución satélite que la empresa ha adquirido están en las siguientes
direcciones: 800 Brush Street y 100 OldCounty Road, y sirven de punto de repuesto de la
mercancía. Los camiones pueden reponer ahí y ahorrar tiempo al no tener que volver al centro
de distribución principal. Añadiremos esos puntos de repuesto mediante geocodificación. Las
rutas que pueden reponer mercancías y el tiempo de servicio se especifican en la clase Route
Renewals.
50. En la ventana Network Analyst, clica con el botón derecho en Depots (1) y elige Find
Address.
51. Elige SanFranciscoLocator de la lista desplegable Choose an address locator.
52. En el cuadro Street or Intersection, escribe 800 Brush St.
53. Haz clic en Find. El localizador de direcciones SanFranciscoLocator, encuentra la
dirección y la muestra en la ventana inferior.
54. Clica con el botón derecho en el resultado y elige Add as Network Analysis Object.
La localización de la dirección se añade como depot en la ventana Network Analyst y
en el mapa.
55. En el cuadro Street or Intersection, escribe ahora 100 Old County Rd.
56. Haz clic en Find. El localizador de direcciones SanFranciscoLocator, encuentra la
dirección y la muestra en la ventana inferior.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
57. Clica con el botón derecho en el resultado y elige Add as Network Analysis Object.
La localización de la dirección se añade como tercer depot en la ventana Network
Analyst y en el mapa.
58. Cierra el cuadro de diálogo Find.
Ambos camiones pueden reponer su mercancía en ambas localizaciones, por lo que hay que
asociarlos a ellas. El solucionador decidirá en cada momento cual es la mejor situada para ser
usada por cada camión.
59. En la ventana Network Analyst, clica con el botón derecho en Route Renewals (0) y
clica Add Item. Se añade un nuevo objeto, Item1, en la clase Route Renewals de la
ventana Network Analyst, y se abre la ventana de propiedades.
60. Especificar en la ventana de propiedades los siguientes atributos:
61. Clicamos en OK.
Un nuevo objeto route renewal, 800 Brush St, aparece listado bajo el elemento Truck_1 en la
ventana Network Analyst.
62. Seguir los tres últimos pasos para añadir tres objetos tipo route renewal más, de forma
que ambos camiones puedan reponer en ambas localizaciones.
La ventana Network Analyst debería tener, ahora, dos nuevos objetos tipo route renewal
listados con los ítems Truck_1 y Truck_3, respectivamente.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Modificando las rutas para incluir las horas extraordinarias
Para poder llevar a cabo el exceso de trabajo, la empresa quiere eliminar las restricciones de
tiempo máximo (maximum time), de tiempo de viaje máximo (maximum travel time), y de
distancia máxima (maximum distance) para las rutas. Como los conductores tendrán que
trabajar más que antes, tienen una paga extra de 18$ la hora por las horas que sobrepasen las
seis horas trabajadas. Vamos a introducir todos estos cambios.
63. En la ventana Network Analyst, en la clase Routes, hacer doble clic en Truck_1. Se
habre la ventana de propiedades. Introducir los cambios que indica la siguiente tabla:
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
64. Hacer clic en OK.
65. Repetir los últimos tres pasos para Truck_3.
Añadiendo los descansos
Ya que los trabajadores harán más horas, necesitarán un descanso de media hora durante su
jornada laboral. Vamos a especificarlo.
66. En la ventana Network Analyst, hacer clic con el botón derecho en Breaks (0) y elegir
Add Item. Se abre la ventana de propiedades. Especificar los atributos como se indica
en la siguiente tabla:
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
67. Clicar en OK.
68. Repetimos los tres pasos anteriores, pero entrando Truck_3 como nombre.
En la ventana Network Analyst hay ahora dos objetos en la clase Breaks: Truck_1
and Truck_3.
Determinando la solución
69. Clicar en el botón Solve de la barra de herramientas Network Analyst.
El solucionador VRP calcula las dos rutas necesarias para el reparto y dibuja las líneas que
conectan los distintos puntos de reparto. Cada ruta empieza y termina en el centro de
distribución, sirve unas cuantas tiendas en su recorrido, visita un centro de reposición para
reponer mercancía, continua el servicio a las tiendas que faltan y, finalmente, vuelve al centro
de distribución.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Esta solución es satisfactoria, pero parece ser que el conductor del Truck_1 prefiere conducir
por el downtown, mientras que el conductor del Truck_3 prefiere la zona de East Bay. La
empresa quiere buscar una nueva solución para satisfacer tambien las preferencias de los
conductores. Vamos a tenerlo en cuenta, pues.
Añadiendo Route seed points
En este paso vamos a añadir route seed points para ambos camiones mediante la
geocodificación de direcciones. Tambien podrían importarse de una Feature Class de puntos o
crearlos interactivamente con la herramienta Create Network Location.
70. En la ventana Network Analyst, clicamos con el botón derecho en Route Seed Points
(0) y elegimos Find Address. Se abre la ventana de diálogo de Find.
71. En el cuadro Street or Intersection, escribe 278 Dorantes Ave.
72. Haz clic en Find. El localizador de direcciones SanFranciscoLocator, encuentra la
dirección y la muestra en la ventana inferior.
73. Clica con el botón derecho en el resultado y elige Add as Network Analysis Object.
La localización se añade como un route seed point. Se muestra en la ventana
Network Analyst y en el mapa.
74. Cierra la ventana Find.
75. En la ventana Network Analyst, haz doble clic sobre el nuevo route seed point, 278
Dorantes Ave. Se abre la ventana de propiedades. Especifica los atributos según la
tabla siguiente:
76. Repite los pasos del 70 al 74 para añadir otro route seed point at 1888 Peralta St.
77. Repite el paso 75 para cambiar la propiedad RouteName a Truck_3.
Roger Milego
MTIG - Modelització i anàlisi de xarxes
Network Analyst 10.0 – Exercicis
Determinar la solución
78. Clicar en el botón Solve de la barra de herramientas Network Analyst.
El solucionador VRP calcula las dos rutas necesarias para el reparto y dibuja las líneas que
conectan los distintos puntos de reparto. La ruta para el Truck_1 incluye repartos solamente en
la zona del downtown.
79. Salir de ArcMap.
Roger Milego

Documentos relacionados