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

Temps passé à la localisation de réseau lorsque l’itinéraire la visite ; c’est-à-dire la valeur d’impédance de la localisation de réseau. Une valeur zéro ou nulle indique que la localisation de réseau n’implique aucune durée de desserte.

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

Définit le moment où l'élément à livrer à l'ordre sera prêt au dépôt de départ.

L'ordre peut être attribué à un itinéraire uniquement si l'heure d'arrivée entrante précède la valeur de la dernière heure de départ de l'itinéraire. Ainsi, l'itinéraire ne peut pas quitter le dépôt avant que l'élément ne soit prêt à y être chargé.

Ce champ permet de modéliser des scénarios qui impliquent des transbordements entrants. Par exemple, supposons qu'une tâche d'un ordre nécessite des matériaux spéciaux qui ne sont actuellement pas disponibles au dépôt. Les matériaux sont expédiés d’un autre emplacement et arriveront au dépôt à 11 h 00. Pour veiller à ce qu'aucun itinéraire sortant ne soit affecté à l'ordre avant l’arrivée de la livraison, l’heure d’arrivée entrante de l’ordre est fixée à 11 h 00. Les matériaux spéciaux arrivent à 11 h 00, ils sont chargés sur le véhicule, et le véhicule quitte le dépôt pour visiter les ordres qui lui sont affectés.

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:

  • L'heure de départ de l'itinéraire, qui inclut la durée de desserte, doit suivre l'heure d'arrivée entrante. Si un itinéraire commence avant l'heure d'arrivée entrante d'un ordre, ce dernier ne peut pas être attribué à l'itinéraire. L'attribution est incorrecte même si l'itinéraire a une durée de desserte au dépôt de départ qui dépasse l'heure d'arrivée entrante.

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

  • Si une heure de départ sortante est également précisée, sa valeur temporelle doit suivre l'heure d'arrivée entrante.

Date

OutboundDepartTime

Définit le moment où l'élément à collecter à l'ordre doit arriver au dépôt d'arrivée.

L'ordre peut être attribué à un itinéraire uniquement si l'itinéraire peut parvenir à l'ordre et atteindre son dépôt final avant l'heure de départ sortante spécifiée.

Ce champ permet de modéliser des scénarios qui impliquent des transbordements sortants. Par exemple, une société de transport envoie des camions de livraison pour collecter des colis aux différents ordres et les ramener dans un dépôt où ils sont transférés vers d'autres ressources, en route vers leur destination finale. A 15 h 00 chaque jour, un semi-remorque s'arrête au dépôt pour collecter les colis hautement prioritaires et les emmener directement dans un centre de traitement. Pour éviter que les colis hautement prioritaires ne soient retardés et doivent attendre jusqu'à 15 h 00 le jour suivant, la société de transport envoie des camions de livraison collecter les colis hautement prioritaires aux ordres et pour les amener au dépôt avant 15 h 00. Pour ce faire, l'heure de départ sortante doit être réglée sur 15 h 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:

  • L'heure d'arrivée de l'itinéraire, notamment la durée de desserte, doit précéder l'heure de départ sortante. Si un itinéraire parvient à un dépôt, mais qu'elle ne termine pas sa durée de desserte au dépôt final avant l'heure de départ sortante de l'ordre, l'ordre ne peut pas être attribué à l'itinéraire.

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

  • Si une heure d'arrivée entrante est également précisée, sa valeur temporelle doit précéder l'heure de départ sortante.

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.

Entrez les quantités de livraison sans préciser d’unités. Par exemple, si un objet pesant 150 kilos doit être livré à un ordre, entrez 150. Vous devez vous souvenir que la valeur est exprimée en kilos.

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

Spécifie la règle d’attribution de l’ordre à un itinéraire. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 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

Nom de l'itinéraire auquel l'ordre est attribué.

Ce champ est utilisé pour préattribuer un ordre à une tournée spécifique. Il peut contenir une valeur nulle indiquant que l’ordre n’est préattribué à aucun itinéraire et que le solveur détermine la meilleure attribution d’itinéraire possible pour l’ordre. Si sa valeur est définie sur nul, le champ Sequence doit aussi l’être.

