Salida de Solucionar problema de generación de rutas para vehículos

La herramienta de geoprocesamiento Solucionar problema de generación de rutas para vehículos produce las siguientes clases de entidad y tablas como salida: Paradas, Paradas no asignadas, Rutas e Indicaciones. Las descripciones de las tablas y las clases de entidad de salida, y sus correspondientes atributos de campo, se describen en las subsecciones siguientes.

Clase de entidad de rutas

La clase de entidad de línea de las rutas representa a los conductores, vehículos, vías de las rutas de un problema de generación de rutas para vehículos. El nombre predeterminado de esta clase de entidad de salida es Rutas, pero puede darle un nombre diferente cambiando el parámetro Nombre de rutas de salida (output_routes_name en Python) antes de resolver.

ArcGIS asigna el mismo sistema de coordenadas que el dataset de red subyacente utiliza para la clase de entidad de rutas. Esto se puede controlar especificando un valor para el entorno de geoprocesamiento del Sistema de coordenadas de salida.

Los nombres de campo de la clase de entidad de rutas se muestran y describen a continuación.

Nombre de campoDescripción

ObjectID

Campo de Id. administrado por el sistema.

Name

El nombre de la ruta.

Shape

El campo de geometría que indica la forma de la ruta.

Utilice el parámetro Rellenar líneas de ruta (populate_route_lines en Python) para elegir si se va a rellenar este campo.

La clase de entidad de ruta siempre se crea y se rellena con los datos durante la ejecución de Solucionar problema de generación de rutas para vehículos. Sin embargo, el parámetro Rellenar líneas de ruta (populate_route_lines en Python) le permite elegir si desea generar y almacenar los valores del campo Forma para las entidades de línea. No rellenar los valores de los campos de Forma hace que la operación de resolución sea más rápida y reduce el tamaño de los intercambios de datos del cliente en el servidor, pero a menudo las personas desean visualizar las rutas en un mapa, por lo que rellenar el campo Forma pueden ser necesario.

ViolatedConstraints

Este campo contiene un resumen de restricciones infringidas y está establecido después una operación de resolución. Si una ruta provoca la infracción de una restricción, se puede asignar al campo una combinación de una o más infracciones mostradas a continuación.

Explorar:

