Ejercicio 8: Buscar las mejores rutas para servir pares de órdenes

Complejidad: Principante Requisito de datos: ArcGIS Tutorial Data for Desktop Ruta de los datos: C:\ArcGIS\ArcTutor\Network Analyst\Tutorial Objetivo: Resolver un análisis del problema de generación de rutas para vehículos con pares de órdenes.

En este ejercicio, su objetivo es encontrar las mejores rutas para que una flota de furgonetas transporte a personas que no tendrían de otra manera acceso al transporte desde sus hogares hasta diferentes hospitales para citas médicas. Logrará esto resolviendo un análisis del problema de generación de rutas para vehículos (VRP) utilizando pares de órdenes, que relacionan y secuencian dos órdenes (paradas) para que las furgonetas recojan a los viajeros y los lleven a sus destinos correspondientes. Utilizando otras entidades de la capa de análisis de VRP, se asegurará también de que se cumplan requisitos adicionales. Por ejemplo, escribirá un tiempo de tránsito máximo para los pares de órdenes, de modo que los viajeros no pasen demasiado tiempo en tránsito. Utilizará ventanas de tiempo para las órdenes, de modo que los viajeros no lleguen tarde para sus citas. Algunos viajeros necesitan silla de ruedas; utilizará especialidades para asociar a esos viajeros a furgonetas que lleven ascensores para silla de ruedas. 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.

NotaNota:

Los datos de este ejercicio y de los otros ejercicios del tutorial de Network Analyst están disponibles en ArcGIS.com. Tras descargar los datos, puede extraerlos donde prefiera. No obstante, puede resultar útil extraer los datos en C:\arcgis\ArcTutor, ya que el tutorial hace referencia a esta ruta como ubicación predeterminada de los datos.

Preparar la visualización

Pasos:
  1. Si tiene Exercise08.mxd abierto en ArcMap, salte al paso 6.
  2. Para iniciar ArcMap, haga clic en Inicio > Todos los programas > ArcGIS > ArcMap 10.1.
  3. 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.

  4. Vaya a C:\ArcGIS\ArcTutor\Network Analyst\Tutorial.

    Ésta es la ubicación de instalación predeterminada para los datos de tutorial.

  5. Haga doble clic en Exercise08.mxd.

    El documento de mapa se abre en ArcMap.

  6. Habilite la extensión ArcGIS Network Analyst.
    1. Haga clic en Personalizar > Extensiones.

      Se abrirá el cuadro de diálogo Extensiones.

    2. Active Network Analyst.
    3. Haga clic en Cerrar.
  7. Si no se muestra la barra de herramientas de Network Analyst tendrá que agregarla.

  8. Haga clic en Personalizar > Barras de herramientas > Network Analyst.

    La barra de herramientas Network Analyst se agrega a ArcMap.

    Barra de herramientas de Network Analyst

  9. Si no se muestra la ventana de Network Analyst tendrá que agregarla.

  10. En la barra de herramientas de Network Analyst, haga clic en el botón Ventana Análisis de Red (Network Analyst) Ventana Network Analyst.

    Se abre la ventana Network Analyst.

    Ventana de Network Analyst

  11. 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

Pasos:
  1. 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 nuevo.

    Elegir Matriz de coste OD nueva

    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 ventana de Network Analyst con clases vacías

    La capa del análisis también se agrega a la ventana Tabla de contenido.

    La capa de análisis de problema de generación de rutas para vehículos mostrada en la tabla de contenido

Agregar especialidades

La empresa de logística tiene tres furgonetas. Una de las furgonetas que opera en el área del centro de la ciudad está equipada con acceso para sillas de ruedas. Agregará Silla de ruedas como especialidad, para que las órdenes que requieran esta especialidad puedan asignarse a la ruta que tiene ascensor para sillas de ruedas.

Pasos:
  1. En la ventana de Network Analyst, haga clic con el botón derecho en Especialidades (0) y haga clic en Agregar elemento.

    Crear una especialidad

    Una nueva especialidad, Elemento 1, se agrega bajo la clase Especialidades en la ventana de Network Analyst. Se abre la ventana Propiedades para la nueva especialidad.

  2. En la ventana Propiedades, escriba Silla de ruedas como valor de Nombre.

    El nombre de especialidad establecido en Silla de ruedas

  3. Haga clic en Aceptar.

Agregar órdenes

