Omówienie interfejsu Route Optimization API

Optymalizacja tras to interfejs API Google Maps Platform, który akceptuje cele routingu pojazdów i ograniczenia operacyjne w formie uporządkowanych danych w celu utworzenia planu trasy dla co najmniej jednego pojazdu.

Dlaczego warto korzystać z optymalizacji trasy

Dzięki interfejsowi Route Optimization API możesz ustanowić lub ulepszyć automatyczny proces planowania trasy dla dystrybutorów lub tras, który zwiększy wydajność operacyjną Twoich potrzeb transportowych. Dzięki parametrom określającym unikalne cele operacyjne i ograniczeniom oraz algorytmowi opartemu na zaufanych danych z Map Google usługa generuje najlepsze możliwe plany trasy, aby sprostać tym ograniczeniom. Oto kilka przykładów użycia:

  • Firma logistyczna korzysta z optymalizacji tras, aby zoptymalizować obsługę zamówień następnego dnia i wyznaczyć trasę każdej przesyłki w taki sposób, aby zapewnić optymalną odległość i czas, oszczędności i terminy dostawy oraz zadowolenie kierowców i klientów końcowych.
  • Firma zajmująca się dostarczaniem jedzenia na żądanie korzysta z optymalizacji trasy w procesie wysyłania w czasie rzeczywistym, aby wybrać najlepszego kierowcę, który będzie mógł przyjąć kilka nowych zamówień i umieścić go w swoich dotychczasowych trasach.
  • Usługodawca świadczący usługi medyczne używa optymalizacji trasy, aby przypisywać placówki służby zdrowia do wizyt, co poprawia wydajność tras dla każdego usługodawcy w ciągu dnia.
  • Dostawca usług terenowych korzysta z optymalizacji trasy, aby znaleźć optymalną trasę i sekwencję spotkań z technikiem oraz przeprowadzić ponowną optymalizację w przypadku zmian warunków, np. opóźnień na trasie.

Co można zrobić dzięki optymalizacji trasy

Dzięki interfejsowi Route Optimization API możesz zoptymalizować trasy i przypisania zadań dla floty pojazdów, biorąc pod uwagę różne cele i ograniczenia.

Przykłady celów:

  • Wydajność podróży: określ wymagania w zakresie efektywności podróży na podstawie parametrów takich jak odległość i czas do celu.
  • Przyjazd na czas: zadbaj o to, aby pojazdy przyjechały na czas. Możesz na przykład określić przedział czasu dla działania związanego z odbiorem, dostawą lub usługą.
  • Koszt wykorzystania pojazdu: zminimalizuj liczbę pojazdów wymaganych do wykonania zadań, aby obniżyć koszty.
  • Równoważenie obciążenia: zadania powinny być równomiernie rozdzielane po całej flocie pojazdów i personelu.

Przykłady ograniczeń:

  • Godziny pracy kierowców: godziny rozpoczęcia i zakończenia pracy oraz czas na przerwy.
  • Pojemność pojazdu: maksymalna ilość ładunku, jaką pojazd może obsłużyć w czasie.
  • Przedziały czasu: określony przedział czasu wymagany na przyjazd, np. dostępność klienta lub godziny otwarcia sklepu.
  • Zależności i zgodność: zdefiniuj zależności służbowe na jeden z tych sposobów:

    • Wymaga określonych typów pojazdów lub pracowników
    • Najpierw trzeba wykonać inne czynności
    • Przesyłka musi być w danym momencie jedyną przesyłki w pojeździe.

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

Jak działa optymalizacja tras

Interfejs Route Optimization API używa różnych danych wejściowych do zwrócenia planu trasy. Dane wejściowe obejmują pojazdy, zadania lub przesyłki, cele i ograniczenia. Plan trasy obejmuje przypisanie zadań do pojazdów, trasy z wieloma przystankami dla każdego pojazdu i powiązane dane.

Interfejs Route Optimization API pozwala to osiągnąć za pomocą 2 metod:

  • OptimizeTours: synchroniczny interfejs API, który wymaga od klienta oczekiwania na odpowiedź serwera przed wykonaniem innych zadań.
  • BatchOptimizeTours: asynchroniczny interfejs API, który umożliwia klientowi wykonywanie innych zadań, zanim serwer zakończy działanie i udzieli odpowiedzi.

Obie metody mają ten sam interfejs i obsługiwane parametry. 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.

Żądanie OptimizeTours

Prośba zawiera te wymagane elementy:

  • Model: encja globalna, w której skonfigurowane są ustawienia i ograniczenia na poziomie globalnym. Ta kategoria obejmuje też przesyłki i pojazdy.
  • Wysyłka: służy do definiowania zadania lub rzeczywistej dostawy, która może obejmować odbiór i wizytę w sklepie, a także odpowiednie atrybuty, w tym lokalizacje oraz inne atrybuty, ograniczenia i funkcje związane z kosztami. Szczegółowe informacje znajdziesz w dokumentacji dotyczącej dostawy (REST, gRPC).
  • Pojazd: służy do określenia pojazdu (lub kierowcy lub personelu) i odpowiadających im atrybutów podróży, w tym miejsc rozpoczęcia podróży oraz innych atrybutów pojazdu lub podróży, ograniczeń i funkcji związanych z kosztami. Szczegółowe informacje znajdziesz w sekcjach (REST, gRPC).

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

Odpowiedź OptimizeTours

Interfejs Route Optimization API zwraca odpowiedź JSON, która zawiera plan trasy dla pojazdów oraz zadania lub przesyłki.

  • Trasy: zawiera trasy poszczególnych pojazdów z przypisanymi zadaniami (lub przesyłkami).
  • Dane: zbiorcze dane o wygenerowanym planie trasy.

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

Więcej informacji na temat tworzenia żądania i interpretowania odpowiedzi znajdziesz w sekcji Interpretowanie odpowiedzi.

Zasoby

W tabeli poniżej znajdziesz podsumowanie zasobów dostępnych za pomocą interfejsu Route Optimization API wraz z danymi zwróconymi przez nie.

Zasoby danych Zwrócone dane Format zwrotu
batchOptimizeTours (REST, gRPC) Zwraca nazwę zasobu długo trwającej operacji, która wskazuje, kiedy przetwarzanie zostało zakończone. Protokół JSON lub gRPC
optimizeTours (REST, gRPC) Zwraca zoptymalizowaną trasę ze szczegółami wizyt i danymi. Protokół JSON lub gRPC

Jak korzystać z optymalizacji trasy

1 Skonfiguruj Zacznij od konfigurowania projektu Google Cloud i postępuj zgodnie z podanymi niżej instrukcjami.
2 Wykonywanie 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ę Zapoznaj się z przykładowymi scenariuszami, zaczynając od optymalizacji zamówień z odbiorem i dostawą, a następnie zacznij tworzyć żądania pasujące do Twoich potrzeb.

Dostępne biblioteki klienta

Listę dostępnych bibliotek klienta dla interfejsu Route Optimization API znajdziesz w artykule o korzystaniu z bibliotek klienta.

Co dalej?