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 :

Ces tables de paramètres ne répertorient et ne décrivent que brièvement les objets de premier niveau et les paramètres principaux pour faciliter la découverte. 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 de 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 diagramme à 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 envois, 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) qui risque d'entraîner des interruptions 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 démarrer 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 true, les envois/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 des polylignes encodées pour les itinéraires.
populateTransitionPolylines booléen (true/false) Si la valeur est true, renvoie des 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 l'ordre des visites.
searchMode enum (SearchMode) RETURN_FAST (résultats rapides) ou CONSUME_ALL_AVAILABLE_TIME (meilleure qualité dans le délai imparti).
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 ré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 emplacements.
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 globale de l'itinéraire, du premier départ de véhicule à la dernière arrivée de véhicule.
globalEndTime Horodatage Heure de fin la plus tardive pour tout événement du modèle.
globalStartTime Horodatage Heure de début la plus précoce pour tout événement du modèle.
maxActiveVehicles entier Nombre maximal de véhicules autorisés à être actifs dans la solution.
precedenceRules[] tableau d'objets (PrecedenceRule) Règles définissant les contraintes de commande entre des envois spécifiques.
shipments[] tableau d'objets (Shipment) Liste des envois à traiter.
shipmentTypeIncompatibilities[] tableau d'objets (ShipmentTypeIncompatibility) Règles empêchant que des envois de certains types soient pris en charge par le même véhicule.
shipmentTypeRequirements[] tableau d'objets (ShipmentTypeRequirement) Règles exigeant que les envois de certains types soient pris en charge par le même véhicule.
transitionAttributes[] tableau d'objets (TransitionAttributes) Spécifie les coûts, les retards et les limites de distance supplémentaires 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 (key: integer, value: number) Coûts supplémentaires encourus si un véhicule spécifique prend en charge cet envoi.
costsPerVehicleIndices[] tableau d'entiers Indices des véhicules auxquels les valeurs costsPerVehicle s'appliquent.
deliveries[] tableau d'objets (VisitRequest) Alternatives pour la livraison.
ignore booléen (true/false) Si la valeur est true, l'envoi est ignoré et n'est pas utilisé dans 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 (poids, volume, etc.) pour transporter cet envoi.
penaltyCost nombre Coût si la livraison n'est pas assurée. Si cette valeur n'est pas définie, l'envoi est obligatoire.
pickups[] tableau d'objets (VisitRequest) Alternatives pour récupérer le colis
pickupToDeliveryAbsoluteDetourLimit Durée Temps de détour absolu 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 au temps de trajet direct).
pickupToDeliveryTimeLimit Durée Durée maximale autorisée entre le début de l'enlèvement et le début de la livraison.
shipmentType chaîne Classification de type utilisée pour les règles d'incompatibilité et d'exigence.
VisitRequest
(composant de pickups et deliveries dans Shipment)
arrivalLocation object (LatLng) Lieu d'arrivée géographique sous forme de coordonnées de latitude/longitude.
arrivalWaypoint object (Waypoint) Emplacement 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 l'outil de résolution.
departureLocation object (LatLng) Lieu de départ géographique sous forme de coordonnées de latitude/longitude.
departureWaypoint object (Waypoint) Lieu d'où part le véhicule après avoir terminé la visite. Si cette valeur est omise, elle est considérée comme identique à arrivalWaypoint.
duration Durée La durée de la visite (temps de service), par exemple le 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) Demandes 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 sont utilisées pour calculer les temps de trajet entre cette visite et d'autres à l'aide de transitionAttributes.
timeWindows[] tableau d'objets (TimeWindow) 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, "livraison", "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, pause déjeuner obligatoire).
costPerHour nombre Coût par heure de la durée totale de l'itinéraire.
costPerKilometer nombre Coût par kilomètre parcouru.
costPerTraveledHour nombre Coût par heure lorsque le véhicule est en mouvement.
endLocation object (LatLng) Emplacement 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) Créneaux autorisés pour que le véhicule termine son itinéraire.
endWaypoint object (Waypoint) Emplacement géographique de fin à l'aide d'un point de cheminement (coordonnées ou ID de lieu).
extraVisitDurationForVisitType map (key: string, value: 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 de l'itinéraire.
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 des véhicules (par exemple, poids maximal, volume maximal).
routeDistanceLimit object (DistanceLimit) Limite stricte ou souple sur 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) Emplacement 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) Créneaux autorisés pour que le véhicule commence son itinéraire.
startWaypoint object (Waypoint) Emplacement géographique de départ à l'aide d'un point de cheminement (coordonnées ou ID de lieu).
travelDurationLimit object (DurationLimit) Limite stricte ou flexible de la durée totale du trajet (hors temps d'attente/de service) du véhicule.
travelDurationMultiple nombre Multiplicateur appliqué aux temps de trajet (par exemple, 1,5 ralentit le trajet de 50 %).
travelMode enum (TravelMode) Le mode de transport (par exemple, DRIVING, WALKING). Il affecte 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 utilisé même sans chargements. Il entraîne des coûts fixes et se déplace entre ses points de départ et d'arrivée.

Corps de la réponse

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

Le corps de la réponse inclut les éléments suivants, qui sont illustrés dans le diagramme 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 : coût global et statistiques d'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 : itinéraire et durée entre deux arrêts.
      • AggregatedMetrics : somme des totaux pour la durée, la distance et d'autres métriques. Cet élément peut être présent à la fois 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. Utilisé pour mettre en corrélation la réponse avec la requête 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. Ce champ est renseigné 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 mappage (clé : chaîne, valeur : nombre) Répartition des coûts par type (par exemple, "model.vehicles.cost_per_kilometer", "model.shipments.penalty_cost").
earliestVehicleStartTime Horodatage Heure de début la plus précoce parmi tous les véhicules utilisés.
latestVehicleEndTime Horodatage Heure de fin la plus tardive parmi tous les véhicules utilisés.
skippedMandatoryShipmentCount entier Nombre d'envois obligatoires qui ont été ignorés.
totalCost nombre Coût total de la solution, qui correspond à la somme de tous les coûts d'itinéraire et des pénalités pour les envois ignorés.
usedVehicleCount entier Le nombre de véhicules utilisés dans la solution.
AggregatedMetrics
(Partie de Metrics et ShipmentRoute)
breakDuration Durée Durée totale des pauses prises sur tous les itinéraires.
costs mappage (clé : chaîne, valeur : nombre) 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 sur tous les itinéraires.
earliestVehicleStartTime Horodatage Heure de début la plus précoce parmi tous les véhicules utilisés.
latestVehicleEndTime Horodatage Heure de fin la plus tardive parmi tous les véhicules utilisés.
maxLoads map (key: string, value: VehicleLoad) Charge maximale transportée par un véhicule à tout moment de la solution, indexée par type de charge.
performedShipmentCount entier Nombre total d'envois effectués pour tous les véhicules.
skippedMandatoryShipmentCount entier Nombre d'envois obligatoires qui ont été ignorés.
totalCost nombre Coût total de la solution, qui correspond à la somme de tous les coûts d'itinéraire et des pénalités pour les envois ignorés.
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 tous les itinéraires.
waitDuration Durée Durée d'attente totale sur tous les itinéraires.
ShipmentRoute
(Partie de OptimizeToursResponse)
breaks[] tableau d'objets (Break) Liste des pauses effectuées par le véhicule pendant l'itinéraire.
hasTrafficInfeasibilities booléen (true/false) Indique si l'itinéraire présente des impossibilités liées au trafic.
metrics object (AggregatedMetrics) Métriques spécifiques à cet itinéraire, telles que la distance totale et la durée du trajet.
routeCosts mappage (clé : chaîne, valeur : nombre) Détail 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 d'accès complet de l'itinéraire géographiquement.
routeTotalCost nombre Coût total de l'itinéraire, somme de tous les coûts de la carte routeCosts.
transitions[] tableau d'objets (Transition) Liste ordonnée de transitions (étapes de voyage) reliant les visites.
vehicleEndTime Horodatage Heure à laquelle le véhicule termine son itinéraire.
vehicleIndex entier Index du véhicule dans la requête ShipmentModel source qui effectue cet itinéraire.
vehicleLabel chaîne Libellé défini par l'utilisateur du véhicule, copié à partir du modèle de requête.
vehicleStartTime Horodatage Heure à laquelle le véhicule commence son itinéraire.
visits[] tableau d'objets (Visit) Séquence ordonnée de visites (retraits 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 la visite précédente et la suivante.
isPickup booléen (true/false) Si la valeur est true, cette visite est un retrait. Si la valeur est "false", il s'agit d'une livraison.
loadDemands map (key: string, value: Load) Demandes de charge 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 que cette visite dessert.
shipmentLabel chaîne Libellé de l'envoi, copié à partir de ShipmentModel.
startTime Horodatage 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 l'objet VisitRequest dans la liste d'enlèvement ou de livraison de l'envoi auquel cette visite correspond.
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, arrivée en avance et attente d'un créneau horaire).
routePolyline object (EncodedPolyline) Polyligne encodée représentant le chemin d'accès de cette transition spécifique.
routeToken chaîne Jeton opaque pouvant être transmis au SDK Google Navigation pour reconstruire l'itinéraire pendant la navigation.
startTime Horodatage Heure de début de cette transition.
totalDuration Durée Durée totale de la transition, y compris le trajet, l'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, indexée par le type de charge (par exemple, "poids").
waitDuration Durée Durée d'attente avant que la visite suivante puisse commencer.