Parameterliste

Die folgende Seite enthält Parametertabellen in alphabetischer Reihenfolge für die folgenden Komponenten der Route Optimization API-Methode optimizeTours:

In diesen Parametertabellen werden nur die übergeordneten Objekte und die wichtigsten Parameter aufgeführt und kurz beschrieben, damit sie leichter zu finden sind. Eine vollständige Liste mit Beschreibungen und allen verschachtelten Parametern finden Sie in der API-Referenzdokumentation.

Anfragetext

Die Datenstruktur des Anfragetexts.

Der Anfragetext enthält die folgenden Elemente, die im Diagramm rechts dargestellt und in der Tabelle unten aufgeführt sind:

  • OptimizeToursRequest: Das Anfrageobjekt der obersten Ebene, das das Modell und die Lösungsparameter enthält.
    • ShipmentModel: Die zentrale Datenstruktur, die Sendungen, Fahrzeuge und globale Einschränkungen enthält.
      • Shipment: Eine Aufgabe mit Abholungen und Lieferungen.
        • VisitRequest: Der Ort und die Einschränkungen für eine Abholung oder Lieferung.
      • Vehicle: Ein Fahrzeug, das für Lieferungen verfügbar ist.
Elternteil Parameter Property-Typ Beschreibung
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk boolesch (true/false) Wenn true, wird die Anfrage auch dann verarbeitet, wenn das Zeitlimit auf einen großen Wert (länger als 30 Minuten) festgelegt ist, der potenzielle Serverunterbrechungen riskiert.
considerRoadTraffic boolesch (true/false) Wenn true, werden Verkehrsdaten für das Routing verwendet. Wenn „false“, werden nur die Geschwindigkeiten des Straßennetzes verwendet.
geodesicMetersPerSecond Zahl Wenn useGeodesicDistances „true“ ist, wird diese Geschwindigkeit zur Berechnung der Reisedauer verwendet.
injectedFirstSolutionRoutes[] Array von Objekten (ShipmentRoute) Routen aus einer vorherigen Lösung, von der aus die Optimierung gestartet werden soll.
injectedSolutionConstraint Objekt (InjectedSolutionConstraint) Schränkt die Lösung so ein, dass sie vorhandenen Routen ähnelt. Dabei wird angegeben, welche Eigenschaften beibehalten werden müssen und welche gelockert werden können.
interpretInjectedSolutionsUsingLabels boolesch (true/false) Wenn true, werden Sendungen/Fahrzeuge in eingefügten Routen anhand ihrer label anstelle des Array-Index abgeglichen.
label String Beliebiges Label zur Identifizierung der Anfrage, das in der Antwort zurückgegeben wird.
maxValidationErrors integer Gibt die maximale Anzahl der zurückzugebenden Validierungsfehler an. Wenn nichts angegeben ist, gilt ein Standardlimit.
model Objekt (ShipmentModel) Erforderlich. Die Gruppe von Fahrzeugen und Sendungen, die optimiert werden sollen.
populatePolylines boolesch (true/false) Wenn true, werden codierte Polylinien für Routen zurückgegeben.
populateTransitionPolylines boolesch (true/false) Wenn true, werden codierte Polylinien für einzelne Übergänge zwischen Besuchen zurückgegeben.
refreshDetailsRoutes[] Array von Objekten (ShipmentRoute) Eine Liste der zu aktualisierenden Routen. Dadurch werden Polylinien, Dauern und Entfernungen für vorhandene Routen neu berechnet, ohne die Besuchsreihenfolge zu ändern.
searchMode enum (SearchMode) RETURN_FAST (schnelle Ergebnisse) oder CONSUME_ALL_AVAILABLE_TIME (beste Qualität innerhalb des Zeitlimits).
solvingMode enum (SolvingMode) DEFAULT_SOLVE (Standard) oder VALIDATE_ONLY, um das Modell zu validieren, ohne es zu lösen.
timeout Dauer Die maximale Dauer, die der Solver ausgeführt werden soll (z.B. „30s“, „300s“).
useGeodesicDistances boolesch (true/false) Wenn true, werden Entfernungen und Reisezeiten anhand von geodätischen Entfernungen (Luftlinie) und der Geschwindigkeit geodesicMetersPerSecond berechnet.
ShipmentModel
(Teil von OptimizeToursRequest)
durationDistanceMatrices[] Array von Objekten (DurationDistanceMatrix) Gibt benutzerdefinierte Dauern und Distanzmatrizen an, die für das Routing zwischen Standorten verwendet werden.
durationDistanceMatrixDstTags[] String-Array Tags, die die Ziele (Spalten) für die benutzerdefinierten Dauer- und Distanzmatrizen definieren.
durationDistanceMatrixSrcTags[] String-Array Tags, die die Quellen (Zeilen) für die benutzerdefinierten Dauer- und Distanzmatrizen definieren.
globalDurationCostPerHour Zahl Kosten pro Stunde für die globale Zeitspanne der Route, vom frühesten Fahrzeugstart bis zum spätesten Fahrzeugende.
globalEndTime Timestamp Spätester Endzeitpunkt für ein Ereignis im Modell.
globalStartTime Timestamp Frühester Beginn für ein Ereignis im Modell.
maxActiveVehicles integer Maximale Anzahl von Fahrzeugen, die in der Lösung aktiv sein dürfen.
precedenceRules[] Array von Objekten (PrecedenceRule) Regeln, die Einschränkungen für die Reihenfolge zwischen bestimmten Sendungen definieren.
shipments[] Array von Objekten (Shipment) Die Liste der Sendungen, die bearbeitet werden sollen.
shipmentTypeIncompatibilities[] Array von Objekten (ShipmentTypeIncompatibility) Regeln, die verhindern, dass Sendungen bestimmter Typen vom selben Fahrzeug bedient werden.
shipmentTypeRequirements[] Array von Objekten (ShipmentTypeRequirement) Regeln, die vorschreiben, dass Sendungen bestimmter Typen vom selben Fahrzeug bedient werden müssen.
transitionAttributes[] Array von Objekten (TransitionAttributes) Gibt zusätzliche Kosten, Verzögerungen und Entfernungsbeschränkungen für Übergänge zwischen Besuchen mit bestimmten Tags an.
vehicles[] Array von Objekten (Vehicle) Die Liste der Fahrzeuge, die für die Ausführung der Sendungen verfügbar sind.
Shipment
(Teil von ShipmentModel)
allowedVehicleIndices[] Ganzzahlen-Array Indizes von Fahrzeugen, die diese Sendung ausführen dürfen.
costsPerVehicle[] Zuordnung (key: integer, value: number) Zusätzliche Kosten, die anfallen, wenn ein bestimmtes Fahrzeug diese Sendung ausführt.
costsPerVehicleIndices[] Ganzzahlen-Array Indizes von Fahrzeugen, für die costsPerVehicle-Werte gelten.
deliveries[] Array von Objekten (VisitRequest) Alternativen für die Zustellung der Sendung.
ignore boolesch (true/false) Wenn true, wird die Sendung ignoriert und nicht für die Optimierung verwendet.
label String Benutzerdefiniertes Label zur Identifizierung der Sendung, das in der Antwort zurückgegeben wird.
loadDemands map (key: string, value: Load) Die erforderliche Kapazität (z.B. Gewicht, Volumen) für den Transport dieser Sendung.
penaltyCost Zahl Kosten, wenn die Sendung nicht zugestellt wird. Wenn nicht festgelegt, ist die Sendung obligatorisch.
pickups[] Array von Objekten (VisitRequest) Alternativen für die Abholung der Sendung.
pickupToDeliveryAbsoluteDetourLimit Dauer Die maximal zulässige absolute Umwegzeit zwischen Abholung und Lieferung im Vergleich zum direkten Weg.
pickupToDeliveryRelativeDetourLimit Zahl Der maximal zulässige relative Umweg für die Sendung (z. B. bedeutet ein Wert von 2,0, dass die Gesamtzeit höchstens das Zweifache der direkten Fahrtzeit betragen darf).
pickupToDeliveryTimeLimit Dauer Die maximal zulässige Dauer vom Beginn der Abholung bis zum Beginn der Lieferung.
shipmentType String Typklassifizierung, die für Inkompatibilitäts- und Anforderungsregeln verwendet wird.
VisitRequest
(Eine Komponente von pickups und deliveries in Shipment)
arrivalLocation Objekt (LatLng) Der geografische Ankunftsort als Breiten-/Längengradkoordinaten.
arrivalWaypoint Objekt (Waypoint) Der Ort, an dem das Fahrzeug für den Besuch ankommt. Wird durch Koordinaten oder eine Orts-ID definiert.
cost Zahl Die Kosten, die anfallen, wenn diese bestimmte Besuchsanfrage vom Solver ausgewählt wird.
departureLocation Objekt (LatLng) Der geografische Abflugort als Breiten-/Längengradkoordinaten.
departureWaypoint Objekt (Waypoint) Der Ort, an dem das Fahrzeug nach Abschluss des Besuchs abfährt. Wenn sie weggelassen wird, wird davon ausgegangen, dass sie mit der arrivalWaypoint identisch ist.
duration Dauer Die Dauer des Besuchs (Servicezeit), z.B. wie lange das Be- und Entladen dauert.
label String Benutzerdefiniertes Label für diese spezifische Besuchsanfrage, das in der Antwort zurückgegeben wird.
loadDemands map (key: string, value: Load) Anforderungen, die die Laständerung bei diesem Besuch angeben (z.B. -1, um ein Paket abzugeben).
tags[] String-Array Tags, die an diese Besuchs-Anfrage angehängt sind. Diese werden verwendet, um die Fahrtzeiten zwischen diesem und anderen Besuchen mit transitionAttributes zu berechnen.
timeWindows[] Array von Objekten (TimeWindow) Die zulässigen Zeitfenster für die Ankunft bei diesem Besuch.
visitTypes[] String-Array Strings, die die Art des Besuchs beschreiben (z.B. „Lieferung“, „Installation“). Wird verwendet, um extraVisitDurationForVisitType aus dem Fahrzeugmodell anzuwenden.
Vehicle
(Teil von ShipmentModel)
breakRule Objekt (BreakRule) Definiert Regeln für Pausen (z.B. obligatorische Mittagspause).
costPerHour Zahl Kosten pro Stunde der gesamten Routendauer.
costPerKilometer Zahl Kosten pro gefahrenem Kilometer.
costPerTraveledHour Zahl Kosten pro Stunde, während sich das Fahrzeug bewegt.
endLocation Objekt (LatLng) Der geografische Zielort als Breiten-/Längengradkoordinaten.
endTags[] String-Array Tags, die den Endzustand des Fahrzeugs definieren und für Übergangsattribute verwendet werden.
endTimeWindows[] Array von Objekten (TimeWindow) Zulässige Zeitfenster, in denen das Fahrzeug seine Route beenden kann.
endWaypoint Objekt (Waypoint) Geografischer Endpunkt, der als Wegpunkt (Koordinaten oder Orts-ID) angegeben wird.
extraVisitDurationForVisitType map (key: string, value: Duration) Fügt Besuchen basierend auf ihrem visitType zusätzliche Dauer hinzu.
fixedCost Zahl Fixkosten, die anfallen, wenn das Fahrzeug verwendet wird, unabhängig von der Entfernung oder Dauer der Route.
ignore boolesch (true/false) Wenn true, wird das Fahrzeug ignoriert und nicht für die Optimierung verwendet.
label String Benutzerdefiniertes Label für das Fahrzeug, das in der Antwort zurückgegeben wird.
loadLimits map (key: string, value: LoadLimit) Fahrzeugkapazitäten (z. B. maximales Gewicht, maximales Volumen)
routeDistanceLimit Objekt (DistanceLimit) Ein hartes oder weiches Limit für die Gesamtstrecke der Fahrzeugroute.
routeDurationLimit Objekt (DurationLimit) Ein hartes oder weiches Limit für die Gesamtdauer der Route des Fahrzeugs.
routeModifiers Objekt (RouteModifiers) Eine oder mehrere Einschränkungen, z. B. das Vermeiden von Mautstraßen, Autobahnen oder Fähren.
startLocation Objekt (LatLng) Der geografische Startort als Breiten- und Längengradkoordinaten.
startTags[] String-Array Tags, die den Startzustand des Fahrzeugs definieren und für Übergangsattribute verwendet werden.
startTimeWindows[] Array von Objekten (TimeWindow) Zulässige Zeitfenster für den Start der Route des Fahrzeugs.
startWaypoint Objekt (Waypoint) Geografischer Startort mit einem Wegpunkt (Koordinaten oder Orts-ID).
travelDurationLimit Objekt (DurationLimit) Ein hartes oder weiches Limit für die Gesamtfahrtdauer (ohne Warte-/Servicezeit) des Fahrzeugs.
travelDurationMultiple Zahl Multiplikator, der auf die Reisedauer angewendet wird (z. B. wird die Reisedauer bei 1,5 um 50 % verlängert).
travelMode enum (TravelMode) Die Mobilitätsform (z.B. DRIVING, WALKING). Sie wirkt sich auf die Reisedauer und die Entfernungen aus.
unloadingPolicy enum (UnloadingPolicy) Definiert die Reihenfolge des Entladens (z.B. LIFO oder LAST_IN_FIRST_OUT).
usedIfRouteIsEmpty boolesch (true/false) Wenn true, gilt das Fahrzeug auch ohne Sendungen als verwendet. Es fallen Fixkosten an und es fährt zwischen Start- und Zielort.

