Wie in der Übersicht zur Routenoptimierung kurz beschrieben, besteht eine einfache Anfrage aus den erforderlichen Einheiten Modell, Lieferungen und Fahrzeuge:
- Modell erfasst Einstellungen und Einschränkungen für die gesamte Anfrage, einschließlich
Shipments
undVehicles
. - Sendungen stellen Aufgaben oder tatsächliche Sendungen dar, die
VisitRequest
s für die Abholung und Zustellung umfassen. Für Sendungen gelten lokale Einstellungen und Einschränkungen. - Fahrzeuge stehen für Fahrzeuge, Fahrer oder Personal. Fahrzeuge haben auch lokale Einstellungen und Einschränkungen.
Die Eigenschaften jeder Einheit beschreiben einen Teil eines Optimierungsproblems auf einer bestimmten Granularitätsebene. Modellweite Einschränkungen werden auf alle Sendungen und Fahrzeuge angewendet, während Einschränkungen und Eigenschaften, die für Sendungen oder Fahrzeuge angegeben sind, nur für eine einzelne Sendung oder ein einzelnes Fahrzeug gelten.
Die vollständige Dokumentation zu den einzelnen Nachrichtentypen finden Sie in der Referenzdokumentation für ShipmentModel
- (REST, gRPC), Shipment
- (REST, gRPC) und Vehicle
-Nachrichten (REST, gRPC).
OptimizeToursRequest
Unterkünfte
Zu den häufig verwendeten Eigenschaften der OptimizeToursRequest
-Nachricht auf oberster Ebene (REST, gRPC) gehören:
searchMode
gibt an, ob die erste Lösung zurückgegeben werden soll, die die angegebenen Einschränkungen erfüllt, oder ob innerhalb einer bestimmten Frist die bestmögliche Lösung gefunden werden soll.- Mit
considerRoadTraffic
wird festgelegt, ob Live-Verkehrsdaten für die Routenplanung und die Schätzung der voraussichtlichen Ankunftszeit verwendet werden. - Mit
populateTransitionPolylines
wird festgelegt, ob Routenpolylinien und Routentokens in der Antwort zurückgegeben werden.
Modellattribute
Einige häufig verwendete Eigenschaften der ShipmentModel
-Nachricht (REST, gRPC) sind:
globalStartTime
steht für die früheste Startzeit von Routen für alle Fahrzeuge und Sendungen. Vor diesem Zeitpunkt dürfen keine ersten Übergänge und Sendungen für Fahrzeuge erfolgen.globalEndTime
steht für die letzte Endzeit von Routen für alle Fahrzeuge und Sendungen. Alle zugewiesenen Sendungen und Übergänge müssen bis zu diesem Zeitpunkt abgeschlossen sein.
Versandeigenschaften
Einige häufig verwendete Eigenschaften der Shipment
-Nachricht (REST, gRPC) sind:
pickups[]
unddeliveries[]
geben an, wo eine Sendung abgeholt oder abgeliefert werden kann. Für die Propertiespickups[]
unddeliveries[]
wird dieVisitRequest
-Nachricht verwendet (REST, gRPC).loadDemands
steht für die Last, die für ein Fahrzeug erforderlich ist, um eine Lieferung abzuschließen. Die entsprechendeload_limits
-Eigenschaft (REST, gRPC) von Fahrzeugen gibt an, wie viel Ladung ein Fahrzeug gleichzeitig aufnehmen kann. Weitere Informationen zur Belastung finden Sie unter Load Demands and Limits (Anforderungen und Limits für die Belastung).penalty_cost
steht für die Kosten, die anfallen, wenn eine Sendung übersprungen wird. Weitere Informationen zu den Kosten finden Sie unter Parameter des Kostenmodells.
Fahrzeugeigenschaften
Einige häufig verwendete Eigenschaften der Vehicle
-Nachricht (REST, gRPC) sind:
startLocation
gibt an, wo ein Fahrzeug seine Route beginnen muss. Dieses Attribut ist optional. Wenn nicht angegeben, beginnt die Route des Fahrzeugs am Standort der ersten zugewiesenen Sendung.endLocation
gibt an, wo ein Fahrzeug seine Route beenden muss. Dieses Attribut ist optional. Wenn nichts angegeben ist, endet die Route des Fahrzeugs am Ort der letzten zugewiesenen Sendung.startTimeWindows[]
gibt an, wann ein Fahrzeug seine Route beginnen kann. Dieses Attribut ist optional.endTimeWindows[]
gibt an, wann ein Fahrzeug seine Route beginnen und beenden kann. Beide Attribute sind optional.loadLimits
steht für die Kapazität des Fahrzeugs, die zur Erfüllung der Ladeanforderungen von Sendungen zur Verfügung steht. Weitere Informationen zu Lastanforderungen und ‑limits finden Sie unter Load Demands and Limits.
Eine vollständige Beispielanfrage im JSON-Format sieht so aus:
{
"model": {
"shipments": [
{
"pickups": [
{
"arrivalLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
}
}
],
"deliveries": [
{
"arrivalLocation": {
"latitude": 37.79581,
"longitude": -122.4218856
}
}
]
}
],
"vehicles": [
{
"startLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
},
"endLocation": {
"latitude": 37.73881799999999,
"longitude": -122.4161
},
"costPerKilometer": 1.0
}
],
"globalStartTime": "2024-02-13T00:00:00.000Z",
"globalEndTime": "2024-02-14T06:00:00.000Z"
}
}
OptimizeTours
und BatchOptimizeTours
verarbeiten beide Anfragenachrichten wie im Beispiel oben, aber auf unterschiedliche Weise. Bevor Sie eine Anfrage zur Routenoptimierung stellen, sollten Sie den Unterschied zwischen den beiden Methoden kennen:
OptimizeTours und BatchOptimizeTours vergleichen