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