LastMileDelivery input data types

The input data types that can be specified when performing a last mile delivery analysis are described below.

Orders

These are the orders that will be used as input for the last mile delivery analysis. These are the final customer locations where the routes deliver the packages, or the initial customer location where they are picking up packages for shipment.

The data type supports the following fields:

FieldDescriptionData type

Name

The name of the order.

The name must be unique. Order names are case sensitive and cannot be empty, even if the order is excluded from the solve operation.

This field acts as a primary key and is used as a foreign key to refer to orders in the OrderSpecialties table.

Text

ServiceTime

Cantidad de tiempo que se pasará en la ubicación de red cuando la ruta la visite; es decir, el valor de impedancia de 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.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

TimeWindowStart

The beginning time of the time window for the order. This field can contain a null value, which indicates no beginning time.

A time window only states when a vehicle can arrive at an order; it doesn't state when the service time must be completed. To account for service time and departure before the time window ends, subtract the ServiceTime value from the TimeWindowEnd field value.

The time window fields (TimeWindowStart and TimeWindowEnd) require the date and time.

The value for this field can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM.

The time zone for the value is specified by the timeZoneForTimeFields property of the analysis object.

Learn more about time windows

Date

TimeWindowEnd

The ending time of the window for the order. This field can contain a null value, which indicates no ending time.

Date

MaxViolationTime

A time window is considered violated if the arrival time occurs after the time window has ended. This field specifies the maximum allowable violation time for the time window of the order. It can contain a zero value but cannot contain a negative value. A zero value indicates that a time window violation is unacceptable; that is, the time window is hard. Conversely, a null value indicates that there is no limit on the allowable violation time. A nonzero value specifies the maximum amount of lateness. For example, a route can arrive at an order up to 30 minutes beyond the end of the time window.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

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.

The value for this field can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM.

Notes:

  • La hora de inicio de la ruta, incluidos los tiempos de servicio, debe ser posterior a la hora de llegada de la entrada. Si una ruta empieza antes de la hora de llegada de la entrada de la orden, esta no se podrá asignar a la ruta. La asignación no será válida aunque la ruta tenga un tiempo de servicio en el depósito inicial que dure hasta que haya pasado la hora de llegada de la entrada.

  • The solver honors InboundArriveTime regardless of the DeliveryQuantity_* field values.

  • Si también se especifica una hora de partida de la salida, el valor de hora debe ser posterior a la hora de llegada de la entrada.

Date

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.

The value for this field can be specified using a datetime Python object, such as datetime.datetime(2019, 5, 11, 8, 30, 0), which represents Saturday May 11 2019 8:30:00 AM.

Notes:

  • La hora de finalización de la ruta, incluidos los tiempos de servicio, debe ser anterior a la hora de partida de la salida. Si la ruta llega al depósito pero no completa su tiempo de servicio en el depósito final antes de la hora de partida de la salida de la orden, no es posible asignar la orden a la ruta.

  • The solver honors OutboundDepartTime regardless of the PickupQuantity_* field values.

  • Si también se especifica una hora de llegada de la entrada, el valor de hora debe ser anterior a la hora de partida de la salida.

Date

  • DeliveryQuantity_1
  • DeliveryQuantity_2
  • DeliveryQuantity_3
  • DeliveryQuantity_4
  • DeliveryQuantity_5
  • DeliveryQuantity_6
  • DeliveryQuantity_7
  • DeliveryQuantity_8
  • DeliveryQuantity_9

The size of the delivery. You can specify size in dimensions such as weight, volume, or quantity. If there are multiple delivery quantities, specify them using the DeliveryQuantity_1 through DeliveryQuantity_9 fields as needed.

Introduzca las cantidades de entrega sin indicar unidades. Por ejemplo, si es necesario entregar un objeto de 300 libras a una orden, introduzca 300. Es necesario recordar que el valor es en libras.

Ensure that the Capacity_* fields in the Routes table and DeliveryQuantity_* fields and PickupQuantity_* fields in the Orders table are specified in the same manner. The values must be in the same units, and the fields ending in the same number must correspond to one another. For example, Capacity_4, DeliveryQuantity_4, and PickupQuantity_4 are assumed to describe the same measured quantity with the same units.

If any of the DeliveryQuanity_* fields are used for any orders, none of the PickupQuantity_* fields can be used for any orders in the analysis. The solver supports either all delivery or all pick up orders, but not both.

The default is 0. Delivery quantities can't be negative.

Double

  • PickupQuantity_1
  • PickupQuantity_2
  • PickupQuantity_3
  • PickupQuantity_4
  • PickupQuantity_5
  • PickupQuantity_6
  • PickupQuantity_7
  • PickupQuantity_8
  • PickupQuantity_9

The size of the pickup. You can specify size in dimensions such as weight, volume, or quantity. If there are multiple pickup quantities, specify them using the PickupQuantity_1 through PickupQuantity_9 fields as needed.

These fields are analogous to the DeliveryQuantity_* fields.

If any of the PickupQuanity_* fields are used for any orders, none of the DeliveryQuantity_* fields can be used for any orders in the analysis. The solver supports either all delivery or all pick up orders, but not both.

The default is 0. Pickup quantities can't be negative.

Double

AnchorRule

Specifies the anchoring rule for the order, indicating that it must be the first or last order on a route.

The field value is specified as one of the following integers (use the numeric code, not the name in parentheses):

  • Null—The order does not have an anchor constraint and can be sequenced first, last, or anywhere in between. This is the default value.
  • 1 (Anchor first)—The order must be the first order on the route.
  • 2 (Anchor last)—The order must be the last order on the route.

If the order is additionally constrained to a specific route, that can be controlled using the AssignmentRule field.

Long

AssignmentRule

Especifica la regla para asignar la orden a una ruta. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • Null—The solver ignores the route preassignment (if any) for the order during the solve operation. It assigns a route to the order to minimize the overall value of the objective function. This is the default value.
  • 1 (Preserve route and relative sequence)—The solver must always assign the order to the preassigned route at the preassigned relative sequence during the solve operation. If this assignment rule can't be followed, it results in an order violation. With this setting, only the relative sequence is maintained, not the absolute sequence. For example, there are two orders: A and B. They have sequence values of 2 and 3, respectively. If you set their AssignmentRule field values to 1, the sequence values for A and B may change after solving because other orders and depot visits can be sequenced before, between, or after A and B. However, B cannot be sequenced before A.
  • 2 (Preserve route)—The solver must always assign the order to the preassigned route during the solve operation. If a sequence value is provided, it will be used for the initial construction of the route. If the order cannot be assigned to the specified route, it results in an order violation.
  • 3 (Unassign)—The order will be removed from the assigned route.

Long

RouteName

El nombre de la ruta a la que se ha asignado la orden.

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 identifica la mejor asignación de ruta posible para la orden. Si está establecido en nulo, el campo Sequence también debe estar establecido en nulo.

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 cual se asigna la orden.

The RouteName field is a foreign key to the Name field in the Routes class.

Text

Sequence

Esto indica la secuencia de la orden en su ruta asignada.

Este campo se utiliza para especificar la secuencia relativa de 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.

The input sequence values are positive and unique for each route (shared between depot visits and orders) but do not need to start from 1 or be contiguous.

After a solve operation, the Sequence field contains the sequence value of the order on its assigned route.

Long

CurbApproach

Especifica la dirección en la que un vehículo puede llegar a la orden y partir de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Cualquier lado del vehículo): el vehículo puede aproximarse a la orden y abandonarla en cualquier dirección, de modo que se admite un cambio de sentido en la orden. Puede elegir esta configuración si es posible y práctico que un vehículo dé la vuelta en la orden. Esta decisión puede depender del ancho de la calle y del volumen de tráfico, o de si la orden dispone de aparcamiento en el que los vehículos pueden entrar y maniobrar.
  • 1 (Lado derecho del vehículo): cuando el vehículo se aproxima a la orden y la abandona, la orden debe estar en el lado derecho del vehículo. Los cambios de sentido están prohibidos. Esto se usa normalmente para vehículos como los autobuses que deben llegar con la parada a la derecha.
  • 2 (Lado izquierdo del vehículo): cuando el vehículo se aproxima a la orden y la abandona, el bordillo debe estar en el lado izquierdo del vehículo. Los cambios de sentido están prohibidos. Esto se usa normalmente para vehículos como los autobuses que deben llegar con la parada a la izquierda.
  • 3 (Sin giro en U): cuando el vehículo se aproxima a la orden, el bordillo puede estar a uno otro lado del vehículo; no obstante, el vehículo debe partir sin cambiar de sentido.

