Anfragenachricht erstellen

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 und Vehicles.
  • 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 wird.

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[] und deliveries[] geben an, wo eine Sendung abgeholt werden kann. oder aussteigen. Die Properties pickups[] und deliveries[] verwenden beide das Attribut VisitRequest-Nachricht (REST, gRPC).
  • loadDemands steht für die Last, die ein Fahrzeug für eine Lieferung. Fahrzeuge entsprechende load_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 aus. 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:

OptimizeTours und BatchOptimizeTours vergleichen