Couche d'optimisation des tournées de véhicules

La couche d’optimisation des tournées de véhicules stocke les entrées, paramètres et résultats d’une tournée de véhicules donnée. Une fois la couche créée, elle s’affiche dans la fenêtre Contents (Contenu) en tant que couche composite nommée Vehicle Routing Problem (ou Vehicle Routing Problem 1, Vehicle Routing Problem 2, et ainsi de suite, si une tournée de véhicules porte déjà le même nom dans la carte). La couche d’analyse de la tournée de véhicules se compose des 13 classes d’analyse de réseau comprenant 9 couches d’entités (Orders, Depots, Routes, Breaks, Route Zones, Depot Visits, Point Barriers, Line Barriers et Polygon Barriers) et de 4 tables (Route Specialties [Particularités de l’itinéraire], Order Specialties [Particularités de l’ordre], Order Pairs [Couples d’ordres] et Route Renewals [Relais de tournée]). Elles contiennent les objets d’analyse de réseau utilisés pour le calcul de la tournée de véhicules. Les relations entre diverses classes d'analyses de réseau sont illustrées dans le document suivant :

Relations entre classes d'analyses de réseau dans une tournée de véhicules

En savoir plus sur la création d’une couche d’analyse de réseau

Pour prendre en charge les processus VRP à partir de ArcGIS Pro 2.6, nous avons intégré quelques mouvements de structure. Pour en savoir plus, consultez la rubrique Mouvements de structure VRP.

Remarque :

Lorsque vous référencez ArcGIS.com ou un portail pour le jeu de données réseau de la couche VRP, si la résolution échoue, seuls les champs de contraintes violées sont mis à jour. Tous les autres champs, que ce soit en entrée ou en sortie, restent inchangés.

En savoir plus sur le solveur VRP

Ordres

La couche d’entités d’ordres enregistre les ordres qui font partie d’une couche d’optimisation des tournées de véhicules donnée. Un ordre peut être une livraison à un client, une collecte chez un client ou un autre type de tâche. Par exemple : livraison de meubles, collecte d'huiles auprès de restaurants ou visite d'inspection.