El atributo CurbApproach se ha diseñado para funcionar con ambos estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere una orden que se encuentra en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Los estándares de circulación nacionales pueden influir en su decisión de aproximarse a la orden por una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, para llegar a una orden y que no haya un carril entre el vehículo y la orden, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido.

Long

Bearing

La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.

Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.

Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.

Más información sobre el rumbo y la tolerancia de rumbo

Double

BearingTol

El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.

Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.

Más información sobre el rumbo y la tolerancia de rumbo

Double

NavLatency

Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

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

Depots

The input is one or more depots for the given last mile delivery analysis. A depot is a location that a vehicle departs from at the beginning of its workday and returns to at the end of the workday. Vehicles are loaded (for deliveries) or unloaded (for pickups) at depots. For the Last Mile Delivery solver, the routes must all start at the same depot location and must all end at the same depot location. However, the start and end depot locations can be different or can be modeled as virtual depot locations not explicitly specified in the problem.

The data type supports the following fields:

FieldDescriptionData type

Name

The name of the depot. The StartDepotName and EndDepotName fields on routes reference the names you provide here.

Depot names are case sensitive and must be nonempty and unique.

Text

CurbApproach

Especifica la dirección en la que un vehículo puede llegar al depósito y partir de él. El valor de campo se especifica como uno de los siguientes enteros que se muestran entre paréntesis (use el código numérico, no el nombre entre paréntesis):

  • 0 (Cualquier lado del vehículo): el vehículo puede aproximarse al depósito y abandonarlo en cualquier dirección, de modo que se admite un cambio de sentido en el incidente. Puede elegir esta configuración si es posible y práctico que un vehículo dé la vuelta en el depósito. Esta decisión puede depender del ancho de la calle y del volumen de tráfico, o de si el depósito dispone de aparcamiento en el que los vehículos pueden entrar y maniobrar.
  • 1 (Lado derecho del vehículo): cuando el vehículo se aproxima al depósito y lo abandona, el depósito debe estar en el lado derecho del vehículo. Los cambios de sentido están prohibidos. Esto se usa normalmente para vehículos como los autobuses que deben llegar con la parada a la derecha.
  • 2 (Lado izquierdo del vehículo): cuando el vehículo se aproxima al depósito y lo abandona, el bordillo debe estar en el lado izquierdo del vehículo. Los cambios de sentido están prohibidos. Esto se usa normalmente para vehículos como los autobuses que deben llegar con la parada a la izquierda.
  • 3 (Sin giro en U): cuando el vehículo se aproxima al depósito, el bordillo puede estar a uno u otro lado del vehículo; no obstante, el vehículo debe partir sin cambiar de sentido.

El atributo CurbApproach se ha diseñado para funcionar con ambos estándares nacionales de circulación: por la derecha (Estados Unidos) y por la izquierda (Reino Unido). En primer lugar, considere un depósito en el lado izquierdo de un vehículo. Siempre estará situada el lado izquierdo, independientemente de si el vehículo circula por la mitad izquierda o derecha del camino. Las normas de circulación nacionales pueden influir en su decisión de aproximarse a un depósito desde una de las dos direcciones posibles, de modo que quede en el lado derecho o en el lado izquierdo del vehículo. Por ejemplo, para llegar a un depósito y que no haya un carril entre el vehículo y el depósito, elija 1 (Lado derecho del vehículo) en Estados Unidos y 2 (Lado izquierdo del vehículo) en Reino Unido.

Long

Bearing

La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.

Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.

Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.

Más información sobre el rumbo y la tolerancia de rumbo

Double

BearingTol

El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.

Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.

Más información sobre el rumbo y la tolerancia de rumbo

Double

NavLatency

Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

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

Routes

