Disponible con una licencia de Network Analyst.
La capa de análisis de problema de generación de rutas para vehículos almacena las entradas, parámetros y resultados de un problema de generación de rutas para vehículos determinado. Una vez creada la capa, esta aparece en la ventana Contenido como una capa compuesta, que se denomina Problema de generación de rutas para vehículos o, si ya existe un problema de generación de rutas para vehículos con el mismo nombre en el documento de mapa, Problema de generación de rutas para vehículos 1, Problema de generación de rutas para vehículos 2, etc. La capa de análisis de problema de generación de rutas para vehículos está compuesta por hasta 13 clases de análisis de red que incluyen nueve capas de entidades (Órdenes, Depósitos, Rutas, Descansos, Zonas de ruta, Visitas al depósito, Barreras de punto, Barreras de línea y Barreras de polígono) y cuatro tablas (Especialidades de ruta, Especialidades de orden, Pares de órdenes y Reanudaciones de ruta). Contienen los objetos de análisis de red utilizados al resolver el problema de generación de rutas para vehículos. Las relaciones entre las diversas clases de análisis de red se muestran en el siguiente documento:
Más información sobre la creación de una capa de análisis de red
Para permitir flujos de trabajo VRP que inician ArcGIS Pro 2.6, se han introducido algunos cambios de esquema. Para obtener más información, consulte Cambios de esquema VRP.
Nota:
Al hacer referencia a ArcGIS.com o a un portal para el dataset de red de la capa VRP, si la solución falla, solo se actualizarán los campos de restricciones infringidas. Todos los demás campos, tanto de entrada como de salida, permanecerán sin cambios.
Más información sobre el solucionador de VRP
Órdenes
La capa de entidades Órdenes almacena las órdenes que forman parte de una capa de análisis de problema de generación de rutas para vehículos determinado. Una orden puede ser una entrega a un cliente, una recogida de un cliente, o algún otro tipo de trabajo. Los ejemplos incluyen la entrega de muebles, recoger aceite de un restaurante o una visita de inspección.
Si las órdenes tienen elementos que recoger o entregar, los elementos pueden tener una o muchas capacidades, que pueden basarse en cualquier forma o combinación de medidas que desee como, por ejemplo, peso, volumen o número de unidades. Algunas órdenes, como las visitas de inspección, pueden no tener entregas o recogidas asociadas.
Una orden puede tener un tiempo de servicio, que es el tiempo necesario para completar el trabajo en la orden. Por ejemplo, un camión de entrega puede requerir un tiempo de servicio de 20 minutos para descargar un mueble y llevarlo al interior de un domicilio. El tiempo de servicio puede ser el mismo para todas las órdenes o puede ser exclusivo para cada orden.
Una orden puede tener una o dos ventanas de tiempo, que indican cuando se permite que un vehículo visite la orden. Por ejemplo, solo se permite a un camión de entrega de alimentación mayorista llegar a un restaurante entre las 8:00 y las 10:00 a.m. o entre las 2:00 y 4:00 p.m. porque si llegara en cualquier otro momento interferiría con la actividad del restaurante.
El solucionador de VRP no está diseñado para solucionar problemas con una duración superior a un año. Por consiguiente, todos los tiempos de servicio y las ventanas de servicio tienen que ser de menos de un año.
Las especialidades pueden estar asociadas a una orden. Es decir, una orden puede requerir a un técnico con una cierta habilidad (por ejemplo, un electricista) o un vehículo con ciertas funciones (un elevador). Solo se asignará a la orden una ruta que tenga la misma especialidad.
Orden: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
Shape | Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. |
Name | Nombre del objeto de análisis de red. El nombre debe ser único. Este campo actúa como una clave principal y se utiliza como una clave externa para hacer referencia a órdenes en la tabla de Pares de órdenes y Especialidades de órdenes. Los nombres de órdenes no distinguen entre mayúsculas y minúsculas y no pueden estar vacíos, incluso aunque la orden se excluya de la operación de resolución. |
Description | La información descriptiva sobre la orden. Puede contener cualquier información textual para la orden y no tiene ninguna restricción de singularidad. Es posible que desee almacenar el número de Id. de un cliente en el campo Nombre y el nombre real del cliente o la dirección en el campo Descripción. |
ServiceTime | Esta propiedad especifica cuánto tiempo se empleará en la ubicación de red cuando la ruta la visite; es decir, almacena el valor de impedancia para la ubicación de red. Un valor de cero o nulo indica que la ubicación de red no requiere ningún tiempo de servicio. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
TimeWindowStart | El tiempo inicial de la primera ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo; un valor nulo no indica ningún tiempo inicial. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
TimeWindowEnd | El tiempo final de la primera ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo; un valor nulo no indica ningún tiempo final. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
TimeWindowStart2 | El tiempo inicial de la segunda ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo; un valor nulo indica que no hay segunda ventana de tiempo. Si la primera ventana de tiempo es nula según lo especificado por los campos TimeWindowStart y TimeWindowEnd, la segunda ventana de tiempo también debe ser nula. Si ambas ventanas de tiempo son no nulas, no pueden superponerse. Además, la segunda ventana de tiempo debe ocurrir después de la primera. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
TimeWindowEnd2 | El tiempo final de la segunda ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo. Cuando tanto TimeWindowStart2 como TimeWindowEnd2 son nulos, no hay segunda ventana de tiempo. Cuando TimeWindowStart2 no es nulo, pero TimeWindowEnd2 sí es nulo, hay una segunda ventana de tiempo que tiene una hora inicial, pero no tiene hora final. Esto es válido. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
MaxViolationTime | Se considera que se ha infringido una ventana de tiempo si la hora de llegada ocurre después de que la ventana de tiempo ha finalizado. Este campo especifica la hora máxima permitida de infracción de la primera ventana de tiempo de la orden. Puede contener un valor cero pero no puede contener valores negativos. Un valor cero indica que no es aceptable una infracción de ventana de tiempo en la primera ventana de tiempo de la orden; es decir, la primera ventana de tiempo es estricta. Por otro lado, un valor nulo indica que no existe ningún límite en el tiempo de infracción permitido. Un valor distinto de cero especifica la cantidad máxima de retraso; por ejemplo, una ruta puede llegar a una orden hasta 30 minutos después del final de su primera ventana de tiempo. Cuando hay dos ventanas de tiempo para una orden, la primera ventana de tiempo siempre se tratará como una ventana de tiempo estricta con MaxViolationTime de cero. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. El solucionador puede realizar un seguimiento y ponderación de las infracciones de la ventana de tiempo. Por ello, puede dirigir el solucionador de VRP para que adopte uno de estos tres enfoques:
Asignando un nivel de importancia para el parámetro Violación de la ventana de tiempo de la capa del análisis, está eligiendo en esencia uno de estos tres enfoques. En cualquier caso, sin embargo, el solucionador devolverá un error si el valor establecido para MaxViolationTime se supera. |
MaxViolationTime2 | Tiempo máximo de infracción permitido para la segunda ventana de tiempo de la orden. Este campo es análogo al campo MaxViolationTime. |
InboundArriveTime | Define el momento en que el elemento que se va a entregar a la orden estará listo en el depósito inicial. La orden solo se puede asignar a una ruta si la hora de llegada de la entrada precede al valor de la última hora de inicio; de este modo, la ruta no podrá salir del depósito antes de que el elemento esté preparado para cargarse en ella. Este campo puede resultar útil en escenarios de modelos en los que se producen transbordos de ondas entrantes. Sería el caso, por ejemplo, de un trabajo de una orden que requiere materiales especiales que, en ese momento, no están disponibles en el depósito. Los materiales se están enviando desde otra ubicación y llegarán al depósito a las 11:00. Para garantizar que una ruta que sale antes de que llegue el cargamento no se asigne a la orden, la hora de llegada de la entrada de la orden se establece a las 11:00. Los materiales especiales llegan a las 11:00, se cargan en el vehículo y este sale del depósito para visitar las órdenes asignadas. Notas:
|
OutboundDepartTime | Define el momento en que el elemento que se va a recoger en la orden debe llegar al depósito final. La orden solo se puede asignar a una ruta si esta puede visitar la orden y llegar a su depósito final antes de la hora de partida de la salida que se haya especificado. Este campo puede resultar útil en escenarios de modelos en los que se producen transbordos de ondas salientes. Supongamos que una empresa de transportes envía camiones de reparto para recoger paquetes de órdenes y los entrega en un depósito donde, a continuación, se llevan a otras instalaciones para entregarlos a su destino final. Cada día, a las 15:00, un tráiler para en el depósito para recoger los paquetes urgentes y los lleva directamente a una estación de central de procesamiento. Para evitar retrasar la entrega de los paquetes urgentes hasta las 15:00 del día siguiente, la empresa de transportes intenta que los camiones de reparto recojan los paquetes urgentes de las órdenes y los lleven del depósito antes de las 15:00. Esto se consigue estableciendo la hora de partida de la salida a las 15:00. Notas:
|
| El tamaño de la entrega. Puede especificar el tamaño en cualquier dimensión como peso, volumen o cantidad. Si existen varias cantidades de entrega, especifíquelas usando los campos DeliveryQuantity_1 a DeliveryQuantity_9 según sea necesario. |
| El tamaño de la recogida. Puede especificar el tamaño en cualquier dimensión como peso, volumen o cantidad. Si existen varias cantidades de recogida, especifíquelas usando los campos PickupQuantity_1 a PickupQuantity_9 según sea necesario. |
Revenue | El ingreso generado si la orden se incluye en una solución. Este campo puede contener un valor nulo (un valor nulo indica una renta de cero), pero no puede tener un valor negativo. Rentas se incluye al optimizar el valor de función objetivo pero no forma parte del coste operativo de la solución. Es decir, el campo TotalCost en la clase de ruta nunca incluye rentas en su resultado; sin embargo, la renta pondera la importancia relativa de dar servicio a las órdenes. |
AssignmentRule | Este campo especifica la regla para asignar la orden a una ruta. Este está restringido por un dominio de valores, que se muestran a continuación (sus valores codificados se muestran entre paréntesis).
Este campo no puede contener un valor nulo. |
Campos de ubicación de red
|
Conjuntamente, estas propiedades describen el punto en la red donde se encuentra el objeto. Obtener más información sobre ubicación de entradas en una red |
CurbApproach | La propiedad CurbApproach especifica la dirección por la que un vehículo puede llegar a una ubicación de red y partir de ella. Hay cuatro opciones (sus valores codificados se muestran entre paréntesis):
Más información sobre las directivas para cambios de sentido |
Nota:
Una ventana de tiempo solo indica cuando puede llegar un vehículo a una orden; no indica cuándo se debe completar el tiempo de servicio. Para contabilizar el tiempo de servicio y partir antes de que la ventana de tiempo se agote, reste ServiceTime del campo TimeWindowEnd.
La zona horaria para los campos de la ventana de tiempo puede especificarse usando el parámetro time_zone_for_time_fields en la herramienta de geoprocesamiento Crear capa de análisis de Problema de generación de rutas para vehículos.
Los campos de la ventana de tiempo pueden contener un valor de solo hora o un valor de fecha y hora. Si un campo de tiempo como TimeWindowStart tiene un valor solo de tiempo (por ejemplo, 8:00 AM), se asume que la fecha es la que especifica la propiedad Fecha predeterminada de la capa de análisis. El uso de valores de fecha y hora (por ejemplo, 7/11/2010 8:00 AM) permite establecer ventanas de tiempo que abarcan varios días.
La fecha predeterminada se omite cuando un campo de ventana de tiempo incluye una fecha con la hora. Para evitar cualquier error en esta situación, el formato de todas las ventanas de tiempo de Depósitos, Rutas, Órdenes y Pausas también debe incluir la fecha con la hora.
Si está utilizando datos de tráfico, los campos de hora del día para la ubicación de red siempre hacen referencia a la misma zona horaria que el borde en el que se encuentra la ubicación de red.
Órdenes: campos de entrada/salida
Campo de entrada/salida | Descripción |
---|---|
RouteName |
El nombre de la ruta a la que se ha asignado la orden. Como campo de entrada, este campo se utiliza para preasignar una orden a una ruta concreta. Puede contener un valor nulo que indica que la orden no se ha preasignado a ninguna ruta y el solucionador determina la mejor asignación de ruta posible para la orden. Si está establecido en nulo, el campo de secuencia también debe estar establecido en nulo. El campo RouteName es una clave externa al campo Nombre en la clase Rutas. Los objetos de ruta deben existir antes de que aparezcan en la lista RouteName. Después de una operación de resolución, si se enruta la orden, el campo RouteName contiene el nombre de la ruta a la que está asignada la orden. |
Sequence | Esto indica la secuencia de la orden en su ruta asignada. Como campo de entrada, este campo se utiliza para especificar la secuencia relativa para una orden en la ruta. Este campo puede contener un valor nulo que especifica que la orden se puede realizar en cualquier parte a lo largo de la ruta. Un valor nulo solo puede ocurrir junto con un valor RouteName nulo. Los valores de la secuencia de entrada son no negativos y únicos para cada ruta (se comparten en las visitas al depósito, órdenes y descansos), pero no tienen que empezar a partir de 0 ni ser contiguos. Después de una operación de solución, el campo Sequence contiene el valor de secuencia de la orden en su ruta asignada. Los valores de secuencia de salida para una ruta se comparten en las visitas a depósito, órdenes y descansos; empiezan a partir de 1 (en el depósito de inicio); y son consecutivos. Así que el valor Secuencia de salida más pequeño posible para una orden enrutada es 2, dado que una ruta siempre comienza en un depósito. |
Status |
Indica el estado del punto con respecto a su ubicación en la red y el resultado del análisis. Los posibles valores son los siguientes:
Si se utilizan ventanas de tiempo y la ruta llega temprano o tarde, el valor cambia a Violación de la ventana de tiempo (6). |
Nota:
Si la orden tiene un valor del campo AssignmentRule de Excluir, los valores de entrada de los campos Estado, RouteName y Secuencia no cambian durante la operación de resolución.
Órdenes: campos de salida
Campo de salida | Descripción |
---|---|
| Estos campos contienen un resumen de restricciones infringidas y se establecen después una operación de resolución. Cada campo contendrá una infracción. Si una orden tiene más de una infracción, se utilizará el siguiente campo ViolatedConstraint_#.
Obtener más información sobre la solución de problemas de análisis de red Nota:El valor de campo de restricción infringida de una orden sin enrutar podría describir o no todas sus infracciones. Si la infracción es lo bastante grave para excluir inmediatamente la orden de otras consideraciones, el solucionador lo hace, lo que evita descubrir otras infracciones para dicha orden. Si se encuentra una infracción que no impide automáticamente la generación de una solución, dicha infracción se anota en campos de restricción infringida y el solucionador sigue considerando la orden. Cualquier infracción adicional de este tipo se agrega a los campos de restricciones infringidas hasta que el solucionador encuentra una infracción que detiene prematuramente el proceso de resolución para esa orden en particular o el solucionador encuentra una solución global al problema. |
FromPrevTravelTime | El tiempo de viaje de la visita anterior en la ruta a la orden. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
FromPrevDistance | La distancia de viaje de la visita anterior en la ruta a la orden. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
CumulTravelTime | El tiempo de viaje acumulado para la ruta hasta la llegada a la orden. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulDistance | La distancia de viaje acumulado para la ruta hasta la llegada a la orden. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
CumulTime | La duración acumulada de la ruta hasta la orden e incluida. La duración acumulada incluye los tiempos de viaje, así como los tiempos de servicio y espera en las órdenes. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
ArriveCurbApproach | Indica a qué lado del vehículo está el bordillo cuando el vehículo se acerca a la ubicación de red. Si el valor CurbApproach de la ubicación de red está establecido en Lado derecho del vehículo, ArriveCurbApproach después de la solución será Lado derecho del vehículo. Sin embargo, si el valor CurbApproach está establecido en Cualquier lado del vehículo o Sin cambio de sentido, ArriveCurbApproach podría estar en el lado derecho o izquierdo dependiendo de cuál produzca la ruta total más corta. |
DepartCurbApproach | Indica a qué lado del vehículo está el bordillo cuando el vehículo parte de la ubicación de red. Si el valor CurbApproach de la ubicación de red está establecido en Lado derecho del vehículo, DepartCurbApproach después de la solución será Lado derecho del vehículo. Sin embargo, si el valor CurbApproach está establecido en Cualquier lado del vehículo o Sin cambio de sentido, DepartCurbApproach podría estar en el lado derecho o izquierdo dependiendo de cuál produzca la ruta total más corta. |
ArriveTime | El valor de la fecha y la hora de llegada a la orden. La ruta puede llegar a la orden antes del inicio de una de las ventanas de tiempo de la orden, en cuyo caso hay un tiempo de espera en la orden. Para una orden con ventanas de tiempo no estrictas, la ruta puede llegar también a la orden después del fin de una de las ventanas de tiempo, en cuyo caso existe una infracción de tiempo en la orden. Al utilizar datos de tráfico que cubren varias zonas horarias, la zona horaria para este valor de hora del día se toma del elemento de red en el que se encuentra la orden. |
DepartTime | El valor de la fecha y la hora que indica la hora de salida de la orden. La ruta parte de la orden una vez finalizado el servicio. Al utilizar datos de tráfico que cubren varias zonas horarias, la zona horaria para este valor de hora del día se toma del elemento de red en el que se encuentra la orden. |
ArriveTimeUTC | El valor de la fecha y la hora de llegada expresado en tiempo universal coordinado (UTC) en la orden. |
DepartTimeUTC | El valor de la fecha y la hora de salida expresado en tiempo universal coordinado (UTC) de la orden. La ruta parte de la orden una vez finalizado el servicio. |
WaitTime | El tiempo de espera o relevo en la orden. Por ejemplo, obtiene un valor de tiempo de espera si una ruta debe esperar en la orden para que se abra una ventana de tiempo. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
ViolationTime | La cantidad de tiempo transcurrida entre el fin de la ventana de tiempo de la orden y la llegada del vehículo de ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulWaitTime | El tiempo de espera acumulado desde el principio de la ruta hasta la orden incluida. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulViolationTime | El tiempo de infracción acumulado desde el principio de la ruta hasta la orden incluida. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
Depósitos
La clase de entidad de depósito almacena los depósitos que forman parte de una capa de análisis de problema de generación de rutas para vehículos determinada. Un depósito es una ubicación desde la que sale un vehículo al comienzo de su día laborable y a la que vuelve al final del mismo. Los depósitos son las ubicaciones donde se cargan los vehículos (para las entregas) o se descargan (para las recogidas). En algunos casos, un depósito también puede actuar como ubicación de renovación donde el vehículo puede descargarse o volverse a cargar y seguir realizando entregas y recogidas. Un depósito tiene horas de apertura y cierre, tal y como se especifica en una ventana de tiempo estricta. Los vehículos no pueden llegar a un depósito fuera de esta ventana de tiempo.
Depósitos: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
Shape | Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. |
Name | Nombre del objeto de análisis de red. Este campo es una clave principal y se utiliza como clave externa en la capa de entidades Rutas, la tabla Reanudaciones de ruta y la capa de entidades Visitas al depósito para hacer referencia a los depósitos. Los nombres de depósitos no hacen distinción entre mayúsculas y minúsculas y tienen que ser únicos y no estar vacíos. |
Description | La información descriptiva sobre el objeto de análisis de red. Puede contener cualquier información textual y no tiene ninguna restricción de singularidad. Quizás desee tener en cuenta en qué región está un depósito o la dirección y número de teléfono del mismo; podría introducir esta información aquí en lugar de en el campo Nombre. |
TimeWindowStart | El tiempo inicial de la primera ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo; un valor nulo no indica ningún tiempo inicial. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
TimeWindowEnd | El tiempo final de la primera ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo; un valor nulo no indica ningún tiempo final. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
TimeWindowStart2 | El tiempo inicial de la segunda ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo; un valor nulo indica que no hay segunda ventana de tiempo. Si la primera ventana de tiempo es nula según lo especificado por los campos TimeWindowStart y TimeWindowEnd, la segunda ventana de tiempo también debe ser nula. Si ambas ventanas de tiempo son no nulas, no pueden superponerse. Además, la segunda ventana de tiempo debe ocurrir después de la primera. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
TimeWindowEnd2 | El tiempo final de la segunda ventana de tiempo para la ubicación de red. Este campo puede contener un valor nulo. Cuando tanto TimeWindowStart2 como TimeWindowEnd2 son nulos, no hay segunda ventana de tiempo. Cuando TimeWindowStart2 no es nulo, pero TimeWindowEnd2 sí es nulo, hay una segunda ventana de tiempo que tiene una hora inicial, pero no tiene hora final. Esto es válido. (Vea la nota debajo de esta tabla de propiedades para obtener más información). |
Campos de ubicación de red
|
Conjuntamente, estas propiedades describen el punto en la red donde se encuentra el objeto. Obtener más información sobre ubicación de entradas en una red |
CurbApproach | La propiedad CurbApproach especifica la dirección desde la que un vehículo puede llegar al depósito y partir de él. Es útil para vehículos que necesitan acercarse y partir de un depósito desde una dirección concreta o evitar realizar giros de 180º. Puede dar cabida a estos requisitos seleccionando uno de los siguientes cuatro valores para CurbApproach:
Más información sobre las directivas para cambios de sentido |
Nota:
Los campos de la ventana de tiempo pueden contener un valor de solo hora o un valor de fecha y hora. Si un campo de tiempo como TimeWindowStart tiene un valor solo de tiempo (por ejemplo, 8:00 AM), se asume que la fecha es la que especifica la propiedad Fecha predeterminada de la capa de análisis. El uso de valores de fecha y hora (por ejemplo, 7/11/2010 8:00 AM) permite establecer ventanas de tiempo que abarcan varios días.
La zona horaria para los campos de la ventana de tiempo puede especificarse usando el parámetro time_zone_for_time_fields en la herramienta de geoprocesamiento Crear capa de análisis de Problema de generación de rutas para vehículos.
La fecha predeterminada se omite cuando un campo de ventana de tiempo incluye una fecha con la hora. Para evitar cualquier error en esta situación, el formato de todas las ventanas de tiempo de Depósitos, Rutas, Órdenes y Pausas también debe incluir la fecha con la hora.
Si está utilizando datos de tráfico, los campos de hora del día para la ubicación de red siempre hacen referencia a la misma zona horaria que el borde en el que se encuentra la ubicación de red.
Depósitos: campos de entrada/salida
Campo de entrada/salida | Descripción |
---|---|
Status |
Indica el estado del punto con respecto a su ubicación en la red y el resultado del análisis. Los posibles valores son los siguientes:
Si se utilizan ventanas de tiempo y el vehículo enrutado llega temprano o tarde, el valor cambia a Infracción de la ventana de tiempo (6). |
Rutas
Esta clase de entidades de ruta almacena las rutas que forman parte de una capa de análisis de problema de generación de rutas para vehículos determinada. Una ruta especifica las características del vehículo y del conductor, además de representar la travesía entre depósitos y órdenes. En Network Analyst, vehículos, rutas y conductores son sinónimos y el término ruta se utiliza para englobar a los tres.
Nota:
El solucionador de VRP no está diseñado para considerar que el mismo vehículo se utiliza en turnos de día laborable en una única solución de generación de rutas o el cambio de conductores en un día laborable.
Una ruta podría dedicar tiempos de carga o descarga en los depósitos de inicio o fin. La cantidad de tiempo empleada en un depósito es fija para la ruta y se especifica como tiempo de servicio del depósito inicial y final.
Una ruta puede comenzar a una hora fija o podría tener una hora de inicio flexible; es decir, podría tener un intervalo de tiempo de inicio de más temprano a más tardío. Se tienen en cuenta el intervalo de tiempo de inicio y la ventana de tiempo del depósito inicial al determinar la hora de inicio real de la ruta.
El coste operativo de una ruta individual puede estar compuesto por costes basados en tiempo, costes basados en distancia o costes fijos que son independientes de la cantidad de tiempo trabajada o de la distancia recorrida. Puede haber, por ejemplo, un coste fijo asociado al uso de un vehículo si hay que alquilar vehículos adicionales en días de carga de trabajo elevada. De igual forma, es posible que haya que pagarle al conductor el número de horas trabajadas, incluidas o excluidas las horas extraordinarias y las pausas de almuerzo. Tales costes se pueden utilizar para especificar los costes basados en tiempo. Los costes de combustible se pueden utilizar para especificar los costes de la distancia.
El vehículo que opera en una ruta determinada también puede tener una capacidad, que limita la cantidad que puede transportar.
Puede haber restricciones dentro del día laborable de un conductor, por ejemplo, la distancia total recorrida o el número de horas que un conductor puede trabajar o conducir según la normativa estatal o el convenio sindical.
La ruta puede incluir descansos en el trabajo. El conductor podría recibir un pago o no durante estos descansos.
Un vehículo podría tener ciertas capacidades, por ejemplo, un elevador o un blindaje especial, o los técnicos podrían tener distintos conjuntos de habilidades. Las órdenes que tienen definidas estas especialidades se deben asignar a las rutas adecuadas.
Una ruta puede estar asociada a una zona si la ruta está limitada a una región geográfica predefinida.
Las rutas son entidades de línea. Se pueden importar desde rutas existentes en otras capas de análisis de problema de generación de rutas para vehículos, de otras entidades lineales o desde tablas.
Rutas: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
Name | Nombre del objeto de análisis de red. Este campo es la clave principal y se utiliza como una clave externa en Órdenes, Descansos, Zonas de ruta, Visitas al depósito y capas de entidades, y en las tablas Reanudaciones de ruta y Especialidad de ruta. Los nombres de ruta no hacen distinción entre mayúsculas y minúsculas y no pueden estar vacíos, incluso aunque la ruta no forme parte de la operación de resolución. El nombre debe ser único. |
Description | La información descriptiva sobre el objeto de análisis de red. Puede contener cualquier información textual y no tiene ninguna restricción de singularidad. |
StartDepotName | El nombre del depósito inicial para la ruta. Este campo es una clave externa para el campo Nombre en la clase Depósitos. Los objetos de depósito deben existir antes de aparecer en la lista desplegable StartDepotName. Si el valor StartDepotName es nulo, la ruta comenzará desde la primera orden asignada. Omitir el depósito inicial es útil cuando no se conoce la ubicación inicial del vehículo o es irrelevante para el problema. Sin embargo, cuando StartDepotName es nulo, EndDepotName no puede ser nulo. No se permiten depósitos iniciales virtuales si las órdenes o los depósitos están en varias zonas horarias. Si la ruta está realizando entregas y StartDepotName es nulo, se supone que el cargamento se carga en el vehículo en un depósito virtual antes de que comience la ruta. Para una ruta que no tiene visitas de reanudación, sus órdenes de entrega (aquéllas con valores en los campos de DeliveryQuantity_# distintos de cero en la clase Órdenes) se cargan en el depósito de inicio o en el depósito virtual. Para una ruta que tiene visitas de reanudación, solo se cargan en el depósito de inicio o en el depósito virtual las órdenes de entrega antes de la primera visita de reanudación. |
EndDepotName | El nombre del depósito final para la ruta. Este campo es una clave externa para el campo Nombre en la clase Depósitos. Los objetos de depósito deben existir antes de aparecer en la lista desplegable EndDepotName. |
StartDepotServiceTime | El tiempo de servicio en el depósito inicial. Esto se puede utilizar para modelar el tiempo dedicado a cargar el vehículo. Este campo puede contener un valor nulo; un valor nulo indica un tiempo de servicio cero. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. Nota:Los tiempos de servicio de los depósitos inicial y final son valores fijos (dados por los valores de campo StartDepotServiceTime y EndDepotServiceTime) y no tienen en cuenta la carga real para una ruta. Por ejemplo, el tiempo necesario para cargar un vehículo en el depósito inicial puede depender del tamaño de los pedidos. En consecuencia, los tiempos de servicio de depósito podrían ser valores dados correspondientes a un camión completamente cargado o con una carga media, o podría realizarse una estimación propia del tiempo. |
EndDepotServiceTime | El tiempo de servicio en el depósito final. Esto se puede utilizar para modelar el tiempo dedicado a descargar el vehículo. Este campo puede contener un valor nulo; un valor nulo indica un tiempo de servicio cero. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. Nota:Los tiempos de servicio de los depósitos inicial y final son valores fijos (dados por los valores de campo StartDepotServiceTime y EndDepotServiceTime) y no tienen en cuenta la carga real para una ruta. Por ejemplo, el tiempo necesario para cargar un vehículo en el depósito inicial puede depender del tamaño de los pedidos. En consecuencia, los tiempos de servicio de depósito podrían ser valores dados correspondientes a un camión completamente cargado o con una carga media, o podría realizarse una estimación propia del tiempo. |
EarliestStartTime |
El tiempo de inicio más temprano permitido para la ruta. El solucionador utiliza esto junto con la ventana de tiempo del depósito inicial para determinar los tiempos de inicio de ruta factibles. Este campo no puede contener valores nulos y tiene un valor solo de tiempo predeterminado de 8:00 a.m; el valor predeterminado se interpreta como 8:00 a.m. en la fecha proporcionada por la propiedad Fecha predeterminada de la capa de análisis. La fecha predeterminada se omite cuando un campo de ventana de tiempo incluye una fecha con la hora. Para evitar cualquier error en esta situación, el formato de todas las ventanas de tiempo de Depósitos, Rutas, Órdenes y Pausas también debe incluir la fecha con la hora. Al utilizar datasets de red con datos de tráfico en varias zonas horarias, la zona horaria para EarliestStartTime es igual a la zona horaria del eje o cruce en los que se encuentra el depósito inicial. |
LatestStartTime | El tiempo de inicio más tardío permitido para la ruta. Este campo no puede contener valores nulos y tiene un valor solo de tiempo predeterminado de 10:00 a.m; el valor predeterminado se interpreta como 10:00 a.m. en la fecha proporcionada por la propiedad Fecha predeterminada de la capa de análisis. La fecha predeterminada se omite cuando un campo de ventana de tiempo incluye una fecha con la hora. Para evitar cualquier error en esta situación, el formato de todas las ventanas de tiempo de Depósitos, Rutas, Órdenes y Pausas también debe incluir la fecha con la hora. Al utilizar datasets de red con datos de tráfico en varias zonas horarias, la zona horaria para LatestStartTime es igual a la zona horaria del eje o cruce en los que se encuentra el depósito inicial. |
ArriveDepartDelay | Este campo almacena la cantidad de tiempo de viaje necesario para acelerar el vehículo a velocidades de viaje normales, decelerarlo hasta una parada y meterlo y sacarlo de la red (por ejemplo, entrar y salir del aparcamiento). Incluyendo un valor ArriveDepartDelay, se evita que el solucionador de VRP envíe muchas rutas para dar servicio a órdenes físicamente coincidentes. El coste para esta propiedad se incurre entre visitas a órdenes no coincidentes, depósitos y reanudaciones de ruta. Por ejemplo, cuando una ruta empieza en un depósito y visita la primera orden, el retraso de llegada/salida se agrega al tiempo de viaje. Lo mismo es aplicable al viajar desde la primera orden a la segunda. Si la segunda y tercera órdenes coinciden, el valor ArriveDepartDelay no se añade dado que el vehículo no tiene que desplazarse. Si la ruta viaja a una reanudación de ruta, el valor se añade de nuevo al tiempo de viaje. Aunque un vehículo tiene que reducir la velocidad y detenerse para un descanso y acelerar después, el solucionador de VRP no puede agregar el valor ArriveDepartDelay para los descansos. Esto significa que si una ruta deja una orden, para durante un descanso y continúa en la siguiente orden, el retardo de llegada/salida se añade solo una vez, no dos veces. Digamos que hay cinco órdenes coincidentes en un edificio alto y a las que dan servicio tres rutas diferentes. Esto significa que se incurrirían en tres retrasos de llegada/salida; es decir, tres conductores tendrían que buscar aparcamiento y entrar en el mismo edificio. Sin embargo, si solo una ruta pudiera dar servicio a las órdenes en su lugar, solo tendría que aparcar un conductor y entrar en el edificio, solo se incurriría en un retraso de llegada/salida. Dado que el solucionador de VRP intenta minimizar el coste, intentará limitar los retrasos de llegada/salida y, de este modo, elegir la opción de ruta única. (Observe que es posible que sea necesario enviar varias rutas cuando otras restricciones, tales como especialidades, ventanas de tiempo o capacidades, lo requieran.) La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
| La cantidad máxima (por ejemplo, volumen, peso, cantidad) que se puede transportar en el vehículo. Si existen varias cantidades, especifíquelas usando los campos Capacity_1 a Capacity_9 según sea necesario. Nota:Una cadena vacía o un valor nulo equivale a infinito. Los valores de capacidad no pueden ser negativos. |
FixedCost | Un coste monetario fijo en el que solo se incurre si la ruta se utiliza en una solución (es decir, tiene órdenes asignadas a la misma). Este campo puede contener valores nulos; un valor nulo indica un coste fijo cero. Este coste forma parte del coste operativo de ruta total. |
CostPerUnitTime | El coste monetario incurrido, por tiempo unitario de trabajo, para la duración total de la ruta, incluidos los tiempos de viaje así como los tiempos de servicio y de espera en órdenes, depósitos y descansos. Este campo no puede contener un valor nulo y tiene un valor predeterminado de 1,0. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CostPerUnitDistance | El coste monetario incurrido, por unidad de distancia viajada, para la longitud de la ruta (distancia de viaje total). Este campo puede contener valores nulos; un valor nulo indica un coste cero. La unidad de distancia viene especificada por la propiedad Unidades de campo de distancia de la capa de análisis. El solucionador devolverá un error si se proporciona un valor a este campo y no se especifica la propiedad Atributo de distancia para la capa del análisis. |
OvertimeStartTime | La duración de tiempo de trabajo normal antes de que se inicie el cálculo de horas extra. Este campo puede contener valores nulos; un valor nulo indica que no se aplican horas extraordinarias. Si incluye un valor OvertimeStartTime, debe ser mayor que cero y menor que el valor MaxTotalTime. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. Por ejemplo, si se paga horas extra al conductor cuando la duración de ruta total supera las ocho horas, entonces OvertimeStartTime se especifica como 8 si la propiedad Unidades de campo de tiempo de la capa de análisis está establecida en Horas. |
CostPerUnitOvertime | El coste monetario en el que se incurre por unidad de tiempo de hora extra. Solo puede contener un valor nulo si OvertimeStartTime también es nulo. De lo contrario, debe ser un valor positivo mayor que el CostPerUnitTime. |
MaxOrderCount |
El máximo número permitido de órdenes en la ruta. Este campo no puede contener valores nulos y tiene un valor predeterminado de 30. |
MaxTotalTime | La duración máxima permitida de la ruta. La duración de la ruta incluye los tiempos de viaje, así como los tiempos de servicio y de espera en órdenes, depósitos y descansos. Este campo puede contener valores nulos; un valor nulo indica que no hay ninguna restricción en la duración de la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
MaxTotalTravelTime | El tiempo de viaje máximo permitido para la ruta. El tiempo de viaje incluye solo el tiempo empleado en conducir en la red y no incluye tiempos de servicio o de espera. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. Este campo puede contener valores nulos; un valor nulo indica que no hay ninguna restricción en el tiempo máximo de viaje permitido. Este valor de campo no puede ser mayor que el valor de campo MaxTotalTime. |
MaxTotalDistance | La distancia de viaje máxima permitida para la ruta. La unidad para la distancia total viene especificada por la propiedad Unidades de campo de distancia de la capa de análisis. Este campo puede contener valores nulos; un valor nulo indica que no hay ninguna restricción en la distancia máxima de viaje permitida. El solucionador devolverá un error si se proporciona un valor a este campo y no se especifica la propiedad Atributo de distancia para la capa del análisis. |
AssignmentRule | Esto especifica si se puede utilizar o no la ruta al resolver el problema. Un dominio de valores restringe este campo y los valores posibles son los siguientes:
|
Rutas: campos de salida
Campo de salida | Descripción |
---|---|
Shape | La forma de línea de la ruta. Si la propiedad Tipo de forma de salida de la capa de análisis no está establecida en Ninguno, no se devuelve ninguna forma. Al establecer la propiedad Tipo de forma de salida en Línea recta, se devuelven líneas de ruta rectas que conectan cada par de visitas consecutivas. Forma verdadera con medidas y Forma verdadera devuelven líneas que trazan sus rutas correspondientes en la red, la diferencia es que Forma verdadera con medidas devuelve una línea a la que el tiempo ya hace referencia linealmente. |
| Estos campos contienen un resumen de restricciones infringidas y se establecen después una operación de resolución. Si una ruta provoca la infracción de una restricción, las infracciones incluidas a continuación pueden asignarse a los campos, con una infracción por campo.
|
OrderCount | El número de órdenes asignadas a la ruta. |
TotalCost | El coste operativo total de la ruta, que es la suma de los siguientes valores de campo:
|
RegularTimeCost | El coste de horas de trabajo normales, excluido cualquier descanso no pagado. |
OvertimeCost | El coste de trabajo en horas extra, excluidos los descansos no pagados. |
DistanceCost | El componente de coste de distancia obtenido multiplicando los valores de campo TotalDistance y CostPerUnitDistance. Este valor de campo es nulo si no se especifica la propiedad Atributo de distancia para la capa de análisis. |
TotalTime | La duración total de la ruta. Esto incluye los tiempos de viaje, así como los tiempos de servicio y de espera en órdenes, depósitos y descansos. El valor TotalTime es la suma de los siguientes valores de campo:
La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
TotalOrderServiceTime | El tiempo de servicio total empleado en todas las órdenes en la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
TotalBreakServiceTime | El tiempo de servicio total empleado en todos los descansos en la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
TotalTravelTime | El tiempo de viaje total para la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
TotalDistance | La distancia de viaje total para la ruta. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
StartTime | La hora de inicio de la ruta. La ruta puede empezar antes del comienzo de su ventana de tiempo de depósito inicial, en cuyo caso hay un tiempo de espera en el depósito inicial. Al utilizar datos de tráfico que cubren varias zonas horarias, la zona horaria para este valor de hora del día se toma del elemento de red en el que se encuentra el depósito inicial. |
EndTime | El tiempo de finalización de la ruta. La ruta finaliza al completar el servicio en el depósito final. Al utilizar datos de tráfico que cubren varias zonas horarias, la zona horaria para este valor de hora del día se toma del elemento de red en el que se encuentra el depósito final. |
StartTimeUTC | La hora de inicio de la ruta en la hora universal coordinada (UTC). |
EndTimeUTC | La hora de finalización de la ruta en la hora universal coordinada (UTC). |
TotalWaitTime | El tiempo de espera total en todas las órdenes, depósitos y descansos en la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
TotalViolationTime | El tiempo de infracción total en todas las órdenes y descansos en la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
RenewalCount | Para una ruta con reanudaciones, equivale al número de visitas a depósitos para reanudación. |
TotalRenewalServiceTime | Para una ruta con reanudaciones, el tiempo de servicio total empleado en todas las visitas de renovación en la ruta. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
Rupturas
Esta clase de entidades de descanso almacena los periodos de descanso, o descansos, para las rutas en un problema de generación de rutas para vehículos. Un descanso está asociado a una ruta exactamente y puede realizarse después de finalizar una orden, mientras se encuentra en ruta para dar servicio a una orden o antes de dar servicio a una orden. Tiene una hora de inicio y una duración, y el conductor puede cobrar o no durante el mismo. Existen tres opciones para establecer cuando comienza un descanso: puede introducir una ventana de tiempo, un tiempo de viaje máximo o un tiempo de trabajo máximo.
Time-window break: para configurar un descanso de ventana de tiempo introduzca dos valores de hora del día para delimitar un rango de tiempo en el que debe comenzar el descanso. Los campos TimeWindowStart y TimeWindowEnd contienen los valores delimitadores de hora del día. La duración o tiempo de servicio, del descanso es independiente de la ventana de tiempo y, por consiguiente, se puede extender más allá del final de la ventana de tiempo. Por ejemplo, si la ventana de tiempo para un descanso de una hora de duración abarca desde las 10:00 a.m. a las 10:15 a.m., el descanso debe iniciarse después de las 10:00 a.m. pero antes de las 10:15 a.m. Si empieza a las 10:10 a.m., el descanso finalizará a las 11:10 a.m. Los descansos de ventana de tiempo no se permiten si las órdenes o depósitos están en varias zonas horarias. Si se necesita un descanso en esta situación, utilice la configuración de descanso de tiempo máximo de trabajo.
Maximum-travel-time break: con esta clase de descanso, se especifica cuánto tiempo puede conducir una persona antes de que sea necesario realizar un descanso. (Tenga en cuenta que solo se limita el tiempo de viaje, no otros tiempos como los de espera y servicio). Si introduce cuatro horas en la propiedad MaxTravelTimeBetweenBreaks del primer descanso, por ejemplo, el conductor recibirá un descanso antes de que el tiempo de viaje acumulado desde el inicio de la ruta supere las cuatro horas. Para los siguientes descansos, el tiempo de viaje se acumula a partir del descanso anterior. Así si tiene un segundo descanso con un valor MaxTravelTimeBetweenBreaks de dos horas, el segundo descanso se realizará antes de que se hayan acumulado dos horas de tiempo de viaje a partir del descanso anterior, no desde el depósito de inicio.
El descanso de tiempo de viaje máximo final de una ruta no solo limita la cantidad de tiempo de viaje acumulado del descanso anterior o inicio de la ruta, sino que también limita el tiempo de viaje desde el descanso final al depósito final. Esto se cumple incluso aunque solo haya un descanso. El solucionador de VRP está diseñado de esta manera para impedir que una ruta haga todas las pausas y, después, viaje durante un período prolongado sin realizar ninguna otra pausa. En el último ejemplo, MaxTravelTimeBetweenBreaks se estableció en dos horas. Si este es el descanso final de la ruta, la ruta debe poder alcanzar el depósito final en un plazo de dos horas de tiempo de viaje a partir del descanso final; de lo contrario, el solucionador devolverá un error.
Maximum-work-time break: este descanso especifica durante cuánto tiempo puede trabajar una persona antes de que sea necesario realizar un descanso. A diferencia de los descansos de tiempo máximo de viaje, que pueden acumular tiempo de viaje a partir del final del último descanso, los descansos de tiempo máximo de trabajo siempre acumulan tiempo de trabajo desde el inicio de la ruta, incluidos los tiempos de servicio en el depósito de inicio.
Observe que este descanso limita el tiempo de trabajo acumulado, que incluye el tiempo de viaje y todos los tiempos de servicio; sin embargo, excluye el tiempo de espera.
Una capa de análisis de problema de generación de rutas para vehículos solo se puede resolver si todos los descansos son del mismo tipo; es decir, el proceso de resolución fallará si hay alguna combinación de descansos de ventana de tiempo, tiempo máximo de viaje y tiempo máximo de trabajo.
Puede especificar hasta cinco descansos para una ruta única. Por ejemplo, suponga que está utilizando descansos de tiempo máximo de viaje para un análisis. Podría asignar dos descansos a una ruta de modo que una vez acumuladas dos horas de tiempo de viaje, el conductor pueda descansar durante 15 minutos y después de dos horas más de viaje, pueda parar durante una hora para el almuerzo. Podría tener otras rutas con hasta cinco descansos asignados a las mismas.
Los cortes tienen un campo Precedence que los ordena en secuencia. De esta forma, si se desea que se produzca un descanso de 15 minutos antes de un descanso de una hora, el valor de prioridad del descanso de 15 minutos debería ser 1, y el del otro debería ser 2. Se debe definir una prioridad para todos los descansos, incluso aunque los descansos de tiempo máximo de trabajo y de ventana de tiempo tengan un orden cronológico intrínseco.
Si una ruta alcanza el último destino antes de haber tomado todo el tiempo máximo de viaje o los descansos de tiempo de trabajo máximo, se omiten los descansos restantes. Si queda algún descanso de ventana de tiempo al final de una ruta, la ruta esperará hasta que se hayan tomado todos los descansos antes de finalizar en lugar de terminar temprano.
Descansos: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
TimeWindowStart |
La hora de inicio de la ventana de tiempo del descanso. Las ventanas de tiempo semiabiertas no son válidas para los descansos. Si este campo tiene un valor, MaxTravelTimeBetweenBreaks y MaxCumulWorkTime deben ser nulos; el resto de descansos de la capa de análisis deben tener valores nulos para MaxTravelTimeBetweenBreaks y MaxCumulWorkTime. Durante la resolución aparecerá un error si una ruta tiene varios descansos con ventanas de tiempo solapadas. Los campos de ventana de tiempo en los descansos pueden contener un valor de solo hora o un valor de fecha y hora. Si un campo de tiempo, como, por ejemplo, TimeWindowStart, tiene un valor solo de tiempo (por ejemplo, 12:00 p.m.), se asume que la fecha es la que especifica la propiedad Fecha predeterminada de la capa de análisis. El uso de valores fecha y hora (por ejemplo, 11/7/2012 12:00 PM) le permite especificar ventanas de tiempo que abarquen dos o más días. Esto es especialmente beneficioso cuando se debe realizar un descanso algún tiempo antes y después de la medianoche. La fecha predeterminada se omite cuando un campo de ventana de tiempo incluye una fecha con la hora. Para evitar cualquier error en esta situación, el formato de todas las ventanas de tiempo de Depósitos, Rutas, Órdenes y Pausas también debe incluir la fecha con la hora. |
TimeWindowEnd | La hora de finalización de la ventana de tiempo del descanso. Las ventanas de tiempo semiabiertas no son válidas para los descansos. Si este campo tiene un valor, MaxTravelTimeBetweenBreaks y MaxCumulWorkTime deben ser nulos; el resto de descansos de la capa de análisis deben tener valores nulos para MaxTravelTimeBetweenBreaks y MaxCumulWorkTime. La fecha predeterminada se omite cuando un campo de ventana de tiempo incluye una fecha con la hora. Para evitar cualquier error en esta situación, el formato de todas las ventanas de tiempo de Depósitos, Rutas, Órdenes y Pausas también debe incluir la fecha con la hora. Vea la descripción de TimeWindowStart (anteriormente) para obtener más información. |
MaxTravelTimeBetweenBreaks |
La cantidad máxima de tiempo de viaje que se puede acumular antes de realizar un descanso. El tiempo de viaje se acumula desde el fin del descanso anterior o, si todavía no se ha realizado un descanso, desde el inicio de la ruta. Si se trata del descanso final de la ruta, MaxTravelTimeBetweenBreaks también indica el tiempo máximo de viaje que se puede acumular desde el descanso final hasta depósito final. Esta propiedad está diseñada para limitar cuánto tiempo puede conducir una persona hasta que sea necesario un descanso. Por ejemplo, si la propiedad Unidades de campo de tiempo de la capa del análisis está establecida en Minutos, y MaxTravelTimeBetweenBreaks tiene un valor de 120, el conductor tendrá un descanso después de conducir dos horas. Para asignar un segundo descanso después de dos horas más de conducción, la propiedad MaxTravelTimeBetweenBreaks del segundo descanso debería ser 120. Si este campo tiene un valor, TimeWindowStart, TimeWindowEnd, MaxViolationTime y MaxCumulWorkTime deben ser nulos para que un análisis se resuelva correctamente. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
MaxCumulWorkTime | La cantidad máxima de tiempo de trabajo que se puede acumular antes de realizar un descanso. El tiempo de trabajo siempre se acumula desde el inicio de la ruta. El tiempo de trabajo es la suma de tiempo de viaje y de los tiempos de servicio en órdenes, depósitos y descansos. Tenga en cuenta, sin embargo, que esto excluye el tiempo de espera, que es el tiempo que una ruta (o conductor) espera en una orden o depósito a que comience una ventana de tiempo. Esta propiedad está diseñada para limitar cuánto tiempo puede trabajar una persona hasta que sea necesario un descanso. Por ejemplo, si la propiedad Unidades de campo de tiempo de la capa del análisis está establecida en Minutos, MaxCumulWorkTime tiene un valor de 120 y ServiceTime tiene un valor de 15, el conductor tendrá un descanso de 15 minutos tras dos horas de trabajo. Continuando con el último ejemplo, suponga que se necesita un segundo corte después de tres horas más de trabajo. Para especificar este descanso, introduciría 315 (cinco horas y 15 minutos) como el valor MaxCumulWorkTime del segundo descanso. Este número incluye los valores MaxCumulWorkTime y ServiceTime del descanso anterior, junto con las tres horas adicionales de trabajo antes de conceder el segundo descanso. Para evitar realizar descansos de tiempo de trabajo máximo prematuramente, recuerde que acumulan el tiempo de trabajo desde el principio de la ruta y ese tiempo de trabajo incluye el tiempo de servicio en los depósitos, órdenes y descansos visitados previamente. Si este campo tiene un valor, TimeWindowStart, TimeWindowEnd, MaxViolationTime y MaxTravelTimeBetweenBreaks deben ser nulos para que un análisis se resuelva correctamente. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
RouteName | El nombre de la ruta a la que se aplica el descanso. Aunque un descanso se asignado a exactamente una ruta, puede haber muchos descansos asignados a la misma ruta. Este campo es una clave externa para el campo Name en la clase Rutas y no puede tener un valor nulo. Los objetos de ruta deben existir antes de que aparezcan en la lista desplegable RouteName. |
Precedence | Los valores de precedencia ordenan en secuencia los descanso de una ruta determinada. Los descansos con un valor de precedencia de 1 aparecen antes de aquéllos con un valor 2, etc. Todos los descansos deben tener un valor de precedencia, sin tener en cuenta si son descansos de ventana de tiempo, tiempo máximo de viaje o tiempo máximo de trabajo. |
ServiceTime |
La duración del descanso. Este campo no puede contener un valor nulo. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
MaxViolationTime | Este campo especifica el tiempo de infracción máximo permitido para una ventana de tiempo de descanso. Se considera que se ha infringido una ventana de tiempo si la hora de llegada fuera del intervalo de tiempo. Un valor cero indica que no se puede infringir la ventana de tiempo; es decir, la ventana de tiempo es estricta. Un valor distinto de cero especifica la cantidad máxima de retraso; por ejemplo, el descanso puede comenzar hasta 30 minutos después del final de su ventana de tiempo, pero el retraso se penaliza según la propiedad Violaciones de ventana de tiempo de la capa del análisis. Esta propiedad puede ser nula; un valor nulo con valores de TimeWindowStart y TimeWindowEnd indica que no hay ningún límite en el tiempo de infracción permitido. Si MaxTravelTimeBetweenBreaks o MaxCumulWorkTime tienen un valor, MaxViolationTime debe ser nulo. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
IsPaid | Un valor booleano que indica si se paga o no durante el descanso. Un valor True indica que el tiempo dedicado en el descanso está incluido en el cálculo de coste de la ruta y la determinación de horas extra. Un valor False indica lo contrario. El valor predeterminado es True. |
Descansos: campos de entrada/salida
Campo de entrada/salida | Descripción |
---|---|
Sequence |
Como campo de entrada, indica la secuencia del descanso en su ruta. Este campo puede contener valores nulos. Los valores de secuencia de entrada son positivos y únicos para cada ruta (compartida en las visitas a depósito de renovación, órdenes y descansos), pero no tienen que empezar a partir de 1 o ser contiguos. El solucionador modifica el campo de secuencia. Después de la resolución, este campo contiene el valor de secuencia del descanso en su ruta. Los valores de secuencia de salida para una ruta se comparten en las visitas a depósito, órdenes y descansos; empiezan a partir de 1 (en el depósito de inicio); y son consecutivos. |
Descansos: campos de salida
Campo de salida | Descripción |
---|---|
Shape | El campo de geometría que indica las ubicaciones de descanso designadas para una ruta. |
RelativePosition | Posición relativa del descanso. Los cortes se realizan en alguna parte entre dos ubicaciones de red (órdenes o depósitos). Un valor de 0,0 indica que el descanso se realiza justo después de finalizar el servicio en la ubicación de red anterior; un valor de 1,0 indica que el descanso se realiza justo antes de iniciar el servicio en la ubicación de red subsiguiente; y un valor intermedio indica dónde se realiza el descanso a lo largo de la ruta de acceso de la primera a la segunda ubicación de red. Por ejemplo, 0,25 indica que el descanso se realiza a un cuarto del camino respecto a la ubicación de red anterior hacia la próxima ubicación de red. No importa cuántos descansos se produzcan entre dos ubicaciones de red, la posición relativa siempre se notifica en relación con las ubicaciones de red, no a los demás descansos. |
FromPrevTravelTime | El tiempo de viaje de la orden, depósito o descanso anterior hasta este descanso. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
FromPrevDistance | La distancia de viaje de la orden, depósito o descanso anterior hasta este descanso. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
CumulTravelTime | El tiempo de viaje acumulado para la ruta hasta la llegada al descanso. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulDistance | La distancia de viaje acumulado para la ruta hasta la llegada al descanso. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
CumulTime | La duración acumulada de la ruta hasta el descanso incluido. La duración acumulada incluye los tiempos de viaje, así como los tiempos de servicio y de espera en órdenes, depósitos y descansos. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
ArriveTime | La hora de llegada real del descanso. La ruta puede llegar al descanso antes del inicio de la ventana de tiempo del descanso, en cuyo caso hay un tiempo de espera en el descanso. Para un descanso con ventanas de tiempo no estrictas, la ruta puede llegar también al descanso después del final de la ventana de tiempo, en cuyo caso hay un tiempo de infracción en el descanso. Si se utiliza un dataset de red con varias zonas horarias, el tiempo se notifica en la zona horaria de la ubicación de descanso real. |
DepartTime | La hora a la que se completa el descanso. Si se utiliza un dataset de red con varias zonas horarias, el tiempo se notifica en la zona horaria de la ubicación de descanso real. |
ArriveTimeUTC | El valor de la fecha y la hora de llegada expresado en tiempo universal coordinado (UTC). |
DepartTimeUTC | El valor de la fecha y la hora de salida expresado en la hora universal coordinada (UTC). |
WaitTime | El tiempo de espera en el descanso. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
ViolationTime | El tiempo de infracción en el descanso. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulWaitTime | El tiempo de espera acumulado desde el principio de la ruta hasta el descanso incluido. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulViolationTime | El tiempo de infracción acumulado desde el principio de la ruta hasta el descanso incluido. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
Zonas de ruta
Las zonas de ruta especifican un territorio de trabajo para una ruta determinada. Una zona de ruta es una entidad poligonal y se utiliza para restringir rutas para que den servicio solo a las órdenes que quedan dentro o cerca de un área. Aquí se muestran algunos ejemplos que indican cuándo pueden ser útiles las zonas de ruta:
- Algunos de los empleados no tienen los permisos requeridos para realizar el trabajo en ciertos estados o comunidades. Puede crear una zona de ruta estricta de modo que solo visiten órdenes en aquellas áreas en las que cumplen los requisitos.
- Uno de los vehículos se estropea con frecuencia, de forma que desea minimizar el tiempo de respuesta haciendo que solo visite aquellas órdenes que queden cerca del taller de mantenimiento. Puede crear una zona de ruta estricta o no estricta para mantener el vehículo cerca.
Zonas de ruta: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
Shape | Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. |
RouteName | El nombre de la ruta a la que se aplica esta zona. Una zona de ruta puede tener un máximo de una ruta asociada. Este campo no puede contener valores nulos y es una clave externa al campo Name en la capa de entidades Rutas. Los objetos de ruta deben existir antes de que aparezcan en la lista RouteName. |
IsHardZone |
Un valor booleano que indica una zona de ruta estricta o no. Un valor True indica que la zona de ruta es estricta; es decir, una orden que caiga fuera del polígono de la zona de ruta no se puede asignar a la ruta. El valor predeterminado es Verdadero (1). Un valor Falso (0) indica que tales órdenes se pueden seguir asignando, pero el coste de dar servicio a la orden se pondera mediante función basada en la distancia euclidiana desde la zona de ruta. Básicamente, esto significa que como la distancia en línea recta desde la zona no estricta a la orden aumenta, disminuye la probabilidad de asignar la orden a la ruta. |
Nota:
- Puesto que la distancia euclidiana se utiliza para medir la distancia entre la zona de ruta y las órdenes, el atributo de distancia basado en red no es requerido.
- Aunque una ruta asociada a una zona de ruta estricta solo puede dar servicio a órdenes dentro de la zona de ruta, se pueden seguir introduciendo otras rutas y dar servicio a las órdenes dentro de la misma zona. Esto se debe a que las zonas de ruta restringen la ruta, no las órdenes. (Si desea asignar todas las órdenes de un área exclusivamente a una ruta, no utilice las zonas de ruta; en su lugar, seleccione las órdenes en un área, cambie el campo RouteName de las órdenes a la ruta adecuada y establezca el campo AssignmentRule (regla de asignación) en Conservar la ruta.)
Visitas a depósito
Cuando se inicia una ruta, se renueva (descargas o recargas) o finaliza en un depósito, se crea una visita a depósito. Los objetos de visita a depósito proporcionan información relativa a porqué una ruta ha visitado un depósito y qué ha ocurrido allí. La cantidad de bienes cargados o descargados de un vehículo en un depósito se registra en las propiedades de una visita a depósito. También se incluye información adicional que resulta útil para interpretar una solución de problema de generación de rutas para vehículos.
Se trata de una clase de análisis de red de solo resultado. Las entidades de visita a depósito se crean estrictamente durante la operación de resolución; por consiguiente, la clase de análisis siempre está vacía antes del proceso de resolución.
Visitas al depósito: campos de salida
Campo de salida | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
Shape | Campo de geometría que indica la ubicación geográfica del objeto de análisis de red. |
DepotName | El nombre del depósito visitado. Este campo es una clave externa al campo Name en la clase de análisis de red Depósitos. Si la ruta utiliza un depósito virtual, lo que significa que la ruta empieza o finaliza en una orden en lugar de un depósito, DepotName es nulo. |
RouteName | El nombre de la ruta que contiene esta visita. Este campo es una clave externa al campo Name en la capa de entidades Rutas. |
Sequence | Indica la secuencia del depósito visitado en la ruta. Los valores de secuencia de salida para una ruta se comparten en las visitas a depósito, órdenes y descansos; empiezan a partir de 1 (en el depósito de inicio); y son consecutivos. |
VisitType | La razón por la que se visitó este depósito. Un dominio de valores restringe este campo:
|
ServiceTime | El tiempo del servicio (como carga o descarga) en el depósito. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
FromPrevTravelTime | El tiempo de viaje de la visita anterior en la ruta al depósito. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
FromPrevDistance | La distancia de viaje de la visita anterior en la ruta al depósito. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
CumulTravelTime | El tiempo de viaje acumulado para la ruta hasta la llegada a este depósito. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulDistance | La distancia de viaje acumulada para la ruta hasta la llegada a este depósito. La unidad para este valor de campo la especifica la propiedad Distance Field Units de la capa de análisis. Este campo es nulo si no se especifica la propiedad Distance Attribute en los parámetros de análisis. |
CumulTime | La duración acumulada de la ruta hasta el depósito incluido. La duración acumulada incluye los tiempos de viaje, así como los tiempos de servicio y de espera en órdenes, depósitos y descansos. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
ArriveTime | La hora de llegada al depósito. La ruta puede llegar al depósito antes del inicio de la ventana de tiempo del depósito, en cuyo caso hay un tiempo de espera en el depósito. Al utilizar datos de tráfico que cubren varias zonas horarias, la zona horaria para este valor de hora del día es igual a la del elemento de red en el que se encuentra el depósito. |
DepartTime | La hora de salida del depósito. Al utilizar datos de tráfico que cubren varias zonas horarias, la zona horaria para este valor de hora del día es igual a la del elemento de red en el que se encuentra el depósito. |
ArriveTimeUTC | El valor de la fecha y la hora de llegada expresado en tiempo universal coordinado (UTC) en el depósito. |
DepartTimeUTC | El valor de la fecha y la hora de salida expresado en tiempo universal coordinado (UTC) del depósito. |
WaitTime | El tiempo de espera en el depósito. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulWaitTime | El tiempo de espera acumulado desde el principio de la ruta hasta el depósito incluido. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
CumulViolationTime | El tiempo de infracción acumulado desde el principio de la ruta hasta el depósito incluido. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. |
| La cantidad (por ejemplo, volumen, peso, cantidad) que se carga en el depósito. Si hay varias capacidades, las cantidades de los campos LoadedQuantity_1 a LoadedQuantity_9 corresponden a los campos Capacity_1 a Capacity_9 cotejados de la tabla de entrada Routes. |
| La cantidad (por ejemplo, volumen, peso, cantidad) que se descarga en el depósito. Si hay varias capacidades, las cantidades en los campos UnloadedQuantity_1 a UnloadedQuantity_9 se corresponden con los campos de Capacity_1 a Capacity_9 cotejados de la tabla de entrada Routes. |
Nota:
No existe ningún campo de salida ViolationTime en la capa de entidades Visitas al depósito ya que los depósitos tienen ventanas de tiempo estrictas.
Especialidades
Especialidades de orden y Especialidades de ruta son las dos tablas que incluyen las especialidades que las órdenes pueden requerir y que las rutas pueden admitir. Una ruta solo puede dar servicio a una orden si admite todas las especialidades requeridas para dicha orden.
Una orden puede requerir a un técnico con una cierta habilidad o un vehículo con ciertas funciones. Estas habilidades, funciones, etc. se modelan añadiéndolas primero en la tabla Especialidades de orden. A continuación, agregue las especialidades que son admitidas por una ruta en Especialidades de ruta. Cuando se resuelve el análisis del VRP, las órdenes que requieren ciertas especialidades se asignan a aquellas rutas que pueden proporcionarlas.
Especialidades de orden: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
OrderName | Nombre del objeto de análisis de red. Este campo es la clave principal y se utiliza como una clave externa en la capa de entidades Órdenes para hacer referencia a especialidades de orden. |
SpecialtyName | Nombre de la especialidad. Indica la especialidad requerida para la orden. Solo se enumera una especialidad por línea. Si una orden requiere más de una especialidad, cree una nueva fila. Los nombres de especialidad no pueden contener espacios. Así, por ejemplo, una especialidad de técnico senior debería introducirse como SeniorTechnician. |
Especialidades de ruta: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
RouteName | Nombre del objeto de análisis de red. Este campo es la clave principal y se utiliza como una clave externa en la capa de entidades Rutas para hacer referencia a especialidades de ruta. |
SpecialtyName | Nombre de la especialidad. Indica la especialidad que admite la ruta. Solo se enumera una especialidad por línea. Si una ruta admite más de una especialidad, cree una nueva fila. Los nombres de especialidad no pueden contener espacios. Así, por ejemplo, una especialidad de técnico senior debería introducirse como SeniorTechnician. |
Pares de órdenes
Pares de órdenes es una tabla de registros que se utiliza para emparejar las órdenes de entrega y recogida de modo que sean atendidas en la misma ruta.
A veces se requiere que se emparejen la recogida y entrega de las órdenes. Por ejemplo, para una compañía de mensajería, la entrega de un documento podría conllevar dos paradas: una para recoger el documento en el origen y una segunda parada para dejarlo en el destino. Estas paradas relacionadas tienen asignada la misma ruta con la secuencia adecuada. Está prohibido asignar solo una de las órdenes a una ruta: o bien se asignan ambas órdenes a la misma ruta o no se asigna ninguna.
Podría haber restricciones sobre cuánto tiempo puede permanecer el paqueteen el vehículo; por ejemplo, una muestra de sangre tiene que ser transportada desde la consulta del médico al laboratorio en un plazo de dos horas.
Algunas situaciones podrían requerir dos pares de órdenes. Por ejemplo, suponga que desea transportar a una persona mayor desde su casa al médico y llevarla de regreso a casa. El trayecto desde su casa al médico es un par de órdenes con una hora de llegada deseada al médico, mientras que el trayecto del médico a casa es otro par con un tiempo de recogida deseado.
Pares de órdenes: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
FirstOrderName | El nombre de la primera orden del par. Este campo es una clave externa al campo Name en la capa de entidades Órdenes. Los objetos de orden deben existir antes de que aparezcan en la lista FirstOrderName. |
SecondOrderName | El nombre de la segunda orden del par. Este campo es una clave externa al campo Name en la capa de entidades Órdenes. Los objetos de orden deben existir antes de que aparezcan en la lista SecondOrderName. La primera orden del par debe ser una orden de recogida, es decir, el valor para sus campos de cantidad de entrega es nulo. La segunda orden del par debe ser una orden de entrega; es decir, el valor para sus campos de cantidad de recogida es nulo. La cantidad que se recoge en la primera orden debe coincidir con la cantidad que se entrega en la segunda orden. Como caso especial, ambas órdenes pueden tener cantidades cero para escenarios donde no se utilizan las capacidades. Nota:Las cantidades de órdenes no se cargan o descargan en los depósitos. |
MaxTransitTime |
El tiempo máximo de tránsito para el par. El tiempo de tránsito es la duración de tiempo desde la hora de salida de la primera orden a la hora de llegada en la segunda orden. Esta restricción limita el tiempo en vehículo o tiempo de trayecto, entre las dos órdenes. Cuando un vehículo lleva personas o bienes perecederos, el tiempo de trayecto suele ser más corto que el de un vehículo que transporta paquetes o bienes no perecederos. Este campo puede contener valores nulos; un valor nulo indica que no hay ninguna restricción en el tiempo de trayecto. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. El solucionador puede realizar el seguimiento y ponderar el tiempo de tránsito en exceso (medido con respecto al tiempo de viaje directo entre pares de órdenes). Por ello, puede dirigir al solucionador de VRP para que adopte uno de estos tres enfoques: minimizar el tiempo de tránsito en exceso total, sin tener en cuenta el aumento en coste de viaje para la flota; buscar una solución que equilibre el tiempo de infracción total y el coste del viaje; o ignorar el tiempo de tránsito en exceso total y, en su lugar, minimizar el coste de viaje para la flota. Asignando un nivel de importancia para el parámetro Exceso de tiempo de tránsito de la capa del análisis, está eligiendo en efecto uno de estos tres enfoques. Sin tener en cuenta el nivel de importancia, el solucionador devolverá un error siempre si se supera el valor MaxTransitTime. |
Reanudaciones de ruta
La clase Reanudaciones de ruta especifica los depósitos intermedios que las rutas de un análisis de problema de generación de rutas para vehículos pueden visitar para recargar y descargar lo que están entregando o recogiendo.
Específicamente, un objeto de análisis de renovación de ruta vincula un objeto de ruta a un objeto de depósito. La relación indica que la ruta se puede reanudar (volver a cargar o descargar) en el depósito asociado.
En algunas industrias, cada ruta consta de uno o más viajes en los que el vehículo entrega o recoge una carga completa y la entrega. Las renovaciones de ruta se pueden utilizar para modelar escenarios en los que un vehículo recoge una carga completa de entregas en el depósito inicial, da servicio a las órdenes, vuelve al depósito para reanudar su carga de entregas y sigue dando servicio a más órdenes. Por ejemplo, en la entrega de gas propano, el vehículo podría realizar varias entregas hasta que el depósito se quede casi vacío o vacío por completo, visita un punto de recarga y realiza más entregas.
Aquí hay algunas reglas y opciones a tener en cuenta al trabajar con renovaciones de ruta:
- El punto de recarga/descarga o la ubicación de reanudación, pueden ser distintos del depósito inicial o final.
- Cada ruta puede tener una o varias ubicaciones de reanudación predeterminadas.
- Una ruta única puede utilizar una ubicación de reanudación más de una vez.
- En algunos casos donde puede haber varias ubicaciones de renovación potenciales para una ruta, el solucionador elige la ubicación de reanudación más cercana disponible.
Reanudaciones de ruta: campos de entrada
Campo de entrada | Descripción |
---|---|
ObjectID | Campo de Id. administrado por el sistema. |
DepotName | El nombre del depósito donde tiene lugar esta reanudación. Este campo no puede contener un valor nulo y es una clave externa al campo Name en la capa de entidades Depósitos. Los objetos de depósito deben existir antes de que aparezcan en la lista DepotName. |
RouteName | El nombre de la ruta a la que se aplica esta reanudación. Este campo no puede contener un valor nulo y es una clave externa al campo Name en la capa de entidades Rutas. Los objetos de ruta deben existir antes de que aparezcan en la lista RouteName. |
ServiceTime | El tiempo del servicio para la reanudación. Este campo puede contener un valor nulo; un valor nulo indica un tiempo de servicio cero. La unidad para este valor de campo la especifica la propiedad Time Field Units de la capa de análisis. Nota:El tiempo que tarda en cargarse un vehículo en un depósito de reanudación puede depender del tamaño del vehículo y de lo lleno o vacío que esté el vehículo. Sin embargo, el tiempo de servicio para una reanudación de ruta es un valor fijo y no tiene en cuenta la carga real. En consecuencia, al tiempo de servicio de reanudación se le debería dar un valor correspondiente a un camión completamente cargado, con una carga media o podría realizar otra estimación de tiempo propia. |
Reanudaciones de ruta: campos de entrada/salida
Campo de entrada/salida | Descripción |
---|---|
Sequences | Como campo de entrada, especifica una cadena de caracteres separada por espacios de valores de secuencia de visitas al depósito de reanudación. Este campo puede contener un valor nulo y utilizarse para preasignar visitas al depósito de reanudación. Como campo de salida, el solucionador podría modificar y almacenar la secuencia aquí. Después de la resolución, este campo contiene los valores de secuencia de las visitas a este depósito de reanudación para la ruta relacionada. Si en dicho depósito aparece más de una visita de reanudación en una ruta única, los valores de secuencia se separan mediante un espacio. Los valores de secuencia de salida para una ruta se comparten en las visitas a depósito, órdenes y descansos; empiezan a partir de 1 (en el depósito de inicio); y son consecutivos. Así si una ruta empieza en un depósito, visita dos órdenes, hace una visita de reanudación y continúa, el valor de secuencia en la reanudación es 4. |
Barreras de punto, línea y polígono
Las barreras sirven para restringir temporalmente, agregar impedancia y escalar impedancia en partes de la red. Cuando se crea una nueva capa de análisis de red, las clases de barrera están vacías. Solo se llenan al agregarles objetos; no obstante, no es obligatorio agregar barreras.
Las barreras están disponibles en todas las capas de análisis de red; por consiguiente, se describen en un tema separado.
Propiedades de capa de análisis VRP
En las siguientes subsecciones se muestran los parámetros que se pueden establecer en la capa de análisis. Se encuentran en la pestaña Capa VRP, que está disponible solo si ha seleccionado su capa VRP o una de sus subcapas en el panel Contenido.
Análisis
Use las opciones de esta sección para estimar los créditos y ejecutar el análisis.
Ejecutar
Una vez que cargue las entidades de entrada y establezca las propiedades de análisis necesarias para resolver el análisis de ruta, haga clic en el botón Ejecutar para ejecutar el análisis.
El botón de ejecución puede aparecer de forma diferente según la fuente de su dataset de red.
- : la capa de análisis de red que hace referencia a una fuente de datos de red local.
- : la capa de análisis de red que hace referencia a una fuente de datos de red en ArcGIS Online.
- : la capa de análisis de red que hace referencia a una fuente de datos de red en un portal corporativo.
Estimar los créditos
El botón Estimar los créditos se puede usar para estimar el número de créditos de servicio que se consumirán al ejecutar el análisis en la capa de análisis de red seleccionada. Cuando este botón está habilitado, indica que la capa de análisis de red consumirá créditos al resolver.
El botón Estimar los créditos está habilitado cuando ocurre lo siguiente:
- La fuente de datos de red de la capa de análisis de red se aloja en ArcGIS Online.
- Sus servicios de generación de rutas del portal de ArcGIS Enterprise están configurados desde ArcGIS Online.
El botón Estimar los créditos está deshabilitado cuando ocurre lo siguiente:
- La fuente de datos de red de la capa de análisis de red se almacena en un equipo local.
- Está utilizando sus propios servicios publicados en su portal de ArcGIS Enterprise.
Al hacer clic en el botón Estimar los créditos, aparece un cuadro de diálogo con una estimación sobre cuántos créditos es probable que se consuman al resolver el análisis actual. El crédito se estima en función del número de ubicaciones de entrada utilizadas en el análisis. Los créditos reales consumidos pueden cambiar en función de la salida generada por la operación Resolver. En función de cómo haya configurado la organización los ajustes de presupuestación y asignación de créditos, es posible que no se muestren los créditos disponibles. Además, es posible que la estimación de créditos no siempre sea posible si la fuente de datos de red es un portal de ArcGIS Enterprise con servicios de generación de rutas configurados desde ArcGIS Online. Más información sobre el uso de créditos por cada tipo de análisis.
Nota:
Si no tiene créditos suficientes para realizar el análisis, el cuadro de diálogo muestra un error.
Datos de entrada
Utilice las opciones de esta sección para importar las entidades de entrada que participarán en el análisis.
Importar órdenes
Utilice el botón Importar órdenes para cargar entidades de otra fuente de datos, como por ejemplo una capa de entidades de puntos, en la clase de entidad Órdenes.
Importar depósitos
Haga clic en el botón Importar depósitos para cargar entidades de otra fuente de datos, como por ejemplo una capa de entidades de puntos, en la clase de entidad Depósitos.
Importar rutas
Desde el menú desplegable, puede elegir importar o agregar rutas.
- Importar rutas : utilice este control para cargar entidades de otra fuente de datos, como por ejemplo una capa de entidades de línea o una tabla independiente, en la clase de entidad Rutas.
- Agregar rutas : utilice este control para crear varias rutas a la vez usando la herramienta de geoprocesamiento Agregar rutas de Problema de generación de rutas para vehículos.
Importar descansos
Desde el menú desplegable, puede elegir importar o agregar descansos.
- Importar descansos : utilice este control para cargar entidades de otra fuente de datos, como por ejemplo una capa de entidades de punto o una tabla independiente, en la clase de entidad Descansos.
- Agregar descansos : utilice este control para crear varios descansos a la vez usando la herramienta de geoprocesamiento Agregar descansos de Problema de generación de rutas para vehículos.
Importar barreras
Utilice los botones Importar barreras de punto , Importar barreras de línea o Importar barreras de polígono para cargar las entidades desde otra fuente de datos, como otra capa de entidades, en una de las clases de entidad de barreras (barreras de punto, barreras de línea o barreras de polígono).
Crear entidades
Utilice el botón Crear entidades para abrir el panel Crear entidades. Seleccione entre las plantillas disponibles para crear entidades en el mapa actual.
Importar zonas de ruta
Utilice el botón Importar zonas de ruta para cargar entidades de otra fuente de datos, como por ejemplo una capa de entidades de polígono, en la clase de entidad Zonas de ruta.
Importar pares de órdenes
Utilice el botón Importar pares de órdenes para cargar entidades de otra fuente de datos, como por ejemplo una tabla independiente, en la tabla Pares de órdenes.
Importar renovaciones de ruta
Utilice el botón Importar reanudaciones de ruta para cargar entidades de otra fuente de datos, como por ejemplo una tabla independiente, en la tabla Reanudaciones de ruta.
Importar especialidades de orden
Utilice el botón Importar especialidades de orden para cargar entidades de otra fuente de datos, como por ejemplo una tabla independiente, en la tabla Especialidades de orden.
Importar especialidades de ruta
Utilice el botón Importar especialidades de ruta para cargar entidades de otra fuente de datos, como por ejemplo una tabla independiente, en la tabla Especialidades de ruta.
Configuración de viaje
Utilice las opciones de la sección Configuración de viaje para seleccionar el modo de viaje.
Modo
La lista desplegable Modo le permite elegir un modo de viaje, que es un grupo de configuraciones que, juntas, modelan el movimiento de los peatones, los coches, los camiones u otros modos de viaje. Las opciones que están disponibles en la lista desplegable dependen de los modos de viaje que están configurados en la fuente de datos de red a la que hace referencia la capa de análisis de red.
Unidades de campo de tiempo
Las unidades de tiempo utilizadas por los campos temporales de las subcapas y tablas de la capa de análisis. Las siguientes opciones están disponibles en la lista desplegable:
- Segundos
- Minutos
- Horas
- Días
Unidades de campo de distancia
Las unidades de distancia utilizadas por los campos de distancia de las subcapas y tablas de la capa de análisis. Las siguientes opciones están disponibles en la lista desplegable:
- Metros
- Kilómetros
- Pies
- Millas
- Millas náuticas
- Centímetros
- Milímetros
- Decímetros
- Yardas
- Pulgadas
Fecha predeterminada
Utilice las opciones de esta sección para especificar la fecha, la hora y el día que se utilizarán en el análisis.
Más información sobre la fecha y hora
Tipo de fecha predeterminada
La fecha predeterminada se utiliza en los campos de fecha y hora cuando solo se proporciona una hora. Las opciones de la lista desplegable Tipo de fecha predeterminada son las siguientes:
Fecha: especifique la fecha de calendario.
Día de la semana: especifique un día de la semana:
- Domingo
- Lunes
- Martes
- Miércoles
- Jueves
- Viernes
- Sábado
Hoy: se asume que el día será la fecha actual.
Zona horaria de referencia
En la lista desplegable Zona horaria de referencia , puede elegir la zona horaria a utilizar en el análisis. Las opciones son las siguientes:
- Hora local en ubicaciones
- UTC (tiempo universal coordinado)
Geometría de salida
Utilice las opciones del menú desplegable para elegir cómo se mostrará la salida en el mapa.
Tipo de forma lineal de geometría de salida
El análisis siempre soluciona las rutas de menor coste a lo largo de la red utilizando los ajustes que haya especificado. Además de visualizar las rutas reales a lo largo de la red en el mapa, también puede elegir representar las rutas en un mapa utilizando líneas rectas simples entre las paradas o sin utilizar líneas.
- Sin líneas: no se generan formas lineales de salida.
- Líneas rectas: generar una geometría simplificada en forma de líneas rectas.
- A lo largo de la red: generar rutas verdaderas a lo largo de la red en el mapa.
Nota:
La opción Líneas rectas no está disponible cuando las capas VRP hacen referencia a un servicio VRP o Portal.Advanced
Utilice los controles de esta sección para especificar la configuración avanzada del análisis.
Importancia de la ventana de tiempo
Puede configurar la importancia de minimizar las infracciones de la ventana de tiempo mientras se ejecuta el análisis mediante el ajuste Importancia de la ventana de tiempo . Con una preferencia mayor para cumplir las ventanas de tiempo, el solucionador generará una solución que reducirá las infracciones de la ventana de tiempo, aunque aumentará el coste general de la solución. Puede elegir entre las opciones disponibles:
Alta: elija este ajuste si considera que llegar a tiempo a las órdenes es más importante que minimizar el coste total de la solución. Al establecer la importancia de la ventana de tiempo en Alta, el control cambia para reflejar la selección. | |
Media: el solucionador busca un equilibrio entre cumplir con las ventanas de tiempo y reducir el coste general de la solución. Al ajustar la importancia de la ventana de tiempo en Media, el control cambia para reflejar la selección. | |
Baja: elija este ajuste si considera que respetar las ventanas de tiempo es menos importante que reducir el coste total de la solución. Al ajustar la importancia de la ventana de tiempo en Baja, el control cambia para reflejar la selección. |
Importancia de tiempo de tránsito
Este parámetro solo es relevante si se utiliza Pares de órdenes. El ajuste Importancia de tiempo de tránsito permite valorar la importancia de la reducción del tiempo de tránsito excesivo. El exceso de tiempo de tránsito es la cantidad de tiempo que excede el tiempo requerido para viajar directamente entre las órdenes asociadas. El exceso de tiempo resulta de los descansos o viajes a otras órdenes o depósitos entre las visitas a las órdenes asociadas. Puede elegir entre las opciones disponibles:
Alta: elija este ajuste para encontrar una solución con menos exceso de tiempo de tránsito entre los pares de órdenes a costa de aumentar los costes generales de viaje. Al ajustar la importancia de tiempo de tránsito en Alta, el control cambia para reflejar la selección. | |
Media: el solucionador busca un equilibrio entre reducir el exceso de tiempo de tránsito y reducir el coste general de la solución. Al ajustar la importancia de tiempo de tránsito en Media, el control cambia para reflejar la selección. | |
Baja: elija este ajuste para encontrar una solución que minimice el coste total de la solución. Al ajustar la importancia de tiempo de tránsito en Baja, el control cambia para reflejar la selección. |
Clúster
Utilice la propiedad Clúster para poder usar clustering espacial.
Clúster: las órdenes asignadas a una ruta individual se agruparán espacialmente. La agrupación de órdenes tiende a mantener las rutas en áreas más pequeñas y a reducir la frecuencia con la que se intersecan entre sí las líneas de ruta; sin embargo, el clustering puede aumentar los tiempos globales de viaje. | |
No agrupar en clúster: el solucionador no concederá prioridad a las órdenes de clustering espacial y las líneas de ruta podrían intersecarse. Elija esta opción si las zonas de ruta están especificadas. |
Indicaciones
Utilice las opciones de la sección Indicaciones para especificar si se deben generar indicaciones.
Nota:
El solucionador VRP utiliza una Matriz de coste origen-destino (OD) no temporal para determinar la asignación y secuenciación de rutas. Los valores de esta OD no temporal se utilizan para rellenar los costes de tiempo y distancia para los campos Órdenes, Visitas al depósito y Rutas, con el fin de mantener la coherencia con la lógica de optimización utilizada para resolver el problema. Después de que finalice la secuencia de paradas y visitas al depósito para cada ruta, el solucionador de rutas se utiliza para generar indicaciones, y utiliza el tiempo de partida real de la ruta, lo que permite rellenar los campos de indicaciones con tiempos de llegada más precisos basados en el tráfico.
Generar al resolver
Active esta opción para generar indicaciones tras la resolución para la capa de análisis de red actual.
Mostrar indicaciones
Cuando la opción Generar al resolver está activada, al hacer clic en el botón Mostrar indicaciones aparece el panel Indicaciones con indicaciones paso a paso para cada ruta en la solución.
Compartir como
Comparta la salida del análisis con la opción disponible de Capas de ruta.
Compartir como capas de ruta
El botón Capas de ruta le permite compartir los resultados del análisis como capas de ruta. Este botón abre la herramienta de geoprocesamiento Compartir como capas de ruta. Cuando se ejecuta correctamente, los resultados del análisis se comparten como elementos capa de ruta en el portal.
Limitaciones
A continuación, se enumeran algunas limitaciones al ejecutar el análisis en una capa VRP:
- El número máximo de órdenes en una ruta no puede ser superior a 1.000.
- Todos los campos basados en costes no pueden superar los mil millones por ejemplo, FixedCost en la tabla Rutas.
- Todos los campos de distancia no pueden superar el millón de kilómetros, por ejemplo, MaxTotalDistance en la tabla Rutas.
- La diferencia entre el valor de fecha más grande y más pequeño de la entrada no puede superar un año.
- El número máximo de descansos para cada ruta es cinco y el valor de precedencia de cualquier corte no puede exceder 5.
- El valor de los campos de duración de tiempo no puede superar los 365,25 días. El valor está en las unidades que se especifican en el parámetro Unidades de tiempo. Por ejemplo, el valor Tiempo de servicio no puede ser superior a 31.557.600 si el parámetro Unidades de tiempo es Segundos.
Las siguientes limitaciones afectan a las que ya se han especificado si una capa de VRP se resuelve utilizando un portal de ArcGIS Online:
- Puede especificar hasta 250 entidades para que actúen como barreras de punto.
- Si el número de las entidades de calle intersecadas por todas las barreras de línea supera 500, la herramienta devuelve un error.
- Si el número de las entidades de calle intersecadas por todas las barreras de polígono supera 2.000, la herramienta devuelve un error.
- La distancia en línea recta entre todas las paradas y las ubicaciones de partida y llegada de la ruta no pueden superar las 27 millas (43,45 kilómetros) si el modo de viaje es Tiempo a pie o Distancia a pie.