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?
- Zacznij korzystać z interfejsu Route Optimization API: przeczytaj sekcję Uruchamianie żądania podstawowego.
- Informacje o płatnościach: Korzystanie i płatności
- Zobacz przykładowy kod i biblioteki: biblioteki klienta i open source