Utwórz wiadomość z żądaniem

Jak opisano pokrótce w sekcji Omówienie optymalizacji trasy, podstawowe żądanie składa się z elementów Model, Przesyłki i Pojazdy jako wymagane podmioty:

  • Model przechwytuje ustawienia i ograniczenia dla całego żądania, obejmujące zarówno Shipments, jak i Vehicles.
  • Przesyłki przedstawiają zadania lub rzeczywiste przesyłki, które obejmują odbiór czas dostawy: VisitRequest. Przesyłki mają lokalne ustawienia i ograniczenia.
  • Pojazdy to pojazdy, kierowcy lub personel. Pojazdy mają też ustawienia lokalne i ograniczenia.

Właściwości każdego elementu opisują część problemu optymalizacji w na określonym poziomie szczegółowości. Ograniczenia dotyczące całego modelu są stosowane do wszystkich przesyłek i pojazdów, z uwzględnieniem ograniczeń i właściwości określonych w dostawach dotyczą tylko jednej przesyłki lub pojazdu.

Pełną dokumentację poszczególnych typów wiadomości znajdziesz w dokumentacji referencyjnej dla ShipmentModel (REST, gRPC), Shipment (REST, gRPC), i Vehicle (REST, gRPC).

OptimizeToursRequest miejsca zakwaterowania

Oto niektóre często używane właściwości wiadomości OptimizeToursRequest najwyższego poziomu (REST, gRPC):

  • searchMode wskazuje, czy zwrócić pierwsze satysfakcjonujące rozwiązanie. określone ograniczenia lub znaleźć najlepsze możliwe rozwiązanie w zbiorze .
  • considerRoadTraffic określa, czy używany jest aktualny ruch wyznaczania tras i szacowania szacowanego czasu dotarcia na miejsce.
  • populateTransitionPolylines określa, czy linie łamane trasy są tokeny tras są zwracane w odpowiedzi.

Właściwości modelu

Oto niektóre często używane właściwości wiadomości ShipmentModel (REST, gRPC):

  • globalStartTime to najwcześniejszy czas rozpoczęcia trasy dla wszystkich pojazdów i przesyłek. Żaden pojazd nie może rozpocząć pierwszego przenoszenia. wysyłek przed tym terminem.
  • globalEndTime przedstawia najnowszy czas zakończenia tras we wszystkich pojazdach i przesyłki. Wszystkie przypisane przesyłki i przenoszenie muszą zostać ukończone przed tym terminem.

Właściwości dostawy

Niektóre często używane właściwości komunikatu Shipment (REST, gRPC) uwzględnij:

  • pickups[] i deliveries[] wskazują, gdzie można odebrać przesyłkę lub przestali żyć. Usługi pickups[] i deliveries[] używają parametru Komunikat VisitRequest (REST, gRPC).
  • loadDemands to ładunek wymagany, aby pojazd mógł przeprowadzić dostawę. Samochody odpowiednie load_limits (REST, gRPC) określa, jaki ładunek może obsłużyć pojazd w danym momencie. Więcej informacji o obciążeniu znajdziesz w artykule Wymagania i limity obciążenia.
  • penalty_cost to koszt naliczany w przypadku pominięcia dostawy. Odczytano znajdziesz więcej informacji o kosztach w parametrach modelu kosztu.

Właściwości pojazdu

Oto niektóre często używane właściwości wiadomości Vehicle (REST, gRPC):

  • startLocation oznacza miejsce, w którym pojazd musi rozpocząć trasę. Ta właściwość jest opcjonalna. Jeśli go nie podasz, trasa pojazdu zacznie się w lokalizacji pierwszej przypisanej przesyłki.
  • endLocation oznacza miejsce, w którym pojazd musi zakończyć trasę. Ta właściwość jest opcjonalna. Jeśli nie podasz tych danych, trasa pojazdu zakończy się w lokalizacji: ostatnią przypisaną przesyłkę.
  • startTimeWindows[] oznacza, kiedy pojazd może rozpocząć trasę. Ten jest opcjonalna.
  • endTimeWindows[] oznacza, kiedy pojazd może rozpocząć i zakończyć trasę. Obie właściwości są opcjonalne.
  • loadLimits to ładowność pojazdu, która jest dostępna do zaspokojenia zapotrzebowania na ładunek. Więcej informacji o wymaganiach i limitach obciążenia znajdziesz w artykułach Żądania obciążenia i Limity.

Pełne przykładowe żądanie w formacie JSON wygląda tak:

{
  "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"
  }
}

OptimizeToursBatchOptimizeTours używają wiadomości z żądaniem w sposób podobny do opisanego powyżej, ale w różny sposób. Przed utworzeniem optymalizacji trasy ważne jest, aby znać różnice między tymi metodami:

Porównanie poleceń OptimizeTours i BatchOptimizeTours