Se proporciona una hoja de cálculo con los datos del tutorial. Contiene información sobre cada paciente, que incluye su nombre y dirección; el nombre y la dirección del hospital al que se lo debe llevar; la ventana de tiempo dentro de la que hay que recoger al paciente; etc. En la siguiente tabla se describen los campos de la hoja de cálculo:

a tabla

Descripción

OrderName1

Nombre del paciente que necesita transporte

PatientAddress

Ubicación donde se recogerá al paciente

OrderName2

Un nombre único para el destino

HospitalAddress

La ubicación donde el paciente tiene la cita

PickFrom

La hora más temprana a la que se puede recoger al paciente en PatientAddress

PickTo

La hora más tardía a la que se puede recoger al paciente en PatientAddress

TotalPassengers

El número total de pasajeros a recoger

MaxTransitTime

El tiempo máximo que el paciente puede pasar en la furgoneta

SpecialtyNames

Especifica las necesidades especiales del pasajero, por ejemplo, una silla de ruedas

En este caso, los pasajeros y las visitas a los hospitales están relacionados entre sí, puesto que cada pasajero tiene que visitar un hospital predeterminado. Puede modelar esta situación con pares de órdenes, cargando tanto las ubicaciones de los pacientes como las de los hospitales en la clase de análisis de red Órdenes y relacionándolas con nuevos objetos de par de orden.

En los siguientes pasos, geocodificará las direcciones de pacientes y hospitales y cargará los puntos resultantes como órdenes.

Pasos:
  1. Haga clic en Archivo > Añadir datos > Geocodificación > Geocodificar direcciones.

    Se abre el cuadro de diálogo Elegir un localizador de direcciones para usar.

  2. Haga clic en SanFranciscoLocator.

    SanFranciscoLocator se incluye con Exercise08.mxd.

  3. Haga clic en Aceptar.

    Se abre el cuadro de diálogo Geocodificar direcciones: SanFranciscoLocator.

  4. Haga clic en el botón Examinar Examinar junto a la lista desplegable Tabla de direcciones.

    Se abre el cuadro de diálogo Elegir una tabla conteniendo direcciones.

  5. Haga clic en la lista Buscar en y elija Inicio - Tutorial.

    La tabla que agregará se almacena en una hoja de cálculo de Excel que está incluida en los datos del tutorial de Network Analyst.

  6. Haga doble clic en OrderPairs.xls.
  7. Haga doble clic en Patients$.

    La hoja de cálculo Patients se agrega a la lista desplegable Tabla de direcciones.

  8. En la lista desplegable Calle o Intersección, elija PatientAddress.
  9. Haga clic en el botón Examinar Examinar junto al cuadro de texto Shapefile o clase de entidad de salida.

    El cuadro de diálogo Guardando datos se abre en la ubicación de inicio para Exercise08.mxd.

  10. Haga clic en la lista Buscar en y elija Inicio - Tutorial.
  11. Haga clic en la lista desplegable Guardar como tipo y elija Archivo y clases de entidad de geodatabase personal.

    La lista de archivos y espacios de trabajo se actualiza.

  12. Haga doble clic en SanFrancisco.gdb.
  13. Elimine el nombre del cuadro de texto Nombre y escriba Pacientes.

    Pacientes será el nombre de la clase de entidad de salida.

  14. Haga clic enGuardar.

    El cuadro de texto Shapefile o clase de entidad de salida Del cuadro de diálogoGeocodificar direcciones: SanFranciscoLocator se actualiza para mostrar la nueva ruta de acceso de salida.

    El cuadro de diálogo Geocodificar direcciones: SanFranciscoLocator completado

  15. Haga clic en Aceptar.

    El cuadro de diálogo Geocodificar direcciones se abre e indica que se asociaron 15 direcciones.

  16. Haga clic en Cerrar.

    Las direcciones geocodificadas se agregan al documento de mapa como una capa de la entidad de puntos, Resultado de geocodificación: Pacientes.

  17. Repita los pasos 1.16 para cargar los hospitales de destino de los pacientes, pero haga las siguientes modificaciones:
    1. En el paso 8, establezca Calle o Intersección en HospitalAddress.
    2. En el paso 13, escriba DestinationHospitals en el cuadro de texto Nombre.

      El cuadro de diálogo Geocodificar direcciones: SanFranciscoLocator para hospital

      La ventana Tabla de Contenidos debe tener ahora dos capas de entidades, Resultado de geocodificación: DestinationHospitals y Resultado de geocodificación: Patients.

  18. En la ventana Tabla de Contenidos, desactive las dos capas de resultados de geocodificación para que no estén visibles en la visualización del mapa.
  19. En los próximos pasos, cargará estas capas en la clase de análisis de red Órdenes.

  20. 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.

  21. Elija Resultado de geocodificación: Patients en la lista desplegable Cargar desde.
  22. La sección Propiedades del análisis de ubicación del cuadro de diálogo Cargar ubicaciones permite especificar qué atributos de la capa Geocoding Results: Patients contienen los valores a los que hará referencia Network Analyst en este problema de generación de rutas para vehículos.

  23. Configure las propiedades que aparecen en la sección Propiedades del análisis de ubicación para que copien los valores de campo de la capa Resultados de geocodificación: Patients de la manera especificada en los pasos siguientes. (El gráfico siguiente resalta estos cambios.)
    1. Asigne la propiedad Name al campo OrderName1.
    2. Asigne la propiedad Description al campo PatientAddress.
    3. Asigne la propiedad TimeWindowStart1 al campo PickFrom.
    4. Asigne la propiedad TimeWindowEnd1 al campo PickTo.
    5. Asigne la propiedad PickupQuantities al campo TotalPassengers.
    6. Asegúrese de que la propiedad SpecialtyNames se asocie automáticamente al campo SpecialtyNames.
  24. Escriba 2 bajo Valor predeterminado para la propiedad ServiceTime.

    Todas las ubicaciones de direcciones de pacientes que se carguen tendrán un valor de ServiceTime de 2 para tener en cuenta el tiempo medio (en minutos) que tardan los pasajeros en montar en la furgoneta.

  25. Escriba 0 bajo Valor predeterminado para la propiedad MaxViolationTime1.

    Estableciendo todas las propiedades MaxViolationTime1 en cero, el solucionador de VRP buscará solo rutas que visiten las órdenes dentro de sus ventanas de tiempo.

    El cuadro de diálogo Cargar ubicaciones

  26. Haga clic en Aceptar.

    Se cargan quince órdenes. Puede verlas en la visualización del mapa y en la ventana de Network Analyst.

  27. En los próximos pasos, también cargará los hospitales de destino como órdenes.
  28. En la ventana Network Analyst, haga clic con el botón derecho en Órdenes (15) y elija Cargar ubicaciones.

    Se abre el cuadro de diálogo Cargar ubicaciones.

  29. Elija Resultado de geocodificación: DestinationHospitals en la lista desplegable Cargar desde.
  30. Configure las propiedades que aparecen en la sección Propiedades del análisis de ubicación para que copien los valores de campo de la capa Resultados de geocodificación: DestinationHospitals de la manera especificada en los pasos siguientes. (El gráfico siguiente resalta estos cambios.)
    1. Asigne la propiedad Name al campo OrderName2.

      Observe que el valor para el atributo Name tiene que ser único en la clase de análisis de red Órdenes. En este caso, hay muchos pacientes que necesitan visitar el mismo hospital. En consecuencia, si se utilizaran las direcciones de hospital para derivar el valor del atributo Name para Órdenes, el solucionador de VRP devolvería mensajes de error puesto que habría valores Name duplicados.

    2. Asigne la propiedad Description al campo HospitalAddress.
    3. Asigne la propiedad DeliveryQuantities al campo TotalPassengers.
    4. Asegúrese de que la propiedad SpecialtyNames se asocie automáticamente al campo SpecialtyNames.
  31. Escriba 2 bajo Valor predeterminado para la propiedad ServiceTime.

    Cuadro de diálogo Cargar ubicaciones

  32. Haga clic en Aceptar.

    Se muestran treinta órdenes en la ventana de Network Analyst bajo la clase de análisis de red Órdenes, y se muestran como órdenes en el mapa de la capa Problema de generación de rutas para vehículos.

Agregar pares de órdenes

Hay que llevar a los pasajeros a un hospital predeterminado. Agregando objetos a la clase de análisis de red Pares de órdenes, puede agregar información que especifica a qué hospital hay que llevar a los pacientes y el tiempo máximo que pueden pasar los pacientes en la furgoneta durante un viaje unidireccional.