Especifica una o varias rutas que describen las características del vehículo y del conductor. Una ruta puede tener los tiempos de servicio de inicio y fin en el depósito, un tiempo de inicio fijo o flexible, costes operativos basados en el tiempo, costes operativos basados en la distancia, varias capacidades, diversas restricciones en un día laborable del conductor y así sucesivamente.

Nota:

Unlike other data types, such as Orders and Depots, this data type is a table and does not include any location information.

The data type supports the following fields:

FieldDescriptionData type

Name

The name of the route.

This field is the primary key and is used as a foreign key in the Orders, Depot Visits, and RouteSpecialties classes.

Route names are case sensitive and cannot be empty, even if the route is not part of the solve operation. The name must be unique.

Text

StartDepotName

The name of the starting depot for the route. This field is a foreign key to the Name field in the Depots class.

All routes must have the same starting depot. They can all be the same location specified in the Depots class or all left null. The starting depot and the ending depot can be different.

If the StartDepotName value is null, the route will begin from the first order assigned. Omitting the start depot is useful when the vehicle's starting location is unknown or irrelevant to the analysis problem.

No se permiten depósitos iniciales virtuales si las órdenes o los depósitos están en varias zonas horarias.

If the route is making deliveries and StartDepotName is null, it is assumed that the cargo is loaded on the vehicle at a virtual depot before the route begins.

Text

EndDepotName

The name of the ending depot for the route. This field is a foreign key to the Name field in the Depots class.

All routes must have the same ending depot. They can all be the same location specified in the Depots class or all left null. The starting depot and the ending depot can be different.

If the route is making pickups and EndDepotName is null, it is assumed that the cargo is delivered to a virtual depot after the route ends.

Text

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.

The unit for this field value is specified by the timeUnits property of the analysis object.