El valor codificado que representa la descripción de texto se muestra en la lista siguiente entre paréntesis. Observe que los valores codificados forman parte de una secuencia geométrica que aumenta duplicando el último valor. Esto permite codificar varias combinaciones de infracciones. Por ejemplo, la combinación de Capacidad excedida (2) y Zona de ruta difícil (128) se codifica como 130 (2 +128).

  • Superado MaxOrderCount (1): las órdenes preasignadas no se pueden asignar a la ruta dado que la asignación de órdenes superaría el número máximo de órdenes que se pueden asignar a la ruta tal y como especifica el valor de campo MaxOrderCount de la ruta.
  • Capacidad excedida (2): las órdenes preasignadas no se pueden asignar a la ruta ya que la asignación de las órdenes superaría la capacidad total de la ruta tal y como especifica el valor de campo Capacities de la ruta.
  • Superado MaxTotalTime (4): el tiempo de viaje desde el depósito inicial al depósito final más los tiempos de espera y servicio en ambos depósitos y cualquier descanso que supere el tiempo total de la ruta tal y como especifica el valor del campo MaxTotalTime de la ruta.
  • Superado MaxTotalTravelTime (8): el tiempo de viaje desde el depósito inicial al depósito final supera el tiempo de viaje total de la ruta tal y como especifica el valor de campo MaxTotalTravelTime de la ruta.
  • Superado MaxTotalDistance (16): la distancia de viaje desde el depósito inicial al depósito final supera la distancia de viaje total de la ruta tal y como especifica el valor de campo MaxTotalDistance de la ruta.
  • Ventana de tiempo estricta (32) Existe una infracción de ventana de tiempo estricta en el depósito inicial, depósito final o corte asociado a la ruta.
  • Especialidad no concordada (64) Las especialidades requeridas por una orden no se encuentran en la ruta de destino.
  • Zona de ruta difícil (128) Una orden que se preasignó a la ruta no cae dentro de una zona de ruta difícil.
  • Superado MaxTransitTime de par de órdenes (256): existe un par de órdenes preasignado a la ruta y, al asignar las órdenes del par de órdenes, se superaría el tiempo de tránsito máximo para el par de órdenes tal y como especifica el valor del campo MaxTransitTime del par de órdenes.
  • Infracción de par de órdenes (512): una orden pertenece a un par de órdenes y no se puede asignar a la ruta preasignada.
  • Inalcanzable (1024) Hay una orden preasignada ubicada en un elemento de red que no puede ser alcanzado por la ruta.
  • No se pueden insertar los descansos solicitados (2048): un descanso para la ruta tiene un valor de secuencia nulo en presencia de órdenes preasignadas y el descanso no se puede insertar en cualquier parte sin introducir otras infracciones.
  • No se pueden insertar las renovaciones requeridas (4096): una ruta supera su capacidad y necesita visitar una renovación de ruta, la renovación de ruta asociada tiene un valor de secuencia nulo en presencia de órdenes preasignadas y no se puede insertar en cualquier parte sin introducir otras infracciones.
  • Superado MaxTravelTimeBetweenBreaks (8192): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxTravelTimeBetweenBreaks del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de viaje máximo.

  • Superado MaxCumulWorkTime de descanso (16384): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxCumulWorkTime del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de trabajo máximo.
  • Infracción de la orden de InboundArriveTime u OutboundDepartTime (32768): no se pudo satisfacer la orden según las restricciones de la hora de llegada de la entrada o la hora de partida de la salida. Esta infracción se produce cuando los valores del campo LatestStartTime de todas las rutas precede a los valores InboundArriveTime o ninguna de las rutas puede llegar a un depósito antes del vapor OutboundDepartTime de la orden.
  • No se puede delimitar primero/último (65536): la orden tiene una regla se asignación Delimitar primero o Delimitar último, pero el solucionador no ha podido respetar esta restricción. Esta infracción se produce cuando el número de órdenes de delimitación de primero o último es mayor que el número de rutas disponibles.

  • ViolatedConstraint_1
  • ViolatedConstraint_2
  • ViolatedConstraint_3
  • ViolatedConstraint_4

Muestra una única restricción infringida por campo. Las descripciones de las infracciones pueden verse en ViolationConstraints.

  • Superado MaxOrderCount (1): las órdenes preasignadas no se pueden asignar a la ruta dado que la asignación de órdenes superaría el número máximo de órdenes que se pueden asignar a la ruta tal y como especifica el valor de campo MaxOrderCount de la ruta.
  • Capacidad excedida (1): las órdenes preasignadas no se pueden asignar a la ruta ya que la asignación de las órdenes superaría la capacidad total de la ruta tal y como especifica el valor de campo Capacities de la ruta.
  • Superado MaxTotalTime (2): el tiempo de viaje desde el depósito inicial al depósito final más los tiempos de espera y servicio en ambos depósitos y cualquier descanso que supere el tiempo total de la ruta tal y como especifica el valor del campo MaxTotalTime de la ruta.
  • Superado MaxTotalTravelTime (3): el tiempo de viaje desde el depósito inicial al depósito final supera el tiempo de viaje total de la ruta tal y como especifica el valor de campo MaxTotalTravelTime de la ruta.
  • Superado MaxTotalDistance (4): la distancia de viaje desde el depósito inicial al depósito final supera la distancia de viaje total de la ruta tal y como especifica el valor de campo MaxTotalDistance de la ruta.
  • Ventana de tiempo estricta (5) Existe una infracción de ventana de tiempo estricta en el depósito inicial, depósito final o corte asociado a la ruta.
  • Especialidad no concordada (6) Las especialidades requeridas por una orden no se encuentran en la ruta de destino.
  • Zona de ruta difícil (7) Una orden que se preasignó a la ruta no cae dentro de una zona de ruta difícil.
  • Superado MaxTransitTime (Tiempo de tránsito máximo) de par de órdenes (8) Existe un par de órdenes preasignadas a la ruta y al asignar las órdenes al par de órdenes se superaría el tiempo de tránsito máximo para el par de órdenes tal como se especifica en el valor de campo MaxTransitTime del par de órdenes.
  • Infracción de par de órdenes (9): una orden pertenece a un par de órdenes y no se puede asignar a la ruta preasignada.
  • Inalcanzable (10) Hay una orden preasignada ubicada en un elemento de red que no puede ser alcanzado por la ruta.
  • No se pueden insertar los descansos solicitados (11): un descanso para la ruta tiene un valor de secuencia nulo en presencia de órdenes preasignadas y el descanso no se puede insertar en cualquier parte sin introducir otras infracciones.
  • No se pueden insertar las renovaciones requeridas (12): una ruta supera su capacidad y necesita visitar una renovación de ruta, la renovación de ruta asociada tiene un valor de secuencia nulo en presencia de órdenes preasignadas y no se puede insertar en cualquier parte sin introducir otras infracciones.
  • Superado MaxTravelTimeBetweenBreaks (13): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxTravelTimeBetweenBreaks del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de viaje máximo.

  • Superado MaxCumulWorkTime de descanso (14): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxCumulWorkTime del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de trabajo máximo.
  • Infracción de la orden de InboundArriveTime u OutboundDepartTime (15): no se pudo satisfacer la orden según las restricciones de la hora de llegada de la entrada o la hora de partida de la salida. Esta infracción se produce cuando todos los valores del campo LatestStartTime de las rutas preceden a los valores de InboundArriveTime o bien cuando ninguna de las rutas es capaz de llegar a un depósito antes del valor de OutboundDepartTime de la orden.
  • No se puede delimitar primero/último (16): la orden tiene una regla se asignación de delimitación de primero o último, pero el solucionador no ha podido aplicar esta restricción. Esta infracción se produce cuando el número de órdenes de delimitación de primero o último es mayor que el número de rutas disponibles.

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:

  • FixedCost
  • RegularTimeCost
  • OvertimeCost
  • DistanceCost

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 al multiplicar los valores de los campos TotalDistance y CostPerUnitDistance. Este valor de campo se establece en cero si no se especifica un atributo de distancia antes de resolver.

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 valores de los siguientes campos:

  • StartDepotServiceTime
  • EndDepotServiceTime
  • TotalOrderServiceTime
  • TotalBreakServiceTime
  • TotalRenewalServiceTime
  • TotalWaitTime
  • TotalTravelTime

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

TotalOrderServiceTime

El tiempo de servicio total empleado en todas las órdenes en la ruta.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

TotalBreakServiceTime

El tiempo de servicio total empleado en todos los descansos en la ruta.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

TotalTravelTime

El tiempo de viaje total para la ruta.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

TotalDistance

La distancia de viaje total para la ruta.

La unidad para este valor de campo se especifica con el parámetro Unidades de campo de distancia (distance_units para Python).

Este valor de campo se establece en cero si no se especifica un atributo de distancia antes de resolver.

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.

TotalWaitTime

El tiempo de espera total en todas las órdenes, depósitos y descansos en la ruta.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

TotalViolationTime

El tiempo de infracción total en todas las órdenes y descansos en la ruta.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

RenewalCount

Para una ruta con reanudaciones, esto es igual al número de paradas en los depósitos para la renovación de un vehículo, es decir, cargar o descargar un vehículo.

TotalRenewalServiceTime

Para una ruta con reanudaciones, el tiempo de servicio total empleado en todas las visitas de renovación en la ruta.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

Clase de entidad de indicaciones

Indicaciones es una clase de entidad de línea que representa indicaciones con el detalle de cada giro para que los conductores sigan sus rutas asignadas. El nombre predeterminado de esta clase de entidad de salida es Indicaciones, pero es posible asignarle un nombre diferente cambiando el parámetro Nombre de indicaciones de salida (output_directions_name en Python) antes de resolver. Además, la herramienta Solucionar problema de generación de rutas para vehículos siempre crea la clase de entidad Indicaciones; no obstante, puede utilizar el parámetro Rellenar indicaciones (populate_directions en Python) para determinar si la clase de entidad se va rellenar con las entidades durante la solución. Por defecto, no se rellena. Si no necesita las indicaciones, puede reducir de forma significativa los tiempos de resolución y la cantidad de datos que se transfieren de los servidores a los clientes.