Après un calcul, si l’ordre est visité, le champ RouteName contient le nom de l’itinéraire auquel l’ordre est attribué.

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

Text

Sequence

Ce champ indique la séquence de l'ordre sur son itinéraire attribué.

Ce champ permet de spécifier la séquence relative d’un ordre sur l’itinéraire. Ce champ peut contenir une valeur Null qui spécifie que l'ordre peut être placé n'importe où le long de l'itinéraire.

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

Spécifie la direction dans laquelle un véhicule peut atteindre et quitter le lieu de l’ordre. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Peu importe le côté) : le véhicule peut atteindre et quitter l’ordre dans les deux directions, donc le demi-tour est autorisé à l’ordre. Ce paramètre peut être sélectionné s’il est possible et pratique pour votre véhicule de revenir en arrière au niveau de l’ordre. Cette décision peut dépendre de la largeur de la route et de la densité du trafic ou de la présence à l’ordre d’un parking où les véhicules peuvent entrer et faire demi-tour.
  • 1 (Côté droit du véhicule) : l'ordre doit se trouver du côté droit du véhicule lorsque celui-ci s'en approche ou s'en éloigne. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules tels que des bus qui doivent arriver à l'arrêt de bus par la droite.
  • 2 (Côté gauche du véhicule) : lorsque le véhicule atteint et quitte le lieu de l'ordre, le bord du trottoir doit être du côté gauche du véhicule. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules tels que des bus qui doivent arriver à l'arrêt de bus par la gauche.
  • 3 (Pas de demi-tour) : lorsque le véhicule s'approche du lieu de l'ordre, le bord du trottoir peut être d'un côté quelconque du véhicule ; en revanche, le véhicule doit partir sans faire demi-tour.

L’attribut CurbApproach est conçu pour fonctionner avec les deux normes de conduite nationales : circulation à droite (comme en France et aux États-Unis) et circulation à gauche (comme au Royaume-Uni). Tout d'abord, imaginons un ordre qui s'est produit du côté gauche d'un véhicule. Il se situe toujours sur la gauche, que le véhicule circule du côté gauche ou du côté droit de la route. Avec les normes de conduite nationales, ce qui peut changer est votre décision d'aborder l'ordre du côté droit ou du côté gauche du véhicule. Par exemple, pour atteindre un ordre sans laisser de voie de circulation entre le véhicule et l’ordre, choisissez 1 (côté droit du véhicule) en France et aux États-Unis et 2 (côté gauche du véhicule) au Royaume-Uni.

Long

Bearing

Direction de déplacement d'un point. Les unités sont exprimées en degrés et sont mesurées dans le sens horaire, à partir du nord géographique. Ce champ est utilisé avec le champ BearingTol.

En règle générale, les données de relèvement sont automatiquement envoyées à partir d'un périphérique mobile équipé d'un récepteur GPS. Essayez d’inclure des données de relèvement si vous chargez un emplacement en entrée qui se déplace, par exemple un piéton ou un véhicule.

L'utilisation de ce champ vous évite d'ajouter des emplacements sur des tronçons incorrects, par exemple lorsqu'un véhicule se rapproche d'une intersection ou d'un passage supérieur. Le relèvement permet également à l'outil de déterminer plus facilement le côté de la rue où se trouve le point.

En savoir plus sur le relèvement et la tolérance de relèvement

Double

BearingTol

La valeur de tolérance de relèvement crée une plage de valeurs de relèvement acceptables lors de la localisation de points qui se déplacent sur un tronçon à l’aide du champ Bearing. Si la valeur de champ Bearing est comprise dans la plage de valeurs acceptables générées à partir de la tolérance de relèvement sur un tronçon, le point peut être ajouté à cet endroit en tant que localisation de réseau. Sinon, le point le plus proche sur le prochain tronçon le plus proche est évalué.

Les unités sont exprimées en degrés et la valeur par défaut est 30. Les valeurs doivent être supérieures à zéro et inférieures à 180. Si la valeur est égale à 30, lorsque Network Analyst tente d’ajouter un emplacement de réseau sur un tronçon, une plage de valeurs de relèvement acceptables est générée à 15 degrés de chaque côté du tronçon (gauche et droite) et dans les deux sens de numérisation du tronçon.

