Omówienie interfejsu Route Optimization API

Optymalizacja trasy to interfejs Google Maps Platform API, który w formie uporządkowanych danych akceptuje cele związane z kierowaniem pojazdów i ograniczenia operacyjne, aby tworzyć plany tras dla co najmniej jednego pojazdu.

Dlaczego warto korzystać z optymalizacji trasy

Za pomocą interfejsu Route Optimization API możesz wprowadzić lub doprecyzować automatyczny proces wysyłki lub planowania trasy, który zwiększa wydajność operacyjną Twoich potrzeb transportowych. Dzięki parametrom wyrażającym unikalne cele i ograniczenia operacyjne oraz algorytmowi opartemu na danych zaufanych Map Google usługa generuje najlepsze plany tras, aby sprostać tym ograniczeniom. Oto kilka przykładów zastosowań:

  • Firma logistyczna korzysta z optymalizacji trasy, aby zoptymalizować realizację wszystkich dostaw następnego dnia, zapewniając trasę dla każdej dostawy, która jest optymalizowana pod kątem oszczędności czasu i odległości, oszczędności, czasu dostawy oraz zadowolenia kierowców i klienta końcowego.
  • Firma zajmująca się dostawą jedzenia na żądanie korzysta z optymalizacji trasy w czasie rzeczywistym, aby wybrać najlepszego kierowcę, który może odebrać kilka nowych zamówień i umieścić je na dotychczasowych trasach.
  • Dostawca usług medycznych korzysta z optymalizacji tras, aby mapować placówki służby zdrowia na wizyty, co poprawia efektywność tras pokonanych przez każdego dostawcę w ciągu dnia.
  • Dostawca usług terenowych korzysta z optymalizacji trasy, aby znaleźć optymalną trasę i kolejność spotkań z technikiem oraz przeprowadzać ponowną optymalizację w przypadku zmian warunków, np. opóźnień w trasie.

Możliwości optymalizacji trasy

Za pomocą interfejsu Route Optimization API możesz optymalizować trasy i przypisania zadań dla floty pojazdów, biorąc pod uwagę różne cele i ograniczenia.

Przykłady celów:

  • Efektywność podróży: określ wymagania dotyczące efektywności podróży na podstawie takich parametrów jak odległość i czas do celu.
  • Na czas przyjazdu: zadbaj o to, aby pojazdy dotarły na czas. Możesz na przykład określić przedział czasu dla odbioru, dostawy lub działania związanego z usługą.
  • Koszt wykorzystania pojazdu: zmniejsz liczbę pojazdów wymaganych do wykonania zadań, aby zaoszczędzić pieniądze.
  • Równoważenie obciążenia: zadbaj o odpowiednie rozłożenie zadań we flocie pojazdów i personelu.

Przykłady ograniczeń:

  • Godziny pracy kierowców: czas rozpoczęcia i zakończenia pracy oraz czas na przerwy.
  • Pojemność pojazdu: maksymalna ładunek, jaki może pomieścić pojazd.
  • Przedziały czasu: przedział czasu wymagany na przyjazd, np. dostępność dla klientów lub godziny otwarcia sklepu.
  • Zależności i zgodność: określ zależności służbowe na jeden z tych sposobów:

    • Wymaga konkretnego typu pojazdu lub personelu
    • Najpierw musisz wykonać inną czynność
    • Przesyłka może być jedyną przesyłką w danym pojeździe.

Szczegółowe informacje i wszystkie dostępne parametry znajdziesz w przewodnikach dla programistów (REST, gRPC).

Jak działa optymalizacja trasy

Interfejs Route Optimization API zwraca plan trasy na podstawie różnych danych wejściowych. Dane wejściowe obejmują pojazdy, zadania lub przesyłki, cele i ograniczenia. Plan trasy obejmuje przypisane zadania do pojazdów, trasy z przesiadkami dla każdego pojazdu oraz powiązane dane.

