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
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
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 inMetricsals auch inShipmentRoutevorhanden 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. |