En savoir plus sur le relèvement et la tolérance de relèvement

Double

NavLatency

Ce champ n’est utilisé au cours du processus de calcul que si les champs Bearing et BearingTol contiennent également des valeurs ; toutefois, vous n’êtes pas obligé d’entrer une valeur NavLatency, même si les champs Bearing et BearingTol sont renseignés. NavLatency indique le temps censé s’écouler entre le moment où un véhicule se déplaçant envoie des informations GPS à un serveur et le moment où le dispositif de navigation du véhicule reçoit l’itinéraire traité.

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

Ensemble, ces propriétés décrivent le point sur le réseau où se trouve l'objet.

Pour en savoir plus sur la localisation des entrées sur un réseau

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

Spécifie la direction dans laquelle un véhicule peut atteindre et quitter le lieu du dépôt. Le champ peut prendre l’une des valeurs entières suivantes affichées dans les parenthèses (utilisez le code numérique, pas le nom de l’option placée entre parenthèses) :

  • 0 (Peu importe le côté) : le véhicule peut atteindre et quitter le lieu du dépôt dans les deux directions, donc le demi-tour est autorisé. Ce paramètre peut être sélectionné s’il est possible et pratique pour votre véhicule de revenir en arrière au niveau du dépôt. Cette décision peut dépendre de la largeur de la route et de la densité du trafic ou de la présence au dépôt d’un parking où les véhicules peuvent entrer et faire demi-tour.
  • 1 (Côté droit du véhicule) : le dépôt doit se trouver du côté droit du véhicule lorsque celui-ci s'en approche ou s'en éloigne. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules tels que des bus qui doivent arriver à l'arrêt de bus par la droite.
  • 2 (Côté gauche du véhicule) : lorsque le véhicule atteint et quitte le lieu du dépôt, le bord du trottoir doit être du côté gauche du véhicule. Le demi-tour est interdit. Cette option est généralement utilisée avec des véhicules tels que des bus qui doivent arriver à l'arrêt de bus par la gauche.
  • 3 (Pas de demi-tour) : lorsque le véhicule s'approche du lieu du dépôt, le bord du trottoir peut être d'un côté quelconque du véhicule ; en revanche, le véhicule doit partir sans faire demi-tour.

L’attribut CurbApproach est conçu pour fonctionner avec les deux normes de conduite nationales : circulation à droite (comme en France et aux États-Unis) et circulation à gauche (comme au Royaume-Uni). Tout d'abord, imaginons un dépôt qui s'est produit du côté gauche d'un véhicule. Il se situe toujours sur la gauche, que le véhicule circule du côté gauche ou du côté droit de la route. Avec les normes de conduite nationales, ce qui peut changer est votre décision d'aborder un dépôt du côté droit ou du côté gauche du véhicule. Par exemple, pour atteindre un dépôt sans laisser de voie de circulation entre le véhicule et le dépôt, choisissez 1 (côté droit du véhicule) en France et aux États-Unis et 2 (côté gauche du véhicule) au Royaume-Uni.

Long

Bearing

Direction de déplacement d'un point. Les unités sont exprimées en degrés et sont mesurées dans le sens horaire, à partir du nord géographique. Ce champ est utilisé avec le champ BearingTol.

En règle générale, les données de relèvement sont automatiquement envoyées à partir d'un périphérique mobile équipé d'un récepteur GPS. Essayez d’inclure des données de relèvement si vous chargez un emplacement en entrée qui se déplace, par exemple un piéton ou un véhicule.

L'utilisation de ce champ vous évite d'ajouter des emplacements sur des tronçons incorrects, par exemple lorsqu'un véhicule se rapproche d'une intersection ou d'un passage supérieur. Le relèvement permet également à l'outil de déterminer plus facilement le côté de la rue où se trouve le point.

En savoir plus sur le relèvement et la tolérance de relèvement

Double

BearingTol

La valeur de tolérance de relèvement crée une plage de valeurs de relèvement acceptables lors de la localisation de points qui se déplacent sur un tronçon à l’aide du champ Bearing. Si la valeur de champ Bearing est comprise dans la plage de valeurs acceptables générées à partir de la tolérance de relèvement sur un tronçon, le point peut être ajouté à cet endroit en tant que localisation de réseau. Sinon, le point le plus proche sur le prochain tronçon le plus proche est évalué.

