Parameterliste

Auf der folgenden Seite finden Sie Parametertabellen in alphabetischer Reihenfolge für die folgenden Komponenten der Methode optimizeTours der Route Optimization API:

In diesen Parametertabellen werden nur die Objekte der obersten Ebene und die wichtigsten Parameter aufgeführt und kurz beschrieben, um die Suche zu erleichtern. Eine vollständige Liste mit vollständigen 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 die Modell- und Lösungsparameter enthält.
    • ShipmentModel: Die zentrale Datenstruktur mit Sendungen, Fahrzeugen und globalen Einschränkungen.
      • Shipment: Eine Aufgabe mit Abholungen und Zustellungen.
        • VisitRequest: Der Ort und die Einschränkungen für die Abholung oder Lieferung.
      • Vehicle: Ein Fahrzeug, das für den Versand zur Verfügung steht.
Hat Kinder 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 das Risiko potenzieller Serverunterbrechungen birgt.
considerRoadTraffic Boolesch (true/false) Wenn true, werden Verkehrsdaten für die Routenberechnung verwendet. Bei „false“ werden nur Geschwindigkeiten aus dem Straßennetz verwendet.
geodesicMetersPerSecond Zahl Wenn useGeodesicDistances „true“ ist, wird diese Geschwindigkeit zur Berechnung der Reisezeiten verwendet.
injectedFirstSolutionRoutes[] Array von Objekten (ShipmentRoute) Routen aus einer vorherigen Lösung, mit denen die Optimierung beginnen soll.
injectedSolutionConstraint object (InjectedSolutionConstraint) Schränkt die Lösung so ein, dass sie ähnlichen Routen entspricht. Dabei wird angegeben, welche Eigenschaften beibehalten und welche gelockert werden dürfen.
interpretInjectedSolutionsUsingLabels Boolesch (true/false) Wenn true, werden Sendungen/Fahrzeuge in eingefügten Routen anhand von 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 object (ShipmentModel) Erforderlich. Die Gruppe der zu optimierenden Fahrzeuge und Sendungen.
populatePolylines Boolesch (true/false) Bei 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, Dauer 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) Falls true, werden Entfernungen und Zeiten anhand von geodätischen (Luftlinie-)Entfernungen und der geodesicMetersPerSecond-Geschwindigkeit berechnet.
ShipmentModel
(Teil von OptimizeToursRequest)
durationDistanceMatrices[] Array von Objekten (DurationDistanceMatrix) Gibt benutzerdefinierte Dauer- 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, mit denen die Quellen (Zeilen) für die benutzerdefinierten Dauer- und Distanzmatrizen definiert werden.
globalDurationCostPerHour Zahl Kosten pro Stunde des globalen Zeitraums der Route, vom frühesten Fahrzeugstart bis zum spätesten Fahrzeugende.
globalEndTime Timestamp Spätestes Enddatum für ein beliebiges Ereignis im Modell.
globalStartTime Timestamp Früheste Startzeit für ein beliebiges 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 die Reihenfolge zwischen bestimmten Sendungen definieren.
shipments[] Array von Objekten (Shipment) Die Liste der zu bearbeitenden Sendungen.
shipmentTypeIncompatibilities[] Array von Objekten (ShipmentTypeIncompatibility) Regeln, die verhindern, dass bestimmte Arten von Sendungen mit demselben Fahrzeug transportiert werden.
shipmentTypeRequirements[] Array von Objekten (ShipmentTypeRequirement) Regeln, die vorschreiben, dass Sendungen bestimmter Art mit demselben Fahrzeug transportiert 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 Durchführung der Lieferungen zur Verfügung stehen.
Shipment
(Teil von ShipmentModel)
allowedVehicleIndices[] Ganzzahlen-Array Indexe der Fahrzeuge, die für diese Sendung zugelassen sind.
costsPerVehicle[] map (key: integer, value: number) Zusätzliche Kosten, die anfallen, wenn ein bestimmtes Fahrzeug für diese Sendung verwendet wird.
costsPerVehicleIndices[] Ganzzahlen-Array Index der Fahrzeuge, 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 für den Transport dieser Sendung erforderliche Kapazität (z.B. Gewicht, Volumen).
penaltyCost Zahl Kosten, wenn die Sendung nicht zugestellt wird. Wenn nicht festgelegt, ist die Sendung obligatorisch.
pickups[] Array von Objekten (VisitRequest) Alternativen zur Abholung der Sendung.
pickupToDeliveryAbsoluteDetourLimit Dauer Die maximal zulässige absolute Umwegzeit zwischen Abholung und Zustellung im Vergleich zum direkten Weg.
pickupToDeliveryRelativeDetourLimit Zahl Die maximal zulässige relative Umleitung für die Sendung (z. B. bedeutet ein Wert von 2,0, dass die Gesamtzeit höchstens das Doppelte der direkten Reisezeit betragen darf).
pickupToDeliveryTimeLimit Dauer Die maximal zulässige Dauer vom Beginn der Abholung bis zum Beginn der Zustellung.
shipmentType String Typklassifizierung für Inkompatibilitäts- und Anforderungsregeln.
VisitRequest
(eine Komponente von pickups und deliveries in Shipment)
arrivalLocation object (LatLng) Der geografische Ankunftsort als Koordinaten für Breiten- und Längengrad.
arrivalWaypoint object (Waypoint) Der Ort, an dem das Fahrzeug ankommt, um den Besuch durchzuführen. Wird durch Koordinaten oder eine Orts-ID definiert.
cost Zahl Die Kosten, die anfallen, wenn diese bestimmte Besuchsaufforderung vom Solver ausgewählt wird.
departureLocation object (LatLng) Der geografische Abfahrtsort als Koordinaten für Breiten- und Längengrad.
departureWaypoint object (Waypoint) Der Ort, an dem das Fahrzeug nach Abschluss des Besuchs abfährt. Wird sie weggelassen, 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 bestimmte Besuchsaufforderung, das in der Antwort zurückgegeben wird.
loadDemands map (key: string, value: Load) Anforderungen, in denen die Laständerung bei diesem Besuch angegeben wird (z.B. –1, um ein Paket abzugeben).
tags[] String-Array Tags, die dieser Besuchsaufforderung zugeordnet sind. Sie werden verwendet, um die Reisezeiten 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 den Typ des Besuchs beschreiben (z.B. „Lieferung“, „Installation“). Wird verwendet, um extraVisitDurationForVisitType aus dem Fahrzeugmodell anzuwenden.
Vehicle
(Teil von ShipmentModel)
breakRule object (BreakRule) Definiert Regeln für Pausen (z.B. obligatorische Mittagspause).
costPerHour Zahl Kosten pro Stunde der Gesamtdauer der Route.
costPerKilometer Zahl Kosten pro gefahrenem Kilometer.
costPerTraveledHour Zahl Kosten pro Stunde, während sich das Fahrzeug bewegt.
endLocation object (LatLng) Der geografische Endstandort als Koordinaten für Breiten- und Längengrad.
endTags[] String-Array Tags, die den Endzustand des Fahrzeugs definieren und für Übergangsattribute verwendet werden.
endTimeWindows[] Array von Objekten (TimeWindow) Zulässige Zeitfenster für das Beenden der Route durch das Fahrzeug.
endWaypoint object (Waypoint) Geografischer Endstandort mit einem Wegpunkt (Koordinaten oder Orts-ID).
extraVisitDurationForVisitType map (key: string, value: Duration) Fügt Besuchen basierend auf ihrem visitType zusätzliche Dauer hinzu.
fixedCost Zahl Feste Kosten, 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 object (DistanceLimit) Ein hartes oder weiches Limit für die Gesamtstrecke der Fahrzeugroute.
routeDurationLimit object (DurationLimit) Ein hartes oder weiches Limit für die Gesamtdauer der Fahrzeugroute.
routeModifiers object (RouteModifiers) Eine oder mehrere Einschränkungen, z. B. Mautstraßen, Autobahnen oder Fähren vermeiden.
startLocation object (LatLng) Der geografische Startort als Koordinaten für Breiten- und Längengrad.
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 object (Waypoint) Geografischer Startort mit einem Wegpunkt (Koordinaten oder Orts-ID).
travelDurationLimit object (DurationLimit) Ein hartes oder weiches Limit für die Gesamtdauer der Fahrt (ohne Warte-/Servicezeit) des Fahrzeugs.
travelDurationMultiple Zahl Multiplikator für Reisezeiten (z.B. Bei 1,5 km/h dauert die Reise 50% länger.
travelMode enum (TravelMode) Die Mobilitätsform (z.B. DRIVING, WALKING). Wirkt sich auf Reisezeiten und ‑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 gebraucht. Es fallen Fixkosten an und es wird zwischen Start- und Endpunkt gefahren.

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 Reihenfolge der Besuche und der Fahrtweg, die einem einzelnen Fahrzeug zugewiesen sind.
      • Visit: Ein Stopp auf einer Route, um etwas abzuholen oder zuzustellen.
      • Transition: Der Reiseweg und die Dauer zwischen zwei Routenpunkten.
      • AggregatedMetrics: Die Summe der Gesamtwerte für Dauer, Entfernung und andere Messwerte. Dieses Element kann sowohl in Metrics als auch in ShipmentRoute vorhanden sein.
Hat Kinder Parameter Property-Typ Beschreibung
OptimizeToursResponse metrics object (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 in Beziehung zu setzen.
routes[] Array von Objekten (ShipmentRoute) Die Liste der Routen, die für jedes Fahrzeug berechnet wurden. 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 bearbeitet) wurden, zusammen mit den Gründen für das Überspringen.
validationErrors[] Array von Objekten (OptimizeToursValidationError) Eine Liste der Validierungsfehler, die im Eingabemodell gefunden wurden. Dieser Wert wird ausgefüllt, wenn solvingMode auf VALIDATE_ONLY gesetzt wurde oder wenn beim Lösen Fehler aufgetreten sind.
Metrics
(Teil von OptimizeToursResponse)
aggregatedRouteMetrics object (AggregatedMetrics) Zusammengefasste Statistiken für alle Routen, z. B. die gesamte zurückgelegte Strecke, 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 obligatorischen Sendungen, die übersprungen wurden.
totalCost Zahl Die Gesamtkosten der Lösung, einschließlich aller Routenkosten und Strafen für übersprungene Sendungen.
usedVehicleCount integer Die Anzahl der in der Lösung verwendeten Fahrzeuge.
AggregatedMetrics
(Teil von Metrics und ShipmentRoute)
breakDuration Dauer Die Gesamtdauer aller 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 Gesamtdauer der Verzögerung für alle 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 von einem Fahrzeug zu einem beliebigen Zeitpunkt in der Lösung transportiert wird, nach Lasttyp aufgeschlüsselt.
performedShipmentCount integer Die Gesamtzahl der Sendungen, die mit allen Fahrzeugen durchgeführt wurden.
skippedMandatoryShipmentCount integer Die Anzahl der obligatorischen Sendungen, die übersprungen wurden.
totalCost Zahl Die Gesamtkosten der Lösung, einschließlich aller Routenkosten und Strafen für übersprungene Sendungen.
totalDuration Dauer Die Gesamtdauer aller Routen (Fahrt + Wartezeit + Verzögerung + Pause + Besuch).
travelDistanceMeters Zahl Die gesamte zurückgelegte Strecke in Metern für alle Routen.
travelDuration Dauer Die Gesamtreisedauer aller Routen.
usedVehicleCount integer Die Anzahl der in der Lösung verwendeten Fahrzeuge.
visitDuration Dauer Die Gesamtdauer für alle Besuche (Be- und Entladen) auf allen Routen.
waitDuration Dauer Die gesamte Wartezeit für alle Routen.
ShipmentRoute
(Teil von OptimizeToursResponse)
breaks[] Array von Objekten (Break) Eine Liste der Pausen, die das Fahrzeug während der Fahrt eingelegt hat.
hasTrafficInfeasibilities Boolesch (true/false) Gibt an, ob die Route verkehrsbedingte Unregelmäßigkeiten aufweist.
metrics object (AggregatedMetrics) Messwerte, die sich auf diese Route beziehen, z. B. die insgesamt zurückgelegte Strecke und die Dauer.
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 die Werte sind die Beträge.
routePolyline object (EncodedPolyline) Die codierte Polylinie, die den geografischen Verlauf der gesamten Route darstellt.
routeTotalCost Zahl Die Gesamtkosten der Route, d. h. die Summe aller Kosten auf der routeCosts-Karte.
transitions[] Array von Objekten (Transition) Eine sortierte Liste von Übergängen (Reiseabschnitten), die die Besuche verbinden.
vehicleEndTime Timestamp Die Uhrzeit, zu der 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 Die Uhrzeit, zu der das Fahrzeug seine Route beginnt.
visits[] Array von Objekten (Visit) Die geordnete Abfolge der Besuche (Abholungen und Lieferungen), die das Fahrzeug auf dieser Route durchfü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, handelt es sich bei diesem Besuch um eine Abholung. Bei „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-Ladeanforderungen.
shipmentIndex integer Der Index des Felds Shipment im Quellmodell, das für diesen Besuch verwendet wird.
shipmentLabel String Das Label der Sendung, kopiert aus der ShipmentModel.
startTime Timestamp Die Uhrzeit, zu der der Besuch planmäßig beginnen soll.
visitLabel String Das Label der Besuchsaufforderung, das aus VisitRequest im Modell kopiert wurde.
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 während dieses Übergangs.
delayDuration Dauer Die Dauer der Verzögerung während dieses Übergangs, z.B. wenn Sie zu früh ankommen und auf ein Zeitfenster warten.
routePolyline object (EncodedPolyline) Die codierte Polylinie, die den Pfad dieses Übergangs darstellt.
routeToken String Ein undurchsichtiges 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 Reisezeit, Wartezeit, Pausen und Verzögerungen.
trafficInfoUnavailable Boolesch (true/false) Wenn true, bedeutet das, dass für diesen Übergang keine Verkehrsdaten verfügbar waren.
travelDistanceMeters Zahl Die während dieses Übergangs zurückgelegte Distanz in Metern.
travelDuration Dauer Die Dauer der Reise während dieses Übergangs.
vehicleLoads map (key: string, value: VehicleLoad) Die vom Fahrzeug während dieses Übergangs transportierte Last, nach Lasttyp aufgeschlüsselt (z.B. „weight“).
waitDuration Dauer Die Wartezeit, bevor der nächste Besuch beginnen kann.