Los tiempos de servicio de los depósitos inicial y final son valores fijos (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. A los tiempos de servicio de los depósitos se les pueden asignar valores que correspondan a un camión completamente cargado, con una carga media o hacer una estimación de tiempo.

Double

EndDepotServiceTime

El tiempo de servicio en el depósito final. 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.

The unit for this field value is specified by the timeUnits property of the analysis object.

Los tiempos de servicio de los depósitos inicial y final son valores fijos (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. A los tiempos de servicio de los depósitos se les pueden asignar valores que correspondan a un camión completamente cargado, con una carga media o hacer una estimación de tiempo.

Double

EarliestStartDate

The earliest allowable starting date for the route. This is used by the solver in conjunction with the EarliestStartTime field to indicate the earliest date and time the route should start.

Either this field or the earliestRouteStartDate property of the analysis object must be set. If this field is left null, the default value set in the earliestRouteStartDate property will be used for the route.

When using inputs across multiple time zones, the time zone for the EarliestStartDate field is the same as the time zone of the edge or junction where the starting depot is located.

Date Only

EarliestStartTime

The earliest allowable starting time of day for the route. This is used by the solver in conjunction with the EarliestStartDate field to indicate the earliest time and date the route should start.

Either this field or the earliestRouteStartTime property of the analysis object must be set. If this field is left null, the default value set in the earliestRouteStartTime property will be used for the route.

When using inputs across multiple time zones, the time zone for the EarliestStartTime field is the same as the time zone of the edge or junction where the starting depot is located.

Time Only

StartFlexibility

Indicates how long after the earliest allowed route start time the route can start. The value can be null or zero, which means that there is no flexibility in the starting time, or it can be a positive number.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

ArriveDepartDelay

The amount of travel time needed to accelerate the vehicle to normal travel speeds, decelerate it to a stop, and move it off and on the network (for example, in and out of parking). By including an ArriveDepartDelay value, the solver is deterred from sending many routes to service physically coincident orders.

The cost for this attribute is incurred between visits to noncoincident orders and depots. For example, when a route starts from a depot and visits the first order, the total arrive/depart delay is added to the travel time. The same is true when traveling from the first order to the second order. If the second and third orders are coincident, the ArriveDepartDelay value is not added between them, since the vehicle doesn't need to move.

For example, there are five coincident orders in a high-rise building, and they are serviced by three different routes. This means three arrive/depart delays are incurred; that is, three drivers need to separately find parking places and enter the same building. However, if the orders can be serviced by one route instead, only one driver needs to park and enter the building, and only one arrive/depart delay is incurred. Since the solver tries to minimize cost, it attempts to limit the arrive/depart delays and identify the single-route option. (Multiple routes may need to be sent when other constraints—such as specialties, time windows, or capacities—require it.)

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

  • Capacity_1
  • Capacity_2
  • Capacity_3
  • Capacity_4
  • Capacity_5
  • Capacity_6
  • Capacity_7
  • Capacity_8
  • Capacity_9

The maximum amount (for example, volume, weight, or quantity) that can be carried by the vehicle. If there are multiple capacities, specify them using the Capacity_1 through Capacity_9 fields as needed.

Introduzca capacidades sin indicar las unidades. Por ejemplo, si el vehículo puede llevar un máximo de 40.000 libras; introduzca 40000. Recuerde que el valor se indica en libras.

Ensure that the Capacity_* fields in the Routes class and the DeliveryQuantity_* fields and PickupQuantity_* fields in the Orders class are specified in the same manner. The values must be in the same units, and the fields ending in the same number must correspond to one another. For example, Capacity_4, DeliveryQuantity_4, and PickupQuantity_4 are assumed to describe the same measured quantity with the same units.

Capacities can't be negative. A null value is equivalent to infinity.

Precaución:
The solver only performs a simple Boolean test to determine whether capacities are exceeded. If a route's capacity value is greater than or equal to the total quantity being carried, it is assumed the cargo fits in the vehicle. This may be incorrect, depending on the actual shape of the cargo and the vehicle. For example, the solver allows you to fit a 1,000-cubic-foot sphere into a 1,000-cubic-foot truck that is 8 feet wide. In reality, however, since the sphere is 12.6 feet in diameter, it won't fit in the 8-foot wide truck.

Double

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.

Double

CostPerUnitTime

The monetary cost incurred—per unit of work time—for the total route duration, including travel times as well as service times and wait times at orders and depots. This field can't contain a null value and has a default value of 1.0.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

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.

The unit for this field value is specified by the distanceUnits property of the analysis object.

Double

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.

Por ejemplo, si al conductor se le pagan horas extra cuando la duración total de la ruta supera las ocho horas, OvertimeStartTime se especifica como 480 (8 horas * 60 minutos/hora), siempre que las unidades de tiempo sean minutos.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

CostPerUnitOvertime

El coste monetario en el que se incurre por unidad de tiempo de hora extra. Este campo puede contener valores nulos; un valor nulo indica que el valor CostPerUnitOvertime es igual que el valor CostPerUnitTime.

Double

MaxOrderCount

The maximum allowable number of orders on the route. A null value indicates that there is no constraint on the number of orders a route can visit in a day.

Long

MaxTotalTime

The maximum allowable route duration. The route duration includes travel times as well as service and wait times at orders and depots.

Either this field or the maxRouteTotalTime property of the analysis object must be set. If this field is left null, the default value set in the maxRouteTotalTime property will be used for the route.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

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.

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.

The unit for this field value is specified by the timeUnits property of the analysis object.

Double

MaxTotalDistance

La distancia de viaje máxima permitida para la ruta.

Este campo puede contener valores nulos; un valor nulo indica que no hay ninguna restricción en la distancia máxima de viaje permitida.

The unit for this field value is specified by the distanceUnits property of the analysis object.

Double

ZoneName

The name of the zone that will be used for this route to specify its work territory.

The ZoneName field is a foreign key to the Name field in the Zones class.

This field can contain null values, which indicates that there is no route zone for this route.

Text

IsHardZone

A Boolean value indicating a hard or soft route zone.

A value of 1 (true) indicates that the route zone is hard; that is, an order that falls outside the route zone polygon can't be assigned to the route. This is the default.

A value of 0 (false) indicates that orders that fall outside the route zone polygon can still be assigned, but the cost of servicing the order is weighted by a function that is based on the Euclidean distance from the route zone. As the straight-line distance from the soft zone to the order increases, the likelihood of the order being assigned to the route decreases.

Long

AssignmentRule

Especifica si se puede utilizar la ruta o no al resolver el problema. Este campo está restringido por un dominio de valores que se muestran a continuación (use el código numérico, no el nombre entre paréntesis).

  • Null—The route is open to new orders. This is the default value.
  • 1 (Closed)—The route will not accept new orders but it can be resequenced or have the outputs updated.
  • 2 (Exclude)—The route is excluded from the solve operation. The output for this route will not be updated. The orders with the corresponding route will also be excluded from the route and the output from those orders will not be updated.

Long

Zones

Delinea los territorios de trabajo para determinadas rutas. Una zona de ruta es una entidad poligonal que se utiliza para restringir rutas a fin de dar servicio solo a las órdenes que queden dentro o cerca del área especificada. A continuación 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 y desea minimizar el tiempo de respuesta haciendo que visite solo las órdenes que queden cerca del taller de mantenimiento. Puede crear una zona de ruta estricta o no estricta para mantener el vehículo cerca.

The data type supports the following field:

FieldDescriptionData type

Name

The name for the zone.

Names are case sensitive, cannot be empty, and must be unique. This field is the primary key and is used as a foreign key in the Routes class. Multiple routes can share the same zone.

Text

OrderSpecialties

The OrderSpecialties and RouteSpecialties classes list the specialties that can be required by orders and supported by routes. A route can service an order only if it supports all the specialties required for that order.

For example, an order may require a technician with a certain skill set or a vehicle with certain capabilities. You model these skills, capabilities, and so on, by adding them to the OrderSpecialties table. Next, you add the specialties that are supported by a route to RouteSpecialties. When the analysis is solved, orders that require certain specialties are matched with routes that can provide them.

The OrderSpecialties class supports the following fields:

FieldDescriptionData type

OrderName

The name of the order.

The value of this field corresponds to a value in the Name field of an order in the Orders input class.

Text

SpecialtyName

The name of the specialty.

This indicates the required specialty for the order. Only a single specialty is listed per row. If an order requires more than one specialty, create a new row.

Specialty names are case sensitive and cannot be empty. Specialty names can't contain spaces. For example, a senior technician specialty should be entered as SeniorTechnician.

Text

RouteSpecialties

The OrderSpecialties and RouteSpecialties classes list the specialties that can be required by orders and supported by routes. A route can service an order only if it supports all the specialties required for that order.

For example, an order may require a technician with a certain skill set or a vehicle with certain capabilities. You model these skills, capabilities, and so on, by adding them to the OrderSpecialties table. Next, you add the specialties that are supported by a route to RouteSpecialties. When the analysis is solved, orders that require certain specialties are matched with routes that can provide them.

The RouteSpecialties class supports the following fields:

FieldDescriptionData type

RouteName

The name of the route.

The value of this field corresponds to a value in the Name field of a route in the Routes input class.

Text

SpecialtyName

The name of the specialty.

This indicates the specialty that the route supports. Only a single specialty is listed per row. If a route supports more than one specialty, create a new row.

Specialty names are case sensitive and cannot be empty. Specialty names can't contain spaces. For example, a senior technician specialty should be entered as SeniorTechnician.

Text

PointBarriers

Utilice este parámetro para especificar uno o varios puntos que actuarán como restricciones temporales o representen el tiempo o la distancia adicionales que puede que se necesiten para viajar en las calles subyacentes. Por ejemplo, una barrera de punto se puede usar para representar un árbol caído en una calle o el retraso acumulado en un cruce de ferrocarril.

The data type supports the following fields:

FieldDescriptionData type

Name

El nombre de la barrera.

Text

BarrierType

Especifica si la barrera de punto restringe el recorrido completamente o agrega tiempo o distancia cuando se cruza. El valor de este atributo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Restricción): prohíbe viajar por la barrera. La barrera se conoce como barrera de punto de restricción, ya que actúa como una restricción.

  • 2 (Coste agregado): viajar a través de la barrera aumenta el tiempo o la distancia de viaje en la cantidad especificada en el campo Additional_Time, Additional_Distance o AdditionalCost. Este tipo de barrera se denomina barrera de punto de coste añadido.

Long

Additional_Time

The added travel time when the barrier is traversed.

This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the timeUnits property.

Double

Additional_Distance

The added distance when the barrier is traversed.

This field value must be greater than or equal to zero, and the values are interpreted to be in the units specified by the distanceUnits property.

Double

AdditionalCost

The added cost when the barrier is traversed.

This field value must be greater than or equal to zero, and the values are interpreted to be in unknown units.

Double

FullEdge

Especifica cómo se aplican las barreras de punto de restricción a los elementos de eje durante el análisis. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Falso): permite viajar por el eje hasta la barrera, pero no a través de ella. Este es el valor predeterminado.
  • 1 (Verdadero): restringe el viaje a cualquier punto del eje asociado.