Les unités sont exprimées en degrés et la valeur par défaut est 30. Les valeurs doivent être supérieures à zéro et inférieures à 180. Si la valeur est égale à 30, lorsque Network Analyst tente d’ajouter un emplacement de réseau sur un tronçon, une plage de valeurs de relèvement acceptables est générée à 15 degrés de chaque côté du tronçon (gauche et droite) et dans les deux sens de numérisation du tronçon.

En savoir plus sur le relèvement et la tolérance de relèvement

Double

NavLatency

Ce champ n’est utilisé au cours du processus de calcul que si les champs Bearing et BearingTol contiennent également des valeurs ; toutefois, vous n’êtes pas obligé d’entrer une valeur NavLatency, même si les champs Bearing et BearingTol sont renseignés. NavLatency indique le temps censé s’écouler entre le moment où un véhicule se déplaçant envoie des informations GPS à un serveur et le moment où le dispositif de navigation du véhicule reçoit l’itinéraire traité.

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

Ensemble, ces propriétés décrivent le point sur le réseau où se trouve l'objet.

Pour en savoir plus sur la localisation des entrées sur un réseau

Routes

Spécifie un ou plusieurs itinéraires décrivant les caractéristiques d’un véhicule et d’un chauffeur. Un itinéraire peut comporter des durées de desserte aux dépôts initiaux et finaux, une heure de début fixe ou souple, des coûts opérationnels basés sur le temps ou sur la distance, plusieurs capacités, différentes contraintes sur la journée de travail d’un chauffeur, etc.

Remarque :

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.

Les dépôts de départ virtuels ne sont pas autorisés si les ordres ou les dépôts se situent dans plusieurs fuseaux horaires.

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

Durée de desserte au dépôt initial. Cette valeur peut servir à modéliser le temps passé à charger le véhicule. Ce champ peut contenir une valeur Null qui indique un temps de service égal à zéro.

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

Les durées de desserte aux dépôts finaux et initiaux sont des valeurs fixes (valeurs des champs StartDepotServiceTime et EndDepotServiceTime) et ne prennent pas en considération la charge réelle d’un itinéraire. Par exemple, le temps de chargement d'un véhicule au dépôt initial peut dépendre de la taille des ordres. Les durées de desserte aux dépôts peuvent être dotées de valeurs correspondant à une cargaison pleine ou une cargaison moyenne, ou vous pouvez effectuer une estimation de temps.

Double

EndDepotServiceTime

Durée de desserte au dépôt final. Cette valeur peut servir à modéliser le temps passé à décharger le véhicule. Ce champ peut contenir une valeur Null qui indique un temps de service égal à zéro.

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

Les durées de desserte aux dépôts finaux et initiaux sont des valeurs fixes (valeurs des champs StartDepotServiceTime et EndDepotServiceTime) et ne prennent pas en considération la charge réelle d’un itinéraire. Par exemple, le temps de chargement d'un véhicule au dépôt initial peut dépendre de la taille des ordres. Les durées de desserte aux dépôts peuvent être dotées de valeurs correspondant à une cargaison pleine ou une cargaison moyenne, ou vous pouvez effectuer une estimation de temps.

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.

Entrez les capacités sans préciser d’unités. Si, par exemple, le véhicule peut transporter 40 000 kilos au maximum, entrez 40000. Vous devez vous souvenir que la valeur est exprimée en kilos.

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.

Attention :
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

Coût monétaire fixe encouru seulement si l'itinéraire est utilisé dans une solution (autrement dit, si des ordres lui sont attribués). Ce champ peut contenir des valeurs Null, ce qui indique un coût fixe de zéro. Ce coût fait partie du coût de fonctionnement total de l'itinéraire.

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

Coût monétaire encouru (par unité de distance parcourue) pour la longueur de l'itinéraire (distance de trajet totale). Ce champ peut contenir des valeurs Null, ce qui indique un coût de zéro.

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

Double

OvertimeStartTime

