Anfragenachricht erstellen

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 und Vehicles.
  • Lieferungen sind Aufgaben oder tatsächliche Sendungen, die Abhol- und Liefer-VisitRequests 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[] und deliveries[] geben an, wo eine Sendung abgeholt oder abgegeben werden kann. Die Attribute pickups[] und deliveries[] verwenden beide die Nachricht VisitRequest (REST, gRPC).
  • loadDemands steht für die Last, die ein Fahrzeug benötigt, um eine Sendung abzuschließen. Das entsprechende load_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:

OptimizeTours und BatchOptimizeTours im Vergleich