Liste des paramètres

La page suivante contient des tableaux de paramètres par ordre alphabétique pour les composants suivants de la méthode optimizeTours de l'API Route Optimization :

Pour faciliter la découverte, ces tableaux de paramètres ne listent et ne décrivent que brièvement les objets de premier niveau et les principaux paramètres. Pour obtenir une liste exhaustive avec des descriptions complètes et tous les paramètres imbriqués, consultez la documentation de référence de l'API.

Corps de la requête

Structure des données du corps de la requête.

Le corps de la requête inclut les éléments suivants, qui sont illustrés dans le schéma à droite et listés dans le tableau ci-dessous :

  • OptimizeToursRequest : objet de requête de premier niveau contenant le modèle et les paramètres de résolution.
    • ShipmentModel : structure de données principale contenant les expéditions, les véhicules et les contraintes globales.
      • Shipment : tâche avec des collectes et des livraisons.
        • VisitRequest : emplacement et contraintes pour un retrait ou une livraison.
      • Vehicle : véhicule disponible pour effectuer des livraisons.
Parent Paramètre Type de propriété Description
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk booléen (true/false) Si la valeur est true, la requête est traitée même si le délai avant expiration est défini sur une valeur élevée (supérieure à 30 minutes), ce qui risque d'entraîner des interruptions potentielles du serveur.
considerRoadTraffic booléen (true/false) Si la valeur est true, les données de trafic sont utilisées pour le routage. Si la valeur est "false", seules les vitesses du réseau routier sont utilisées.
geodesicMetersPerSecond nombre Lorsque useGeodesicDistances est défini sur "true", cette vitesse est utilisée pour calculer les temps de trajet.
injectedFirstSolutionRoutes[] Tableau d'objets (ShipmentRoute) Itinéraires d'une solution précédente à partir desquels commencer l'optimisation.
injectedSolutionConstraint object (InjectedSolutionConstraint) Contraint la solution à être similaire aux itinéraires existants, en spécifiant les propriétés qui doivent être conservées et celles qui peuvent être assouplies.
interpretInjectedSolutionsUsingLabels booléen (true/false) Si la valeur est définie sur true, les expéditions/véhicules des itinéraires injectés sont mis en correspondance par leur label au lieu de l'index du tableau.
label chaîne Libellé arbitraire permettant d'identifier la requête, renvoyé dans la réponse.
maxValidationErrors entier Spécifie le nombre maximal d'erreurs de validation à renvoyer. Si aucune valeur n'est spécifiée, une limite par défaut s'applique.
model object (ShipmentModel) Obligatoire. Ensemble de véhicules et d'envois à optimiser.
populatePolylines booléen (true/false) Si la valeur est true, renvoie les polylignes encodées pour les itinéraires.
populateTransitionPolylines booléen (true/false) Si la valeur est true, renvoie les polylignes encodées pour les transitions individuelles entre les visites.
refreshDetailsRoutes[] Tableau d'objets (ShipmentRoute) Liste des routes à actualiser. Cela recalcule les polylignes, les durées et les distances des itinéraires existants sans modifier la séquence des visites.
searchMode enum (SearchMode) RETURN_FAST (résultats rapides) ou CONSUME_ALL_AVAILABLE_TIME (meilleure qualité dans le délai d'inactivité).
solvingMode enum (SolvingMode) DEFAULT_SOLVE (par défaut) ou VALIDATE_ONLY pour valider le modèle sans le résoudre.
timeout Durée Durée maximale d'exécution du solveur (par exemple, "30s", "300s").
useGeodesicDistances booléen (true/false) Si la valeur est true, les distances et les temps de trajet sont calculés à l'aide des distances géodésiques (en ligne droite) et de la vitesse geodesicMetersPerSecond.
ShipmentModel
(Partie de OptimizeToursRequest)
durationDistanceMatrices[] Tableau d'objets (DurationDistanceMatrix) Spécifie les matrices de durée et de distance personnalisées utilisées pour le routage entre les lieux.
durationDistanceMatrixDstTags[] tableau de chaînes Tags définissant les destinations (colonnes) pour les matrices de durée et de distance personnalisées.
durationDistanceMatrixSrcTags[] tableau de chaînes Tags définissant les sources (lignes) pour les matrices de durée et de distance personnalisées.
globalDurationCostPerHour nombre Coût par heure de la durée totale de l'itinéraire, du début du trajet du premier véhicule à la fin du trajet du dernier véhicule.
globalEndTime Temporel Heure de fin la plus tardive pour un événement du modèle.
globalStartTime Temporel Heure de début la plus ancienne pour un événement du modèle.
maxActiveVehicles entier Nombre maximal de véhicules pouvant être actifs dans la solution.
precedenceRules[] Tableau d'objets (PrecedenceRule) Règles définissant les contraintes d'ordre entre des expéditions spécifiques.
shipments[] Tableau d'objets (Shipment) Liste des envois à traiter.
shipmentTypeIncompatibilities[] Tableau d'objets (ShipmentTypeIncompatibility) Règles empêchant le transport de certains types d'envois par le même véhicule.
shipmentTypeRequirements[] Tableau d'objets (ShipmentTypeRequirement) Règles exigeant que les expéditions de certains types soient traitées par le même véhicule.
transitionAttributes[] Tableau d'objets (TransitionAttributes) Spécifie les coûts supplémentaires, les délais et les limites de distance pour les transitions entre les visites avec des tags spécifiques.
vehicles[] Tableau d'objets (Vehicle) Liste des véhicules disponibles pour effectuer les livraisons.
Shipment
(Partie de ShipmentModel)
allowedVehicleIndices[] tableau d'entiers Indices des véhicules autorisés à effectuer cet envoi.
costsPerVehicle[] map (clé : entier, valeur : nombre) Coûts supplémentaires encourus si un véhicule spécifique assure la livraison.
costsPerVehicleIndices[] tableau d'entiers Indices des véhicules auxquels s'appliquent les valeurs costsPerVehicle.
deliveries[] Tableau d'objets (VisitRequest) Autres options de livraison du colis.
ignore booléen (true/false) Si la valeur est true, l'expédition est ignorée et n'est pas utilisée pour l'optimisation.
label chaîne Libellé défini par l'utilisateur pour identifier l'envoi, renvoyé dans la réponse.
loadDemands map (key: string, value: Load) Capacité requise (par exemple, poids ou volume) pour transporter cet envoi.
penaltyCost nombre Coût si l'envoi n'est pas pris en charge Si cette valeur n'est pas définie, l'expédition est obligatoire.
pickups[] Tableau d'objets (VisitRequest) Autres options pour récupérer le colis.
pickupToDeliveryAbsoluteDetourLimit Durée Temps de détour maximal autorisé entre la prise en charge et la livraison par rapport au trajet direct.
pickupToDeliveryRelativeDetourLimit nombre Détour relatif maximal autorisé pour l'envoi (par exemple, une valeur de 2,0 signifie que la durée totale peut être au maximum deux fois supérieure à la durée de trajet direct).
pickupToDeliveryTimeLimit Durée Durée maximale autorisée entre le début de la collecte et le début de la livraison.
shipmentType chaîne Type de classification utilisé pour les règles d'incompatibilité et d'exigence.
VisitRequest
(composant de pickups et deliveries dans Shipment)
arrivalLocation object (LatLng) Emplacement géographique d'arrivée sous forme de coordonnées de latitude/longitude.
arrivalWaypoint object (Waypoint) Lieu où le véhicule arrive pour effectuer la visite. Défini par des coordonnées ou un ID de lieu.
cost nombre Coût encouru si cette demande de visite spécifique est sélectionnée par le solveur.
departureLocation object (LatLng) Coordonnées géographiques (latitude/longitude) du lieu de départ.
departureWaypoint object (Waypoint) Lieu où le véhicule repart après la visite. Si cette valeur est omise, elle est considérée comme identique à arrivalWaypoint.
duration Durée Durée de la visite (temps de service), par exemple, temps nécessaire pour charger/décharger.
label chaîne Libellé défini par l'utilisateur pour cette demande de visite spécifique, renvoyé dans la réponse.
loadDemands map (key: string, value: Load) Exigences spécifiant la modification de la charge lors de cette visite (par exemple, -1 pour déposer un colis).
tags[] tableau de chaînes Tags associés à cette demande de visite. Elles permettent de calculer les temps de trajet entre cette visite et d'autres à l'aide de transitionAttributes.
timeWindows[] Tableau d'objets (TimeWindow) Les créneaux horaires autorisés pour l'arrivée à cette visite.
visitTypes[] tableau de chaînes Chaînes décrivant le type de visite (par exemple, "delivery", "installation"). Utilisé pour appliquer extraVisitDurationForVisitType à partir du modèle de véhicule.
Vehicle
(Partie de ShipmentModel)
breakRule object (BreakRule) Définit les règles pour les pauses (par exemple, la pause déjeuner obligatoire).
costPerHour nombre Coût par heure de la durée totale du trajet.
costPerKilometer nombre Coût par kilomètre parcouru.
costPerTraveledHour nombre Coût par heure lorsque le véhicule est en mouvement.
endLocation object (LatLng) Position géographique de fin sous forme de coordonnées de latitude/longitude.
endTags[] tableau de chaînes Balises définissant l'état final du véhicule, utilisées pour les attributs de transition.
endTimeWindows[] Tableau d'objets (TimeWindow) Plages horaires autorisées pour que le véhicule termine son trajet.
endWaypoint object (Waypoint) Emplacement géographique de destination à l'aide d'un point de cheminement (coordonnées ou ID de lieu).
extraVisitDurationForVisitType map (clé: chaîne, valeur: Duration) Ajoute une durée supplémentaire aux visites en fonction de leur visitType.
fixedCost nombre Coût fixe appliqué si le véhicule est utilisé, quelle que soit la distance ou la durée du trajet.
ignore booléen (true/false) Si la valeur est true, le véhicule est ignoré et n'est pas utilisé pour l'optimisation.
label chaîne Libellé défini par l'utilisateur pour le véhicule, renvoyé dans la réponse.
loadLimits map (key: string, value: LoadLimit) Capacités du véhicule (par exemple, poids maximal, volume maximal).
routeDistanceLimit object (DistanceLimit) Limite stricte ou souple de la distance totale de l'itinéraire du véhicule.
routeDurationLimit object (DurationLimit) Limite stricte ou souple de la durée totale de l'itinéraire du véhicule.
routeModifiers object (RouteModifiers) Une ou plusieurs contraintes, comme éviter les péages, les autoroutes ou les ferries.
startLocation object (LatLng) Position géographique de départ sous forme de coordonnées de latitude/longitude.
startTags[] tableau de chaînes Balises définissant l'état de départ du véhicule, utilisées pour les attributs de transition.
startTimeWindows[] Tableau d'objets (TimeWindow) Plages horaires autorisées pour que le véhicule commence son itinéraire.
startWaypoint object (Waypoint) Point de départ géographique à l'aide d'un point de cheminement (coordonnées ou ID de lieu).
travelDurationLimit object (DurationLimit) Limite stricte ou souple de la durée totale du trajet du véhicule (hors temps d'attente/de service).
travelDurationMultiple nombre Multiplicateur appliqué aux temps de trajet (par exemple, 1,5 : le trajet est 50 % plus lent).
travelMode enum (TravelMode) Mode de transport (par exemple, DRIVING, WALKING). Cela a une incidence sur les temps de trajet et les distances.
unloadingPolicy enum (UnloadingPolicy) Définit l'ordre de déchargement (par exemple, LIFO ou LAST_IN_FIRST_OUT).
usedIfRouteIsEmpty booléen (true/false) Si la valeur est true, le véhicule est considéré comme d'occasion, même sans expédition. Il entraîne des coûts fixes et se déplace entre ses lieux de départ et d'arrivée.

Corps de la réponse

Structure des données du corps de la réponse.

Le corps de la réponse inclut les éléments suivants, illustrés dans le schéma de droite et listés dans le tableau ci-dessous :

  • OptimizeToursResponse : objet de réponse de premier niveau contenant les itinéraires et les métriques optimisés.
    • Metrics : statistiques globales sur les coûts et l'exécution de la solution.
    • ShipmentRoute : séquence de visites et itinéraire attribués à un seul véhicule.
      • Visit : arrêt sur un itinéraire pour effectuer un retrait ou une livraison.
      • Transition : trajet et durée entre deux arrêts d'itinéraire.
      • AggregatedMetrics : totaux cumulés pour la durée, la distance et d'autres métriques. Cet élément peut être présent dans Metrics et ShipmentRoute.
Parent Paramètre Type de propriété Description
OptimizeToursResponse metrics object (Metrics) Métriques agrégées pour la solution, y compris le coût total, la distance totale, la durée totale et le nombre d'utilisations du véhicule.
requestLabel chaîne Libellé copié à partir du champ label de la requête. Permet de corréler la réponse avec la demande d'origine.
routes[] Tableau d'objets (ShipmentRoute) Liste des itinéraires calculés pour chaque véhicule. Contient une entrée pour chaque véhicule, quelle que soit son utilisation.
skippedShipments[] Tableau d'objets (SkippedShipment) Liste des envois ignorés (non traités), ainsi que les raisons pour lesquelles ils ont été ignorés.
validationErrors[] Tableau d'objets (OptimizeToursValidationError) Liste des erreurs de validation détectées dans le modèle d'entrée. Cette valeur est renseignée si solvingMode a été défini sur VALIDATE_ONLY ou si des erreurs se sont produites lors de la résolution.
Metrics
(Partie de OptimizeToursResponse)
aggregatedRouteMetrics object (AggregatedMetrics) Statistiques agrégées pour tous les itinéraires, telles que la distance totale parcourue, la durée totale et les temps d'attente.
costs map (key: string, value: number) Répartition des coûts par type (par exemple, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
earliestVehicleStartTime Temporel Heure de début la plus ancienne parmi tous les véhicules utilisés.
latestVehicleEndTime Temporel Heure de fin la plus récente parmi tous les véhicules utilisés.
skippedMandatoryShipmentCount entier Nombre d'expéditions obligatoires ignorées.
totalCost nombre Coût total de la solution, qui correspond à la somme de tous les coûts de trajet et des pénalités pour les expéditions ignorées.
usedVehicleCount entier Nombre de véhicules utilisés dans la solution.
AggregatedMetrics
(Partie de Metrics et ShipmentRoute)
breakDuration Durée Durée totale des pauses effectuées sur tous les itinéraires.
costs map (key: string, value: number) Répartition des coûts par type (par exemple, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
delayDuration Durée Durée totale du retard pour tous les itinéraires.
earliestVehicleStartTime Temporel Heure de début la plus ancienne parmi tous les véhicules utilisés.
latestVehicleEndTime Temporel Heure de fin la plus récente parmi tous les véhicules utilisés.
maxLoads map (key: string, value: VehicleLoad) Charge maximale transportée par un véhicule à un moment donné de la solution, classée par type de charge.
performedShipmentCount entier Nombre total d'expéditions effectuées par tous les véhicules.
skippedMandatoryShipmentCount entier Nombre d'expéditions obligatoires ignorées.
totalCost nombre Coût total de la solution, qui correspond à la somme de tous les coûts de trajet et des pénalités pour les expéditions ignorées.
totalDuration Durée Durée totale de tous les itinéraires (trajet + attente + retard + pause + visite).
travelDistanceMeters nombre Distance totale parcourue en mètres sur tous les itinéraires.
travelDuration Durée Durée totale du trajet pour tous les itinéraires.
usedVehicleCount entier Nombre de véhicules utilisés dans la solution.
visitDuration Durée Durée totale passée à effectuer des visites (chargement/déchargement) sur l'ensemble des itinéraires.
waitDuration Durée Durée d'attente totale pour tous les itinéraires.
ShipmentRoute
(Partie de OptimizeToursResponse)
breaks[] Tableau d'objets (Break) Liste des pauses effectuées par le véhicule au cours de l'itinéraire.
hasTrafficInfeasibilities booléen (true/false) Indique si la route présente des problèmes liés au trafic.
metrics object (AggregatedMetrics) Métriques spécifiques à cet itinéraire, telles que la distance et la durée totales parcourues.
routeCosts map (key: string, value: number) Répartition des coûts pour cet itinéraire. Les clés sont des types de coûts (par exemple, "cost_per_hour"), et les valeurs sont les montants.
routePolyline object (EncodedPolyline) Polyligne encodée représentant le chemin complet de l'itinéraire sur le plan géographique.
routeTotalCost nombre Coût total de l'itinéraire, somme de tous les coûts dans la carte routeCosts.
transitions[] Tableau d'objets (Transition) Liste ordonnée des transitions (étapes du trajet) reliant les visites.
vehicleEndTime Temporel Heure à laquelle le véhicule termine son trajet.
vehicleIndex entier Index du véhicule dans la source ShipmentModel qui effectue cet itinéraire.
vehicleLabel chaîne Libellé du véhicule défini par l'utilisateur, copié à partir du modèle de requête.
vehicleStartTime Temporel Heure à laquelle le véhicule commence son trajet.
visits[] Tableau d'objets (Visit) Séquence ordonnée des visites (collectes et livraisons) effectuées par le véhicule sur cet itinéraire.
Visit
(Partie de ShipmentRoute)
detour Durée Temps de détour supplémentaire occasionné par cette visite par rapport au trajet direct entre les visites précédente et suivante.
isPickup booléen (true/false) Si true, il s'agit d'un retrait. Si la valeur est "false", il s'agit d'une livraison.
loadDemands map (key: string, value: Load) Demandes de chargement satisfaites par cette visite (par exemple, -1 pour une livraison). Il s'agit d'une copie des demandes de charge VisitRequest correspondantes.
shipmentIndex entier Index du champ Shipment dans le modèle source auquel cette visite est associée.
shipmentLabel chaîne Libellé de l'envoi, copié à partir de ShipmentModel.
startTime Temporel Heure à laquelle la visite doit commencer.
visitLabel chaîne Libellé de la demande de visite, copié à partir de VisitRequest dans le modèle.
visitRequestIndex entier Index de VisitRequest dans la liste des enlèvements ou des livraisons de l'envoi auquel correspond cette visite.
Transition
(Partie de ShipmentRoute)
breakDuration Durée Durée des pauses prises pendant cette transition.
delayDuration Durée Durée du retard encouru lors de cette transition (par exemple, arriver en avance et attendre un créneau horaire).
routePolyline object (EncodedPolyline) Polyligne encodée représentant le chemin de cette transition spécifique.
routeToken chaîne Jeton opaque pouvant être transmis au SDK Navigation de Google pour reconstruire l'itinéraire pendant la navigation.
startTime Temporel Heure de début de cette transition.
totalDuration Durée Durée totale de la transition, y compris les trajets, les temps d'attente, les pauses et les retards.
trafficInfoUnavailable booléen (true/false) Si la valeur est true, cela indique que les données de trafic n'étaient pas disponibles pour cette transition.
travelDistanceMeters nombre Distance parcourue pendant cette transition, en mètres.
travelDuration Durée Durée du trajet pendant cette transition.
vehicleLoads map (key: string, value: VehicleLoad) Charge transportée par le véhicule pendant cette transition, classée par type de charge (par exemple, "weight").
waitDuration Durée Durée d'attente avant que la prochaine visite puisse commencer.