Durée du temps de travail standard, avant le calcul des heures supplémentaires. Ce champ peut contenir des valeurs Null, ce qui indique que les heures supplémentaires ne s'appliquent pas.

Si, par exemple, le chauffeur doit percevoir lorsque la durée totale de la tournée dépasse huit heures, la valeur OvertimeStartTime est alors 480 (8 heures * 60 minutes/heure), si les unités de temps sont en exprimées en minutes.

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

Double

CostPerUnitOvertime

Coût monétaire encouru par unité de temps d'heures supplémentaires. Ce champ peut contenir des valeurs nulles, ce qui indique que la valeur de CostPerUnitOvertime est la même que celle de 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

Temps de trajet maximal admissible pour l'itinéraire. Le temps de trajet inclut uniquement le temps passé au volant sur le réseau, à l’exclusion de la durée de desserte ou du temps d’attente.

Ce champ peut contenir des valeurs nulles, ce qui indique qu’aucune contrainte n’est présente sur le temps de trajet maximal autorisé. La valeur de ce champ ne peut pas être supérieure à celle du champ MaxTotalTime.

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

Double

MaxTotalDistance

Distance de trajet maximale admissible pour l'itinéraire.

Ce champ peut contenir des valeurs Null, ce qui indique qu'aucune contrainte n'est présente sur la distance de trajet maximale autorisée.

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

Spécifie si l’itinéraire peut être utilisé ou non lors du calcul. Ce champ est contraint par un domaine de valeurs répertoriées ci-dessous (utilisez le code numérique et pas le nom entre parenthèses).

  • 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

Délimite les territoires de travail pour des itinéraires donnés. Une zone de tournée est une entité surfacique utilisée pour contraindre des itinéraires à traiter uniquement les ordres se trouvant dans la zone spécifiée ou s’en approchant. Les exemples suivants sont des cas dans lesquels les zones de tournée peuvent être utiles :

  • Certains de vos employés n’ont pas les permis nécessaires pour travailler dans certaines régions ou communautés. Vous pouvez créer une zone de tournée stricte pour qu’ils ne visitent des ordres que dans des zones où ils remplissent les conditions requises.
  • L’un de vos véhicules tombe souvent en panne et vous souhaitez réduire le temps de réponse en faisant en sorte qu’il ne visite que les ordres proches de votre garage. Vous pouvez créer une zone de tournée souple ou stricte pour faire en sorte que le véhicule reste proche.

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

Utilisez ce paramètre pour spécifier un ou plusieurs points servant de restrictions temporaires ou représentant un délai ou une distance supplémentaire qui peut être nécessaire pour se déplacer dans les rues sous-jacentes. Par exemple, une interruption ponctuelle peut servir à représenter un arbre tombé dans une rue ou le temps d’attente à un passage à niveau.

The data type supports the following fields:

FieldDescriptionData type

Name

Nom de l'interruption.

Text

BarrierType

Spécifie si l’interruption ponctuelle restreint complètement la circulation ou ajoute un délai ou une distance lorsqu’elle est traversée. La valeur de cet attribut peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Restriction) : interdit la circulation à travers l'interruption. L'interruption est désignée par le terme d'interruption ponctuelle de restriction, car elle agit comme une restriction.

  • 2 (Added Cost (Coût ajouté)) : lorsque l’interruption est traversée, le temps de déplacement ou la distance augmente de la valeur spécifiée dans le champ Additional_Time, Additional_Distance ou AdditionalCost. Ce type d’interruption est désigné sous le terme d’interruption ponctuelle à coût ajouté

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

Spécifie la façon dont les interruptions ponctuelles de restriction sont appliquées aux tronçons au cours de l’analyse. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (False) : autorise la circulation sur le tronçon jusqu’à l’interruption mais pas le franchissement de cette dernière. Il s’agit de la valeur par défaut.
  • 1 (True) : limite la circulation sur l’ensemble du tronçon associé.

Long

CurbApproach

