Wie im Abschnitt Routenoptimierung – Übersicht kurz beschrieben, besteht eine grundlegende Anfrage aus den erforderlichen Entitäten Modell, Sendungen und Fahrzeuge:
- Model erfasst Einstellungen und Einschränkungen für die gesamte Anfrage.
einschließlich
Shipments
undVehicles
. - Sendungen stellen Aufgaben oder tatsächliche Sendungen dar, die Abhol- und Liefer
VisitRequest
s umfassen. Sendungen haben lokale Einstellungen und Einschränkungen. - Fahrzeuge stehen für Fahrzeuge, Fahrer oder Personal. Für Fahrzeuge gelten außerdem lokale Einstellungen und Einschränkungen.
Die Eigenschaften der einzelnen Entitäten beschreiben einen Teil eines Optimierungsproblems auf einer bestimmten Detailebene. Modellweite Einschränkungen werden auf alle Sendungen und Fahrzeuge angewendet, während Einschränkungen und Eigenschaften, die für Sendungen oder Fahrzeuge angegeben sind, für eine einzelne Sendung oder ein einzelnes Fahrzeug gelten.
Eine 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
Einige häufig verwendete Attribute der übergeordneten OptimizeToursRequest
-Nachricht
(REST, gRPC) beinhalten Folgendes:
searchMode
gibt an, ob die erste Lösung zurückgegeben werden soll, die die angegebenen Einschränkungen erfüllt, oder ob die bestmögliche Lösung innerhalb eines festgelegten Termins gefunden werden soll.considerRoadTraffic
legt fest, ob Live-Traffic verwendet wird oder nicht für Routenplanung und voraussichtliche Ankunftszeiten.populateTransitionPolylines
bestimmt, ob Polylinien und werden in der Antwort zurückgegeben.
Modellattribute
Zu den häufig verwendeten Eigenschaften der ShipmentModel
-Nachricht (REST, gRPC) gehören:
globalStartTime
steht für die früheste Startzeit von Routen für alle Fahrzeuge und Sendungen. Vor diesem Datum dürfen keine Fahrzeuge ihre ersten Übergänge und Sendungen starten.globalEndTime
steht für das letzte Ende der Routen aller Fahrzeuge. und Sendungen. Alle zugewiesenen Sendungen und Übergänge müssen vor diesem Datum abgeschlossen sein.
Versandeigenschaften
Zu den häufig verwendeten Eigenschaften der Shipment
-Nachricht (REST, gRPC) gehören:
pickups[]
unddeliveries[]
geben an, wo eine Sendung abgeholt oder abgegeben werden kann. Fürpickups[]
- unddeliveries[]
-Properties wird dieVisitRequest
-Nachricht verwendet (REST, gRPC).loadDemands
gibt die Ladung an, die für ein Fahrzeug erforderlich ist, um eine Lieferung abzuschließen. Fahrzeuge entsprechendeload_limits
(REST, gRPC) Eigenschaft gibt an, wie viel Platz ein Fahrzeug gleichzeitig bieten kann. Weitere Informationen zur Auslastung finden Sie unter Anforderungen und Limits für die Auslastung.penalty_cost
entspricht den Kosten, die bei einem übersprungenen Versand anfallen. Gelesen Weitere Informationen zu Kosten finden Sie unter Kostenmodellparameter.
Fahrzeugeigenschaften
Einige häufig verwendete Eigenschaften der Vehicle
-Nachricht (REST, gRPC)
umfassen:
startLocation
gibt an, wo ein Fahrzeug seine Route beginnen muss. Dieses ist optional. Wenn nicht angegeben, beginnt die Route des Fahrzeugs bei Standort der ersten zugewiesenen Sendung.endLocation
gibt an, wo ein Fahrzeug seine Route beenden muss. Dieses Attribut ist optional. Falls nicht angegeben, endet die Route des Fahrzeugs am Standort von der letzten zugewiesenen Sendung.startTimeWindows[]
gibt an, wann ein Fahrzeug seine Route starten kann. Dieses Attribut 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 Ladeanforderung 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 Beispiel oben, aber auf unterschiedliche Weise. Vor der Routenoptimierung
ist es wichtig, den Unterschied zwischen den beiden Methoden zu kennen: