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

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

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 de 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 campo

Descripción

ID de objeto

Campo ID administrado por el sistema.

Nombre

El nombre de la ruta.

Shape

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

Utilice el parámetro Rellenar las líneas de ruta (populate_route_lines) de Python para elegir rellenar este campo.

La clase de entidad de ruta siempre se crea y se rellena con los datos durante la ejecución de Resolver problema de generación de rutas para vehículos. Sin embargo, el parámetro Rellenar las líneas de ruta (populate_route_lines de Python) le permite elegir si desea generar y almacenar los valores de campo de 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.

InmersiónInmersión:

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 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 como especifica el valor de campo Capacidades 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 como especifica el valor de campo MaxTotalTime de la ruta.
  • Superado MaxTotalTravelTime (Tiempo total de viaje máximo) (8) El tiempo de viaje desde el depósito inicial al depósito final supera el tiempo de viaje total de la ruta tal como se especifica en el valor de campo MaxTotalTravelTime de la ruta.
  • Superado MaxTotalDistance (Distancia total máxima) (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 descanso 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 (Tiempo de tránsito máximo) de par de órdenes (256) 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.
  • Violació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 las interrupciones solicitadas (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 solicitadas (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.
  • Se excedió MaxTravelTimeBetweenBreaks (8192) El solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxTravelTimeBetweenBreaks del descanso. Esto suele producirse al preasignar una secuencia a un descanso tal que no se puede alcanzar en el tiempo de viaje máximo.

  • Superado Break MaxCumulWorkTime (16384) El solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxCumulWorkTime del descanso. Esto suele producirse al preasignar una secuencia a un descanso tal que no se puede alcanzar en el tiempo de trabajo máximo.

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

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

La unidad para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de Python).

TotalOrderServiceTime

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

La unidad para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de Python).

TotalBreakServiceTime

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

La unidad para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de Python).

TotalTravelTime

El tiempo de viaje total para la ruta.

La unidad para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de Python).

TotalDistance

La distancia de viaje total para la ruta.

La unidad para este valor de campo la especifica 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 para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de Python).

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 el parámetro Unidades de campo de tiempo (time_units de 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 para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de 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 puede darle un nombre diferente cambiando el parámetro Nombre de las indicaciones de salida (output_directions_name para Python) antes de resolver. Asimismo, la herramienta Resolver problema de generación de rutas para vehículos siempre crea la clase de entidad Indicaciones; sin embargo, puede utilizar el parámetro Rellenar indicaciones (populate_directions para Python) para elegir si desea rellenar la clase de entidad con entidades durante la operación de resolució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 campo

Descripción

ID de objeto

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

Tipo

Este campo es para usuarios avanzados que desean personalizar el texto de las indicaciones de conducción. La mayoría de los usuarios pueden cubrir sus necesidades haciendo caso omiso de este campo, consultando el campo de texto 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 obtener más información sobre la enumeración del valor de tipo). Puede ver una lista de valores constantes en la búsqueda del SDK de su elección para el nombre de la enumeración.

SubItemType

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

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

  • Si el valor de SubItemType es 1, el valor de Tipo se refiere a esriDirectionsManeuverType.
  • Si el valor de SubItemType es 2, el valor de Tipo se refiere a esriDirectionsStringType.

Texto

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. Si desea sumar el total de tiempo transcurrido, seleccione los registros con un valor de Tipo de 1 y súmelos.

La unidad para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de 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 realizados en los depósitos, órdenes y descansos. 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 para Python) antes de resolver.

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

Nombre de campo

Descripción

ID de objeto

Campo ID administrado por el sistema.

Nombre

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. Las entidades o conjunto de registros de entrada se especifican por 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. Se debe interpretar las unidades según la forma en que introdujo datos en el campo de cantidades 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 caga 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. Se debe interpretar las unidades según la forma en que introdujo datos en el campo de cantidades 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, orden o 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.

Secuencia

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

El ordenamiento por RouteName y los campos de secuencia 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 para este valor de campo la especifica el parámetro Unidades de campo de tiempo (time_units de 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 la especifica 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 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 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

Claramente, la tabla de 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 magra como sea posible para minimizar el procesamiento y la transferencia de datos del servidor. No obstante, la salida no es demasiado magra; 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 órdenes, vincular la tabla de Paradas con el conjunto de entidades Órdenes original, que se utiliza como entrada. Puede seleccionar y unir estos datasets mediante los campos StopType y Nombre en la tabla Paradas y el campo Nombre en el conjunto de entidades Órdenes. Puede utilizar un enfoque similar para ver en donde se producen las paradas en los depósitos.

SugerenciaSugerencia:

Resolver 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, navegue a los resultados de la operación de los que quiere obtener un conjunto de entidades.
  3. Expanda resultado correspondiente de Resolver problema de generación de rutas para vehículos.
  4. Expandir Entradas.
  5. Haga clic derecho en el conjunto de entidades que desea visualizar y elija Agregar a visualización. El conjunto de entidades aparece en el mapa y en la tabla de contenido.
  6. De manera opcional, haga clic en el botón Lista por origen en la ventana Tabla de contenido para ver donde se almacenan los datos.

A diferencia de las órdenes y los depósitos, los descansos no están asociados con un conjunto de entidades de entrada. Por lo tanto, deberá 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 a puntos.

Tabla UnassignedStops

La tabla UnassignedStops enumera las órdenes que no se pudieron visitar por ninguna ruta. Asimismo, establece la razón por la que la parada no pudo ser visitada para que pueda realizar los cambios necesarios para 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 de salida no asignadas (output_unassigned_stops_name) antes de resolver.

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

Nombre de campo

Descripción

ID de objeto

Campo ID administrado por el sistema.

StopType

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

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

Nombre

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 entidades de entrada o de registro es especificado por 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.

InmersiónInmersión:

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 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 como especifica el valor de campo Capacidades 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 como especifica el valor de campo MaxTotalTime de la ruta.
  • Superado MaxTotalTravelTime (Tiempo total de viaje máximo) (8) El tiempo de viaje desde el depósito inicial al depósito final supera el tiempo de viaje total de la ruta tal como se especifica en el valor de campo MaxTotalTravelTime de la ruta.
  • Superado MaxTotalDistance (Distancia total máxima) (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 descanso 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 (Tiempo de tránsito máximo) de par de órdenes (256) 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.
  • Violació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 las interrupciones solicitadas (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 solicitadas (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.
  • Se excedió MaxTravelTimeBetweenBreaks (8192) El solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxTravelTimeBetweenBreaks del descanso. Esto suele producirse al preasignar una secuencia a un descanso tal que no se puede alcanzar en el tiempo de viaje máximo.

  • Superado Break MaxCumulWorkTime (16384) El solucionador no ha podido insertar un descanso en el tiempo especificado por el campo MaxCumulWorkTime del descanso. Esto suele producirse al preasignar una secuencia a un descanso tal que no se puede alcanzar en el tiempo de trabajo máximo.

Estado

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

  • Aceptar (0): la evaluación de red se evaluó correctamente.
  • Elemento que no se puede cruzar (3): el elemento de red en el que se encuentra la ubicación de red no se puede recorrer. Esto puede ocurrir cuando un elemento de red está restringido por un atributo de restricción.
  • Valores de campo no válido (4): los valores de campo de la ubicación de red caen 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.
  • No ha llegado (5): el solucionador no puede llegar a la ubicación de red.

Temas relacionados

9/11/2013