ArcGIS asigna el mismo sistema de coordenadas que el dataset de red subyacente utiliza para la clase de entidad Indicaciones. Esto se puede controlar especificando un valor para el entorno de geoprocesamiento del Sistema de coordenadas de salida.

Los nombres de campo de la clase de entidad de Indicaciones se muestran y describen a continuación.

Nombre de campoDescripción

ObjectID

Campo de Id. administrado por el sistema.

Shape

El campo de geometría que indica la forma de las líneas.

RouteName

El nombre de la ruta a la que se aplica la acción de conducción.

ArriveTime

La hora del día para iniciar determinada acción de conducción. Si la ruta abarca varios días, la fecha y hora del día se muestran.

Type

Este campo es para usuarios avanzados que desean personalizar el texto de las instrucciones de conducción. La mayoría de los usuarios pueden cubrir sus necesidades haciendo caso omiso de este campo y consultando el campo Text en su lugar.

El tipo se refiere a una constante de una de dos enumeraciones: esriDirectionsManueverType o esriDirectionsStringType. (Consulte la descripción del campo SubItemType para descubrir las enumeraciones a las que hace referencia el valor Type).

SubItemType

Este campo es para usuarios avanzados que desean personalizar el texto de las instrucciones de conducción. La mayoría de los usuarios pueden cubrir sus necesidades haciendo caso omiso de este campo y consultando el campo Text en su lugar.

SubItemType funciona en combinación con Type para crear la indicación de conducción que se muestra en el campo Text. El campo SubItemType especifica si el campo Type se refiere a un valor constante en la enumeración de esriDirectionsManueverType o en la enumeración de esriDirectionsStringType.

  • Si el valor de SubItemType es 1, el valor de Type hace referencia a esriDirectionsManeuverType.
  • Si el valor de SubItemType es 2, el valor de Type hace referencia a esriDirectionsStringType.

Text

Una descripción de texto de la indicación de conducción.

ElapsedTime

El tiempo transcurrido desde el momento en que comienza la actual indicación de conducción hasta que empieza la próxima, o hasta que finaliza la ruta de la última indicación de conducción.

Algunas indicaciones de conducción incluyen registros adicionales para el tiempo de servicio, el tiempo de infracción, y así sucesivamente. En estos casos, el tiempo transcurrido se replica para cada registro. Para sumar el total de tiempo transcurrido, seleccione los registros con un valor de Type de 1 y súmelos.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

DriveDistance

La distancia desde donde se produce la actual indicación de conducción a donde ocurre la siguiente, o donde finaliza la ruta para la última indicación de conducción.

Este valor es cero para las indicaciones de conducción que ocurren en la misma ubicación en la que comienza la próxima.

Tabla de paradas

La tabla de Paradas proporciona información acerca de las paradas realizadas en los depósitos, órdenes y cortes. La información indica cuales rutas hacen las paradas, las horas de llegada y salida y la secuencia de paradas.

El nombre predeterminado de la tabla de salida es Paradas, pero puede darle un nombre diferente cambiando el parámetro Nombre de paradas de salida (output_stops_name en Python) antes de resolver.

Los nombres de la tabla de Paradas se muestran y describen a continuación.

Nombre de campoDescripción

ObjectID

Campo de Id. administrado por el sistema.

Name

El nombre de la parada. Esta es una clave externa para el nombre del depósito, orden o descanso en los conjuntos de entidades de entrada y el conjunto de registros. El conjunto de registros o entidades de entrada se especifica mediante el campo StopType.

PickupQuantities

La cantidad de carga o el número de personas a recoger en una parada. Si se entregan varias dimensiones en una parada, cada cantidad se separa por un espacio.