Antworttext

Die Datenstruktur des Antworttexts.

Der Antworttext enthält die folgenden Elemente, die im Diagramm rechts dargestellt und in der Tabelle unten aufgeführt sind:

  • OptimizeToursResponse: Das Antwortobjekt der obersten Ebene, das die optimierten Routen und Messwerte enthält.
    • Metrics: Die Gesamtkosten und Ausführungsstatistiken für die Lösung.
    • ShipmentRoute: Die Abfolge von Besuchen und der Reiseweg, die einem einzelnen Fahrzeug zugewiesen sind.
      • Visit: Ein Halt auf einer Route, um eine Abholung oder Lieferung durchzuführen.
      • Transition: Der Reiseweg und die Dauer zwischen zwei Routenhaltestellen.
      • AggregatedMetrics: Die Summe der Dauer, Entfernung und anderer Messwerte. Dieses Element kann sowohl in Metrics als auch in ShipmentRoute vorhanden sein.
Elternteil Parameter Property-Typ Beschreibung
OptimizeToursResponse metrics Objekt (Metrics) Aggregierte Messwerte für die Lösung, einschließlich Gesamtkosten, Gesamtstrecke, Gesamtdauer und Anzahl der Fahrzeugnutzungen.
requestLabel String Das Label, das aus dem Feld label der Anfrage kopiert wurde. Wird verwendet, um die Antwort mit der ursprünglichen Anfrage zu korrelieren.
routes[] Array von Objekten (ShipmentRoute) Die Liste der für jedes Fahrzeug berechneten Routen. Enthält einen Eintrag für jedes Fahrzeug, unabhängig von der Nutzung.
skippedShipments[] Array von Objekten (SkippedShipment) Die Liste der Sendungen, die übersprungen (nicht bedient) wurden, zusammen mit den Gründen für das Überspringen.
validationErrors[] Array von Objekten (OptimizeToursValidationError) Eine Liste der Validierungsfehler, die im Eingabemodell gefunden wurden. Dieses Feld wird ausgefüllt, wenn solvingMode auf VALIDATE_ONLY gesetzt wurde oder wenn beim Lösen Fehler aufgetreten sind.
Metrics
(Teil von OptimizeToursResponse)
aggregatedRouteMetrics Objekt (AggregatedMetrics) Aggregierte Statistiken für alle Routen, z. B. die zurückgelegte Gesamtstrecke, die Gesamtdauer und die Wartezeiten.
costs map (key: string, value: number) Eine Aufschlüsselung der Kosten nach Typ (z.B. „model.vehicles.cost_per_kilometer“, „model.shipments.penalty_cost“).
earliestVehicleStartTime Timestamp Die früheste Startzeit aller verwendeten Fahrzeuge.
latestVehicleEndTime Timestamp Die späteste Endzeit aller verwendeten Fahrzeuge.
skippedMandatoryShipmentCount integer Die Anzahl der übersprungenen obligatorischen Sendungen.
totalCost Zahl Die Gesamtkosten der Lösung, die sich aus der Summe aller Routenkosten und Strafen für ausgelassene Sendungen ergeben.
usedVehicleCount integer Die Anzahl der in der Lösung verwendeten Fahrzeuge.
AggregatedMetrics
(Teil von Metrics und ShipmentRoute)
breakDuration Dauer Die Gesamtdauer der Pausen auf allen Routen.
costs map (key: string, value: number) Eine Aufschlüsselung der Kosten nach Typ (z.B. „model.vehicles.cost_per_kilometer“, „model.shipments.penalty_cost“).
delayDuration Dauer Die Gesamtverzögerung auf allen Routen.
earliestVehicleStartTime Timestamp Die früheste Startzeit aller verwendeten Fahrzeuge.
latestVehicleEndTime Timestamp Die späteste Endzeit aller verwendeten Fahrzeuge.
maxLoads map (key: string, value: VehicleLoad) Die maximale Last, die ein Fahrzeug an einem beliebigen Punkt in der Lösung transportiert, sortiert nach Lasttyp.
performedShipmentCount integer Die Gesamtzahl der Sendungen, die von allen Fahrzeugen ausgeführt wurden.
skippedMandatoryShipmentCount integer Die Anzahl der übersprungenen obligatorischen Sendungen.
totalCost Zahl Die Gesamtkosten der Lösung, die sich aus allen Routenkosten und Strafen für übersprungene Sendungen zusammensetzen.
totalDuration Dauer Die Gesamtdauer aller Routen (Fahrt + Wartezeit + Verspätung + Pause + Besuch).
travelDistanceMeters Zahl Die Gesamtreisestrecke in Metern über alle Routen hinweg.
travelDuration Dauer Die Gesamtreisedauer für alle Routen.
usedVehicleCount integer Die Anzahl der in der Lösung verwendeten Fahrzeuge.
visitDuration Dauer Die Gesamtdauer aller Besuche (Be- und Entladen) auf allen Routen.
waitDuration Dauer Die Gesamtwartedauer für alle Routen.
ShipmentRoute
(Teil von OptimizeToursResponse)
breaks[] Array von Objekten (Break) Eine Liste der Pausen, die das Fahrzeug während der Route eingelegt hat.
hasTrafficInfeasibilities boolesch (true/false) Gibt an, ob die Route verkehrsbedingte Unzulänglichkeiten aufweist.
metrics Objekt (AggregatedMetrics) Messwerte, die für diese Route spezifisch sind, z. B. die Gesamtstrecke und die Gesamtdauer.
routeCosts map (key: string, value: number) Eine Aufschlüsselung der Kosten für diese Route. Schlüssel sind Kostentypen (z.B. „cost_per_hour“) und Werte sind die Beträge.
routePolyline Objekt (EncodedPolyline) Die codierte Polylinie, die den vollständigen Pfad der Route geografisch darstellt.
routeTotalCost Zahl Die Gesamtkosten der Route, also die Summe aller Kosten in der routeCosts-Karte.
transitions[] Array von Objekten (Transition) Eine sortierte Liste von Übergängen (Reiseabschnitten), die die Besuche verbinden.
vehicleEndTime Timestamp Der Zeitpunkt, zu dem das Fahrzeug seine Route beendet.
vehicleIndex integer Der Index des Fahrzeugs in der Quelle ShipmentModel, das diese Route fährt.
vehicleLabel String Das benutzerdefinierte Label des Fahrzeugs, das aus dem Anfragemodell kopiert wurde.
vehicleStartTime Timestamp Der Zeitpunkt, zu dem das Fahrzeug seine Route beginnt.
visits[] Array von Objekten (Visit) Die geordnete Abfolge von Besuchen (Abholungen und Lieferungen), die das Fahrzeug auf dieser Route ausführt.
Visit
(Teil von ShipmentRoute)
detour Dauer Die zusätzliche Umwegzeit, die durch diesen Besuch im Vergleich zum direkten Weg zwischen dem vorherigen und dem nächsten Besuch entsteht.
isPickup boolesch (true/false) Wenn true, ist dieser Besuch eine Abholung. Wenn „false“, handelt es sich um eine Lieferung.
loadDemands map (key: string, value: Load) Die durch diesen Besuch erfüllten Lastanforderungen (z.B. -1 für eine Lieferung). Dies ist eine Kopie der entsprechenden VisitRequest-Lastanforderungen.
shipmentIndex integer Der Index des Felds Shipment im Quellmodell, das von diesem Besuch bedient wird.
shipmentLabel String Das Label der Sendung, kopiert aus dem ShipmentModel.
startTime Timestamp Der Zeitpunkt, zu dem der Besuch beginnen soll.
visitLabel String Das Label der Besuchsanfrage, kopiert aus dem VisitRequest im Modell.
visitRequestIndex integer Der Index des VisitRequest in der Abhol- oder Lieferliste der Sendung, dem dieser Besuch entspricht.
Transition
(Teil von ShipmentRoute)
breakDuration Dauer Die Dauer der Pausen, die während dieses Übergangs eingelegt wurden.
delayDuration Dauer Die Dauer der Verzögerung, die während dieses Übergangs auftritt (z.B. frühe Ankunft und Warten auf ein Zeitfenster).
routePolyline Objekt (EncodedPolyline) Die codierte Polylinie, die den Pfad dieses bestimmten Übergangs darstellt.
routeToken String Ein opakes Token, das an das Google Navigation SDK übergeben werden kann, um die Route während der Navigation zu rekonstruieren.
startTime Timestamp Die Startzeit dieses Übergangs.
totalDuration Dauer Die Gesamtdauer des Übergangs, einschließlich Fahrt, Wartezeit, Pausen und Verzögerungen.
trafficInfoUnavailable boolesch (true/false) Wenn true, bedeutet dies, dass für diesen Übergang keine Verkehrsdaten verfügbar waren.
travelDistanceMeters Zahl Die während dieses Übergangs zurückgelegte Strecke in Metern.
travelDuration Dauer Die Dauer der Fahrt während dieses Übergangs.
vehicleLoads map (key: string, value: VehicleLoad) Die Last, die das Fahrzeug während dieses Übergangs transportiert, sortiert nach Lasttyp (z.B. „Gewicht“).
waitDuration Dauer Die Wartezeit, bevor der nächste Besuch beginnen kann.