Long

CurbApproach

Especifica la dirección de tráfico que se ve afectada por la barrera. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Cualquier lado del vehículo): la barrera afecta al viaje por el eje en ambas direcciones.
  • 1 (Lado derecho del vehículo): los vehículos solo se ven afectados si la barrera se encuentra a su lado derecho al acercase a ella. La barrera no afecta a los vehículos que atraviesan el mismo eje, pero se acercan la barrera por su lado izquierdo.
  • 2 (Lado izquierdo del vehículo): los vehículos solo se ven afectados si la barrera se encuentra a su lado izquierdo al acercase a ella. La barrera no afecta a los vehículos que atraviesan el mismo eje, pero se acercan la barrera por su lado derecho.

Debido a que los cruces son puntos y no tienen lados, las barreras sobre cruces afectan a todos los vehículos, independientemente de la aproximación a borde.

Long

Bearing

La dirección en la que está avanzando un punto. Las unidades son grados y se miden en sentido horario desde el norte verdadero. Este campo se utiliza junto con el campo BearingTol.

Los datos de rumbo normalmente se envían de forma automática desde un dispositivo móvil dotado de un receptor GPS. Intente incluir datos de rumbo si está cargando una ubicación de entrada que se mueve, como un peatón o un vehículo.

Utilizar este campo tiende a evitar agregar ubicaciones a los ejes equivocados, que puede ocurrir cuando un vehículo está cerca de una intersección o un paso elevado, por ejemplo. El rumbo también ayuda a la herramienta a determinar en qué lado de la calle está el punto.

