Lista parametrów

Na następnej stronie znajdziesz tabele parametrów w kolejności alfabetycznej dla tych komponentów metody optimizeTours interfejsu Route Optimization API:

Te tabele parametrów zawierają tylko listę i krótki opis obiektów najwyższego poziomu oraz głównych parametrów, aby ułatwić ich odnalezienie. Pełną listę z opisami i wszystkimi zagnieżdżonymi parametrami znajdziesz w dokumentacji interfejsu API.

Treść żądania

Struktura danych w treści żądania.

Treść żądania zawiera te elementy, które są zilustrowane na diagramie po prawej stronie i wymienione w tabeli poniżej:

  • OptimizeToursRequest: obiekt żądania najwyższego poziomu zawierający model i parametry rozwiązywania.
    • ShipmentModel: podstawowa struktura danych zawierająca przesyłki, pojazdy i globalne ograniczenia.
      • Shipment: zadanie obejmujące odbiory i dostawy.
        • VisitRequest: lokalizacja i ograniczenia dotyczące odbioru lub dostawy.
      • Vehicle: Pojazd dostępny do realizacji dostaw.
Rodzic Parametr Typ obiektu Opis
OptimizeToursRequest allowLargeDeadlineDespiteInterruptionRisk wartość logiczna (true/false) Jeśli true, żądanie jest przetwarzane nawet wtedy, gdy limit czasu jest ustawiony na dużą wartość (dłuższą niż 30 minut), co może spowodować przerwy w działaniu serwera.
considerRoadTraffic wartość logiczna (true/false) Jeśli true, korzysta z danych o ruchu do wyznaczania tras. Jeśli ma wartość false, używane są tylko prędkości w sieci drogowej.
geodesicMetersPerSecond liczba Gdy wartość useGeodesicDistances to „true”, ta prędkość jest używana do obliczania czasu podróży.
injectedFirstSolutionRoutes[] tablica obiektów (ShipmentRoute) Trasy z poprzedniego rozwiązania, od których ma się rozpocząć optymalizacja.
injectedSolutionConstraint object (InjectedSolutionConstraint) Ogranicza rozwiązanie do podobieństwa do istniejących tras, określając, które właściwości muszą zostać zachowane, a które można pominąć.
interpretInjectedSolutionsUsingLabels wartość logiczna (true/false) Jeśli true, dopasowuje przesyłki lub pojazdy na wstrzykniętych trasach według ich label zamiast indeksu tablicy.
label ciąg znaków Dowolna etykieta identyfikująca żądanie, zwracana w odpowiedzi.
maxValidationErrors liczba całkowita Określa maksymalną liczbę błędów weryfikacji do zwrócenia. Jeśli nie określisz tu żadnej wartości, będzie obowiązywać limit domyślny.
model object (ShipmentModel) Wymagane. Zestaw pojazdów i przesyłek, które mają zostać zoptymalizowane.
populatePolylines wartość logiczna (true/false) Jeśli true, zwraca zakodowane linie łamane dla tras.
populateTransitionPolylines wartość logiczna (true/false) Jeśli true, zwraca zakodowane linie łamane dla poszczególnych przejść między wizytami.
refreshDetailsRoutes[] tablica obiektów (ShipmentRoute) Lista tras do odświeżenia. Spowoduje to ponowne obliczenie linii łamanych, czasu trwania i odległości dla istniejących tras bez modyfikowania kolejności wizyt.
searchMode enum (SearchMode) RETURN_FAST (szybkie wyniki) lub CONSUME_ALL_AVAILABLE_TIME (najlepsza jakość w ramach limitu czasu).
solvingMode enum (SolvingMode) DEFAULT_SOLVE (domyślnie) lub VALIDATE_ONLY, aby zweryfikować model bez rozwiązywania.
timeout Czas trwania Maksymalny czas działania narzędzia do rozwiązywania (np. „30s”, „300s”).
useGeodesicDistances wartość logiczna (true/false) Jeśli true, odległości i czasy podróży są obliczane na podstawie odległości geodezyjnych (w linii prostej) i prędkości geodesicMetersPerSecond.
ShipmentModel
(Część OptimizeToursRequest)
durationDistanceMatrices[] tablica obiektów (DurationDistanceMatrix) Określa niestandardowe macierze czasu trwania i odległości używane do wyznaczania tras między lokalizacjami.
durationDistanceMatrixDstTags[] tablica ciągów znaków Tagi określające miejsca docelowe (kolumny) w przypadku niestandardowych macierzy czasu trwania i odległości.
durationDistanceMatrixSrcTags[] tablica ciągów znaków Tagi określające źródła (wiersze) niestandardowych macierzy czasu trwania i odległości.
globalDurationCostPerHour liczba Koszt za godzinę globalnego przedziału czasowego trasy, od najwcześniejszego rozpoczęcia podróży do najpóźniejszego zakończenia podróży.
globalEndTime Sygnatura czasowa Najpóźniejsza godzina zakończenia dowolnego wydarzenia w modelu.
globalStartTime Sygnatura czasowa Najwcześniejsza godzina rozpoczęcia dowolnego wydarzenia w modelu.
maxActiveVehicles liczba całkowita Maksymalna liczba pojazdów, które mogą być aktywne w rozwiązaniu.
precedenceRules[] tablica obiektów (PrecedenceRule) Reguły określające ograniczenia kolejności między poszczególnymi przesyłkami.
shipments[] tablica obiektów (Shipment) Lista przesyłek, które mają zostać obsłużone.
shipmentTypeIncompatibilities[] tablica obiektów (ShipmentTypeIncompatibility) Reguły uniemożliwiające obsługę przesyłek określonych typów przez ten sam pojazd.
shipmentTypeRequirements[] tablica obiektów (ShipmentTypeRequirement) reguły wymagające, aby przesyłki określonych typów były obsługiwane przez ten sam pojazd;
transitionAttributes[] tablica obiektów (TransitionAttributes) Określa dodatkowe koszty, opóźnienia i limity odległości w przypadku przejść między wizytami z określonymi tagami.
vehicles[] tablica obiektów (Vehicle) Lista pojazdów dostępnych do realizacji dostaw.
Shipment
(Część ShipmentModel)
allowedVehicleIndices[] tablica liczb całkowitych Indeksy pojazdów, które mogą zrealizować tę dostawę.
costsPerVehicle[] mapa (klucz: liczba całkowita, wartość: liczba) Dodatkowe koszty poniesione, jeśli przesyłkę obsługuje konkretny pojazd.
costsPerVehicleIndices[] tablica liczb całkowitych Indeksy pojazdów, do których mają zastosowanie wartości costsPerVehicle.
deliveries[] tablica obiektów (VisitRequest) Alternatywne sposoby dostarczenia przesyłki.
ignore wartość logiczna (true/false) Jeśli wartość to true, przesyłka jest ignorowana i nie jest używana do optymalizacji.
label ciąg znaków Zdefiniowana przez użytkownika etykieta identyfikująca przesyłkę, zwracana w odpowiedzi.
loadDemands mapa (klucz: ciąg znaków, wartość: Load) Wymagana pojemność (np. waga, objętość) do przewozu tej przesyłki.
penaltyCost liczba Koszt, jeśli przesyłka nie zostanie obsłużona. Jeśli nie określisz tego ustawienia, wysyłka jest obowiązkowa.
pickups[] tablica obiektów (VisitRequest) Alternatywne sposoby odbioru przesyłki.
pickupToDeliveryAbsoluteDetourLimit Czas trwania Maksymalny dopuszczalny czas objazdu między odbiorem a dostawą w porównaniu z bezpośrednią trasą.
pickupToDeliveryRelativeDetourLimit liczba Maksymalny dozwolony względny objazd w przypadku przesyłki (np. wartość 2,0 oznacza, że łączny czas może być co najwyżej 2-krotnie dłuższy niż czas podróży bezpośredniej).
pickupToDeliveryTimeLimit Czas trwania Maksymalny dopuszczalny czas od rozpoczęcia odbioru do rozpoczęcia dostawy.
shipmentType ciąg znaków Klasyfikacja typu używana w przypadku reguł niezgodności i wymagań.
VisitRequest
(Komponent pickupsdeliveriesShipment)
arrivalLocation object (LatLng) Geograficzna lokalizacja przyjazdu w postaci współrzędnych szerokości i długości geograficznej.
arrivalWaypoint object (Waypoint) Lokalizacja, do której przyjeżdża pojazd, aby zrealizować wizytę. Określony przez współrzędne lub identyfikator miejsca.
cost liczba Koszt poniesiony, jeśli to konkretne żądanie wizyty zostanie wybrane przez rozwiązanie.
departureLocation object (LatLng) Geograficzna lokalizacja wylotu w postaci współrzędnych geograficznych.
departureWaypoint object (Waypoint) Miejsce, z którego pojazd odjeżdża po zakończeniu wizyty. Jeśli zostanie pominięty, przyjmuje się, że jest taki sam jak arrivalWaypoint.
duration Czas trwania Czas trwania wizyty (czas obsługi), np. ile czasu zajmuje załadunek lub rozładunek.
label ciąg znaków Zdefiniowana przez użytkownika etykieta tego konkretnego żądania wizyty, zwracana w odpowiedzi.
loadDemands mapa (klucz: ciąg znaków, wartość: Load) Wymaga określenia zmiany obciążenia podczas tej wizyty (np. -1, aby dostarczyć przesyłkę).
tags[] tablica ciągów znaków Tagi dołączone do tego żądania wizyty. Służą one do obliczania czasu podróży między tą wizytą a innymi za pomocą transitionAttributes.
timeWindows[] tablica obiektów (TimeWindow) Dozwolone przedziały czasu przyjazdu w przypadku tej wizyty.
visitTypes[] tablica ciągów znaków Ciągi znaków opisujące typ wizyty (np. „dostawa”, „instalacja”). Służy do stosowania extraVisitDurationForVisitType z modelu pojazdu.
Vehicle
(Część ShipmentModel)
breakRule object (BreakRule) Określa reguły dotyczące przerw (np. obowiązkowa przerwa na lunch).
costPerHour liczba Koszt na godzinę całkowitego czasu trwania trasy.
costPerKilometer liczba Koszt za przejechany kilometr.
costPerTraveledHour liczba Koszt za godzinę, gdy pojazd jest w ruchu.
endLocation object (LatLng) Geograficzna lokalizacja końcowa w postaci współrzędnych geograficznych.
endTags[] tablica ciągów znaków Tagi określające stan końcowy pojazdu, używane w przypadku atrybutów przejścia.
endTimeWindows[] tablica obiektów (TimeWindow) Dozwolone przedziały czasu, w których pojazd może zakończyć trasę.
endWaypoint object (Waypoint) Geograficzne miejsce docelowe z użyciem punktu pośredniego (współrzędne lub identyfikator miejsca).
extraVisitDurationForVisitType mapa (klucz: ciąg znaków, wartość: Czas trwania) Dodaje do wizyt dodatkowy czas trwania na podstawie ich visitType.
fixedCost liczba Stały koszt, który jest naliczany, gdy pojazd jest używany, niezależnie od odległości lub czasu trwania trasy.
ignore wartość logiczna (true/false) Jeśli wartość to true, pojazd jest ignorowany i nie jest używany do optymalizacji.
label ciąg znaków Zdefiniowana przez użytkownika etykieta pojazdu, zwracana w odpowiedzi.
loadLimits mapa (klucz: ciąg znaków, wartość: LoadLimit) ładowność pojazdów (np. maksymalna waga, maksymalna objętość);
routeDistanceLimit object (DistanceLimit) Limit twardy lub miękki dotyczący całkowitej odległości na trasie pojazdu.
routeDurationLimit object (DurationLimit) Sztywne lub elastyczne ograniczenie łącznego czasu trwania trasy pojazdu.
routeModifiers object (RouteModifiers) jedno lub kilka ograniczeń, np. unikanie tras płatnych, autostrad lub promów;
startLocation object (LatLng) Geograficzna lokalizacja początkowa w postaci współrzędnych szerokości i długości geograficznej.
startTags[] tablica ciągów znaków Tagi określające stan początkowy pojazdu, używane w przypadku atrybutów przejścia.
startTimeWindows[] tablica obiektów (TimeWindow) Dozwolone przedziały czasu, w których pojazd może rozpocząć trasę.
startWaypoint object (Waypoint) Geograficzna lokalizacja początkowa z użyciem punktu pośredniego (współrzędne lub identyfikator miejsca).
travelDurationLimit object (DurationLimit) Limit twardy lub miękki dotyczący łącznego czasu podróży pojazdu (z wyłączeniem czasu oczekiwania lub obsługi).
travelDurationMultiple liczba Mnożnik stosowany do czasu podróży (np. 1,5 – podróż trwa o 50% dłużej).
travelMode enum (TravelMode) środek transportu (np. DRIVING, WALKING). Wpływa na czas i odległość podróży.
unloadingPolicy enum (UnloadingPolicy) Określa kolejność rozładunku (np. LIFO lub LAST_IN_FIRST_OUT).
usedIfRouteIsEmpty wartość logiczna (true/false) Jeśli true, pojazd jest uznawany za używany nawet bez przesyłek. Ponosi stałe koszty i przemieszcza się między lokalizacją początkową a końcową.

Treść odpowiedzi

Struktura danych treści odpowiedzi.

Treść odpowiedzi zawiera te elementy, które są przedstawione na diagramie po prawej stronie i wymienione w tabeli poniżej:

  • OptimizeToursResponse: obiekt odpowiedzi najwyższego poziomu, który zawiera zoptymalizowane trasy i dane.
    • Metrics: ogólne statystyki kosztów i wykonania rozwiązania.
    • ShipmentRoute: sekwencja wizyt i trasa przejazdu przypisana do jednego pojazdu.
      • Visit: przystanek na trasie, na którym można odebrać lub dostarczyć przesyłkę.
      • Transition: ścieżka podróży i czas trwania między 2 przystankami na trasie.
      • AggregatedMetrics: suma łącznych wartości czasu trwania, odległości i innych danych. Ten element może występować zarówno w Metrics, jak i w ShipmentRoute.
Rodzic Parametr Typ obiektu Opis
OptimizeToursResponse metrics object (Metrics) Zagregowane dane dotyczące rozwiązania, w tym łączny koszt, łączny dystans, łączny czas trwania i liczba użyć pojazdu.
requestLabel ciąg znaków Etykieta skopiowana z pola label w żądaniu. Używany do powiązania odpowiedzi z pierwotnym żądaniem.
routes[] tablica obiektów (ShipmentRoute) Lista tras obliczonych dla każdego pojazdu. Zawiera wpis dla każdego pojazdu, niezależnie od tego, czy jest używany.
skippedShipments[] tablica obiektów (SkippedShipment) Lista przesyłek, które zostały pominięte (nieobsłużone), wraz z przyczynami ich pominięcia.
validationErrors[] tablica obiektów (OptimizeToursValidationError) Lista błędów weryfikacji znalezionych w modelu wejściowym. To pole jest wypełniane, jeśli wartość solvingMode została ustawiona na VALIDATE_ONLY lub jeśli podczas rozwiązywania wystąpiły błędy.
Metrics
(Część OptimizeToursResponse)
aggregatedRouteMetrics object (AggregatedMetrics) zagregowane statystyki dotyczące wszystkich tras, takie jak łączna odległość podróży, łączny czas trwania i czas oczekiwania;
costs mapa (klucz: tekst, wartość: liczba) zestawienie kosztów według typu (np. „model.vehicles.cost_per_kilometer”, „model.shipments.penalty_cost”).
earliestVehicleStartTime Sygnatura czasowa Najwcześniejszy czas rozpoczęcia spośród wszystkich używanych pojazdów.
latestVehicleEndTime Sygnatura czasowa Najpóźniejszy czas zakończenia wśród wszystkich używanych pojazdów.
skippedMandatoryShipmentCount liczba całkowita Liczba pominiętych obowiązkowych dostaw.
totalCost liczba Całkowity koszt rozwiązania, czyli suma kosztów wszystkich tras i kar za pominięte przesyłki.
usedVehicleCount liczba całkowita Liczba pojazdów używanych w rozwiązaniu.
AggregatedMetrics
(część MetricsShipmentRoute)
breakDuration Czas trwania Łączny czas przerw na wszystkich trasach.
costs mapa (klucz: tekst, wartość: liczba) zestawienie kosztów według typu (np. „model.vehicles.cost_per_kilometer”, „model.shipments.penalty_cost”).
delayDuration Czas trwania Łączny czas opóźnienia na wszystkich trasach.
earliestVehicleStartTime Sygnatura czasowa Najwcześniejszy czas rozpoczęcia spośród wszystkich używanych pojazdów.
latestVehicleEndTime Sygnatura czasowa Najpóźniejszy czas zakończenia wśród wszystkich używanych pojazdów.
maxLoads mapa (klucz: ciąg znaków, wartość: VehicleLoad) Maksymalne obciążenie przewożone przez dowolny pojazd w dowolnym momencie rozwiązania, z podziałem na typ obciążenia.
performedShipmentCount liczba całkowita Łączna liczba przesyłek zrealizowanych we wszystkich pojazdach.
skippedMandatoryShipmentCount liczba całkowita Liczba pominiętych obowiązkowych dostaw.
totalCost liczba Całkowity koszt rozwiązania, czyli suma kosztów wszystkich tras i kar za pominięte przesyłki.
totalDuration Czas trwania Łączny czas trwania wszystkich tras (podróż + oczekiwanie + opóźnienie + przerwa + wizyta).
travelDistanceMeters liczba Łączna odległość podróży w metrach na wszystkich trasach.
travelDuration Czas trwania Łączny czas podróży na wszystkich trasach.
usedVehicleCount liczba całkowita Liczba pojazdów używanych w rozwiązaniu.
visitDuration Czas trwania Łączny czas spędzony na odwiedzaniu miejsc (załadunek/rozładunek) na wszystkich trasach.
waitDuration Czas trwania Łączny czas oczekiwania na wszystkich trasach.
ShipmentRoute
(Część OptimizeToursResponse)
breaks[] tablica obiektów (Break) Lista przerw w podróży pojazdu na trasie.
hasTrafficInfeasibilities wartość logiczna (true/false) Wskazuje, czy na trasie występują problemy związane z natężeniem ruchu.
metrics object (AggregatedMetrics) dane dotyczące tej trasy, np. całkowita przebyta odległość i czas podróży;
routeCosts mapa (klucz: tekst, wartość: liczba) Zestawienie kosztów tej trasy. Klucze to typy kosztów (np. „cost_per_hour”), a wartości to kwoty.
routePolyline object (EncodedPolyline) Zakodowana linia łamana reprezentująca pełną ścieżkę trasy geograficznie.
routeTotalCost liczba Całkowity koszt trasy, czyli suma wszystkich kosztów na mapie routeCosts.
transitions[] tablica obiektów (Transition) Uporządkowana lista przejść (etapów podróży) łączących wizyty.
vehicleEndTime Sygnatura czasowa Godzina zakończenia trasy przez pojazd.
vehicleIndex liczba całkowita Indeks pojazdu w źródle ShipmentModel, który pokonuje tę trasę.
vehicleLabel ciąg znaków Zdefiniowana przez użytkownika etykieta pojazdu skopiowana z modelu żądania.
vehicleStartTime Sygnatura czasowa Godzina rozpoczęcia trasy przez pojazd.
visits[] tablica obiektów (Visit) Uporządkowana sekwencja wizyt (odbiorów i dostaw) wykonywanych przez pojazd na tej trasie.
Visit
(Część ShipmentRoute)
detour Czas trwania Dodatkowy czas objazdu poniesiony podczas tej wizyty w porównaniu z bezpośrednią trasą między poprzednią a następną wizytą.
isPickup wartość logiczna (true/false) Jeśli true, ta wizyta jest odbiorem. Jeśli ma wartość Fałsz, jest to dostawa.
loadDemands mapa (klucz: ciąg znaków, wartość: Load) Wymagania dotyczące załadunku spełnione podczas tej wizyty (np. -1 w przypadku dostawy). Jest to kopia odpowiednich VisitRequest wymagań dotyczących obciążenia.
shipmentIndex liczba całkowita Indeks pola Shipment w modelu źródłowym, z którego korzysta ta wizyta.
shipmentLabel ciąg znaków Etykieta przesyłki skopiowana z ShipmentModel.
startTime Sygnatura czasowa Godzina rozpoczęcia wizyty.
visitLabel ciąg znaków Etykieta żądania wizyty skopiowana z VisitRequest w modelu.
visitRequestIndex liczba całkowita Indeks VisitRequest na liście odbioru lub dostawy przesyłki, do którego odnosi się ta wizyta.
Transition
(Część ShipmentRoute)
breakDuration Czas trwania Czas trwania przerw w tym przejściu.
delayDuration Czas trwania Czas trwania opóźnienia podczas tego przejścia (np. przybycie przed czasem i oczekiwanie na przedział czasowy).
routePolyline object (EncodedPolyline) Zakodowana linia łamana reprezentująca ścieżkę tej konkretnej zmiany.
routeToken ciąg znaków Nieprzezroczysty token, który można przekazać do pakietu Google Navigation SDK, aby odtworzyć trasę podczas nawigacji.
startTime Sygnatura czasowa Czas rozpoczęcia tego przejścia.
totalDuration Czas trwania Łączny czas trwania podróży, w tym czas przejazdu, oczekiwania, przerw i opóźnień.
trafficInfoUnavailable wartość logiczna (true/false) Jeśli true, oznacza to, że dane o ruchu były niedostępne w przypadku tego przejścia.
travelDistanceMeters liczba Dystans przebyty podczas tego przejścia (w metrach).
travelDuration Czas trwania Czas trwania podróży podczas tej zmiany.
vehicleLoads mapa (klucz: ciąg znaków, wartość: VehicleLoad) Ładunek przewożony przez pojazd podczas tego przejścia, z podziałem na typ ładunku (np. „weight”).
waitDuration Czas trwania Czas oczekiwania przed rozpoczęciem kolejnej wizyty.