Si les ordres comprennent des éléments à collecter ou à livrer, ces éléments peuvent avoir une ou plusieurs capacités, lesquelles peuvent reposer sur une combinaison de mesures de votre choix (poids, volume ou nombre d'unités). Certains ordres, tels que les visites d'inspection, peuvent ne pas être associés à des livraisons ou à des collectes.

Un ordre peut avoir une durée de desserte, laquelle correspond au laps de temps nécessaire pour effectuer le travail chez l'ordre. Par exemple, une durée de desserte de 20 minutes peut s'avérer nécessaire à un camion de livraison pour qu'un meuble soit déchargé et acheminé jusqu'au domicile d'un client. La durée de desserte peut être la même pour tous les ordres ou elle peut être différente pour chaque ordre.

Un ordre peut posséder une ou deux fenêtres horaires, lesquelles indiquent le moment auquel un véhicule est autorisé à le visiter. Par exemple, un camion de livraison d'alimentation de gros est autorisé à arriver à un restaurant uniquement entre 8h00 et 10h00 ou entre 14h00 et 16h00, car sa venue à tout autre moment perturberait le service.

Le solveur de tournées de véhicules n'est pas conçu pour résoudre les problèmes sur une année. Par conséquent toutes les durées de desserte et fenêtres horaires doivent être inférieures à une année.

Certaines particularités peuvent être associées à un ordre. Autrement dit, un ordre peut nécessiter un technicien possédant certaines compétences (par exemple, un électricien) ou un véhicule avec certaines fonctions (un monte-charge). Seul un itinéraire ayant la même particularité sera affecté à l'ordre.

Ordre : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

Shape

Champ de géométrie qui indique l'emplacement géographique de l'objet d'analyse de réseau.

Géométrie

Name

Nom de l'objet d'analyse de réseau.

Le nom doit être unique.

Ce champ joue le rôle de clé primaire. Il est utilisé en tant que clé étrangère pour faire référence aux ordres des tables Order Pairs (Couples d’ordres) et Orders Specialties (Particularités des ordres). Le nom des ordres ne respectent pas la casse et ne peuvent pas être vides, même si l'ordre est exclu de l'opération de calcul.

Texte

Description

Informations décrivant l'ordre. Ce champ peut contenir toute information textuelle concernant l'ordre, sans restriction en matière d'unicité. Vous pouvez stocker l'identifiant d'un client dans le champ Name et son nom véritable ou son adresse dans le champ Description.

Texte

ServiceTime

Cette propriété spécifie le temps passé à un emplacement du réseau traversé par l'itinéraire. Elle stocke donc la valeur d'impédance de cet emplacement. Une valeur zéro ou Null indique que l'emplacement de réseau ne nécessite aucun temps de service.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

TimeWindowStart

Heure de début de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de début.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

TimeWindowEnd

Heure de fin de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de fin.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

TimeWindowStart2

Heure de début de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique l'absence de deuxième fenêtre horaire.

Si la première fenêtre horaire spécifiée par les champs TimeWindowStart et TimeWindowEnd est nulle, la deuxième doit l’être également.

Si les deux fenêtres horaires sont non nulles, elles ne peuvent pas se chevaucher. En outre, la deuxième fenêtre horaire doit survenir après la première.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

TimeWindowEnd2

Heure de fin de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null.

Lorsque TimeWindowStart2 et TimeWindowEnd2 ont tous deux une valeur nulle, il n’existe pas de deuxième fenêtre horaire.

Lorsque TimeWindowStart2 n’a pas de valeur nulle, mais que TimeWindowEnd2 a une valeur nulle, il existe une deuxième fenêtre horaire avec une heure de début mais pas d’heure de fin. Cette situation est valide.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

MaxViolationTime

Une fenêtre horaire est considérée comme violée si l'heure d'arrivée survient après la fin de la fenêtre horaire. Ce champ spécifie l'infraction de temps maximale autorisée pour la première fenêtre horaire de l'ordre. Elle peut contenir une valeur de zéro, mais pas de valeurs négatives. La valeur zéro indique qu'une violation de fenêtre horaire à la première fenêtre horaire de l'ordre est inacceptable. La première fenêtre horaire est donc stricte. En revanche, une valeur Null indique qu'il n'y a aucune limite d'infraction de temps admissible. Une valeur différente de zéro indique le retard maximal autorisé ; par exemple, un itinéraire peut arriver jusqu’à 30 minutes après la fin de sa première fenêtre horaire pour un ordre.

Lorsqu’il existe deux fenêtres horaires pour un ordre, la première fenêtre horaire est toujours traitée comme une fenêtre horaire stricte ayant pour MaxViolationTime zéro.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Les violations de fenêtre horaire peuvent être suivies et pondérées par le solveur. Vous pouvez donc faire en sorte que le solveur de tournées de véhicules adopte une des trois approches suivantes :

  • réduire la durée totale de la violation, sans tenir compte de l'augmentation du coût de trajet de la flotte,
  • trouver une solution équilibrée entre la durée totale de la violation et le coût de trajet,
  • ignorer la durée totale de la violation et réduire à la place le coût de trajet de la flotte.

En attribuant un degré d'importance au paramètre Infraction de fenêtre horaire de la couche d'analyse, vous choisissez de fait l'une de ces trois approches. Dans tous les cas, le solveur renvoie une erreur si la valeur définie pour MaxViolationTime est dépassée.

Double

MaxViolationTime2

Infraction maximale de temps autorisée pour la deuxième fenêtre horaire de l'ordre. Ce champ est identique au champ MaxViolationTime.

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.

Remarques :

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

  • Ce champ temporel peut contenir une valeur d'heure uniquement ou une valeur de date et d'heure. Si une valeur d'heure uniquement est définie (par exemple, 11:00 AM), la date est censée être celle spécifiée par la propriété Date par défaut de la couche d'analyse. La date par défaut est toutefois ignorée lorsqu'un champ temporel Dépôts, Itinéraires, Ordres ou Interruptions inclut une date avec l'heure. Dans ce cas, renseignez tous ces champs avec une date et une heure (par exemple, 7/11/2015 11:00 AM).

  • Le solveur VRP respecte InboundArriveTime, quelle que soit la valeur DeliveryQuantity_#.

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

Remarques :

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

  • Ce champ temporel peut contenir une valeur d'heure uniquement ou une valeur de date et d'heure. Si une valeur d'heure uniquement est définie (par exemple, 11:00 AM), la date est censée être celle spécifiée par la propriété Date par défaut de la couche d'analyse. La date par défaut est toutefois ignorée lorsqu'un champ temporel Dépôts, Itinéraires, Ordres ou Interruptions inclut une date avec l'heure. Dans ce cas, renseignez tous ces champs avec une date et une heure (par exemple, 7/11/2015 11:00 AM).

  • Le solveur VRP respecte OutboundDepartTime, quelle que soit la valeur PickupQuantitity_#.

  • 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

Taille de la livraison. Vous pouvez spécifier la taille dans la dimension de votre choix, comme le poids, le volume ou la quantité. En présence de plusieurs quantités de livraison, spécifiez-les à l’aide des champs DeliveryQuantity_1 à DeliveryQuantity_9.

Double

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

Taille de l'enlèvement. Vous pouvez spécifier la taille dans la dimension de votre choix, comme le poids, le volume ou la quantité. En présence de plusieurs quantités d’enlèvement, spécifiez-les à l’aide des champs PickupQuantity_1 à PickupQuantity_9.

Double

Revenue

Chiffre d'affaires généré si l'ordre est inclus dans une solution. Ce champ peut contenir une valeur Null, qui indique un chiffre d'affaires égal à zéro, mais il ne peut pas contenir de valeur négative.

Le chiffre d'affaires est inclus pour optimiser la valeur de la fonction objective mais il ne fait pas partie du coût de fonctionnement de la solution. En d’autres termes, le champ TotalCost dans la classe d’itinéraires n’inclut jamais le chiffre d’affaires dans sa sortie ; cependant, le chiffre d’affaires pondère l’importance relative du traitement des ordres.

Double

AssignmentRule

Ce champ spécifie la règle d'attribution de l'ordre à un itinéraire. Elle est contrainte par un domaine de valeurs répertoriées ci-dessous (leurs valeurs précodées sont indiquées entre parenthèses).

  • Exclude (Exclure) (0) : l’ordre est exclu de l’opération de calcul qui s’ensuit.
  • Preserve route and relative sequence (Conserver la tournée et la séquence définie) (1) : le solveur doit toujours attribuer à l’ordre l’itinéraire et la séquence prédéfinis lors du calcul. Si cette règle d'attribution ne peut pas être respectée, une violation d'ordre s'ensuit.

    Avec ce paramètre, seule la séquence relative est conservée (mais pas la séquence absolue). Pour illustrer cela, prenons deux ordres, A et B. Leur valeur de séquence respective est 2 et 3. Si vous définissez les valeurs du champ AssignmentRule sur Preserve route and relative sequence (Conserver la tournée et la séquence définie), les valeurs de séquence réelles de A et B peuvent changer après la résolution, car d’autres ordres, pauses et passages aux dépôts peuvent encore être insérés avant, entre ou après A et B. Toutefois, B ne peut pas survenir avant A.

  • Preserve route (Conserver la tournée) (2) : le solveur doit toujours attribuer l’ordre à l’itinéraire préattribué lors de l’opération de calcul. Une séquence valide doit aussi être définie, même si elle ne peut pas être conservée. Si l'ordre ne peut pas être attribué à l'itinéraire spécifié, une violation d'ordre s'ensuit.
  • Override (Déroger) (4) : le solveur ignore l’itinéraire et la séquence prédéfinis (le cas échéant) pour l’ordre lors de l’opération de calcul. Il attribue un itinéraire et une séquence à l'ordre afin de limiter la valeur globale de la fonction objective. Il s'agit de la valeur par défaut.
  • Anchor first (Premier ancrage) (4) : le solveur ignore l’itinéraire et la séquence prédéfinis (le cas échéant) pour l’ordre lors de l’opération de calcul. Il attribue un itinéraire à l'ordre qu'il place en premier sur cet itinéraire, afin de limiter la valeur globale de la fonction objective.
  • Anchor last (Dernier ancrage) (5) : le solveur ignore l’itinéraire et la séquence prédéfinis (le cas échéant) pour l’ordre lors de l’opération de calcul. Il attribue un itinéraire à l'ordre qu'il place en dernier sur cet itinéraire, afin de limiter la valeur globale de la fonction objective.

Ce champ ne peut pas contenir une valeur Null.

Long

Champs de localisation réseau

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

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

  • Long
  • Long
  • Double
  • Long
  • Double
  • Double
  • Double
  • Double

CurbApproach

La propriété CurbApproach spécifie la direction d’un véhicule lorsqu’il approche ou quitte la localisation réseau. Il existe quatre choix différents (leurs valeurs précodées sont affichées entre parenthèses) :

  • Either side of vehicle (Peu importe le côté) (0) - le véhicule peut atteindre ou quitter la localisation réseau dans une direction quelconque. Les demi-tours sont permis. Vous devez sélectionner ce paramètre si votre véhicule peut effectuer un demi-tour à l'arrêt ou s'il peut entrer dans une allée ou un parking et revenir en arrière.
  • Right side of vehicle (Côté droit du véhicule) (1) - Lorsque le véhicule atteint et quitte la localisation réseau, le bord du trottoir doit être du côté droit du véhicule. Le demi-tour est interdit.
  • Left side of vehicle (Côté gauche du véhicule) (2) - Lorsque le véhicule atteint et quitte la localisation réseau, le bord du trottoir doit être du côté gauche du véhicule. Le demi-tour est interdit.
  • No U-Turn (Pas de demi-tour) (3) - Lorsque le véhicule s’approche de l’arrêt, le trottoir peut être d’un côté quelconque du véhicule ; en revanche, le véhicule doit partir sans faire demi-tour.

Pour en savoir plus sur les règles de demi-tour

Long

Remarque :
  • Une fenêtre horaire n'indique que le moment auquel un véhicule peut arriver à un ordre, et non l'heure à laquelle la desserte doit être terminée. Pour tenir compte de la durée de la desserte et partir avant la fin de la fenêtre horaire, vous devez soustraire ServiceTime du champ TimeWindowEnd.

  • Le fuseau horaire pour les champs de fenêtre horaire peut être spécifié à l’aide du paramètre time_zone_for_time_fields dans l’outil de géotraitement Make Vehicle Routing Problem Analysis Layer (Créer une couche d’analyse de tournée de véhicules).

    En savoir plus sur les fenêtres horaires

  • Les champs de fenêtres horaires peuvent contenir soit une valeur d'heure uniquement, soit une valeur de date et d'heure. Si un champ temporel tel que TimeWindowStart inclut une valeur d’heure uniquement (8 h 00 du matin, par exemple), on suppose que la date est celle spécifiée par la propriété Default Date (Date par défaut) de la couche d’analyse. L'utilisation de valeurs de date et d'heure (par exemple, 11/07/2010 8 h 00) vous permet de définir des fenêtres horaires qui couvrent plusieurs jours.

  • La date par défaut est ignorée lorsqu'un champ de fenêtre horaire inclut une date avec l'heure. Pour éviter toute erreur dans ce cas, configurez toutes les fenêtres horaires des Dépôts, Itinéraires, Ordres et Pauses pour qu'elles comprennent également la date avec l'heure.

  • Si vous utilisez des données de trafic, les champs d'heure pour l'emplacement de réseau référencent toujours le même fuseau horaire que le tronçon où se trouve l'emplacement de réseau.

Ordres : champs en entrée/sortie

Champ en entrée/sortieDescriptionType de données

RouteName

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

En tant que champ en entrée, ce champ est utilisé pour préattribuer un ordre à une tournée spécifique. Il peut contenir une valeur Null qui indique 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 de séquence doit aussi l'être.

Le champ RouteName est une clé étrangère du champ Nom de la classe Itinéraires. Les objets d'itinéraire doivent exister pour pouvoir apparaître dans la liste RouteName.

Après une opération de résolution, si l’ordre est acheminé, le champ RouteName contient le nom de l’itinéraire auquel l’ordre est affecté.

Texte

Sequence

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

En tant que champ en entrée, il 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. Une valeur nulle peut se produire seulement avec une valeur RouteName nulle.

Les valeurs de séquence en entrée sont non négatives et uniques pour chaque itinéraire (partagé par les passages aux dépôts, les ordres et les pauses), mais elles ne doivent pas commencer à 0 ou être contiguës.

Après une opération de résolution, le champ Sequence contient la valeur de séquence de l’ordre sur itinéraire qui lui est affecté. Les valeurs de séquence en sortie pour un itinéraire sont partagées entre les passages aux dépôts, les ordres et les pauses. Elles démarrent à 1 (au dépôt initial) et sont consécutives. Par conséquent, la plus petite valeur de séquence en sortie possible pour un ordre visité est de 2, car une tournée commence toujours à un dépôt.

Long

Status

Spécifie le statut du point par rapport à son emplacement sur le réseau et au résultat de l’analyse. Les valeurs possibles sont les suivantes :

  • 0 (OK) : le point a été localisé sur le réseau.
  • 1 (Non localisé) : le point n’a pas pu être localisé sur le réseau et n’a pas été inclus dans l’analyse.
  • 2 (Élément de réseau non localisé) : l’élément de réseau identifié par les champs de localisation de réseau du point est introuvable. Cela peut se produire lorsqu’un élément de réseau où l’arrêt doit se trouver a été supprimé et que la localisation réseau n’a pas été recalculée.
  • 3 (Élément non traversable) : l’élément de réseau où se trouve le point n’est pas traversable. Cette situation peut se produire lorsque l’élément est restreint par un attribut de restriction.
  • 4 (Valeurs de champs non valides) : les valeurs de champs se trouvent en dehors d’une plage ou d’un domaine de valeurs précodées. Par exemple, un nombre négatif se trouve à l’endroit où des nombres positifs sont requis.
  • 5 (Non atteint) : le point ne peut pas être atteint par le solveur. Il se peut que l’arrêt se trouve sur une zone distincte déconnectée du réseau des autres entrées, ou des interruptions ou des restrictions empêchent de voyager vers ou depuis l’arrêt.
  • 6 (Violation de fenêtre horaire) : le point n’a pas pu être atteint dans les fenêtres horaires spécifiées. Ce statut ne s’applique qu’aux types d’analyse de réseau prenant en charge les fenêtres horaires.
  • 7 (Non situé sur le plus proche) : la localisation de réseau la plus proche du point n’est pas traversable en raison d’une restriction ou d’une interruption. Le point a par conséquent été positionné sur l’entité de réseau traversable la plus proche.

Si des fenêtres horaires sont utilisées et que l’itinéraire arrive trop tôt ou trop tard, la valeur est modifiée en Time window violation (Violation de fenêtre horaire) (6).

Long

Remarque :

si une valeur du champ AssignmentRule de l'ordre est définie sur Exclure, les valeurs en entrée des champs Status, RouteName et Sequence ne sont alors pas modifiées pendant le calcul.

Ordres : champs en sortie

Champ en sortieDescriptionType de données

Ces champs contiennent un résumé des contraintes violées ; ils sont définis après un calcul. Chaque champ comporte une violation. Si un ordre comporte plusieurs violations, le champ ViolatedConstraint_# suivant est utilisé.

En savoir plus sur la résolution des problèmes d'analyses de réseau

Remarque :

La valeur du champ de contrainte violée d’un ordre non visité peut ou non décrire toutes ses violations. Si la violation est suffisamment grave pour exclure immédiatement l'ordre de toute prise en compte, le solveur l'exclut, ce qui empêche la détection d'autres violations pour cet ordre. En cas de détection d’une violation qui n’arrête pas automatiquement la génération d’une solution, celle-ci est consignée dans les champs de contrainte violée et le solveur continue de prendre en compte l’ordre. Toute autre violation de ce type est ajoutée aux champs de contrainte violée jusqu’à ce que le solveur détecte une violation qui arrête prématurément le calcul pour cet ordre en particulier ou jusqu’à ce que le solveur trouve une solution globale au problème.

Long

FromPrevTravelTime

Temps de trajet entre la visite précédente sur l'itinéraire et l'ordre.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

FromPrevDistance

Distance de trajet entre la visite précédente sur l'itinéraire et l'ordre.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

CumulTravelTime

Temps de trajet cumulé de l'itinéraire jusqu'à l'arrivée à l'ordre.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulDistance

Distance de trajet cumulé de l'itinéraire jusqu'à l'arrivée à l'ordre.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

CumulTime

Durée cumulée de la tournée jusqu'à l'ordre, celui-ci étant inclus. La durée cumulée englobe le temps de trajet ainsi que la durée de desserte et le temps d'attente aux ordres.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

ArriveCurbApproach

Indique de quel côté du véhicule se trouve le bord du trottoir lorsque le véhicule atteint la localisation réseau. Si la valeur du champ CurbApproach de la localisation réseau est définie sur Côté droit du véhicule, la valeur du champ ArriveCurbApproach est Côté droit du véhicule, après le calcul. Toutefois, si la valeur du champ CurbApproach est définie sur Peu importe le côté ou sur Pas de demi-tour, la valeur du champ ArriveCurbApproach peut correspondre au côté droit ou gauche selon la valeur qui produit le plus court chemin total.

Long

DepartCurbApproach

Indique de quel côté du véhicule se trouve le bord du trottoir lorsque le véhicule quitte la localisation réseau. Si la valeur du champ CurbApproach de la localisation réseau est définie sur Côté droit du véhicule, la valeur du champ DepartCurbApproach est Côté droit du véhicule, après le calcul. Toutefois, si la valeur du champ CurbApproach est définie sur Peu importe le côté ou sur Pas de demi-tour, la valeur du champ DepartCurbApproach peut correspondre au côté droit ou gauche selon la valeur qui produit le plus court chemin total.

Long

ArriveTime

Valeur de date et heure indiquant l'heure d'arrivée à l'ordre.

La tournée peut arriver à l'ordre avant le commencement de l'une des fenêtres horaires de l'ordre, auquel cas il y a un temps d'attente à l'ordre. Dans le cas d'un ordre doté de fenêtres horaires souples, la tournée peut aussi arriver à l'ordre après la fin de l'une des fenêtres horaires, auquel cas il y a une infraction de temps à l'ordre.

Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire de cette valeur de l'heure est extraite de l'élément de réseau sur lequel se trouve l'ordre.

Date

DepartTime

Valeur de date et heure indiquant l'heure de départ de l'ordre. L'itinéraire part de l'ordre une fois la desserte terminée.

Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire de cette valeur de l'heure est extraite de l'élément de réseau sur lequel se trouve l'ordre.

Date

ArriveTimeUTC

Valeur de date et heure indiquant l’heure d’arrivée en temps universel coordonné (UTC) à l’ordre.

Date

DepartTimeUTC

Valeur de date et heure indiquant l’heure de départ en temps universel coordonné (UTC) à partir de l’ordre. L'itinéraire part de l'ordre une fois la desserte terminée.

Date

WaitTime

Temps d'attente ou escale à l'ordre. Vous pouvez par exemple avoir une valeur de temps d'attente si une tournée doit attendre l'ouverture d'une fenêtre horaire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

ViolationTime

Laps de temps écoulé entre la fin de la fenêtre horaire de l'ordre et l'arrivée de la tournée du véhicule.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulWaitTime

Temps d'attente cumulé depuis le début de la tournée jusqu'à l'ordre, celui-ci étant inclus.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulViolationTime

Infraction de temps cumulée depuis le début de la tournée jusqu'à l'ordre, celui-ci étant inclus.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

Dépôts

La classe d’entités de dépôts enregistre les dépôts qui font partie d’une couche d’optimisation des tournées de véhicules donnée. Un dépôt est un emplacement d'où part un véhicule au début de sa journée de travail et à laquelle il retourne à la fin de la journée. Les dépôts sont également des lieux où les véhicules sont chargés (en cas de livraison) ou déchargés (en cas de collecte). Dans certains cas, un dépôt peut aussi jouer le rôle d'emplacement de relais où un véhicule peut être déchargé ou rechargé avant de poursuivre les livraisons ou les collectes. Un dépôt possède des heures d'ouverture et de fermeture, spécifiées par une fenêtre horaire stricte. Les véhicules ne peuvent pas arriver à un dépôt en-dehors de cette fenêtre horaire.

Dépôts : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

Shape

Champ de géométrie qui indique l'emplacement géographique de l'objet d'analyse de réseau.

Géométrie

Name

Nom de l'objet d'analyse de réseau.

Ce champ est une clé primaire. Il est utilisé en tant que clé étrangère dans la couche d’entités Routes, la table Route Renewals (Relais de tournée) et la couche d’entités Depot Visits pour faire référence aux dépôts. Les noms de dépôts ne respectent pas la casse, ils doivent être non vides et uniques.

Texte

Description

Informations décrivant l'objet d'analyse de réseau. Ce champ peut contenir toute information textuelle, sans restriction en matière d'unicité.

Si vous voulez noter par exemple dans quelle région se trouve un dépôt ou l'adresse et le numéro de téléphone du dépôt, vous pouvez saisir ces informations ici, plutôt que dans le champ Name.

Texte

TimeWindowStart

Heure de début de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de début.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

TimeWindowEnd

Heure de fin de la première fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique aucune heure de fin.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

TimeWindowStart2

Heure de début de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null, ce qui indique l'absence de deuxième fenêtre horaire.

Si la première fenêtre horaire spécifiée par les champs TimeWindowStart et TimeWindowEnd est nulle, la deuxième doit l’être également.

Si les deux fenêtres horaires sont non nulles, elles ne peuvent pas se chevaucher. En outre, la deuxième fenêtre horaire doit survenir après la première.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

TimeWindowEnd2

Heure de fin de la deuxième fenêtre horaire pour la localisation réseau. Ce champ peut contenir une valeur Null.

Lorsque TimeWindowStart2 et TimeWindowEnd2 ont tous deux une valeur nulle, il n’existe pas de deuxième fenêtre horaire.

Lorsque TimeWindowStart2 n’a pas de valeur nulle, mais que TimeWindowEnd2 a une valeur nulle, il existe une deuxième fenêtre horaire avec une heure de début mais pas d’heure de fin. Cette situation est valide.

(Reportez-vous à la remarque sous cette table de propriétés pour plus d'informations.)

Date

Champs de localisation réseau

  • SourceID
  • SourceOID
  • PosAlong
  • SideOfEdge
  • SnapX
  • SnapY
  • SnapZ
  • DistanceToNetworkInMeters

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

  • Long
  • Long
  • Double
  • Long
  • Double
  • Double
  • Double
  • Double

CurbApproach

La propriété CurbApproach spécifie la direction à partir de laquelle un véhicule peut arriver au dépôt et en repartir. Cette propriété s'avère utile pour les véhicules qui doivent arriver à un dépôt et en repartir à partir d'une direction spécifique ou qui doivent éviter de faire des demi-tours. Vous pouvez tenir compte de ces exigences en choisissant l'une des quatre valeurs suivantes pour CurbApproach :

  • Either side of vehicle (Peu importe le côté) (0) - le véhicule peut atteindre ou quitter la localisation réseau dans une direction quelconque. Les demi-tours sont permis. Vous devez sélectionner ce paramètre si votre véhicule peut effectuer un demi-tour à l'arrêt ou s'il peut entrer dans une allée ou un parking et revenir en arrière.
  • Right side of vehicle (Côté droit du véhicule) (1) - Lorsque le véhicule atteint et quitte la localisation réseau, le bord du trottoir doit être du côté droit du véhicule. Le demi-tour est interdit.
  • Left side of vehicle (Côté gauche du véhicule) (2) - Lorsque le véhicule atteint et quitte la localisation réseau, le bord du trottoir doit être du côté gauche du véhicule. Le demi-tour est interdit.
  • Pas de demi-tour (3) - Cette option n'est pas autorisée avec les dépôts. Un message d'erreur est renvoyé pendant le calcul en cas d'utilisation de l'option Pas de demi-tour. Les demi-tours peuvent toutefois encore être évités en choisissant Côté droit du véhicule ou Côté gauche du véhicule.

Pour en savoir plus sur les règles de demi-tour

Long

Remarque :
  • Les champs de fenêtres horaires peuvent contenir soit une valeur d'heure uniquement, soit une valeur de date et d'heure. Si un champ temporel tel que TimeWindowStart inclut une valeur d’heure uniquement (8 h 00 du matin, par exemple), on suppose que la date est celle spécifiée par la propriété Default Date (Date par défaut) de la couche d’analyse. L'utilisation de valeurs de date et d'heure (par exemple, 11/07/2010 8 h 00) vous permet de définir des fenêtres horaires qui couvrent plusieurs jours.

  • Le fuseau horaire pour les champs de fenêtre horaire peut être spécifié à l’aide du paramètre time_zone_for_time_fields dans l’outil de géotraitement Make Vehicle Routing Problem Analysis Layer (Créer une couche d’analyse de tournée de véhicules).

    En savoir plus sur les fenêtres horaires

  • La date par défaut est ignorée lorsqu'un champ de fenêtre horaire inclut une date avec l'heure. Pour éviter toute erreur dans ce cas, configurez toutes les fenêtres horaires des Dépôts, Itinéraires, Ordres et Pauses pour qu'elles comprennent également la date avec l'heure.

  • Si vous utilisez des données de trafic, les champs d'heure pour l'emplacement de réseau référencent toujours le même fuseau horaire que le tronçon où se trouve l'emplacement de réseau.

Dépôts : champs en entrée/sortie

Champ en entrée/sortieDescriptionType de données

Status

Spécifie le statut du point par rapport à son emplacement sur le réseau et au résultat de l’analyse. Les valeurs possibles sont les suivantes :

  • 0 (OK) : le point a été localisé sur le réseau.
  • 1 (Non localisé) : le point n’a pas pu être localisé sur le réseau et n’a pas été inclus dans l’analyse.
  • 2 (Élément de réseau non localisé) : l’élément de réseau identifié par les champs de localisation de réseau du point est introuvable. Cela peut se produire lorsqu’un élément de réseau où l’arrêt doit se trouver a été supprimé et que la localisation réseau n’a pas été recalculée.
  • 3 (Élément non traversable) : l’élément de réseau où se trouve le point n’est pas traversable. Cette situation peut se produire lorsque l’élément est restreint par un attribut de restriction.
  • 4 (Valeurs de champs non valides) : les valeurs de champs se trouvent en dehors d’une plage ou d’un domaine de valeurs précodées. Par exemple, un nombre négatif se trouve à l’endroit où des nombres positifs sont requis.
  • 5 (Non atteint) : le point ne peut pas être atteint par le solveur. Il se peut que l’arrêt se trouve sur une zone distincte déconnectée du réseau des autres entrées, ou des interruptions ou des restrictions empêchent de voyager vers ou depuis l’arrêt.
  • 6 (Violation de fenêtre horaire) : le point n’a pas pu être atteint dans les fenêtres horaires spécifiées. Ce statut ne s’applique qu’aux types d’analyse de réseau prenant en charge les fenêtres horaires.
  • 7 (Non situé sur le plus proche) : la localisation de réseau la plus proche du point n’est pas traversable en raison d’une restriction ou d’une interruption. Le point a par conséquent été positionné sur l’entité de réseau traversable la plus proche.

Si des fenêtres horaires sont utilisées et que le véhicule arrive trop tôt ou trop tard, la valeur est modifiée en Time window violation (Infraction de fenêtre horaire) (6).

Long

Itinéraires

La classe d’entités d’itinéraires enregistre les itinéraires qui font partie d’une couche d’optimisation des tournées de véhicules donnée. Un itinéraire spécifie les caractéristiques des véhicules et des chauffeurs et représente le parcours entre les dépôts et les ordres. Dans Network Analyst, les véhicules, les itinéraires et les chauffeurs sont synonymes, et le terme itinéraire englobe ces trois éléments.

Remarque :

le solveur de tournées de véhicules n'est pas conçu pour prendre en compte un même véhicule utilisé sur plusieurs postes dans la journée dans la même solution de tournées ni le changement de chauffeur au cours d'une journée.

Un itinéraire peut passer du temps en chargement ou déchargement aux dépôts initial et final. Le laps de temps passé à un dépôt est déterminé pour l'itinéraire et spécifié sous forme de durées de desserte de dépôt initial et final.

Un itinéraire peut commencer à une heure fixe ou il peut avoir une heure de début souple, c'est-à-dire une plage d'heures de début minimale et maximale. La plage d'heures de début et la fenêtre horaire du dépôt initial sont prises en considération lors de la détermination de l'heure de début réelle de la tournée.

Le coût de fonctionnement d’un itinéraire individuel peut être composé de coûts basés sur le temps, de coûts basés sur la distance ou de coûts fixes indépendants du temps travaillé ou de la distance parcourue. Il peut par exemple y avoir un coût fixe associé à l'utilisation d'un véhicule si des véhicules supplémentaires doivent être loués pour les jours à forte charge de travail. De la même façon, le chauffeur peut être payé pour le nombre d'heures travaillé, en incluant ou en excluant les heures supplémentaires et les pauses déjeuner. Ce type de coûts peut permettre de spécifier des coûts basés sur le temps. Les coûts de combustible peuvent permettre de spécifier des coûts de distance.

Le véhicule effectuant une tournée donnée peut également avoir une capacité, qui limite la quantité qu'il peut transporter.

Il peut exister des contraintes sur la journée de travail d’un chauffeur, par exemple la distance totale effectuée ou le nombre d’heures qu’un chauffeur peut travailler ou conduire en fonction des réglementations gouvernementales ou des conventions collectives.

L'itinéraire peut inclure des pauses. Le chauffeur peut être payé ou ne pas être payé pendant ces pauses.

Un véhicule peut avoir certaines capacités : un monte-charge, un blindage spécifique ou des techniciens possédant des compétences particulières, par exemple. Les ordres ayant ces particularités définies doivent être attribués aux tournées adéquates.

Un itinéraire peut être associé à une zone s'il est restreint de manière à être valable dans une région géographique prédéfinie.

Les itinéraires sont des entités lignes. Il est possible de les importer à partir d'autres couches d'optimisation des tournées de véhicules, d'autres entités linéaires, ou de tables.

Itinéraires : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

Name

Nom de l'objet d'analyse de réseau.

Ce champ est la clé primaire. Il est utilisé en tant que clé étrangère dans les couches d’entités Orders, Breaks, Route Zones et Depot Visits, et dans les tables Route Renewals (Relais de tournée) et RouteSpecialty. Le nom des itinéraires ne respectent pas la casse et ne peuvent pas être vides, même si l'itinéraire ne fait pas partie du calcul. Le nom doit être unique.

Texte

Description

Informations décrivant l'objet d'analyse de réseau. Ce champ peut contenir toute information textuelle, sans restriction en matière d'unicité.

Texte

StartDepotName

Nom du dépôt initial de l'itinéraire. Ce champ est une clé étrangère du champ Nom de la classe Dépôts. Les objets de dépôts doivent exister pour pouvoir apparaître dans la liste déroulante StartDepotName.

Si la valeur de StartDepotName est nulle, l’itinéraire commence au premier ordre affecté. Omettre le dépôt initial est utile lorsque le point de départ du véhicule est inconnu ou sans rapport à votre problème. Cependant, si la valeur de StartDepotName est nulle, celle de EndDepotName ne peut pas être nulle.

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.

Si des livraisons sont prévues le long de l’itinéraire et que la valeur de StartDepotName est Null, la cargaison est supposée avoir été chargée sur le véhicule à un dépôt virtuel avant le début de l’itinéraire. Dans le cas d’un itinéraire sans passage à des relais, les ordres de livraison (ceux dont les champs DeliveryQuantity_# ont une valeur différente de zéro dans la classe Ordres) sont chargés au dépôt initial ou au dépôt virtuel. Pour un itinéraire doté de passages à des relais, seuls les ordres de livraison avant le premier passage à un relais sont chargés au dépôt initial ou au dépôt virtuel.

Texte

EndDepotName

Nom du dépôt final de l'itinéraire. Ce champ est une clé étrangère du champ Nom de la classe Dépôts. Les objets de dépôts doivent exister pour pouvoir apparaître dans la liste déroulante EndDepotName.

Texte

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.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Remarque :

Les durées de traitement aux dépôts initial et final sont des valeurs fixes (fournies par les 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. Par conséquent, les périodes de service au dépôt peuvent être dotées de valeurs correspondant à une cargaison pleine ou une cargaison moyenne, ou vous pouvez effectuer vos propres estimations 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.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Remarque :

Les durées de traitement aux dépôts initial et final sont des valeurs fixes (fournies par les 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. Par conséquent, les périodes de service au dépôt peuvent être dotées de valeurs correspondant à une cargaison pleine ou une cargaison moyenne, ou vous pouvez effectuer vos propres estimations de temps.

Double

EarliestStartTime

Première heure de début admissible pour l'itinéraire. Ce champ est utilisé par le solveur conjointement avec la fenêtre horaire du dépôt initial pour déterminer des heures de départ d'itinéraire faisables.

Ce champ ne peut pas contenir de valeur nulle et sa valeur horaire uniquement est par défaut 8:00 a.m. Cette valeur par défaut est interprétée comme étant 8h00 à la date indiquée par la propriété Default Date (Date par défaut) de la couche d’analyse.

La date par défaut est ignorée lorsqu'un champ de fenêtre horaire inclut une date avec l'heure. Pour éviter toute erreur dans ce cas, configurez toutes les fenêtres horaires des Dépôts, Itinéraires, Ordres et Pauses pour qu'elles comprennent également la date avec l'heure.

Lorsque des jeux de données réseau sont utilisés avec des données de trafic sur plusieurs fuseaux horaires, le fuseau horaire de EarliestStartTime est le même que le fuseau horaire du tronçon ou de la jonction où se trouve le dépôt initial.

Date

LatestStartTime

Dernière heure de début admissible pour l'itinéraire. Ce champ ne peut pas contenir de valeur nulle et sa valeur horaire uniquement est par défaut 10:00 a.m. Cette valeur par défaut est interprétée comme étant 10:00 à la date indiquée par la propriété Default Date (Date par défaut) de la couche d’analyse.

La date par défaut est ignorée lorsqu'un champ de fenêtre horaire inclut une date avec l'heure. Pour éviter toute erreur dans ce cas, configurez toutes les fenêtres horaires des Dépôts, Itinéraires, Ordres et Pauses pour qu'elles comprennent également la date avec l'heure.

Lorsque des jeux de données réseau sont utilisés avec des données de trafic sur plusieurs fuseaux horaires, le fuseau horaire de LatestStartTime est le même que le fuseau horaire du tronçon ou de la jonction où se trouve le dépôt initial.

Date

ArriveDepartDelay

Ce champ enregistre le temps de trajet nécessaire pour accélérer le véhicule à des vitesses de déplacement normales, le décélérer à un arrêt et le retirer du réseau et l'y replacer (entrée et sortie d'un parking, par exemple). Si vous incluez une valeur ArriveDepartDelay, le solveur de tournées de véhicules est dissuadé d'envoyer de nombreux itinéraires pour desservir physiquement des ordres coïncidents.

Le coût de cette propriété est supporté entre des visites à des dépôts, des relais de tournée et des ordres non coïncidents. Par exemple, lorsqu'un itinéraire commence à un dépôt et visite le premier ordre, le retard d'arrivée/de départ total est ajouté au temps de trajet. Cela est également valable pour le déplacement du premier ordre au deuxième ordre. Si les deuxième et troisième ordres sont coïncidents, la valeur ArriveDepartDelay n'est pas ajoutée entre eux, car le véhicule n'a pas besoin de se déplacer. Si l'itinéraire mène à un relais de tournée, la valeur est de nouveau ajoutée au temps de trajet. Même si un véhicule doit ralentir et s’arrêter pendant une pause et accélérer par la suite, le solveur de tournées de véhicules ne peut pas ajouter la valeur ArriveDepartDelay aux pauses. Cela signifie que si un itinéraire quitte un ordre, effectue une pause et continue jusqu'à l'ordre suivant, le retard d'arrivée/de départ est ajouté une seule fois, et non deux.

Prenons l'exemple de cinq ordres coïncidents dans une tour très haute qui sont desservis par trois itinéraires différents. Trois retards d'arrivée/de départ sont alors concernés, car trois chauffeurs doivent trouver des places de parking et entrer dans le même bâtiment. Si toutefois les ordres pouvaient être desservis par un seul itinéraire au lieu de trois, un seul chauffeur aurait à se garer et à entrer dans le bâtiment (un seul retard d'arrivée/de départ serait concerné). Comme le solveur de tournées de véhicules essaie de réduire le coût, il tentera de limiter les retards d'arrivée/de départ et choisira donc l'option à un seul itinéraire. (Notez que plusieurs itinéraires peuvent être envoyés lorsque d'autres contraintes, comme des particularités, des fenêtres horaires ou des capacités, l'exigent.)

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

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

Quantité maximale (par exemple, volume, poids, quantité) pouvant être transportée par le véhicule. En présence de plusieurs fonctions, spécifiez-les à l’aide des champs Capacity_1 à Capacity_9 en fonction des besoins.

Remarque :
Une chaîne vide ou une valeur Null représente l'infini. Les valeurs de capacité ne peuvent pas être négatives.

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

Coût monétaire encouru (par unité de temps de travail) pour la durée totale de l'itinéraire, y compris les temps de trajet, ainsi que le temps de service et le temps d'attente aux ordres, aux dépôts et les pauses. Ce champ ne peut pas contenir de valeur Null et sa valeur par défaut est 1.0.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

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.

L'unité de distance est spécifiée par la propriété Unités du champ de distance de la couche d'analyse.

Le solveur renvoie une erreur lorsqu'une valeur est attribuée à ce champ et qu'aucune propriété Attribut de distance n'est spécifiée pour la couche d'analyse.

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 une valeur OvertimeStartTime est incluse, elle doit être supérieure à 0 et inférieure à la valeur MaxTotalTime.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Par exemple, si le chauffeur doit percevoir des heures supplémentaires lorsque la durée totale de la tournée dépasse huit heures, la valeur OvertimeStartTime est alors 8, si la propriété Time Field Units (Unités du champ de temps) de la couche d’analyse est définie sur Hours (Heures).

Double

CostPerUnitOvertime

Coût monétaire encouru par unité de temps d'heures supplémentaires. Ce champ peut contenir uniquement une valeur nulle si OvertimeStartTime a également une valeur nulle. Sinon, sa valeur doit être positive et supérieure à celle de CostPerUnitTime.

Double

MaxOrderCount

Nombre maximal d'ordres autorisé sur l'itinéraire. Ce champ ne peut pas contenir de valeur Null et sa valeur par défaut est 30.

Long

MaxTotalTime

Durée d'itinéraire maximale autorisée. La durée de l'itinéraire englobe le temps de trajet ainsi que la durée de desserte et le temps d'attente aux ordres, aux dépôts et les pauses. Ce champ peut contenir des valeurs Null, ce qui indique qu'aucune contrainte n'est présente sur la durée de la tournée.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

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.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Ce champ peut contenir des valeurs Null. Une valeur Null indique l'absence de contrainte sur le temps de trajet maximal autorisé. La valeur de ce champ ne peut pas être supérieure à celle du champ MaxTotalTime.

Double

MaxTotalDistance

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

L'unité de distance totale est spécifiée par la propriété Unités du champ de distance de la couche d'analyse.

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.

Le solveur renvoie une erreur lorsqu'une valeur est attribuée à ce champ et qu'aucune propriété Attribut de distance n'est spécifiée pour la couche d'analyse.

Double

AssignmentRule

Ce champ spécifie si l'itinéraire peut être utilisé ou non lors du calcul. Ce champ est limité par un domaine de valeurs, et les valeurs possibles sont les suivantes :

  • Include (Inclure) - L’itinéraire est inclus dans l’opération de calcul. Il s'agit de la valeur par défaut.
  • Exclude (Exclure) : l’itinéraire est exclu de l’opération de calcul.

Long

Itinéraires : champs en sortie

Champ en sortieDescriptionType de données

Shape

Forme de ligne de l’itinéraire. Si la propriété Type de forme en sortie de la couche d'analyse est définie sur Aucun, aucune forme n'est renvoyée. Si la propriété Type de forme en sortie est définie sur Ligne droite, les lignes droites qui connectent chaque paire de visites consécutives sont renvoyées. Les propriétés Géométrie réelle avec mesures et Géométrie réelle renvoient toutes les deux des lignes qui tracent leurs itinéraires correspondants sur le réseau, la différence entre les deux étant que Géométrie réelle avec mesures renvoie une ligne qui est déjà référencée de manière linéaire par le temps.

Géométrie

Ces champs contiennent un résumé des contraintes violées ; ils sont définis après un calcul. Si un itinéraire entraîne la violation d’une contrainte, les violations répertoriées ci-dessous peuvent être attribuées aux champs, avec une violation par champ.

Long

OrderCount

Nombre d'ordres attribués à l'itinéraire.

Long

TotalCost

Coût de fonctionnement total de l'itinéraire, qui correspond à la somme des valeurs des champs suivants :

  • FixedCost
  • RegularTimeCost
  • OvertimeCost
  • DistanceCost

Double

RegularTimeCost

Coût de la durée normale du travail, à l'exclusion des pauses non rémunérées.

Double

OvertimeCost

Coût des heures supplémentaires, à l'exclusion des pauses non rémunérées.

Double

DistanceCost

Composant de coût de distance obtenu en multipliant les valeurs des champs TotalDistance et CostPerUnitDistance. La valeur de ce champ est nulle si la propriété Attribut de distance n'est pas spécifiée pour la couche d'analyse.

Double

TotalTime

Durée totale de l'itinéraire. Ce champ englobe le temps de trajet, ainsi que la durée de desserte et le temps d'attente aux ordres, aux dépôts et les pauses. La valeur TotalTime correspond à la somme des valeurs des champs suivants :

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

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

TotalOrderServiceTime

Durée totale de desserte passée à tous les ordres de l'itinéraire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

TotalBreakServiceTime

Durée totale de desserte passée à toutes les pauses de l'itinéraire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

TotalTravelTime

Temps de trajet total de l'itinéraire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

TotalDistance

Distance totale de trajet de l'itinéraire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

StartTime

Heure de début de l'itinéraire. L'itinéraire peut commencer avant le début de la fenêtre horaire de son dépôt initial. Cela fait alors l'objet d'un temps d'attente au dépôt initial.

Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire correspondant à la valeur horaire est extrait de l'élément de réseau sur lequel se trouve le dépôt initial.

Date

EndTime

Heure de fin de l'itinéraire. L'itinéraire prend fin une fois la desserte terminée au dépôt final.

Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire correspondant à la valeur horaire est extrait de l'élément de réseau sur lequel se trouve le dépôt final.

Date

StartTimeUTC

L’heure de départ de l’itinéraire en temps universel coordonné (UTC).

Date

EndTimeUTC

L’heure de fin de l’itinéraire en temps universel coordonné (UTC).

Date

TotalWaitTime

Temps d'attente total à tous les ordres, dépôts et aux pauses sur l'itinéraire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

TotalViolationTime

Temps de violation total à tous les ordres et pauses sur l'itinéraire.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

RenewalCount

Pour un itinéraire doté de relais, la valeur de ce champ est égale au nombre de passages aux dépôts de relais.

Long

TotalRenewalServiceTime

Dans le cas d'un itinéraire comptant des relais, durée totale de desserte passée aux passages aux relais.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

Interruptions

La classe d’entités d’interruptions enregistre les périodes de repos (ou pauses) des itinéraires dans une tournée de véhicules. Une pause est précisément associée à un itinéraire et elle peut être prise une fois un ordre terminé, en cours de route vers un ordre ou avant de desservir un ordre. Elle possède une heure de début et une durée, pendant laquelle le chauffeur peut être rémunéré ou pas. Vous disposez de trois options pour définir le début d’une pause : en entrant une fenêtre horaire, un temps de trajet maximal ou un temps de travail maximal.

  • Pause en fonction d'une fenêtre horaire : pour définir une pause en fonction d'une fenêtre horaire, vous devez entrer deux valeurs horaires pour délimiter une plage de temps au cours de laquelle la pause doit commencer. Les champs TimeWindowStart et TimeWindowEnd contiennent les valeurs horaires limites. La durée, ou durée de desserte, de la pause ne dépend pas de la fenêtre horaire et, par conséquent, peut se prolonger au-delà de la fin de la fenêtre horaire. Par exemple, si la fenêtre horaire d’une pause d’une durée d’une heure s’étend de 10h00 à 10h15, la pause doit commencer après 10h00, mais avant 10h15. Si la pause commence à 10h10, elle se terminera à 11h10. Les pauses des fenêtres horaires ne sont pas autorisées si les ordres ou les dépôts se situent dans plusieurs fuseaux horaires. Si une pause est nécessaire dans cette situation, utilisez la configuration pause de temps de travail maximum.

  • Pause en fonction d'un temps de trajet maximal : ce type de pause vous permet de spécifier le temps de conduite d'une personne avant une pause. (Notez que seul le temps de trajet est limité, et non les autres durées comme la durée de desserte ou le temps d’attente.) Si vous définissez la propriété MaxTravelTimeBetweenBreaks de la première pause sur quatre heures, par exemple, le chauffeur pourra prendre une pause avant que le temps de trajet cumulé depuis le début de l’itinéraire ne dépasse quatre heures. Pour les pauses suivantes, le temps de trajet est cumulé à partir de la précédente pause. Si vous définissez la propriété MaxTravelTimeBetweenBreaks d'une deuxième pause sur deux heures, cette deuxième pause devra être prise avant que deux heures de temps de trajet ne soient cumulés à partir de la pause précédente (et non du dépôt initial).

    Une pause en fonction du temps de trajet maximal d'un itinéraire limite non seulement le temps de trajet cumulé à partir de la pause précédente ou du début de l'itinéraire, mais elle limite aussi le temps de trajet à partir de la dernière pause jusqu'au dépôt final. Ceci est également valable en présence d'une seule pause. Le solveur de tournées de véhicules est conçu de manière à éviter qu'un itinéraire ne prenne toutes ses pauses et en conduisant donc pendant une période prolongée sans prendre une autre pause. Dans le dernier exemple, MaxTravelTimeBetweenBreaks a été défini sur deux heures. S'il s'agit de la dernière pause de l'itinéraire, l'itinéraire doit pouvoir rejoindre le dépôt final dans les deux heures de temps de trajet qui suivent la dernière pause ; sinon, le solveur renverra une erreur.

  • Pause en fonction d'un temps de travail maximal : cette pause spécifie le temps de travail d'une personne avant une pause. A la différence des pauses en fonction d'un temps de trajet maximal, qui peuvent cumuler le temps de trajet à partir de la fin de la dernière pause, les pauses en fonction d'un temps de travail maximal cumulent toujours le temps de travail depuis le début de l'itinéraire, y compris la durée de desserte au dépôt initial.

    Notez que cette pause limite le temps de travail cumulé, qui comprend le temps de trajet et toutes les durées de desserte. Le temps d’attente en est toutefois exclu.

Une couche d'optimisation des tournées de véhicules ne peut être résolue que si toutes les pauses sont du même type. Autrement dit, le calcul échoue en présence de différents types de pauses (en fonction d'une fenêtre horaire, d'un temps de trajet maximal et d'un temps de travail maximal).

Vous pouvez spécifier jusqu'à cinq pauses pour un seul itinéraire. Par exemple, partons du principe que vous utilisez des pauses en fonction d'un temps de trajet maximal pour une analyse. Vous pouvez affecter deux pauses à un itinéraire de sorte que le chauffeur puisse se reposer pendant 15 minutes après deux heures de temps de trajet cumulées et s'arrêter ensuite pour déjeuner pendant une heure après deux autres heures de trajet. Vous pourriez avoir d'autres itinéraires auxquels des pauses ont été affectées (de zéro à cinq).

Les pauses possèdent un champ Precedence qui permet de les classer dans une séquence. Si vous souhaitez ainsi qu'une pause de 15 minutes survienne avant une interruption d'une heure, la valeur de précédence de la pause de 15 minutes doit être 1 et la valeur de précédence de l'autre pause doit être 2. Le champ Précédence est obligatoire pour toutes les interruptions, même si les interruptions en fonction d'un temps de travail maximal et d'une fenêtre horaire possèdent intrinsèquement un ordre chronologique.

Si un itinéraire atteint la dernière destination avant que toutes les pauses en fonction du temps de trajet maximal ou du temps de travail maximal aient été prises, les pauses restantes sont ignorées. S'il reste des pauses en fonction d'une fenêtre horaire à la fin d'un itinéraire, l'itinéraire attendra que toutes les pauses aient été prises avant de terminer au lieu de terminer plus tôt.

Pauses : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

TimeWindowStart

Heure de début de la fenêtre horaire de la pause. Les fenêtres horaires partiellement ouvertes ne sont pas valides pour les pauses.

Si ce champ contient une valeur, MaxTravelTimeBetweenBreaks et MaxCumulWorkTime doivent avoir une valeur nulle ; de plus, la valeur de MaxTravelTimeBetweenBreaks et de MaxCumulWorkTime doit être nulle pour toutes les autres pauses de la couche d’analyse.

Une erreur est renvoyée au moment du calcul si leurs fenêtres horaires d'un itinéraire qui possède plusieurs pauses se chevauchent.

Les champs de fenêtres horaires des pauses peuvent contenir soit une valeur d'heure seulement, soit une valeur de date et d'heure. Si un champ d’heure tel que TimeWindowStart a une valeur d’heure uniquement (par exemple, 12:00 p.m.), il est supposé que la date est celle spécifiée par la propriété Default Date (Date par défaut) de la couche d’analyse. L'utilisation de valeurs de date et d'heure (le 11/07/2012 à 24 h 00, par exemple) vous permet de spécifier des fenêtres horaires qui couvrent deux jours ou plus. Cela s'avère particulièrement utile lorsqu'une pause doit être prise avant et après minuit.

La date par défaut est ignorée lorsqu'un champ de fenêtre horaire inclut une date avec l'heure. Pour éviter toute erreur dans ce cas, configurez toutes les fenêtres horaires des Dépôts, Itinéraires, Ordres et Pauses pour qu'elles comprennent également la date avec l'heure.

En savoir plus sur les fenêtres horaires

Date

TimeWindowEnd

Heure de fin de la fenêtre horaire de la pause. Les fenêtres horaires partiellement ouvertes ne sont pas valides pour les pauses.

Si ce champ contient une valeur, MaxTravelTimeBetweenBreaks et MaxCumulWorkTime doivent avoir une valeur nulle ; de plus, la valeur de MaxTravelTimeBetweenBreaks et de MaxCumulWorkTime doit être nulle pour toutes les autres pauses de la couche d’analyse.

La date par défaut est ignorée lorsqu'un champ de fenêtre horaire inclut une date avec l'heure. Pour éviter toute erreur dans ce cas, configurez toutes les fenêtres horaires des Dépôts, Itinéraires, Ordres et Pauses pour qu'elles comprennent également la date avec l'heure.

Pour plus d’informations, reportez-vous à la description de TimeWindowStart (ci-dessus).

En savoir plus sur les fenêtres horaires

Date

MaxTravelTimeBetweenBreaks

Temps de trajet maximal pouvant être cumulé avant que la pause ne soit prise. Le temps de trajet est cumulé à partir de la fin de la pause précédente ou, si aucune pause n'a encore été prise, à partir du début de l'itinéraire.

S’il s’agit de la dernière pause de l’itinéraire, MaxTravelTimeBetweenBreaks indique également le temps de trajet maximal pouvant être cumulé de la dernière pause jusqu’au dépôt final.

Cette propriété est conçue pour limiter le temps de conduite d'une personne avant une pause. Par exemple, si la propriété Unités du champ temporel de la couche d'analyse est définie sur Minutes et que MaxTravelTimeBetweenBreaks a pour valeur 120, le chauffeur pourra prendre une pause après deux heures de conduite. Pour affecter une deuxième pause au bout de deux autres heures de conduite, la propriété MaxTravelTimeBetweenBreaks de cette deuxième pause doit avoir pour valeur 120.

Si ce champ comporte une valeur, la valeur de TimeWindowStart, TimeWindowEnd, MaxViolationTime et MaxCumulWorkTime doit être nulle pour que la résolution d’une analyse aboutisse.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

MaxCumulWorkTime

Temps de travail maximal pouvant être cumulé avant que la pause ne soit prise. Le temps de travail est toujours cumulé à partir du début de l'itinéraire.

Le temps de travail correspond à la somme du temps de trajet et de la durée de desserte aux ordres, dépôts et pendant les pauses. Notez toutefois que le temps d'attente en est exclu, à savoir le temps d’attente d’un ordre ou à un dépôt d’un itinéraire (ou d’un chauffeur) avant le début d’une fenêtre horaire.

Cette propriété est conçue pour limiter le temps de travail d'une personne avant une pause. Par exemple, si la propriété Unités du champ temporel de la couche d'analyse est définie sur Minutes et que MaxCumulWorkTime a pour valeur 120 et que ServiceTime a pour valeur 15, le chauffeur pourra prendre une pause de 15 minutes au bout de deux heures de travail.

Reprenons le dernier exemple et partons du principe qu'une deuxième pause s'avère nécessaire au bout de trois autres heures de travail. Pour spécifier cette pause, il convient ici d’affecter la valeur 315 (cinq heures et 15 minutes) à la propriété MaxCumulWorkTime de la deuxième pause. Ce nombre comprend les valeurs de MaxCumulWorkTime et ServiceTime de la pause précédente, ainsi que les trois heures de temps de travail supplémentaires avant d’accorder la deuxième pause. Pour éviter de prendre prématurément des pauses en fonction d'un temps de travail maximal, n'oubliez pas qu'elles cumulent le temps de travail à partir du début de l'itinéraire et que ce temps de travail comprend le temps de service aux précédents dépôts et ordres et pendant les précédentes pauses.

Si ce champ comporte une valeur, la valeur de TimeWindowStart, TimeWindowEnd, MaxViolationTime et MaxTravelTimeBetweenBreaks doit être nulle pour que la résolution d’une analyse aboutisse.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

RouteName

Nom de l'itinéraire auquel la pause s'applique. Même si une pause est précisément affectée à un itinéraire, de nombreuses pauses peuvent être affectées à un même itinéraire.

Ce champ, qui est une clé étrangère vis-à-vis du champ Name de la classe Routes (Itinéraires), ne peut pas contenir de valeur nulle.

Les objets d’itinéraire doivent exister pour pouvoir apparaître dans la liste déroulante RouteName.

Texte

Precedence

Les valeurs de Precedence permettent de classer les pauses d'un itinéraire donné. Les pauses ayant une valeur de priorité de 1 interviennent avant celles dont la valeur est 2, et ainsi de suite.

Toutes les pauses doivent avoir une valeur de précédence, que ce soient des pauses en fonction d'une fenêtre horaire, d'un temps de trajet maximal ou d'un temps de travail maximal.

Long

ServiceTime

Durée de la pause. Ce champ ne peut pas contenir une valeur Null.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

MaxViolationTime

Ce champ indique la durée de violation maximale autorisée pour une pause en fonction d'une fenêtre horaire. Une fenêtre horaire fait l'objet d'une violation lorsque l'heure d'arrivée ne coïncide pas avec la plage horaire.

Une valeur nulle indique qu'une fenêtre horaire ne peut pas faire l'objet d'une violation. Autrement dit, la fenêtre horaire est stricte. Une valeur différente de zéro indique le retard maximal autorisé ; par exemple, la pause peut commencer jusqu'à 30 minutes après la fin de sa fenêtre horaire, mais le retard est pénalisé conformément à la propriété Violations des fenêtres horaires de la couche d'analyse.

La valeur de cette propriété peut être nulle ; une valeur nulle avec des valeurs TimeWindowStart et TimeWindowEnd indique que la durée de violation autorisée n’est pas limitée. Si MaxTravelTimeBetweenBreaks ou MaxCumulWorkTime contient une valeur, MaxViolationTime doit avoir une valeur nulle.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

IsPaid

Valeur booléenne indiquant si la pause est payée ou non. Une valeur True indique que le temps passé en pause est inclus dans le calcul de coût d'itinéraire et dans la détermination des heures supplémentaires. Une valeur False indique le contraire. La valeur par défaut est True.

Long

Pauses : champs en entrée/sortie

Champ en entrée/sortieDescriptionType de données

Sequence

En tant que champ en entrée, il indique la séquence de la pause sur son itinéraire. Ce champ peut contenir des valeurs nulles. Les valeurs de séquence en entrée sont positives et uniques pour chaque itinéraire (partagées par les passages aux dépôts de relais, les ordres et les pauses), mais elles n’ont pas besoin de commencer à 1 ou d’être contiguës.

Le solveur modifie le champ de séquence. Une fois le calcul terminé, ce champ contient la valeur de séquence de la pause sur son itinéraire. Les valeurs de séquence en sortie pour un itinéraire sont partagées entre les passages aux dépôts, les ordres et les pauses. Elles démarrent à 1 (au dépôt initial) et sont consécutives.

Long

Pauses : champs en sortie

Champ en sortieDescriptionType de données

Shape

Champ de géométrie indiquant les localisations de pause désignées pour un itinéraire.

Géométrie

RelativePosition

Position relative de la pause. Les pauses sont prises quelque part entre deux localisations de réseau (ordres ou dépôts). Une valeur de 0,0 indique que la pause est prise juste après la fin de la desserte à la localisation de réseau précédente. Une valeur de 1,0 indique que la pause est prise juste avant de commencer la desserte à la localisation de réseau suivante. Une valeur entre les deux indique l'endroit le long de l'itinéraire où la pause est prise entre la première et la deuxième localisation de réseau. Par exemple, 0,25 indique que la pause est prise au quart du trajet qui mène de la localisation de réseau précédente à la localisation de réseau suivante.

Quel que soit le nombre de pauses entre deux localisations de réseau, la position relative est toujours indiquée par rapport aux localisations de réseau, et non aux autres pauses.

Double

FromPrevTravelTime

Temps de trajet à partir de l'ordre, du dépôt ou de la pause qui précède jusqu'à cette pause.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

FromPrevDistance

Distance de trajet à partir de l'ordre, du dépôt ou de la pause qui précède jusqu'à cette pause.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

CumulTravelTime

Temps de trajet cumulé de l'itinéraire jusqu'à l'arrivée à la pause.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulDistance

Distance de trajet cumulé de l'itinéraire jusqu'à l'arrivée à la pause.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

CumulTime

Durée cumulée de la tournée jusqu'à la pause, celle-ci étant incluse. La durée cumulée englobe le temps de trajet, ainsi que la durée de desserte et le temps d'attente aux ordres, aux dépôts et les pauses.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

ArriveTime

Temps d'arrivée réel de la pause. La tournée peut arriver à la pause avant le commencement de sa fenêtre horaire, auquel cas il y a un temps d'attente à la pause. Dans le cas d'une pause dotée de fenêtres horaire souples, la tournée peut aussi arriver à la pause après la fin de la fenêtre horaire, auquel cas il y a une violation de temps à la pause.

Lors de l’utilisation d’un jeu de données réseau couvrant plusieurs fuseaux horaires, l’heure est indiquée dans le fuseau horaire de l’emplacement réel de la pause.

Date

DepartTime

Heure à laquelle la pause se termine.

Lors de l’utilisation d’un jeu de données réseau couvrant plusieurs fuseaux horaires, l’heure est indiquée dans le fuseau horaire de l’emplacement réel de la pause.

Date

ArriveTimeUTC

Valeur de date et d’heure indiquant l’heure d’arrivée en temps universel coordonné (UTC).

Date

DepartTimeUTC

Valeur de date et heure indiquant l’heure de départ en temps universel coordonné (UTC).

Date

WaitTime

Durée d'attente à la pause.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

ViolationTime

Temps de violation à la pause.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulWaitTime

Temps d'attente cumulé depuis le début de la tournée jusqu'à la pause, celle-ci étant incluse.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulViolationTime

Infraction de temps cumulée depuis le début de la tournée jusqu'à la pause, celle-ci étant incluse.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

Zones de tournées

Les zones de tournées spécifient un territoire de travail pour un itinéraire donné. Une zone de tournée est une entité surfacique qui permet de limiter des itinéraires de manière à ne desservir que les ordres qui se trouvent dans une zone ou à proximité. Voici quelques exemples de 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.

Zones de tournées : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

Shape

Champ de géométrie qui indique l'emplacement géographique de l'objet d'analyse de réseau.

Géométrie

RouteName

Nom de l'itinéraire auquel cette zone s'applique. Une zone de tournée peut avoir un itinéraire associé au maximum. Ce champ ne peut pas contenir de valeur nulle. Il s’agit d’une clé étrangère vis-à-vis du champ Name dans la couche d’entités Routes (Itinéraires).

Les objets d'itinéraire doivent exister pour pouvoir apparaître dans la liste RouteName.

Texte

IsHardZone

Valeur booléenne indiquant une zone de tournée stricte ou souple. Une valeur True indique que la zone de tournée est stricte, c'est-à-dire qu'un ordre se trouvant en dehors du polygone de zone de tournée ne peut pas être attribué à l'itinéraire. La valeur par défaut est True (1). Une valeur False (0) indique que ces ordres peuvent encore être attribués, mais que leur coût de desserte est pondéré par une fonction basée sur la distance euclidienne depuis la zone de tournée. Cela signifie qu'à mesure que la distance en ligne droite entre la zone souple et l'ordre augmente, la probabilité que l'ordre soit attribué à l'itinéraire décroît.

Long

Remarque :

  • la distance euclidienne étant utilisée pour mesurer la distance entre la zone de tournée et les ordres, l'attribut de distance basé sur le réseau n'est pas requis.
  • Même si un itinéraire associé à une zone de tournée stricte ne peut desservir que les ordres au sein de la zone de tournée, d'autres itinéraires peuvent s'ajouter et desservir les ordres au sein de cette même zone. Cela s'explique par le fait que les zones de tournées restreignent l'itinéraire, pas les ordres. (Pour attribuer tous les ordres d'une zone exclusivement à un itinéraire, n'utilisez pas de zones de tournées mais sélectionnez les ordres qui figurent dans une zone, modifiez le champ RouteName de ces ordres en itinéraire de votre choix, puis affectez la valeur Conserver la tournée au champ AssignmentRule.)

Passages aux dépôts

Lorsqu'un itinéraire démarre, passe à un relais (pour décharger ou recharger) ou prend fin à un dépôt, un passage au dépôt est créé. Les objets de passage au dépôt donnent des informations sur les raisons pour lesquelles un itinéraire a visité un dépôt et les événements qui s'y sont produits. La quantité de marchandises chargée dans un véhicule ou déchargée d'un véhicule au dépôt est enregistrée dans les propriétés d'un passage au dépôt. D'autres informations, qui s'avèrent utiles pour interpréter une solution de tournée de véhicules, sont également incluses.

Il s'agit d'une classe d'analyse de réseau en sortie uniquement. Comme les entités de passage au dépôt sont uniquement créées pendant l'opération de calcul, la classe d'analyse est toujours vide avant le calcul.

Passages au dépôt : champs en sortie

Champ en sortieDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

Shape

Champ de géométrie qui indique l'emplacement géographique de l'objet d'analyse de réseau.

Géométrie

DepotName

Nom du dépôt visité. Ce champ est une clé étrangère pour le champ Name dans la classe d’analyse de réseau Dépôts.

Si l’itinéraire utilise un dépôt virtuel, ce qui signifie que l’itinéraire commence ou prend fin à un ordre et non à un dépôt, DepotName a la valeur Null.

Texte

RouteName

Nom de l'itinéraire contenant cette visite. Ce champ est une clé étrangère du champ Name de la couche d’entités Itinéraires.

Texte

Sequence

Indique la séquence du dépôt visité sur l'itinéraire. Les valeurs de séquence en sortie d'un itinéraire sont partagées entre les passages aux dépôts, les ordres et les pauses. Elles démarrent à 1 (au dépôt initial) et sont consécutives.

Long

VisitType

Raison du passage à ce dépôt. Ce champ est contraint par un domaine de valeurs :

  • 1—Dépôt initial
  • 2—Dépôt final
  • 3—Dépôt de relais

Long

ServiceTime

Durée de desserte (chargement ou déchargement, par exemple) au dépôt.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

FromPrevTravelTime

Temps de trajet entre la visite précédente sur l'itinéraire et le dépôt.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

FromPrevDistance

Distance de trajet entre la visite précédente sur l'itinéraire et le dépôt.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

CumulTravelTime

Temps de trajet cumulé de l'itinéraire jusqu'à l'arrivée à ce dépôt.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulDistance

Distance de trajet cumulé de l'itinéraire jusqu'à l'arrivée à ce dépôt.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ de distance de la couche d'analyse. Ce champ est nul si la propriété Attribut de distance n'est pas spécifiée dans les paramètres d'analyse.

Double

CumulTime

Durée cumulée de la tournée jusqu'au dépôt, celui-ci étant inclus. La durée cumulée englobe le temps de trajet, ainsi que la durée de desserte et le temps d'attente aux ordres, aux dépôts et les pauses.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

ArriveTime

Heure d'arrivée au dépôt. L'itinéraire peut arriver au dépôt avant le commencement de la fenêtre horaire du dépôt. Cela fait alors l'objet d'un temps d'attente au dépôt.

Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire correspondant à la valeur horaire est le même que celui de l'élément de réseau sur lequel se trouve le dépôt.

Date

DepartTime

Heure de départ du dépôt.

Lors de l'utilisation de données de trafic couvrant plusieurs fuseaux horaires, le fuseau horaire correspondant à la valeur horaire est le même que celui de l'élément de réseau sur lequel se trouve le dépôt.

Date

ArriveTimeUTC

Valeur de date et heure indiquant l’heure d’arrivée en temps universel coordonné (UTC) au dépôt.

Date

DepartTimeUTC

Valeur de date et heure indiquant l’heure de départ en temps universel coordonné (UTC) à partir du dépôt.

Date

WaitTime

Durée d'attente au dépôt.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulWaitTime

Temps d'attente cumulé depuis le début de la tournée jusqu'au dépôt, celui-ci étant inclus.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

CumulViolationTime

Infraction de temps cumulée depuis le début de la tournée jusqu'au dépôt, celui-ci étant inclus.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Double

  • LoadedQuantity_1
  • LoadedQuantity_2
  • LoadedQuantity_3
  • LoadedQuantity_4
  • LoadedQuantity_5
  • LoadedQuantity_6
  • LoadedQuantity_7
  • LoadedQuantity_8
  • LoadedQuantity_9

Quantité (par exemple, volume, poids, quantité) chargée au dépôt. En présence de plusieurs fonctions, les quantités figurant dans les champs LoadedQuantity_1 à LoadedQuantity_9 correspondent aux champs Capacity_1 à Capacity_9 correspondant dans la table en entrée Routes.

Double

  • UnloadedQuantity_1
  • UnloadedQuantity_2
  • UnloadedQuantity_3
  • UnloadedQuantity_4
  • UnloadedQuantity_5
  • UnloadedQuantity_6
  • UnloadedQuantity_7
  • UnloadedQuantity_8
  • UnloadedQuantity_9

Quantité (par exemple, volume, poids, quantité) déchargée au dépôt. En présence de plusieurs fonctions, les quantités figurant dans les champs UnloadedQuantity_1 à UnloadedQuantity_9 correspondent aux champs Capacity_1 à Capacity_9 correspondant dans la table en entrée Routes.

Double

Remarque :

Il n’y a aucun champ ViolationTime en sortie sur la couche d’entités Depot Visits (Passages aux dépôts), puisque les dépôts ont des fenêtres horaires strictes.

Particularités

Les tables Order Specialties (Particularités de l’ordre) et Route Specialties (Particularités de l’itinéraire) répertorient les particularités qui peuvent être requises par les ordres et prises en charge par les itinéraires. Un itinéraire peut desservir un ordre uniquement s'il prend en charge toutes les particularités requises pour cet ordre.

Un ordre peut nécessiter un technicien possédant certaines compétences ou un véhicule doté de certaines fonctions. Vous pouvez modéliser ces compétences, fonctions, etc., en commençant par les ajouter à la table Order Specialties (Particularités de l’ordre). Vous pouvez ensuite ajouter les particularités qui sont prises en charge par un itinéraire à la table Route Specialties (Particularités de l’itinéraire). Une fois l'optimisation des tournées de véhicules résolue, les ordres qui requièrent certaines particularités sont mises en correspondances avec les itinéraires qui peuvent les fournir.

Particularités de l’ordre : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

OrderName

Nom de l'objet d'analyse de réseau.

Ce champ est la clé primaire. Il est utilisé en tant que clé étrangère dans la couche d’entités Orders pour faire référence aux particularités de l’ordre.

Texte

SpecialtyName

Nom de la particularité.

Indique la particularité requise pour l’ordre. Chaque ligne inclut une seule particularité. Si un ordre nécessite davantage de particularités, créez une nouvelle ligne.

Les noms des particularités ne peuvent pas contenir d’espaces. Par exemple, une particularité de technicien confirmé doit être entrée sous la forme TechnicienConfirmé.

Texte

Particularités de l’itinéraire : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

RouteName

Nom de l'objet d'analyse de réseau.

Ce champ est la clé primaire. Il est utilisé en tant que clé étrangère dans la couche d’entités Routes pour faire référence aux particularités de l’itinéraire.

Texte

SpecialtyName

Nom de la particularité.

Indique la particularité que l’itinéraire prend en charge. Chaque ligne inclut une seule particularité. Si un itinéraire prend en charge plusieurs particularités, créez une nouvelle ligne.

Les noms des particularités ne peuvent pas contenir d’espaces. Par exemple, une particularité de technicien confirmé doit être entrée sous la forme TechnicienConfirmé.

Texte

Couples de course

La table Order Pairs (Couples de course) est une table d’enregistrements utilisée pour associer des ordres de livraison et des ordres d’enlèvement afin qu’ils soient pris en charge par le même itinéraire.

Il est quelquefois nécessaire que l'enlèvement et la livraison soient appariés pour les ordres. Par exemple, pour une société de coursiers, une livraison d'un document peut impliquer deux arrêts : un premier pour collecter le document à la source et un second pour le remettre à destination. Ces arrêts associés sont attribués au même itinéraire avec la séquence adéquate. Il est interdit d'attribuer un seul des ordres à un itinéraire : les deux ordres doivent être attribués au même itinéraire ou aucun ordre ne doit être attribué.

Il peut y avoir des restrictions sur le laps de temps que le paquet peut rester dans le véhicule. Par exemple, un prélèvement sanguin doit être transporté du cabinet médical au laboratoire d'analyses en moins de deux heures.

Certaines situations peuvent nécessiter deux paires d'ordres. Par exemple, partons du principe que vous souhaitez transporter une personne âgée de son domicile au cabinet de son médecin, puis la ramener chez elle. Le trajet de son domicile au cabinet correspond à une paire d'ordres dotée d'une heure d'arrivée souhaitée chez le médecin. Le trajet de retour, quant à lui, correspond à une seconde paire dotée d'une heure de collecte souhaitée.

Couples d’ordres : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

FirstOrderName

Nom du premier ordre de la paire. Ce champ est une clé étrangère vis-à-vis du champ Name dans la couche d’entités Orders (Ordres).

Les objets d’ordres doivent exister pour pouvoir apparaître dans la liste FirstOrderName.

Texte

SecondOrderName

Nom du second ordre de la paire. Ce champ est une clé étrangère vis-à-vis du champ Name dans la couche d’entités Orders (Ordres).

Les objets d’ordres doivent exister pour pouvoir apparaître dans la liste SecondOrderName.

Le premier ordre de la paire doit être un ordre d’enlèvement, à savoir que la valeur de ses champs de quantité de livraison est nulle. Le second ordre de la paire doit être un ordre de livraison, à savoir que la valeur de ses champs de quantité d’enlèvement est nulle. La quantité enlevée au premier ordre doit correspondre à la quantité livrée au second ordre. Dans les cas où aucune capacité n'est utilisée, les deux ordres peuvent avoir des quantités égales à zéro.

Remarque :

Les quantités des ordres ne sont pas chargées ou déchargées à des dépôts.

Texte

MaxTransitTime

Temps de transit maximal pour la paire. Le temps de transit correspond au laps de temps s'écoulant entre l'heure de départ du premier ordre et l'heure d'arrivée au second. Cette contrainte limite le temps passé dans le véhicule, ou temps de trajet, entre les deux ordres. Lorsqu'un véhicule transporte des personnes ou des denrées périssables, le temps de trajet est généralement plus court que celui d'un véhicule transportant des paquets ou des denrées non périssables. Ce champ peut contenir des valeurs nulles, ce qui indique qu'aucune contrainte n'est présente sur le temps de trajet.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Le temps de transit excessif (mesuré en fonction du temps de trajet direct entre des paires d'ordres) peut être suivi et pondéré par le solveur. Vous pouvez par conséquent orienter le solveur de tournées de véhicules vers l’une des trois solutions suivantes : réduire le temps de transit excessif global, quelle que soit l’augmentation du coût de trajet de la flotte ; trouver une solution équilibrée entre la durée totale de la violation et le coût de trajet ; ignorer le temps de transit excessif global et réduire à la place le coût de trajet de la flotte. En attribuant un niveau d'importance au paramètre Temps de transit excessif de la couche d'analyse, vous choisissez en fait l'une de ces trois solutions. Quel que soit le niveau d'importance, le solveur renvoie toujours une erreur en cas de dépassement de la valeur MaxTransitTime.

Double

Relais de tournée

La table Route Renewals (Relais de tournée) indique les dépôts intermédiaires que les itinéraires d’une optimisation des tournées de véhicules peuvent visiter pour recharger et décharger des marchandises qu’ils livrent ou collectent.

Un objet d'analyse de relais de tournée relie spécifiquement un objet d'itinéraire à un objet de dépôt. La relation indique que l'itinéraire peut passer à un relais (pour recharger ou décharger) au dépôt qui y est associé.

Dans certaines industries, chaque itinéraire consiste en un ou plusieurs trajets au cours desquels le véhicule livre ou collecte une cargaison complète. Les relais de tournée peuvent permettre de modéliser des scénarios dans lesquels un véhicule enlève une cargaison complète de livraisons au dépôt initial, dessert les ordres, retourne au dépôt pour renouveler sa charge de livraisons et continue à desservir d'autres ordres. Par exemple, dans le cas d'une livraison de gaz propane, le véhicule peut effectuer plusieurs livraisons jusqu'à ce que sa cuve soit presque vide, visiter un point de ravitaillement, puis poursuivre ses livraisons.

Voici quelques règles et options à prendre en compte lors de l'utilisation de relais de tournée :

  • Le point de rechargement/déchargement, ou la localisation de relais, peut être différent du dépôt initial ou final.
  • Chaque itinéraire peut avoir une ou plusieurs localisations de relais.
  • Une localisation de relais peut être utilisée plusieurs fois par un même itinéraire.
  • Lorsque plusieurs dépôts de relais sont disponibles pour un itinéraire, le plus proche est sélectionné par le solveur.

Relais de tournée : champs en entrée

Champ en entréeDescriptionType de données

ObjectID

Champ d'ID géré par le système.

ID d’objet

DepotName

Nom du dépôt où ce relais a lieu. Ce champ ne peut pas contenir de valeur nulle. Il s’agit d’une clé étrangère vis-à-vis du champ Name de la couche d’entités Depots (Dépôts).

Les objets de dépôts doivent exister pour pouvoir apparaître dans la liste DepotName.

Texte

RouteName

Nom de l'itinéraire auquel ce relais s'applique. Ce champ ne peut pas contenir de valeur nulle. Il s’agit d’une clé étrangère vis-à-vis du champ Name dans la couche d’entités Routes (Itinéraires).

Les objets d'itinéraire doivent exister pour pouvoir apparaître dans la liste RouteName.

Texte

ServiceTime

Durée de desserte du relais. Ce champ peut contenir une valeur Null qui indique un temps de service égal à zéro.

L'unité de cette valeur de champ est spécifiée par la propriété Unités du champ horaire de la couche d'analyse.

Remarque :

La durée de chargement d'un véhicule à un dépôt de relais peut dépendre de la taille du véhicule et de son degré de chargement. La durée de desserte d'un relais de tournée est toutefois une valeur fixe et elle ne prend pas en considération la charge réelle. Il est possible d'attribuer à une durée de desserte relais une valeur correspondant à une cargaison complète, une cargaison moyenne ou une autre estimation en temps de votre choix.

Double

Relais de tournée : champs en entrée/sortie

Champ en entrée/sortieDescriptionType de données

Sequences

En tant que champ en entrée, spécifie une chaîne séparée par des espaces de valeurs de séquences de passages au dépôt de relais. Ce champ peut contenir une valeur nulle. Il permet de prédéfinir des passages au dépôt de relais.

En tant que champ en sortie, le solveur peut modifier et stocker la séquence ici. Une fois le calcul terminé, ce champ contient les valeurs de séquence des passages à ce dépôt de relais pour l'itinéraire concerné. Si plusieurs visites de relais se produisent à ce dépôt sur un même itinéraire, les valeurs de séquence sont séparées par un espace. Les valeurs de séquence en sortie pour un itinéraire sont partagées entre les passages aux dépôts, les ordres et les pauses. Elles démarrent à 1 (au dépôt initial) et sont consécutives. Si un itinéraire commence à un dépôt, visite deux ordres, fait un passage à des relais et continue, la valeur de séquence au relais est alors 4.

Texte

Interruptions ponctuelles, linéaires et polygonales

Les barrières servent à restreindre temporairement, ajouter une impédance, et proportionner l'impédance de parties du réseau. Lorsqu'une nouvelle couche d'analyse de réseau est créée, les classes de barrières sont vides. Elles sont remplies uniquement lorsque vous leur ajoutez des objets, mais l'ajout de barrières n'est pas requis.

Les interruptions étant disponibles dans toutes les couches d’analyse de réseau, elles sont décrites dans une rubrique distincte.

Pour en savoir plus sur les interruptions

Propriétés de la couche d’analyse VRP

Les sous-sections suivantes répertorient les paramètres que vous pouvez définir sur la couche d'analyse. Ils figurent sur l’onglet VRP Layer (Couche VRP), disponible uniquement si votre couche VRP ou l’une de ses sous-couches est sélectionnée dans la fenêtre Contents (Contenu).

Analyse

Utilisez les options de cette section pour estimer les crédits et exécuter l’analyse.

Section Analysis (Analyse)

Exécuter

Une fois que vous avez chargé les entités en entrée et défini les propriétés d’analyse, cliquez sur le bouton Run (Exécuter) pour exécuter l’analyse. Si l’analyse utilise des crédits et que le nombre de crédits estimé pour le calcul dépasse le nombre de crédits disponibles, un message d’erreur apparaît et bloque le calcul ou un message d’avertissement vous demande si vous souhaitez poursuivre le calcul.

Le bouton Run (Exécuter) peut apparaître de manière différente en fonction de la source du jeu de données réseau.

  • Exécuter—La couche d’analyse de réseau référence une source de données réseau locale.
  • Exécuter le service—La couche d’analyse de réseau référence une source de données réseau dans ArcGIS Online.
  • Exécuter—La couche d’analyse de réseau référence une source de données réseau dans un portail ArcGIS Enterprise.

Estimate Credits (Estimer les crédits)

le bouton Estimate Credits (Estimer les crédits) permet d’estimer le nombre de crédits de service utilisés lors de l’exécution de l’analyse sur la couche d’analyse de réseau sélectionnée. Si ce bouton est activé, la couche d’analyse de réseau utilise des crédits lorsqu’elle est résolue.

Bouton Estimate Credits (Estimer les crédits) activé

Le bouton Estimate Credits (Estimer les crédits) est activé dans les cas suivants :

Bouton Estimate Credits (Estimer les crédits) désactivé

Le bouton Estimate Credits (Estimer les crédits) est désactivé dans les cas suivants :

Lorsque vous cliquez sur le bouton Estimate Credits (Estimer les crédits), une boîte de dialogue apparaît avec une estimation du nombre de crédits qui risquent d’être utilisés lors du calcul de l’analyse actuelle. Le nombre de crédits estimé est basé sur le nombre de localisations en entrée utilisées dans l’analyse. Le nombre réel de crédits utilisés peut changer en fonction de la sortie générée par l’opération Solve. Selon la manière dont votre organisation a configuré la budgétisation des crédits et les paramètres d’allocation, il se peut que le nombre de crédits disponibles ne soit pas affiché. En outre, l’estimation du nombre de crédits peut ne pas toujours être possible si la source de données réseau est un portail ArcGIS Enterprise avec des services de calcul d’itinéraire configurés à partir de ArcGIS Online.

En savoir plus sur l’utilisation des crédits par chaque type d’analyse

Utilisation de crédits estimée et nombre total de crédits disponibles
Remarque :

Selon la configuration du compte d’organisation ArcGIS Online et l’utilisateur connecté, la résolution de l’analyse peut être bloquée ou afficher un avertissement si le nombre estimé de crédits dépasse le nombre de crédits disponibles.

Données en entrée

Les options de cette section permettent d'importer les entités en entrée qui doivent participer dans l'analyse.

Section Input Data (Données en entrée)

Importer des ordres

Cliquez sur le bouton Import Orders (Importer des ordres) Importer des ordres pour charger des entités provenant d’une autre source de données (par exemple, une couche d’entités ponctuelles), dans la classe d’entités Orders (Ordres).

Importer des dépôts

Cliquez sur le bouton Import Depots (Importer des dépôts) Importer des dépôts pour charger des entités provenant d’une autre source de données (par exemple, une couche d’entités ponctuelles), dans la classe d’entités Depots (Dépôts).

Importer des itinéraires

Dans le menu déroulant, vous pouvez choisir d’importer les itinéraires ou d'en ajouter.

  • Import Routes (Importer des itinéraires) Itinéraires : ce contrôle permet de charger des entités provenant d’une autre source de données (par exemple, une couche d’entités ponctuelles ou une table autonome), dans la classe d’entités Routes (Itinéraires).
  • Add Routes (Ajouter des itinéraires) Ajouter des itinéraires : ce contrôle permet de créer plusieurs itinéraires en même temps à l’aide de l’outil de géotraitement Add Vehicle Routing Problem Routes (Ajouter des itinéraires de tournée de véhicules).

Importer des pauses

Dans le menu déroulant, vous pouvez choisir d’importer ou d’ajouter des pauses.

  • Import Breaks (Importer des pauses) Importer des pauses : ce contrôle permet de charger des entités provenant d’une autre source de données (par exemple, une couche d’entités ponctuelles ou une table autonome), dans la classe d’entités Breaks (Interruptions).
  • Add Breaks (Ajouter des pauses) Ajouter des pauses : ce contrôle permet de créer plusieurs pauses en même temps à l’aide de l’outil de géotraitement Add Vehicle Routing Problem Breaks (Ajouter des pauses de tournée de véhicules).

Importer des interruptions

Utilisez les boutons Import Point Barriers (Importer des interruptions ponctuelles) Importer des interruptions ponctuelles, Import Line Barriers (Importer des interruptions linéaires) Importer des interruptions linéaires ou Import Polygon Barriers (Importer des interruptions surfaciques) Importer des interruptions pour charger des entités provenant d’une autre source de données, comme une autre couche d’entités, dans l’une des classes d’entités d’interruptions (interruptions ponctuelles, interruptions linéaires ou interruptions surfaciques).

Créer des entités

Utilisez le bouton Create Features (Créer des entités) Créer des entités pour ouvrir la fenêtre Create Features (Créer des entités). Sélectionnez un des modèles disponibles pour créer des entités dans la carte actuelle.

Importer des zones de tournées

Le bouton Import Route Zones (Importer des zones de tournées) Zones de tournées en entrée permet de charger des entités provenant d’une autre source de données (par exemple, une couche d’entités surfaciques), dans la classe d’entités Route Zones (Zones de tournées).

Importer des couples d’ordres

Le bouton Import Order Pairs (Importer des couples d’ordres) Couples d’ordres en entrée permet de charger des entités provenant d’une autre source de données (par exemple, une table autonome), dans la table Order Pairs (Couples d’ordres).

Importer des relais de tournée

Le bouton Import Route Renewals (Importer des relais de tournées) Relais de tournée en entrée permet de charger des entités provenant d’une autre source de données (par exemple, une table autonome), dans la table Route Renewals (Relais de tournées).

Importer des particularités de l’ordre

Le bouton Import Order Specialties (Importer des particularités de l’ordre) Particularités en entrée permet de charger des entités provenant d’une autre source de données (par exemple, une table autonome), dans la table Order Specialties (Particularités de l’ordre).

Importer des particularités de l’itinéraire

Le bouton Import Route Specialties (Importer des particularités de l’itinéraire) Particularités d’itinéraires en entrée permet de charger des entités provenant d’une autre source de données (par exemple, une table autonome), dans la table Route Specialties (Particularités de l’itinéraire).

Paramètres de déplacement

Les options de la section Travel Settings (Paramètres de déplacement) permettent de sélectionner le mode de déplacement.

Section Travel Settings (Paramètres de déplacement)

Mode

La liste déroulante Mode (Mode) permet de choisir un mode de déplacement, à savoir un groupe de paramètres qui modélisent ensemble le mouvement des piétons, des voitures, des camions ou un autre mode de déplacement. Les choix disponibles dans la liste déroulante varient selon les modes de déplacement configurés dans la source de données réseau à laquelle la couche d'analyse de réseau fait référence.

Unités du champ temporel

Unités de temps utilisées par les champs temporels des sous-couches et des tables de la couche d’analyse. Les options suivantes sont disponibles dans la liste déroulante :

  • Secondes
  • Minutes
  • Heures
  • Jours

Unités du champ de distance

Unités de distance utilisées par les champs de distance des sous-couches et des tables de la couche d’analyse. Les options suivantes sont disponibles dans la liste déroulante :

  • Mètres
  • Kilomètres
  • Pieds
  • Milles
  • Milles nautiques
  • Centimètres
  • Millimètres
  • Décimètres
  • Yards
  • Pouces

Date par défaut

Les options de cette section permettent de spécifier la date, l'heure et le jour à utiliser dans l'analyse.

Section Default Date (Date par défaut)

En savoir plus sur la date et l’heure

Type de date par défaut

La date par défaut est utilisée dans les champs de date et d’heure lorsque vous fournissez seulement une heure. Les options de la liste déroulante Default Date Time (Type de date par défaut) sont les suivantes :

  • Date : spécifiez la date calendaire.

  • Day of Week (Jour de la semaine) : spécifiez un jour de la semaine :

    • Dimanche
    • Lundi
    • Mardi
    • Mercredi
    • Jeudi
    • Vendredi
    • Samedi

  • Today (Aujourd’hui) : le jour est considéré comme étant la date actuelle.

Fuseau horaire de référence

Dans la liste déroulante Reference Time Zone (Fuseau horaire de référence) Bouton Reference Time Zone (Fuseau horaire de référence), vous pouvez choisir le fuseau horaire à utiliser dans l’analyse. Les options sont les suivantes :

  • Heure locale des localisations
  • UTC (Temps universel coordonné)

Géométrie en sortie

Les options du menu déroulant permettent de sélectionner le mode d'affichage de la sortie sur la carte.

Section Output Geometry (Géométrie en sortie)

Type de forme linéaire de la géométrie en sortie

Cette analyse résout toujours les chemins de moindre coût le long du réseau à l’aide des paramètres que vous spécifiez, mais en plus d’afficher ces chemins réels le long du réseau sur la carte, vous pouvez également représenter les itinéraires sur une carte à l’aide de simples lignes droites entre les arrêts ou sans aucune ligne.

  • No Lines (Aucune ligne) : aucune forme linéaire en sortie n’est générée.
  • Straight Lines (Lignes droites) : géométrie simplifiée en sortie sous forme de lignes droites.
  • Along Network (Le long du réseau) : générer des chemins réels le long du réseau sur la carte.

Remarque :
L’option Straight Lines (Lignes droites) n’est pas disponible si les couches VRP font référence à un service VRP ou à Portal.

Dessin

Le bouton Symbology (Symbologie) Symbologie permet d’accéder à la fenêtre de symbologie de la couche d’analyse de réseau active. Vous pouvez configurer la symbologie des sous-couches de la couche d’analyse de réseau active en sélectionnant l’une des options suivantes :

  • Single Color (Couleur unique) : cette option est disponible pour tous les types de couche d’analyse de réseau. Toutes les sous-couches d’entités de la couche d’analyse de réseau active, à l’exception des interruptions, utilisent désormais le même symbole unique de la couleur spécifiée. Par exemple, si vous choisissez une couleur unique bleue pour une couche Route (Iitinéraire), toutes les entités Stops (Arrêts) et Routes (Itinéraires) sont converties pour utiliser le même bleu.
  • Color Linked (Couleur liée) : cette option est disponible pour les couches Route (Iitinéraire), Last Mile Delivery (Livraison sur le dernier kilomètre) et Vehicle Routing Problem (Tournée de véhicules). Elle applique une combinaison de couleurs aux sous-couches de sorte que les entités associées soient symbolisées dans la même couleur. Cette configuration de symbologie symbolise les entités liées de la même couleur, afin de permettre de distinguer plus facilement différents itinéraires et les entités qui y sont associées sur la carte. Par exemple, pour une couche Route incluant plusieurs itinéraires, chaque itinéraire et les arrêts qui y sont attribués utilisent des couleurs correspondantes.

En savoir plus sur la symbologie des couches d’analyse de réseau.

Filtrage

Vous pouvez filtrer les sous-couches d’analyse de réseau de sorte à n’afficher que les entités associées aux entités sélectionnées dans la couche principale.

Ajoutez ou supprimez des filtres sur les sous-couches principales et associées.

  • Add Filters (Ajouter des filtres) Filtrer par sélection : applique des filtres aux sous-couches de la couche d’analyse de réseau de sorte à n’afficher que les entités associées à l’entité sélectionnée de la sous-couche principale. Les ensembles de définition sont automatiquement créés et appliqués sur les sous-couches pertinentes. Chaque fois que vous cliquez sur le bouton Add Filters (Ajouter des filtres), un nouvel ensemble de définition de même nom est créé pour remplacer l’ensemble de définition précédent.

    Si une entité est sélectionnée dans la sous-couche principale Routes (Itinéraires), un ensemble de définition nommé Routes (Itinéraires) est créé sur la couche éponyme (principale) et les sous-couches Orders (Ordres), Breaks (Interruptions), Depot Visits (Passages aux dépôts) et Route Zones (Zones de tournées) associées.

  • Remove Filters (Supprimer les filtres) Supprimer le filtre : supprime l’ensemble de définition sur les sous-couches principales et associées.

Advanced

Les contrôles de cette section permettent de spécifier les paramètres avancés de l'analyse.

Section Advanced (Avancé)

Importance de la fenêtre horaire

Vous pouvez configurer l’importance de la réduction des violations de fenêtre horaire lors de l’exécution de l’analyse à l’aide du paramètre Time Window Importance (Importance de la fenêtre horaire) Importance de la fenêtre horaire. Avec une préférence élevée de respect des fenêtres horaires, le solveur génère une solution qui réduit les violations de la fenêtre horaire mais augmente le coût total du calcul. Vous pouvez sélectionner l’une des options suivantes :

La barre bleue en haut indique que la propriété de fenêtre horaire est définie sur High (Élévée).

High (Élevée) : sélectionnez ce paramètre s’il est plus important d’arriver à l’heure aux ordres que de réduire le coût global de votre solution. Lorsque vous définissez l’importance de la fenêtre horaire comme élevée, le contrôle change pour refléter la sélection.

La barre bleue au milieu indique que la propriété de fenêtre horaire est définie sur Medium (Moyenne).

Medium (Moyenne) : le solveur cherche un équilibre entre le respect des fenêtres horaires et la réduction du coût total de la solution. Lorsque vous définissez l’importance de la fenêtre horaire comme moyenne, le contrôle change pour refléter la sélection.

La barre bleue en bas indique que la propriété de fenêtre horaire est définie sur Low (Faible).

Low (Faible) : sélectionnez ce paramètre si le respect des fenêtres horaires est moins important que la réduction du coût global de votre solution. Lorsque vous définissez l’importance de la fenêtre horaire comme faible, le contrôle change pour refléter la sélection.

Importance du temps de transit

Ce paramètre n’est pertinent que si vous utilisez des couples d’ordres. Le paramètre Transit Time Importance (Importance du temps de transit) Importance du temps de transit permet d’estimer l’importance de la réduction du temps de transit excessif. Le temps de transit excessif correspond à la quantité de temps dépassant le temps nécessaire pour effectuer le trajet direct entre une paire d'ordres. Le temps excessif découle de pauses ou de trajets vers d’autres ordres ou dépôts entre des visites à des ordres appariés. Vous pouvez sélectionner l’une des options suivantes :

La barre bleue en haut indique que la propriété d’importance du temps de transit est définie sur High (Élévée).

High (Élevée) : sélectionnez ce paramètre pour trouver une solution présentant moins de temps de transit excessif entre des ordres appariés, mais qui augmente les coûts de trajet globaux. Lorsque vous définissez l’importance du temps de transit comme élevée, le contrôle change pour refléter la sélection.

La barre bleue au milieu indique que la propriété d’importance du temps de transit est définie sur Medium (Moyenne).

Medium (Moyenne) : le solveur cherche un équilibre entre la réduction du temps de transit excessif et la réduction du coût total de la solution. Lorsque vous définissez l’importance du temps de transit comme moyenne, le contrôle change pour refléter la sélection.

La barre bleue en bas indique que la propriété d’importance du temps de transit est définie sur Low (Faible).

Low (Faible) : sélectionnez ce paramètre pour trouver une solution qui minimise le coût total de la solution. Lorsque vous définissez l’importance du temps de transit comme faible, le contrôle change pour refléter la sélection.

Agrégat

La propriété Cluster (Agrégat) Agrégation spatiale permet d'utiliser l’agrégation spatiale.

Si cette option est sélectionnée, le contrôle est associé à une coche verte, qui indique que l’agrégation spatiale est activée.

Cluster (Agréger) : les ordres affectés à un itinéraire individuel sont agrégés spatialement. L’agrégation des ordres permet de regrouper les itinéraires dans des zones plus petites et de réduire le nombre d’intersections entre lignes d’itinéraires, mais elle peut augmenter le temps de trajet total.

Si cette option est sélectionnée, le contrôle est associé à une coche rouge, qui indique que l’agrégation spatiale est désactivée.

Do Not Cluster (Ne pas agréger) : le solveur ne hiérarchise pas les ordres d’agrégation spatiale et les lignes d’itinéraires peuvent s’intersecter. Choisissez cette option si des zones de tournée sont spécifiées.

Feuilles de route

Les options de la section Directions (Feuilles de route) permettent d'indiquer si les directions doivent être générées.

Section Directions (Feuilles de route)

Remarque :

Le solveur VRP utilise une matrice de coût origine-destination ne tenant pas compte du temps afin de déterminer l’affectation des itinéraires et leur séquençage. Les valeurs de cette matrice de coût origine-destination ne tenant pas compte du temps servent à alimenter les coûts de temps et de distance pour les champs Orders (Ordres), Depot Visits (Passages au dépôt) et Routes (Itinéraires), à des fins de cohérence avec la logique d’optimisation utilisée pour résoudre le problème. Une fois la séquence d’arrêts et de passages au dépôt finalisée pour chaque itinéraire, le solveur d’itinéraire est utilisé pour générer des feuilles de route en utilisant l’heure de début réelle de l’itinéraire, ce qui permet de remplir les champs de feuilles de route avec des heures d’arrivée plus précises en fonction des conditions de circulation.

Sortie lors du calcul

Activez cette option pour générer des feuilles de route lors du calcul de la couche d’analyse de réseau actuelle.

Affiche les feuilles de route

Si l’option Output on Solve (Sortie lors du calcul) est sélectionnée, lorsque vous cliquez sur le bouton Show Directions (Afficher les feuilles de route) Feuilles de route, la fenêtre Directions (Feuilles de route) apparaît avec des feuilles de route tournant par tournant pour chaque itinéraire de la solution.

Partager en tant que

Partagez la sortie de l'analyse à l'aide de l'option disponible de Route Layers (Couches d’itinéraires).

Section Share As (Partager en tant que)

Partager en tant que couches d'itinéraires

Le bouton Route Layers (Couches d’itinéraires) Partager en tant que couches d'itinéraires permet de partager les résultats de l‘analyse en tant que couches d’itinéraires. Ce bouton ouvre l’outil de géotraitement Share as Route Layers (Partager en tant que couches d'itinéraires). Après l’exécution, les résultats de l’analyse sont partagés en tant qu’éléments de couche d’itinéraires dans le portail.

Limitations

Vous trouverez ci-dessous les limitations existantes si l’analyse est exécutée sur une couche VRP.

  • Le nombre maximal d’ordres sur un itinéraire ne peut pas dépasser 1 000.
  • Aucun champ de coût ne peut dépasser un milliard (par exemple, FixedCost dans la table Routes (Itinéraires)).
  • Aucun champ de distance ne peut dépasser un million de kilomètres (par exemple, MaxTotalDistance dans la table Routes (Itinéraires)).
  • La différence entre la valeur de date la plus grande et la plus petite dans l’entrée ne peut pas dépasser un an.
  • Le nombre maximal d’interruptions pour chaque itinéraire est de 5, et la valeur de précédence d’une interruption ne peut pas dépasser 5.
  • La valeur des champs de durée ne peut pas dépasser 365,25 jours. La valeur est exprimée dans les unités spécifiées par le paramètre Time Units (Unités de temps). Par exemple, la valeur temporelle Service ne peut pas dépasser 31 557 600 si le paramètre Time Units (Unités de temps) est défini sur Seconds (Secondes).

Les limitations suivantes s’appliquent en plus de celles indiquées ci-dessus si une couche VRP est résolue à l’aide d’un portail ArcGIS Online :

  • Vous pouvez préciser jusqu’à 250 éléments comme interruptions ponctuelles.
  • Si le nombre d’entités de rue intersectées par toutes les interruptions linéaires dépasse 500, l’outil renvoie une erreur.
  • Si le nombre d’entités de rue intersectées par toutes les interruptions polygonales est supérieur à 2 000, l’outil renvoie une erreur.
  • La distance en ligne droite entre tous les arrêts et les emplacements de départ et d’arrivée de l’itinéraire, ne peut pas être supérieure à 43,45 kilomètres (27 miles) lorsque le mode de déplacement est Walking Time (Durée du trajet à pied) ou Walking Distance (Distance à pied).