Jest to wariant metody locations.optimizeTours przeznaczony do optymalizacji z dużymi wartościami limitu czasu. W przypadku optymalizacji, które trwają dłużej niż kilka minut, należy ją preferować zamiast metody locations.optimizeTours.
Zwrócona operacja long-running operation (LRO) będzie miała nazwę w formacie <parent>/operations/<operation_id> i może być używana do śledzenia postępu obliczeń. Typ pola metadata to OptimizeToursLongRunningMetadata. Jeśli operacja się powiedzie, pole response będzie miało typ OptimizeToursResponse.
Żądanie HTTP
POST https://routeoptimization.googleapis.com/v1/{parent=projects/*/locations/*}:optimizeToursLongRunning
Adres URL używa składni transkodowania gRPC.
Parametry ścieżki
| Parametry | |
|---|---|
parent |
Wymagane. Docelowy projekt lub lokalizacja, w której ma zostać wykonane wywołanie. Format:
Regionalne wartości |
Treść żądania
Treść żądania zawiera dane o następującej strukturze:
| Zapis JSON |
|---|
{ "timeout": string, "model": { object ( |
| Pola | |
|---|---|
timeout |
Jeśli ten limit czasu jest ustawiony, serwer zwraca odpowiedź przed upływem limitu czasu lub przed upływem terminu serwera dla żądań synchronicznych, w zależności od tego, co nastąpi wcześniej. W przypadku żądań asynchronicznych serwer wygeneruje rozwiązanie (jeśli to możliwe) przed upływem limitu czasu. |
model |
Model dostawy do rozwiązania. |
solvingMode |
Domyślny tryb rozwiązywania to |
searchMode |
Tryb wyszukiwania użyty do rozwiązania żądania. |
injectedFirstSolutionRoutes[] |
Pomóż algorytmowi optymalizacji znaleźć pierwsze rozwiązanie, które jest podobne do poprzedniego. Model jest ograniczony, gdy tworzone jest pierwsze rozwiązanie. Wszystkie przesyłki, które nie zostały zrealizowane na trasie, są domyślnie pomijane w pierwszym rozwiązaniu, ale mogą zostać zrealizowane w kolejnych rozwiązaniach. Rozwiązanie musi spełniać pewne podstawowe założenia dotyczące ważności:
Jeśli wstrzyknięte rozwiązanie jest niewykonalne, niekoniecznie zostanie zwrócony błąd weryfikacji, ale może zostać zwrócony błąd wskazujący na niewykonalność. |
injectedSolutionConstraint |
Ogranicz algorytm optymalizacji, aby znaleźć ostateczne rozwiązanie podobne do poprzedniego. Można to wykorzystać na przykład do zablokowania części tras, które zostały już ukończone lub które mają zostać ukończone, ale nie mogą być modyfikowane. Jeśli wstrzyknięte rozwiązanie jest niewykonalne, niekoniecznie zostanie zwrócony błąd weryfikacji, ale może zostać zwrócony błąd wskazujący na niewykonalność. |
refreshDetailsRoutes[] |
Jeśli pole nie jest puste, podane trasy zostaną odświeżone bez modyfikowania ich podstawowej sekwencji wizyt lub czasów podróży: zostaną zaktualizowane tylko inne szczegóły. Nie rozwiązuje to problemu z modelem. Od listopada 2020 r. ta funkcja wypełnia tylko linie łamane niepustych tras i wymaga, aby parametr Pola Tego pola nie można używać razem z polem
|
interpretInjectedSolutionsUsingLabels |
Jeśli ma wartość prawda:
Ta interpretacja dotyczy pól Jeśli ma wartość „true”, etykiety w tych kategoriach mogą pojawiać się w swojej kategorii maksymalnie raz:
Jeśli Usunięcie wizyt na trasie lub całych tras z wstrzykniętego rozwiązania może mieć wpływ na domniemane ograniczenia, co może prowadzić do zmiany rozwiązania, błędów weryfikacji lub niemożliwości realizacji. UWAGA: wywołujący musi upewnić się, że każdy element |
considerRoadTraffic |
Uwzględnij szacunkowe natężenie ruchu podczas obliczania pól |
populatePolylines |
Jeśli ma wartość Prawda, linie łamane będą wypełniane w odpowiedziach |
populateTransitionPolylines |
Jeśli ma wartość prawda, linie łamane i tokeny tras będą wypełniane w odpowiedzi |
allowLargeDeadlineDespiteInterruptionRisk |
Jeśli ta opcja jest ustawiona, żądanie może mieć termin (patrz https://grpc.io/blog/deadlines) do 60 minut. W przeciwnym razie maksymalny termin to tylko 30 minut. Pamiętaj, że długotrwałe żądania wiążą się ze znacznie większym (ale nadal niewielkim) ryzykiem przerwania. |
useGeodesicDistances |
Jeśli ma wartość „true”, odległości będą obliczane przy użyciu odległości geodezyjnych zamiast odległości z Map Google, a czasy podróży będą obliczane przy użyciu odległości geodezyjnych z prędkością określoną przez parametr |
label |
Etykieta, która może służyć do identyfikacji tego żądania, zgłaszana w |
geodesicMetersPerSecond |
Gdy parametr |
maxValidationErrors |
Skraca liczbę zwracanych błędów weryfikacji. Te błędy są zwykle dołączane do ładunku błędu INVALID_ARGUMENT jako szczegóły błędu BadRequest (https://cloud.google.com/apis/design/errors#error_details), chyba że solvingMode=VALIDATE_ONLY: patrz pole |
Treść odpowiedzi
W przypadku powodzenia treść odpowiedzi obejmuje wystąpienie elementu Operation.
Zakresy autoryzacji
Wymaga następującego zakresu OAuth:
https://www.googleapis.com/auth/cloud-platform
Uprawnienia
Wymaga tych uprawnień uprawnień w zasobie parent:
routeoptimization.operations.create
Więcej informacji znajdziesz w dokumentacji uprawnień.