Wie unter Routenoptimierung – Übersicht kurz beschrieben, besteht eine einfache Anfrage aus Model (Modell), Shipments (Lieferungen) und Vehicles (Fahrzeuge) als erforderliche Entitäten:
- Model erfasst Einstellungen und Einschränkungen für die gesamte Anfrage, einschließlich
Shipments
undVehicles
. - Lieferungen sind Aufgaben oder tatsächliche Sendungen, die Abhol- und Liefer-
VisitRequest
s umfassen. Lieferungen unterliegen lokalen Einstellungen und Einschränkungen. - Fahrzeuge repräsentieren Fahrzeuge, Fahrer oder Personal. Für Fahrzeuge gelten auch lokale Einstellungen und Einschränkungen.
Die Attribute jeder Entität beschreiben einen Teil eines Optimierungsproblems mit einem bestimmten Detaillierungsgrad. Modellweite Einschränkungen gelten für alle Sendungen und Fahrzeuge, während Beschränkungen und Eigenschaften für Lieferungen oder Fahrzeuge nur für eine einzelne Sendung oder ein einzelnes Fahrzeug gelten.
Eine vollständige Dokumentation zu jedem Nachrichtentyp finden Sie in der Referenzdokumentation für ShipmentModel
- (REST, gRPC), Shipment
(REST, gRPC) und Vehicle
-Nachrichten (REST und gRPC).
OptimzeToursRequest
Unterkünfte
Zu den häufig verwendeten Attributen der OptimizeToursRequest
-Nachricht der obersten 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 innerhalb eines festgelegten Zeitraums die bestmögliche Lösung finden.considerRoadTraffic
bestimmt, ob Live-Live-Traffic für das Routing und die Schätzung der voraussichtlichen Ankunftszeit verwendet wird.populateTransitionPolylines
bestimmt, ob Polylinien der Route in der Antwort zurückgegeben werden.
Modellattribute
Zu den häufig verwendeten Attributen der ShipmentModel
-Nachricht (REST, gRPC) gehören:
globalStartTime
steht für den frühesten Startzeitpunkt aller Routen für alle Fahrzeuge und Lieferungen. Die ersten Übergänge und Lieferungen eines Fahrzeugs dürfen nicht vor diesem Zeitpunkt erfolgen.globalEndTime
gibt das letzte Ende der Routen für alle Fahrzeuge und Lieferungen an. Alle zugewiesenen Sendungen und Übergänge müssen vor dieser Zeit abgeschlossen sein.
Versandeigenschaften
Zu den häufig verwendeten Attributen der Shipment
-Nachricht (REST, gRPC) gehören:
pickups[]
unddeliveries[]
geben an, wo eine Sendung abgeholt oder abgegeben werden kann. Die Attributepickups[]
unddeliveries[]
verwenden beide die NachrichtVisitRequest
(REST, gRPC).loadDemands
steht für die Last, die ein Fahrzeug benötigt, um eine Sendung abzuschließen. Das entsprechendeload_limits
-Attribut des Fahrzeugs (REST, gRPC) gibt an, wie viel Last ein Fahrzeug jeweils aufnehmen kann. Weitere Informationen zur Last finden Sie unter Lastanforderungen und Limits.penalty_cost
steht für die Kosten, die anfallen, wenn eine Lieferung übersprungen wird. Weitere Informationen zu Kosten finden Sie unter Kostenmodellparameter.
Fahrzeugeigenschaften
Zu den häufig verwendeten Attributen der Vehicle
-Nachricht (REST, gRPC) gehören:
startLocation
gibt an, wo ein Fahrzeug seine Route beginnen muss. Diese Eigenschaft ist optional. Wenn keine Angabe erfolgt, beginnt die Route des Fahrzeugs am Standort der ersten zugewiesenen Sendung.endLocation
gibt an, wo ein Fahrzeug seine Route beenden muss. Diese Eigenschaft ist optional. Wenn keine Angabe erfolgt, endet die Route des Fahrzeugs am Standort der letzten zugewiesenen Sendung.startTimeWindows[]
gibt an, wann ein Fahrzeug seine Route beginnen kann. Diese Eigenschaft ist optional.endTimeWindows[]
gibt an, wann ein Fahrzeug seine Route beginnen und beenden kann. Beide Eigenschaften sind optional.loadLimits
steht für die Kapazität des Fahrzeugs, die zur Erfüllung der Lastanforderungen der Sendungen verfügbar ist. Weitere Informationen zu Lastanforderungen und ‐limits finden Sie unter Lastanforderungen und ‐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 Anfragenachrichten wie im obigen Beispiel, jedoch auf unterschiedliche Weise. Bevor Sie eine Anfrage zur Routenoptimierung senden, sollten Sie den Unterschied zwischen den beiden Methoden kennen: