Wie in der Übersicht zur Routenoptimierung kurz beschrieben, besteht 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
. - Sendungen stellen Aufgaben oder tatsächliche Sendungen dar, die Abholung und
Lieferung:
VisitRequest
Sek. Für Lieferungen gelten lokale Einstellungen und Einschränkungen. - Fahrzeuge stehen für Fahrzeuge, Fahrer oder Mitarbeiter. Die Fahrzeuge haben auch lokale Einstellungen und Einschränkungen.
Die Eigenschaften jeder Entität beschreiben einen Teil eines Optimierungsproblems an einem einen bestimmten Detaillierungsgrad. Modellweite Einschränkungen werden auf alle angewendet Lieferungen und Fahrzeuge, während Einschränkungen und Eigenschaften bei Sendungen angegeben sind oder Fahrzeuge 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, gRPC).
OptimizeToursRequest
Unterkünfte
Einige häufig verwendete Attribute der übergeordneten OptimizeToursRequest
-Nachricht
(REST, gRPC) beinhalten Folgendes:
searchMode
gibt an, ob die erste zufriedenstellende Lösung zurückgegeben werden soll. Einschränkungen angegeben oder die bestmögliche Lösung innerhalb einer Frist.considerRoadTraffic
legt fest, ob Live-Traffic verwendet wird oder nicht für Routenplanung und voraussichtliche Ankunftszeiten.populateTransitionPolylines
legt fest, ob Polylinien für Routen festgelegt sind. in der Antwort zurückgegeben.
Modellattribute
Einige häufig verwendete Eigenschaften der ShipmentModel
-Nachricht (REST,
gRPC) beinhalten:
globalStartTime
steht für die früheste Startzeit von Routen für alle Fahrzeuge und Sendungen. Kein Fahrzeug darf seine ersten Übergänge starten und .globalEndTime
steht für das letzte Ende der Routen aller Fahrzeuge. und Sendungen. Alle zugewiesenen Sendungen und Umstellungen müssen abgeschlossen sein vor dieser Zeit.
Versandeigenschaften
Einige häufig verwendete Eigenschaften der Shipment
-Nachricht (REST, gRPC)
umfassen:
pickups[]
unddeliveries[]
geben an, wo eine Sendung abgeholt werden kann. oder aussteigen. Die Propertiespickups[]
unddeliveries[]
verwenden beide das AttributVisitRequest
-Nachricht (REST, gRPC).loadDemands
stehen für die Last, die ein Fahrzeug für eine Lieferung. Fahrzeuge entsprechendeload_limits
(REST, gRPC) Eigenschaft gibt an, wie viel Platz ein Fahrzeug gleichzeitig bieten kann. Weitere Informationen zur Last finden Sie unter Lastanforderungen und Lastengrenzen.penalty_cost
steht für die Kosten, die anfallen, wenn eine Sendung übersprungen wird. 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 enden muss. Diese Property 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 ist optional.endTimeWindows[]
gibt an, wann ein Fahrzeug seine Route starten und beenden kann. Beide Eigenschaften sind optional.loadLimits
steht für die verfügbare Kapazität des Fahrzeugs für die Lieferungen die Lastanforderungen. 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 beide Anfragenachrichten wie die
im Beispiel oben, jedoch auf unterschiedliche Weise. Vor der Routenoptimierung
ist es wichtig, den Unterschied zwischen den beiden Methoden zu kennen: