Anfragenachricht erstellen

Entwickler im Europäischen Wirtschaftsraum (EWR)

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 und Vehicles.
  • Sendungen stellen Aufgaben oder tatsächliche Sendungen dar, die VisitRequests 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[] und deliveries[] geben an, wo eine Sendung abgeholt oder abgeliefert werden kann. Für die Properties pickups[] und deliveries[] wird die VisitRequest-Nachricht verwendet (REST, gRPC).
  • loadDemands steht für die Last, die für ein Fahrzeug erforderlich ist, um eine Lieferung abzuschließen. Die entsprechende load_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