Interfejs Route Optimization API osiąga to za pomocą 2 metod:

  • OptimizeTours: synchroniczny interfejs API, który wymaga od klienta oczekiwania na odpowiedź serwera przed kontynuacją innych zadań.
  • BatchOptimizeTours: asynchroniczny interfejs API, dzięki któremu klient może wykonywać inne zadania, zanim serwer ukończy zadanie i zareaguje.

Obie metody korzystają z tego samego interfejsu i obsługiwanych parametrów. Więcej informacji o BatchOptimizeTours znajdziesz w artykule Synchroniczne i asynchroniczne punkty końcowe.

Interfejs Route Optimization API akceptuje żądanie HTTP POST z treścią żądania JSON, która zawiera szczegóły danych wejściowych.

Prośba o OptimizeTours

Żądanie zawiera te wymagane elementy:

  • Model: encja globalna, w której skonfigurowano ustawienia i ograniczenia na poziomie globalnym. Ta kategoria obejmuje też Przesyłki i Pojazdy.
  • Wysyłka: służy do zdefiniowania zadania lub rzeczywistej przesyłki, które może obejmować zadanie odbioru i wizytę dostawy, oraz odpowiadające im atrybuty, w tym lokalizacje oraz inne atrybuty, ograniczenia i funkcje związane z kosztami. Więcej informacji znajdziesz w dokumentacji referencyjnej dotyczącej dostawy (REST, gRPC).
  • Pojazd: służy do określenia pojazdu (lub kierowcy, personelu) i odpowiadających im atrybutów podróży, w tym lokalizacji początkowej oraz innych atrybutów, ograniczeń i funkcji związanych z kosztami pojazdów lub podróży. Szczegółowe informacje znajdziesz w sekcji (REST, gRPC).

Prosty przykład znajdziesz w artykule Optymalizacja zatrzymanego zamówienia z odbiorem i dostawą.

Odpowiedź OptimizeTours

Interfejs Route Optimization API zwraca odpowiedź JSON zawierającą plan tras pojazdów oraz zadania lub przesyłki.

  • Trasy: zawiera trasy każdego pojazdu, do którego są przypisane zadania (lub przesyłki).
  • Wskaźniki: zagregowane wskaźniki o wygenerowanym planie trasy.

Prosty przykład znajdziesz w artykule Optymalizacja zatrzymanego zamówienia z odbiorem i dostawą.

Więcej informacji o tworzeniu żądania i interpretowaniu odpowiedzi znajdziesz w artykule Interpretowanie odpowiedzi.

Zasoby

W tabeli poniżej znajdziesz podsumowanie zasobów dostępnych przez interfejs Route Optimization API oraz zwracanych przez nie danych.

Zasoby danych Zwrócone dane Format zwrotu
batchOptimizeTours (REST, gRPC) Zwraca nazwę zasobu długo trwającej operacji, która wskazuje zakończenie przetwarzania. Protokół JSON lub gRPC
optimizeTours (REST, gRPC) Zwraca zoptymalizowaną trasę ze szczegółowymi informacjami o wizytach i danych. Protokół JSON lub gRPC

Jak korzystać z optymalizacji trasy

1 Konfiguracja Zacznij od skonfigurowania projektu Google Cloud i wykonaj podane niżej instrukcje konfiguracji.
2 Uruchamianie podstawowego żądania i otrzymywanie odpowiedzi Po konfiguracji zacznij od wysłania podstawowego żądania i uzyskaj odpowiedź zgodnie z instrukcjami tworzenia żądania i interpretowania odpowiedzi.
3 Wypróbuj bardziej zaawansowany scenariusz i zacznij tworzyć własną prośbę. Poznaj przykładowe scenariusze, które zaczynają się od optymalizacji opcji odbioru i dostawy i zacznij tworzyć żądania dopasowane do Twoich przypadków użycia.

Dostępne biblioteki klienta

Listę bibliotek klienta dostępnych dla interfejsu Route Optimization API znajdziesz w artykule Biblioteki klienta.

Co dalej