Pasos:
  1. En la ventana Network Analyst, haga clic con el botón derecho en Pares de órdenes (0) y elija Cargar ubicaciones.

    Se abre el cuadro de diálogo Cargar ubicaciones.

  2. Haga clic en el botón Examinar Examinar junto a la lista desplegable Cargar desde.
  3. Haga clic en la lista Buscar en y elija Inicio - Tutorial.

    La tabla que agregará se almacena en una hoja de cálculo de Excel que está incluida en los datos del tutorial de Extensión ArcGIS Network Analyst.

  4. Haga doble clic en OrderPairs.xls.
  5. Haga doble clic en Patients$.

    La tabla Patients se agrega a la lista desplegable Cargar desde en el cuadro de diálogo Cargar ubicaciones.

  6. Configure las propiedades que aparecen en la sección Propiedades del análisis de ubicación para que extraigan los valores de campo de la tabla Patients$ de la manera especificada en los pasos siguientes.
    1. Asigne la propiedad FirstOrderName al campo OrderName1.
    2. Asigne la propiedad SecondOrderName al campo OrderName2.
    3. Asegúrese de que la propiedad MaxTransitTime se asocie automáticamente al campo MaxTransitTime.
  7. Haga clic en Aceptar.

    Aparecen quince pares de órdenes en la ventana deNetwork Analyst bajo la clase de análisis de red pares de órdenes.

    Pares de órdenes en la ventana de Network Analyst

Agregar depósitos

La empresa de logística opera furgonetas desde tres depósitos cuyas ubicaciones se muestran en la capa de entidades CentralDepots en ArcMap. Ahora agregará estas entidades de puntos a la clase de análisis de red Depósitos.

Pasos:
  1. 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.

  2. Seleccione CentralDepots en la lista desplegable Cargar desde.
  3. En la sección Propiedades del análisis de ubicación, asegúrese de que la propiedad Name se asocie automáticamente al campo Name.

    El cuadro de diálogo Cargar ubicaciones

  4. Haga clic en Aceptar.

    Aparecen tres depósitos en la ventana de Network Analyst bajo la clase de análisis de red Depósitos, y se muestran en el mapa en la capa Problema de generación de rutas para vehículos.

Agregar rutas

La empresa de logística tiene tres furgonetas, cada una con una capacidad máxima de seis pasajeros. Las furgonetas salen de los depósitos y vuelven a ellos después de completar todos los viajes. Una de las furgonetas que operan dentro del área del centro de la ciudad tiene un ascensor para facilitar el acceso a las sillas de ruedas.

Agregará tres rutas (una para cada furgoneta) y establecerá la propiedad para que la furgoneta del centro incluya Silla de ruedas como especialidad.

Pasos:
  1. En la ventana de Network Analyst, haga clic con el botón derecho en Rutas (0) y elija Agregar elemento.

    Elegir Agregar elemento

    Se agrega una nueva ruta, Item1, bajo la clase de análisis de red Rutas y se abre la ventana Propiedades de la ruta.

  2. En la ventana Propiedades, especifique los atributos para la ruta como se muestra en la tabla siguiente, dejando los valores predeterminados para los demás atributos. La columna Descripción de la tabla explica el uso de valores determinados.

    a tabla

    Valor

    Descripción

    Nombre

    Centro de la ciudad

    Nombre de la ruta.

    StartDepotName

    Depósito del centro de la ciudad

    La furgoneta sale del depósito del centro de la ciudad.

    EndDepotName

    Depósito del centro de la ciudad

    La furgoneta vuelve al depósito del centro de la ciudad al final de la ruta.

    Capacidades

    6

    La furgoneta puede llevar un máximo de seis pasajeros a la vez.

    SpecialtyNames

    Silla de ruedas (Active Silla de ruedas para establecerlo como valor.)

    La furgoneta está equipada para proporcionar acceso a las sillas de ruedas.

    Ventana Propiedades de ruta

  3. Haga clic en Aceptar.

    Una nueva ruta, Centro de ciudad, aparece en la ventana de Network Analyst.

  4. Repita los 1-3 para agregar dos rutas más que representen las furgonetas que operan en las áreas de North Bay y East Bay. Utilice las tablas siguientes para estas nuevas rutas en lugar de las propiedades que aparecen en el paso 2.

    a tabla

    Valor

    Nombre

    North Bay

    StartDepotName

    Depósito de North Bay

    EndDepotName

    Depósito de North Bay

    Capacidades

    6

    a tabla

    Valor

    Nombre

    East Bay

    StartDepotName

    Depósito de East Bay

    EndDepotName

    Depósito de East Bay

    Capacidades

    6

    Observe que estas furgonetas no están equipadas para permitir el acceso a sillas de ruedas.

    La ventana de Network Analyst muestra tres objetos de ruta que aparecen dentro de la clase de análisis de red Rutas.

    Clases de análisis de ruta

Agregar zonas de ruta

Las tres furgonetas utilizadas por la empresa solo están autorizadas a servir órdenes en un área predeterminada. Agregará zonas de ruta y las asociará con las furgonetas/rutas.

Pasos:
  1. En la ventana de Network Analyst, seleccione Zonas de ruta (0).
  2. Haga clic en la Herramienta para crear una ubicación de red Herramienta Crear una ubicación de red en la barra de herramientas Network Analyst.
  3. En la visualización del mapa, digitalice un polígono que cubra aproximadamente el área del centro de la ciudad como se muestra a continuación.

    Haga clic para agregar vértices; haga doble clic para completar el polígono.

    Crear una zona de ruta
    Se agrega una nueva zona de ruta, Graphic Pick 1, a la clase de zonas de ruta en la ventana de Network Analyst.

  4. En la ventana de Network Analyst, haga doble clic en el nuevo objeto de zona de ruta, Graphic Pick 1.

    Se abre la ventana Propiedades de la zona de ruta.

  5. Establezca las propiedades de la zona de ruta como se muestra en la tabla siguiente.

    a tabla

    Valor

    Descripción

    RouteName

    Centro de la ciudad

    El nombre de la ruta a la que está asociada esta zona de ruta.

    IsHardZone

    Verdadero

    La furgoneta no puede servir órdenes que estén fuera de la zona de ruta. Si se establece este valor en Verdadero, se garantiza que a la furgoneta solo se asignen órdenes que estén dentro de la zona de ruta.

    Propiedades de la zona de ruta

  6. Repita los pasos 1-6 para agregar dos zonas de ruta más: una para North Bay y otra para East Bay.

    El mapa y la ventana de Network Analyst deben contener tres objetos de zona de ruta.

    Las tres zonas de ruta en la visualización del mapa
    Las tres zonas de ruta en la ventana de Network Analyst

Configurar las propiedades para el análisis

A continuación, especificará las propiedades para el análisis del problema de generación de rutas para vehículos.

Pasos:
  1. Haga clic en el botón Propiedades de capa de análisis de la ventana de Network Analyst.

    Hacer clic en el botón Propiedades de capa

    Se abrirá el cuadro de diálogo Propiedades de capa.

  2. Haga clic en la ficha Configuración de análisis.
  3. 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 los depósitos.

  4. Asegúrese de que no haya nada seleccionado en la lista Atributo de distancia.

    Puesto que no está utilizando ningún parámetro de coste basado en distancia, tal como CostPerUnitDistance o MaxTotalDistance, no es necesario establecer el atributo de distancia.

  5. Establezca Fecha predeterminada en Día de la semana. En la lista desplegable Día de la semana elija Lunes.
  6. Dado que la capacidad de la furgoneta se mide solo por el número total de pasajeros que puede acomodar, establezca Cálculo de capacidad en 1.

    Si la capacidad se ha medido mediante el número total de pasajeros y el número máximo de sillas de ruedas que se pueden acomodar en la furgoneta, el cálculo de capacidad sería 2.

  7. Deje las opciones predeterminadas para las demás propiedades.

    Ficha Configuración de análisis

  8. Haga clic en Aceptar.

Ejecute el proceso para determinar la solución

Pasos:
  1. Haga clic en el botón Resolver. Resolver en la barra de herramientas Network Analyst.

    El solucionador de VRP calcula las rutas para cada furgoneta. Cada ruta comienza en un depósito, recoge a una o más personas si el tiempo que pasan en la furgoneta es menor que el valor de MaxTransitTime especificado en el par de órdenes, las deja en sus hospitales, continúa recogiendo y dejando a otras personas, y vuelve al final al depósito. Las rutas solo sirven órdenes en sus zonas de ruta asignadas.

    Resultados del análisis de VRP

Determinar indicaciones giro por giros para las rutas

Pasos:
  1. Haga clic en el botón Ventana de indicaciones Indicaciones en la barra de herramientas Network Analyst.

    Se abre el cuadro de diálogo Indicaciones.

  2. Puede exportar el problema de generación de rutas para vehículos como un archivo de capa (<nombre de archivo> .lyr) en disco para poder cargarlo en un documento de mapa diferente.
  3. Salga de ArcMap sin guardar ningún cambio.
9/11/2013