Más información sobre el rumbo y la tolerancia de rumbo

Double

BearingTol

El valor de tolerancia de rumbo crea un rango de valores de rumbo aceptable al ubicar los puntos en movimiento en un eje con el campo Bearing. Si el valor del campo Bearing está dentro del rango de valores aceptables que se generan a partir de la tolerancia de rumbo en un eje, el punto se puede agregar como una ubicación de red ahí; de lo contrario, se evalúa el punto más cercano sobre el próximo eje más cercano.

Las unidades se expresan en grados y el valor predeterminado es 30. Los valores deben ser mayores que 0 y menores que 180. Un valor de 30 significa que, cuando Network Analyst intenta agregar una ubicación de red en un eje, se genera un rango de valores de rumbo aceptable 15 grados hacia cada lado del eje (izquierda y derecha) y en ambas direcciones digitalizadas del eje.

Más información sobre el rumbo y la tolerancia de rumbo

Double

NavLatency

Este campo solo se utiliza en el proceso de resolución si los campos Bearing y BearingTol también tienen valores. Sin embargo, la introducción de un valor de campo NavLatency es opcional, incluso cuando hay valores en Bearing y BearingTol. NavLatency indica cuánto coste se espera desde el momento en que se envía la información de GPS desde un vehículo en movimiento a un servidor y el momento en que el dispositivo de navegación del vehículo recibe la ruta procesada.

The time units of NavLatency are the same as the units specified by the timeUnits property of the analysis object.

Double

Network location fields

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge

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

LineBarriers

Utilice este parámetro para especificar una o varias líneas que prohíban viajar a cualquier ubicación en la que las líneas se intersequen con las calles. Por ejemplo, un desfile o una protesta que bloquee el tráfico por varios segmentos de calle se puede modelar con una barrera de línea. Una barrera de línea también puede cercar rápidamente varios caminos para que no se puedan atravesar, alejando así las posibles rutas de las partes no deseadas de la red de calles.

The data type supports the following fields:

FieldDescriptionData type

Name

El nombre de la barrera.

Text

BarrierType