Spécifie le sens de circulation affecté par l’interruption. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Peu importe le côté) : l’interruption affecte la circulation sur le tronçon dans les deux sens.
  • 1 (Côté droit du véhicule) : seuls sont affectés les véhicules pour lesquels l’interruption est située sur leur droite. Les véhicules qui parcourent le même tronçon mais pour lesquels l'interruption est située sur le côté gauche ne sont pas concernés par l'interruption.
  • 2 (Côté gauche du véhicule) : seuls sont affectés les véhicules pour lesquels l’interruption est située sur leur gauche. Les véhicules qui parcourent le même tronçon mais pour lesquels l'interruption est située sur le côté droit ne sont pas concernés par l'interruption.

Étant donné que les jonctions sont des points et n’ont pas de côté, les interruptions situées sur des jonctions affectent tous les véhicules quelle que soit l’approche du trottoir.

Long

Bearing

Direction de déplacement d'un point. Les unités sont exprimées en degrés et sont mesurées dans le sens horaire, à partir du nord géographique. Ce champ est utilisé avec le champ BearingTol.

En règle générale, les données de relèvement sont automatiquement envoyées à partir d'un périphérique mobile équipé d'un récepteur GPS. Essayez d’inclure des données de relèvement si vous chargez un emplacement en entrée qui se déplace, par exemple un piéton ou un véhicule.

L'utilisation de ce champ vous évite d'ajouter des emplacements sur des tronçons incorrects, par exemple lorsqu'un véhicule se rapproche d'une intersection ou d'un passage supérieur. Le relèvement permet également à l'outil de déterminer plus facilement le côté de la rue où se trouve le point.

En savoir plus sur le relèvement et la tolérance de relèvement

Double

BearingTol

La valeur de tolérance de relèvement crée une plage de valeurs de relèvement acceptables lors de la localisation de points qui se déplacent sur un tronçon à l’aide du champ Bearing. Si la valeur de champ Bearing est comprise dans la plage de valeurs acceptables générées à partir de la tolérance de relèvement sur un tronçon, le point peut être ajouté à cet endroit en tant que localisation de réseau. Sinon, le point le plus proche sur le prochain tronçon le plus proche est évalué.

Les unités sont exprimées en degrés et la valeur par défaut est 30. Les valeurs doivent être supérieures à zéro et inférieures à 180. Si la valeur est égale à 30, lorsque Network Analyst tente d’ajouter un emplacement de réseau sur un tronçon, une plage de valeurs de relèvement acceptables est générée à 15 degrés de chaque côté du tronçon (gauche et droite) et dans les deux sens de numérisation du tronçon.

En savoir plus sur le relèvement et la tolérance de relèvement

Double

NavLatency

Ce champ n’est utilisé au cours du processus de calcul que si les champs Bearing et BearingTol contiennent également des valeurs ; toutefois, vous n’êtes pas obligé d’entrer une valeur NavLatency, même si les champs Bearing et BearingTol sont renseignés. NavLatency indique le temps censé s’écouler entre le moment où un véhicule se déplaçant envoie des informations GPS à un serveur et le moment où le dispositif de navigation du véhicule reçoit l’itinéraire traité.

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

Ensemble, ces propriétés décrivent le point sur le réseau où se trouve l'objet.

Pour en savoir plus sur la localisation des entrées sur un réseau

LineBarriers

Utilisez ce paramètre pour spécifier une ou plusieurs lignes interdisant la circulation partout où les lignes intersectent les rues. Par exemple, un défilé ou une manifestation qui bloque la circulation sur plusieurs segments de rue peut être modélisé avec une interruption linéaire. Une interruption linéaire peut également délimiter rapidement un périmètre autour de plusieurs routes et filtrer ainsi les itinéraires possibles en évitant les parties indésirables du réseau de transport.

The data type supports the following fields:

FieldDescriptionData type

Name

Nom de l'interruption.

Text

BarrierType

Spécifie si l’interruption restreint complètement la circulation ou proportionne le coût de déplacement (tel que le temps ou la distance) lorsqu’elle est franchie. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Restriction) : interdit la circulation là où l’interruption intersecte le réseau de transport. L’interruption est désignée par le terme d’interruption linéaire de restriction.

  • 1 (Scaled Cost (Coût proportionné)) : adapte le coût (par exemple, temps ou distance) nécessaire pour se déplacer dans les rues sous-jacentes selon un facteur spécifié avec le champ ScaledTimeFactor ou ScaledDistanceFactor. Si les rues sont partiellement couvertes par l'interruption, le temps de trajet ou la distance est réparti et proportionné. Par exemple, un facteur 0,25 signifie que le déplacement dans les rues sous-jacentes est censé être quatre fois plus rapide que d’habitude. Un facteur de 3,0 signifie au contraire qu’il prendra trois fois plus de temps que d’habitude. Ce type d’interruption est désigné sous le terme d’interruption linéaire à coût proportionné. Il peut être utilisé pour modéliser les ralentissements liés à la condamnation de couloirs de circulation lors de travaux, par exemple.