Las unidades para este campo no se almacenan. Debe interpretar las unidades según la forma en que introdujo el campo Quantities de las rutas de entrada y los campos PickupQuantities y DeliveryQuantities de las órdenes de entrada. (Todos estos campos deben haber sido completados con las mismas unidades y el número de dimensiones).

DeliveryQuantities

La cantidad de carga o el número de personas a dejar en una parada. Si se entregan varias dimensiones en una parada, cada cantidad se separa por un espacio.

Las unidades para este campo no se almacenan. Debe interpretar las unidades según la forma en que introdujo el campo Quantities de las rutas de entrada y los campos PickupQuantities y DeliveryQuantities de las órdenes de entrada. (Todos estos campos deben haber sido completados con las mismas unidades y el número de dimensiones).

StopType

Indica si la parada representa un depósito, una orden o un descanso.

El campo almacena un valor codificado que puede interpretarse de la siguiente manera:

  • Orden (0)
  • Depósito (1)
  • Descanso (2)

RouteName

El nombre de la ruta que hace la parada.

Sequence

La secuencia relativa en la que la ruta asignada visita la parada.

La ordenación por los campos RouteName y Sequence crea listas ordenadas de paradas para cada ruta.

FromPreviousTravelTime

El tiempo de viaje transcurrido desde la parada anterior de la ruta a la parada actual.

La unidad de este valor de campo se especifica mediante el parámetro Unidades de campo de tiempo (time_units en Python).

FromPreviousDistance

La distancia a lo largo de la ruta desde la parada anterior hasta la parada actual.

La unidad para este valor de campo se especifica con el parámetro Unidades de campo de distancia (distance_units para Python).

ArriveCurbApproach

Indica de qué lado del vehículo está el bordillo al llegar a la parada.

DepartCurbApproach

Indica de qué lado del vehículo está el bordillo al salir de la parada.

ArriveTime

La hora del día cuando la ruta llega a la parada.

Cuando el dataset de red está configurado con zonas horarias, el valor de la hora del día corresponde a la zona horaria en la que se encuentra la parada; de lo contrario, corresponde a la zona horaria que está configurada en el equipo que se utiliza para resolver el análisis.

DepartTime

La hora del día cuando la ruta sale de la parada.

Cuando el dataset de red está configurado con zonas horarias, el valor de la hora del día corresponde a la zona horaria en la que se encuentra la parada; de lo contrario, corresponde a la zona horaria que está configurada en el equipo que se utiliza para resolver el análisis.

ArriveTimeUTC

La hora del día cuando la ruta llega a la parada. Este valor se proporciona en la hora universal coordinada (UTC).

Este campo es nulo si no se configuran las zonas horarias en el dataset de red.

DepartTimeUTC

La hora del día cuando la ruta sale de la parada. Este valor se proporciona en la hora universal coordinada (UTC).

Este campo es nulo si no se configuran las zonas horarias en el dataset de red.

WaitTime

El tiempo de espera o relevo en la parada. Por ejemplo, un tiempo de espera se incurre cuando una ruta debe esperar en una orden para que se abra una ventana de tiempo.

ViolationTime

La cantidad de tiempo transcurrido desde el final de la ventana de tiempo de la parada hasta la llegada del vehículo de ruta.

Visualizar paradas

La tabla Paradas no es una clase de entidad, lo que significa que no puede simplemente agregar la tabla a un mapa para ver dónde se producen las paradas. En su lugar, es necesario seguir pasos adicionales para visualizar las paradas en un mapa. (La orientación sobre cómo lograrlo se proporciona a continuación). Este diseño puede parecer innecesariamente difícil si debe mostrar las paradas de una ruta en un mapa; sin embargo, tenga en cuenta que esta herramienta está destinada a crear servicios web VRP. Como tal, la salida está diseñada para ser tan concisa como sea posible para minimizar el procesamiento y la transferencia de datos del servidor. No obstante, la salida no es demasiado concisa; todavía le proporciona la información esencial necesaria para visualizar las paradas como entidades de punto.