Especifica si la barrera restringe el viaje completamente o si escala el coste (por ejemplo, el tiempo o la distancia) para viajar a través de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Restricción): prohíbe viajar por ningún punto en el que la barrera se interseque con la red de transporte. La barrera se conoce como una barrera de línea de restricción.

  • 1 (Coste en escala): escala el coste (por ejemplo, el tiempo o la distancia) requerido para recorrer las calles subyacentes por un factor especificado mediante el campo ScaledTimeFactor o ScaledDistanceFactor. Si las calles están parcialmente cubiertas por la barrera, el tiempo o la distancia del viaje se prorratea y se ajusta. Por ejemplo, un factor de 0,25 significa que se espera que el viaje por las calles subyacentes sea cuatro veces más rápido de lo normal. Un factor de 3,0 significa que se espera que el viaje por las calles subyacentes dure tres veces más de lo normal. Este tipo de barrera se denomina barrera de línea con coste en escala. Se puede utilizar para modelar ralentizaciones debidas al cierre de carriles de tráfico durante la construcción, por ejemplo.

Long

ScaledTimeFactor

Este es el factor por el cual se multiplica el tiempo de viaje de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero.

Double

ScaledDistanceFactor

Este es el factor por el cual se multiplica la distancia de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero.

Double

ScaledCostFactor

Este es el factor por el cual se multiplica el coste de las calles que se intersecan con la barrera. El valor del campo debe ser mayor que cero.

Double

Locations

La información de este campo define qué ejes y cruces de red cubre la línea o el polígono y la parte de cada elemento de eje cubierta. No puede leer ni editar directamente la información contenida en este campo, pero Network Analyst la interpreta al resolver un análisis.

Obtener más información sobre ubicación de entradas en una red

Blob

PolygonBarriers

Utilice este parámetro para especificar polígonos que restrinjan completamente el viaje o ajusten de una forma proporcional el tiempo o la distancia que se requieren para viajar por las calles que se intersecan con los polígonos.

The data type supports the following fields:

FieldDescriptionData type

Name

El nombre de la barrera.

Text

BarrierType

Especifica si la barrera restringe el viaje completamente o si escala el coste (por ejemplo, el tiempo o la distancia) para viajar a través de ella. El valor de campo se especifica como uno de los siguientes enteros (use el código numérico, no el nombre entre paréntesis):

  • 0 (Restricción): prohíbe atravesar cualquier parte de la barrera. La barrera se conoce como barrera de polígono de restricción, ya que prohíbe viajar por las calles que se intersecan con la barrera. Un uso de este tipo de barrera consiste en modelar inundaciones cubriendo áreas de las calles que hacen inviables los viajes por esas calles.

  • 1 (Coste en escala): escala el coste (por ejemplo, el tiempo o la distancia) requerido para recorrer las calles subyacentes por un factor especificado mediante el campo ScaledTimeFactor o ScaledDistanceFactor. Si las calles están parcialmente cubiertas por la barrera, el tiempo o la distancia del viaje se prorratea y se ajusta. Por ejemplo, un factor de 0,25 significa que se espera que el viaje por las calles subyacentes sea cuatro veces más rápido de lo normal. Un factor de 3,0 significa que se espera que el viaje por las calles subyacentes dure tres veces más de lo normal. Este tipo de barrera se denomina barrera de polígono con coste en escala. Se puede utilizar para modelar tormentas que reducen las velocidades de viaje en regiones concretas, por ejemplo.

Long

ScaledTimeFactor

Este es el factor por el cual se multiplica el tiempo de viaje de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero.

Double

ScaledDistanceFactor

Este es el factor por el cual se multiplica la distancia de las calles que intersecan con la barrera. El valor del campo debe ser mayor que cero.

Double

ScaledCostFactor

Este es el factor por el cual se multiplica el coste de las calles que se intersecan con la barrera. El valor del campo debe ser mayor que cero.

Double

Locations

La información de este campo define qué ejes y cruces de red cubre la línea o el polígono y la parte de cada elemento de eje cubierta. No puede leer ni editar directamente la información contenida en este campo, pero Network Analyst la interpreta al resolver un análisis.

Obtener más información sobre ubicación de entradas en una red

Blob