Anfragenachricht erstellen

Wie in der Übersicht zur Routenoptimierung kurz beschrieben, besteht eine grundlegende Anfrage aus Modell, Lieferungen und Fahrzeugen als erforderliche Entitäten:

  • Model erfasst Einstellungen und Einschränkungen für die gesamte Anfrage, einschließlich Shipments und Vehicles.
  • Lieferungen stellen Aufgaben oder tatsächliche Sendungen dar, die Abhol- und Liefer-VisitRequests umfassen. Für Lieferungen gelten lokale Einstellungen und Einschränkungen.
  • Fahrzeuge stehen für Fahrzeuge, Fahrer oder Mitarbeiter. Außerdem gibt es bei Fahrzeugen lokale Einstellungen und Beschrä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 Einschränkungen und Eigenschaften für Sendungen oder Fahrzeuge spezifisch für eine einzelne Sendung oder ein einzelnes Fahrzeug gelten.

Eine vollständige Dokumentation zu jedem Nachrichtentyp finden Sie in der Referenzdokumentation zu ShipmentModel (REST, gRPC), Shipment (REST, gRPC) und Vehicle (REST, gRPC).

OptimizeToursRequest 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 ob innerhalb einer bestimmten Frist die bestmögliche Lösung gefunden werden soll.
  • considerRoadTraffic bestimmt, ob Live-Traffic für das Routing und die Schätzung der voraussichtlichen Ankunftszeit verwendet wird.
  • Mit populateTransitionPolylines wird festgelegt, ob in der Antwort Routenpolygone zurückgegeben werden.

Modellattribute

Zu den häufig verwendeten Eigenschaften der ShipmentModel-Nachricht (REST, gRPC) gehören:

  • globalStartTime steht für die früheste Startzeit der Routen für alle Fahrzeuge und Sendungen. Die ersten Umstellungen und Lieferungen dürfen für kein Fahrzeug vor diesem Zeitpunkt gestartet werden.
  • globalEndTime gibt das letzte Ende der Routen für alle Fahrzeuge und Sendungen an. Alle zugewiesenen Sendungen und Umstellungen müssen vor diesem Zeitpunkt abgeschlossen sein.

Versandeigenschaften

Zu den häufig verwendeten Attributen der Shipment-Nachricht (REST, gRPC) gehören:

  • pickups[] und deliveries[] geben an, wo eine Sendung abgeholt oder abgegeben werden kann. Die Properties pickups[] und deliveries[] verwenden beide die VisitRequest-Nachricht (REST, gRPC).
  • loadDemands steht für die Last, die ein Fahrzeug für eine Sendung benötigt. Das entsprechende load_limits-Attribut (REST, gRPC) des Fahrzeugs gibt an, wie viel Last ein Fahrzeug gleichzeitig aufnehmen 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. 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. Dieses Attribut ist optional. Wenn nicht angegeben, beginnt die Route des Fahrzeugs am Ort der ersten zugewiesenen Sendung.
  • endLocation gibt an, wo ein Fahrzeug enden muss. Dieses Attribut ist optional. Wenn nicht angegeben, endet die Route des Fahrzeugs am Standort 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 starten und beenden kann. Beide Eigenschaften sind optional.
  • loadLimits steht für die verfügbare Kapazität des Fahrzeugs, um die Ladeanforderungen der Sendung zu erfüllen. 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, aber auf unterschiedliche Weise. Bevor Sie eine Anfrage zur Routenoptimierung stellen, sollten Sie den Unterschied zwischen den beiden Methoden kennen:

OptimizeTours und BatchOptimizeTours vergleichen