Por ejemplo, para ver dónde se producen las paradas en las órdenes, vincule la tabla Paradas con el conjunto de entidades Órdenes original que se usó como entrada. Puede seleccionar y unir estos datasets mediante los campos StopType y Name en la tabla Paradas y el campo Name del conjunto de entidades Órdenes. Puede utilizar un enfoque similar para ver en donde se producen las paradas en los depósitos.

Sugerencia:

Solucionar problema de generación de rutas para vehículos crea varios conjuntos de entidades de entrada, incluidos los conjuntos de entidades de Órdenes y Depósitos. Conforme resuelve la herramienta, estos conjuntos de entidades en la memoria se quitan de ArcMap. Puede agregarlas de nuevo, sin embargo. Para ello, siga estos pasos:

  1. Abra la ventana Resultados desde el menú Geoprocesamiento.
  2. En la ventana Resultados, vaya a los resultados de la operación de la que quiera un conjunto de entidades.
  3. Expanda el resultado apropiado de Solucionar problema de generación de rutas para vehículos.
  4. Expanda Entradas.
  5. Haga clic con el botón derecho en el conjunto de entidades que desee ver y elija Agregar a visualización. El conjunto de entidades aparece en el mapa y en la tabla de contenido.
  6. También puede hacer clic en el botón Lista por fuente de la ventana Tabla de contenido para ver dónde están almacenados los datos.

A diferencia de las órdenes y los depósitos, los descansos no están asociados con un conjunto de entidades de entrada. Debe utilizar un método distinto para visualizarlos. Puede generar las indicaciones en el análisis, seleccionar las líneas que representan entidades y utilizar la herramienta De vértices de entidad a puntos para convertirlas en puntos.

Tabla UnassignedStops

La tabla Paradas no asignadas enumera las órdenes que no se pudieron visitar por ninguna ruta. Asimismo, establece la razón por la que no se pudo visitar la parada para que pueda solucionar el problema.

El nombre predeterminado de la tabla de salida es Paradas, pero puede darle un nombre diferente cambiando el parámetro Nombre de paradas no asignadas de salida (output_unassigned_stops_name) antes de resolver.

Los nombres de la tabla de Paradas se muestran y describen a continuación.

Nombre de campoDescripción

ObjectID

Campo de Id. administrado por el sistema.

StopType

Indica si la parada representa un depósito, una orden o un descanso. El campo almacena un valor codificado que puede interpretarse de la siguiente manera:

  • Orden (0)
  • Depósito (1)
  • Descanso (2)

Name

El nombre de la parada.

Esta es una clave externa para el nombre del depósito, orden o descanso en los conjuntos de entidades de entrada y el conjunto de registros. El conjunto de registros o entidades de entrada se especifica mediante el campo StopType.

ViolatedConstraints

Este campo contiene un resumen de restricciones infringidas y está establecido después una operación de resolución. Si se provoca la infracción de una restricción, se puede asignar al campo una combinación de una o más infracciones mostradas a continuación.

Explorar:

El valor codificado que representa la descripción de texto se muestra en la lista siguiente entre paréntesis. Observe que los valores codificados forman parte de una secuencia geométrica que aumenta duplicando el último valor. Esto permite codificar varias combinaciones de infracciones. Por ejemplo, la combinación de Capacidad excedida (2) y Zona de ruta difícil (128) se codifica como 130 (2 +128).

  • Superado MaxOrderCount (1): las órdenes preasignadas no se pueden asignar a la ruta dado que la asignación de órdenes superaría el número máximo de órdenes que se pueden asignar a la ruta tal y como especifica el valor de campo MaxOrderCount de la ruta.
  • Capacidad excedida (2): las órdenes preasignadas no se pueden asignar a la ruta ya que la asignación de las órdenes superaría la capacidad total de la ruta tal y como especifica el valor de campo Capacities de la ruta.
  • Superado MaxTotalTime (4): el tiempo de viaje desde el depósito inicial al depósito final más los tiempos de espera y servicio en ambos depósitos y cualquier descanso que supere el tiempo total de la ruta tal y como especifica el valor del campo MaxTotalTime de la ruta.
  • Superado MaxTotalTravelTime (8): el tiempo de viaje desde el depósito inicial al depósito final supera el tiempo de viaje total de la ruta tal y como especifica el valor de campo MaxTotalTravelTime de la ruta.
  • Superado MaxTotalDistance (16): la distancia de viaje desde el depósito inicial al depósito final supera la distancia de viaje total de la ruta tal y como especifica el valor de campo MaxTotalDistance de la ruta.
  • Ventana de tiempo estricta (32) Existe una infracción de ventana de tiempo estricta en el depósito inicial, depósito final o corte asociado a la ruta.
  • Especialidad no concordada (64) Las especialidades requeridas por una orden no se encuentran en la ruta de destino.
  • Zona de ruta difícil (128) Una orden que se preasignó a la ruta no cae dentro de una zona de ruta difícil.
  • Superado MaxTransitTime de par de órdenes (256): existe un par de órdenes preasignado a la ruta y, al asignar las órdenes del par de órdenes, se superaría el tiempo de tránsito máximo para el par de órdenes tal y como especifica el valor del campo MaxTransitTime del par de órdenes.
  • Infracción de par de órdenes (512): una orden pertenece a un par de órdenes y no se puede asignar a la ruta preasignada.
  • Inalcanzable (1024) Hay una orden preasignada ubicada en un elemento de red que no puede ser alcanzado por la ruta.
  • No se pueden insertar los descansos solicitados (2048): un descanso para la ruta tiene un valor de secuencia nulo en presencia de órdenes preasignadas y el descanso no se puede insertar en cualquier parte sin introducir otras infracciones.
  • No se pueden insertar las renovaciones requeridas (4096): una ruta supera su capacidad y necesita visitar una renovación de ruta, la renovación de ruta asociada tiene un valor de secuencia nulo en presencia de órdenes preasignadas y no se puede insertar en cualquier parte sin introducir otras infracciones.
  • Superado MaxTravelTimeBetweenBreaks (8192): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxTravelTimeBetweenBreaks del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de viaje máximo.

  • Superado MaxCumulWorkTime de descanso (16384): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxCumulWorkTime del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de trabajo máximo.
  • Infracción de la orden de InboundArriveTime u OutboundDepartTime (32768): no se pudo satisfacer la orden según las restricciones de la hora de llegada de la entrada o la hora de partida de la salida. Esta infracción se produce cuando los valores del campo LatestStartTime de todas las rutas precede a los valores InboundArriveTime o ninguna de las rutas puede llegar a un depósito antes del vapor OutboundDepartTime de la orden.
  • No se puede delimitar primero/último (65536): la orden tiene una regla se asignación Delimitar primero o Delimitar último, pero el solucionador no ha podido respetar esta restricción. Esta infracción se produce cuando el número de órdenes de delimitación de primero o último es mayor que el número de rutas disponibles.

  • ViolatedConstraint_1
  • ViolatedConstraint_2
  • ViolatedConstraint_3
  • ViolatedConstraint_4