Long

ScaledTimeFactor

Il s'agit du facteur de multiplication du temps de trajet des rues intersectées par l'interruption. La valeur du champ doit être supérieure à zéro.

Double

ScaledDistanceFactor

Il s'agit du facteur de multiplication de la distance des rues intersectées par l'interruption. La valeur du champ doit être supérieure à zéro.

Double

ScaledCostFactor

Il s’agit du facteur de multiplication du coût des rues intersectées par l’interruption. La valeur du champ doit être supérieure à zéro.

Double

Locations

Les informations de ce champ définissent les jonctions et les tronçons du réseau couverts par la ligne ou le polygone ainsi que la portion couverte de chaque tronçon. Vous ne pouvez pas lire ou mettre directement à jour les informations contenues dans ce champ, mais Network Analyst les interprète lors de la résolution d’une analyse.

Pour en savoir plus sur la localisation des entrées sur un réseau

Blob

PolygonBarriers

Utilisez ce paramètre pour spécifier les polygones qui restreignent entièrement la circulation ou adaptez proportionnellement le temps ou la distance nécessaire pour se déplacer dans les rues intersectées par les polygones.

The data type supports the following fields:

FieldDescriptionData type

Name

Nom de l'interruption.

Text

BarrierType

Spécifie si l’interruption restreint complètement la circulation ou proportionne le coût de déplacement (tel que le temps ou la distance) lorsqu’elle est franchie. Le champ peut prendre l'une des valeurs entières suivantes (utilisez le code numérique, pas le nom de l'option fourni entre parenthèses) :

  • 0 (Restriction) : interdit la circulation à travers toute partie de l'interruption. L'interruption est désignée par le terme d'interruption polygonale de restriction, car elle empêche les déplacements dans les rues intersectées par l'interruption. Ce type d'interruption sert notamment à modéliser les zones inondées de la rue où la circulation est impossible.

  • 1 (Scaled Cost (Coût proportionné)) : adapte le coût (par exemple, temps ou distance) nécessaire pour se déplacer dans les rues sous-jacentes selon un facteur spécifié avec le champ ScaledTimeFactor ou ScaledDistanceFactor. Si les rues sont partiellement couvertes par l'interruption, le temps de trajet ou la distance est réparti et proportionné. Par exemple, un facteur 0,25 signifie que le déplacement dans les rues sous-jacentes est censé être quatre fois plus rapide que d’habitude. Un facteur de 3,0 signifie au contraire qu’il prendra trois fois plus de temps que d’habitude. Ce type d'interruption est désigné sous le terme d'interruption polygonale à coût proportionné. Il permet de modéliser des tempêtes qui réduisent la vitesse des déplacements dans des régions spécifiques, par exemple.

Long

ScaledTimeFactor

Il s'agit du facteur de multiplication du temps de trajet des rues intersectées par l'interruption. La valeur du champ doit être supérieure à zéro.

Double

ScaledDistanceFactor

Il s'agit du facteur de multiplication de la distance des rues intersectées par l'interruption. La valeur du champ doit être supérieure à zéro.

Double

ScaledCostFactor

Il s’agit du facteur de multiplication du coût des rues intersectées par l’interruption. La valeur du champ doit être supérieure à zéro.

Double

Locations

Les informations de ce champ définissent les jonctions et les tronçons du réseau couverts par la ligne ou le polygone ainsi que la portion couverte de chaque tronçon. Vous ne pouvez pas lire ou mettre directement à jour les informations contenues dans ce champ, mais Network Analyst les interprète lors de la résolution d’une analyse.

Pour en savoir plus sur la localisation des entrées sur un réseau

Blob