Muestra una única restricción infringida por campo. Las descripciones de las infracciones pueden verse en ViolationConstraints.

  • Superado MaxOrderCount (1): las órdenes preasignadas no se pueden asignar a la ruta dado que la asignación de órdenes superaría el número máximo de órdenes que se pueden asignar a la ruta tal y como especifica el valor de campo MaxOrderCount de la ruta.
  • Capacidad excedida (1): las órdenes preasignadas no se pueden asignar a la ruta ya que la asignación de las órdenes superaría la capacidad total de la ruta tal y como especifica el valor de campo Capacities de la ruta.
  • Superado MaxTotalTime (2): el tiempo de viaje desde el depósito inicial al depósito final más los tiempos de espera y servicio en ambos depósitos y cualquier descanso que supere el tiempo total de la ruta tal y como especifica el valor del campo MaxTotalTime de la ruta.
  • Superado MaxTotalTravelTime (3): el tiempo de viaje desde el depósito inicial al depósito final supera el tiempo de viaje total de la ruta tal y como especifica el valor de campo MaxTotalTravelTime de la ruta.
  • Superado MaxTotalDistance (4): la distancia de viaje desde el depósito inicial al depósito final supera la distancia de viaje total de la ruta tal y como especifica el valor de campo MaxTotalDistance de la ruta.
  • Ventana de tiempo estricta (5) Existe una infracción de ventana de tiempo estricta en el depósito inicial, depósito final o corte asociado a la ruta.
  • Especialidad no concordada (6) Las especialidades requeridas por una orden no se encuentran en la ruta de destino.
  • Zona de ruta difícil (7) Una orden que se preasignó a la ruta no cae dentro de una zona de ruta difícil.
  • Superado MaxTransitTime (Tiempo de tránsito máximo) de par de órdenes (8) Existe un par de órdenes preasignadas a la ruta y al asignar las órdenes al par de órdenes se superaría el tiempo de tránsito máximo para el par de órdenes tal como se especifica en el valor de campo MaxTransitTime del par de órdenes.
  • Infracción de par de órdenes (9): una orden pertenece a un par de órdenes y no se puede asignar a la ruta preasignada.
  • Inalcanzable (10) Hay una orden preasignada ubicada en un elemento de red que no puede ser alcanzado por la ruta.
  • No se pueden insertar los descansos solicitados (11): un descanso para la ruta tiene un valor de secuencia nulo en presencia de órdenes preasignadas y el descanso no se puede insertar en cualquier parte sin introducir otras infracciones.
  • No se pueden insertar las renovaciones requeridas (12): una ruta supera su capacidad y necesita visitar una renovación de ruta, la renovación de ruta asociada tiene un valor de secuencia nulo en presencia de órdenes preasignadas y no se puede insertar en cualquier parte sin introducir otras infracciones.
  • Superado MaxTravelTimeBetweenBreaks (13): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxTravelTimeBetweenBreaks del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de viaje máximo.

  • Superado MaxCumulWorkTime de descanso (14): el solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxCumulWorkTime del descanso. Suele producirse al preasignar una secuencia a un descanso de forma que no se puede alcanzar en el tiempo de trabajo máximo.
  • Infracción de la orden de InboundArriveTime u OutboundDepartTime (15): no se pudo satisfacer la orden según las restricciones de la hora de llegada de la entrada o la hora de partida de la salida. Esta infracción se produce cuando todos los valores del campo LatestStartTime de las rutas preceden a los valores de InboundArriveTime o bien cuando ninguna de las rutas es capaz de llegar a un depósito antes del valor de OutboundDepartTime de la orden.
  • No se puede delimitar primero/último (16): la orden tiene una regla se asignación de delimitación de primero o último, pero el solucionador no ha podido aplicar esta restricción. Esta infracción se produce cuando el número de órdenes de delimitación de primero o último es mayor que el número de rutas disponibles.

Status

Este campo está restringido por un dominio de valores, que se muestran a continuación (sus valores codificados se muestran entre paréntesis.

  • OK (0): la ubicación de red se evaluó correctamente.
  • Not located (1): el punto no se ubicó satisfactoriamente en la red.
  • Network element not located (2): no se puede encontrar el elemento de red identificado por los campos de ubicación de red del punto. Esto puede producirse si se eliminó un elemento de red donde debería estar el punto y la ubicación de red no se volvió a calcular.
  • Element not traversable (3): el elemento de red donde está el punto no es transitable. Esto puede ocurrir cuando un elemento de red está restringido por un atributo de restricción.
  • Invalid field values (4): uno o más de los valores de campo del punto se encuentran fuera de los dominios de rango o codificados de la capa de análisis. Por ejemplo, puede existir un número negativo donde se requieran números positivos.
  • Not reached (5): el solucionador no puede llegar al punto. El punto puede estar en un área separada y desconectada de la red con respecto a las demás entradas, o barreras o restricciones evitan el desplazamiento con respecto al punto.
  • Time window violation (6): el punto no pudo alcanzarse dentro de las ventanas de tiempo designadas. Este estado solo se aplica a tipos de análisis que admiten ventanas de tiempo.
  • Not located on closest (7): la ubicación de red más cercana al punto no es transitable debido a una restricción o barrera, de modo que el punto se ha ubicado en la entidad de red más cercana transitable.