Lista parametrów

Na tej stronie znajdziesz tabele parametrów w porządku alfabetycznym 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 znalezienie. Pełną listę z opisami i wszystkimi zagnieżdżonymi parametrami znajdziesz w dokumentacji API.

Treść żądania

Struktura danych treści żądania.

Treść żądania zawiera te elementy, które są przedstawione 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 ograniczenia globalne.
      • Shipment: zadanie z odbiorami i dostawami.
        • VisitRequest: lokalizacja i ograniczenia dotyczące odbioru lub dostawy.
      • Vehicle: pojazd dostępny do realizacji dostaw.
Ma dzieci 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 ma wartość true, do wyznaczania trasy używa danych o natężeniu ruchu. Jeśli ma wartość false, używane są tylko prędkości sieci drogowej.
geodesicMetersPerSecond liczba Gdy parametr useGeodesicDistances ma wartość „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 obiekt (InjectedSolutionConstraint) Ogranicza rozwiązanie, aby było podobne do istniejących tras, określając, które właściwości muszą zostać zachowane, a które mogą zostać złagodzone.
interpretInjectedSolutionsUsingLabels wartość logiczna (true/false) Jeśli ma wartość true, dopasowuje przesyłki/pojazdy we wstrzykniętych trasach według ich label, a nie indeksu tablicy.
label tekst 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 zostanie określony, obowiązuje limit domyślny.
model obiekt (ShipmentModel) Wymagane. Zestaw pojazdów i przesyłek do optymalizacji.
populatePolylines wartość logiczna (true/false) Jeśli ma wartość true, zwraca zakodowane linie łamane tras.
populateTransitionPolylines wartość logiczna (true/false) Jeśli ma wartość 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, czasów 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 sprawdzić model bez rozwiązywania.
timeout Czas trwania Maksymalny czas działania solvera (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 definiujące miejsca docelowe (kolumny) dla niestandardowych macierzy czasu trwania i odległości.
durationDistanceMatrixSrcTags[] tablica ciągów znaków Tagi definiujące źródła (wiersze) niestandardowych macierzy czasu trwania i odległości.
globalDurationCostPerHour liczba Koszt za godzinę globalnego przedziału czasu trasy, od najwcześniejszego rozpoczęcia do najpóźniejszego zakończenia przejazdu pojazdu.
globalEndTime Sygnatura czasowa Najpóźniejszy czas zakończenia dowolnego zdarzenia w modelu.
globalStartTime Sygnatura czasowa Najwcześniejszy czas 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 definiujące ograniczenia kolejności między określonymi przesyłkami.
shipments[] tablica obiektów (Shipment) Lista przesyłek do obsłużenia.
shipmentTypeIncompatibilities[] tablica obiektów (ShipmentTypeIncompatibility) Reguły uniemożliwiające obsługę przesyłek określonego typu przez ten sam pojazd.
shipmentTypeRequirements[] tablica obiektów (ShipmentTypeRequirement) Reguły wymagające, aby przesyłki określonego typu 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 przesyłek.
Shipment
(część ShipmentModel)
allowedVehicleIndices[] tablica liczb całkowitych Indeksy pojazdów, które mogą wykonać tę przesyłkę.
costsPerVehicle[] map (key: integer, value: number) Dodatkowe koszty ponoszone, jeśli przesyłka jest obsługiwana przez 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 dostawy przesyłki.
ignore wartość logiczna (true/false) Jeśli true, przesyłka jest ignorowana i nie jest używana do optymalizacji.
label tekst Zdefiniowana przez użytkownika etykieta służąca do identyfikacji przesyłki, zwracana w odpowiedzi.
loadDemands map (key: string, value: Load) Wymagana pojemność (np. waga, objętość) do przewozu tej przesyłki.
penaltyCost liczba Koszt, jeśli przesyłka nie jest obsługiwana. Jeśli nie jest ustawiona, przesyłka jest obowiązkowa.
pickups[] tablica obiektów (VisitRequest) Alternatywne sposoby odbioru przesyłki.
pickupToDeliveryAbsoluteDetourLimit Czas trwania Maksymalny bezwzględny czas objazdu dozwolony między odbiorem a dostawą w porównaniu z trasą bezpośrednią.
pickupToDeliveryRelativeDetourLimit liczba Maksymalny względny objazd dozwolony dla przesyłki (np. wartość 2,0 oznacza, że łączny czas może wynosić maksymalnie 2 razy więcej niż czas podróży bezpośredniej).
pickupToDeliveryTimeLimit Czas trwania Maksymalny dozwolony czas od rozpoczęcia odbioru do rozpoczęcia dostawy.
shipmentType tekst Klasyfikacja typu używana w przypadku reguł niezgodności i wymagań.
VisitRequest
(Komponent pickups i deliveries w Shipment)
arrivalLocation obiekt (LatLng) Współrzędne geograficzne miejsca przybycia (szerokość i długość geograficzna).
arrivalWaypoint obiekt (Waypoint) Lokalizacja, do której pojazd przyjeżdża, aby zrealizować wizytę. Określone przez współrzędne lub identyfikator miejsca.
cost liczba Koszt poniesiony, jeśli solver wybierze tę konkretną prośbę o wizytę.
departureLocation obiekt (LatLng) Geograficzna lokalizacja miejsca wylotu jako współrzędne szerokości i długości geograficznej.
departureWaypoint obiekt (Waypoint) Lokalizacja, z której 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. czas załadunku lub rozładunku;
label tekst Etykieta zdefiniowana przez użytkownika dla tej konkretnej prośby o wizytę, zwracana w odpowiedzi.
loadDemands map (key: string, value: Load) Wymagania określające zmianę obciążenia podczas tej wizyty (np. -1 w przypadku dostarczenia paczki).
tags[] tablica ciągów znaków Tagi dołączone do tej prośby o wizytę. 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 na przybycie na tę wizytę.
visitTypes[] tablica ciągów znaków Ciągi znaków opisujące typ wizyty (np. „dostawa”, „instalacja”). Służy do stosowania wartości extraVisitDurationForVisitType z modelu pojazdu.
Vehicle
(część ShipmentModel)
breakRule obiekt (BreakRule) Określa reguły dotyczące przerw (np. obowiązkowej przerwy na lunch).
costPerHour liczba Koszt za godzinę łącznego czasu trwania trasy.
costPerKilometer liczba Koszt przejechanego kilometra.
costPerTraveledHour liczba Koszt za godzinę, gdy pojazd jest w ruchu.
endLocation obiekt (LatLng) Lokalizacja geograficzna punktu końcowego jako współrzędne szerokości i długości geograficznej.
endTags[] tablica ciągów znaków Tagi definiujące stan końcowy pojazdu, używane w atrybutach przejścia.
endTimeWindows[] tablica obiektów (TimeWindow) Dozwolone przedziały czasowe, w których pojazd może zakończyć trasę.
endWaypoint obiekt (Waypoint) Geograficzna lokalizacja końcowa określona za pomocą punktu na trasie (współrzędnych lub identyfikatora miejsca).
extraVisitDurationForVisitType map (key: string, value: Duration) Wydłuża czas wizyt na podstawie visitType.
fixedCost liczba Stały koszt, który jest naliczany, jeśli pojazd jest używany, niezależnie od odległości lub czasu trwania trasy.
ignore wartość logiczna (true/false) Jeśli true, pojazd jest ignorowany i nie jest używany do optymalizacji.
label tekst Zdefiniowana przez użytkownika etykieta pojazdu zwracana w odpowiedzi.
loadLimits map (key: string, value: LoadLimit) pojemność pojazdów (np. maksymalna waga, maksymalna objętość);
routeDistanceLimit obiekt (DistanceLimit) Sztywny lub elastyczny limit całkowitej odległości trasy pojazdu.
routeDurationLimit obiekt (DurationLimit) Sztywny lub elastyczny limit łącznego czasu trwania trasy pojazdu.
routeModifiers obiekt (RouteModifiers) co najmniej jedno ograniczenie, np. unikanie opłat, autostrad lub promów;
startLocation obiekt (LatLng) Lokalizacja początkowa jako współrzędne szerokości i długości geograficznej.
startTags[] tablica ciągów znaków Tagi definiujące stan początkowy pojazdu, używane w atrybutach przejścia.
startTimeWindows[] tablica obiektów (TimeWindow) Dozwolone okna, w których pojazd może rozpocząć trasę.
startWaypoint obiekt (Waypoint) Geograficzna lokalizacja początkowa z użyciem punktu orientacyjnego (współrzędne lub identyfikator miejsca).
travelDurationLimit obiekt (DurationLimit) Twardy lub miękki limit całkowitego czasu podróży pojazdu (z wyłączeniem czasu oczekiwania/obsługi).
travelDurationMultiple liczba Mnożnik stosowany do czasu podróży (np. 1,5 oznacza, że podróż jest o 50% wolniejsza).
travelMode enum (TravelMode) Środek transportu (np. DRIVING, WALKING). Wpływa na czas podróży i odległość.
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. Pojazd generuje 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 przypisana do jednego pojazdu.
      • Visit: przystanek na trasie, na którym następuje odbiór lub dostawa.
      • Transition: trasa i czas podróży między 2 przystankami na trasie.
      • AggregatedMetrics: sumaryczne wartości czasu trwania, odległości i innych danych. Ten element może występować zarówno w Metrics, jak i ShipmentRoute.
Ma dzieci Parametr Typ obiektu Opis
OptimizeToursResponse metrics obiekt (Metrics) Zbiorcze dane dotyczące rozwiązania, w tym łączny koszt, łączny dystans, łączny czas trwania i liczba użyć pojazdu.
requestLabel tekst Etykieta skopiowana z pola label żądania. Służy do powiązania odpowiedzi z pierwotnym żądaniem.
routes[] tablica obiektów (ShipmentRoute) Lista tras obliczonych dla każdego pojazdu. Zawiera wpis dotyczący każdego pojazdu, niezależnie od jego wykorzystania.
skippedShipments[] tablica obiektów (SkippedShipment) Lista przesyłek, które zostały pominięte (nie zostały obsł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 parametr solvingMode został ustawiony na VALIDATE_ONLY lub jeśli podczas rozwiązywania wystąpiły błędy.
Metrics
(część OptimizeToursResponse)
aggregatedRouteMetrics obiekt (AggregatedMetrics) Zbiorcze statystyki dotyczące wszystkich tras, takie jak łączna odległość, łączny czas trwania i czasy oczekiwania.
costs map (key: string, value: number) 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 przesyłek.
totalCost liczba Łączny koszt rozwiązania, czyli suma wszystkich kosztów tras i kar za pominięte przesyłki.
usedVehicleCount liczba całkowita Liczba pojazdów użytych w rozwiązaniu.
AggregatedMetrics
(część Metrics i ShipmentRoute)
breakDuration Czas trwania Łączny czas trwania przerw na wszystkich trasach.
costs map (key: string, value: number) 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 map (key: string, value: VehicleLoad) Maksymalne obciążenie przewożone przez dowolny pojazd w dowolnym punkcie rozwiązania, z kluczem według typu obciążenia.
performedShipmentCount liczba całkowita Łączna liczba dostaw zrealizowanych przez wszystkie pojazdy.
skippedMandatoryShipmentCount liczba całkowita Liczba pominiętych obowiązkowych przesyłek.
totalCost liczba Łączny koszt rozwiązania, który jest sumą wszystkich kosztów 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ść do przebycia we wszystkich trasach (w metrach).
travelDuration Czas trwania Łączny czas podróży na wszystkich trasach.
usedVehicleCount liczba całkowita Liczba pojazdów użytych w rozwiązaniu.
visitDuration Czas trwania Łączny czas trwania wizyt (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, które pojazd zrobił podczas trasy.
hasTrafficInfeasibilities wartość logiczna (true/false) Wskazuje, czy trasa ma jakieś problemy związane z natężeniem ruchu.
metrics obiekt (AggregatedMetrics) Dane dotyczące tej trasy, takie jak całkowita odległość i czas podróży.
routeCosts map (key: string, value: number) Zestawienie kosztów na tej trasie. Klucze to typy kosztów (np. „cost_per_hour”), a wartości to kwoty.
routePolyline obiekt (EncodedPolyline) Zakodowana linia łamana reprezentująca pełną ścieżkę trasy pod względem geograficznym.
routeTotalCost liczba Łączny koszt trasy, czyli suma wszystkich kosztów na mapie routeCosts.
transitions[] tablica obiektów (Transition) Lista uporządkowana przejść (etapów podróży) łączących wizyty.
vehicleEndTime Sygnatura czasowa Godzina, o której pojazd kończy trasę.
vehicleIndex liczba całkowita Indeks pojazdu w źródle ShipmentModel, który realizuje tę trasę.
vehicleLabel tekst Zdefiniowana przez użytkownika etykieta pojazdu skopiowana z modelu żądania.
vehicleStartTime Sygnatura czasowa Godzina, o której pojazd rozpoczyna trasę.
visits[] tablica obiektów (Visit) Uporządkowana sekwencja wizyt (odbiorów i dostaw) realizowanych przez pojazd na tej trasie.
Visit
(część ShipmentRoute)
detour Czas trwania Dodatkowy czas objazdu związany z tą wizytą w porównaniu z bezpośrednią trasą między poprzednią a następną wizytą.
isPickup wartość logiczna (true/false) Jeśli true, ta wizyta to odbiór. Jeśli ma wartość „false”, jest to dostawa.
loadDemands map (key: string, value: Load) Wymagania dotyczące ładunku spełnione podczas tej wizyty (np. -1 w przypadku dostawy). To jest kopia odpowiednich wymagań dotyczących obciążenia VisitRequest.
shipmentIndex liczba całkowita Indeks pola Shipment w modelu źródłowym, które jest obsługiwane przez tę wizytę.
shipmentLabel tekst Etykieta przesyłki skopiowana z ShipmentModel.
startTime Sygnatura czasowa Godzina, o której ma się rozpocząć wizyta.
visitLabel tekst Etykieta prośby o wizytę skopiowana z pola VisitRequest w modelu.
visitRequestIndex liczba całkowita Indeks VisitRequest na liście odbioru lub dostawy przesyłki, której dotyczy ta wizyta.
Transition
(część ShipmentRoute)
breakDuration Czas trwania Czas trwania przerw podczas tej zmiany.
delayDuration Czas trwania Czas opóźnienia podczas tego przejścia (np. przybycie wcześniej i oczekiwanie na okno czasowe).
routePolyline obiekt (EncodedPolyline) Zakodowana linia łamana reprezentująca ścieżkę tego konkretnego przejścia.
routeToken tekst Nieprzezroczysty token, który można przekazać do pakietu SDK nawigacji Google, aby odtworzyć trasę podczas nawigacji.
startTime Sygnatura czasowa Czas rozpoczęcia tego przejścia.
totalDuration Czas trwania Łączny czas trwania przejścia, w tym podróży, oczekiwania, przerw i opóźnień.
trafficInfoUnavailable wartość logiczna (true/false) Jeśli wartość to true, oznacza to, że dane o ruchu były niedostępne dla tego przejścia.
travelDistanceMeters liczba Odległość przebyta podczas tego przejścia, w metrach.
travelDuration Czas trwania Czas trwania podróży podczas tego przejścia.
vehicleLoads map (key: string, value: VehicleLoad) Ładunek przewożony przez pojazd podczas tego przejścia, określony przez typ ładunku (np. „waga”).
waitDuration Czas trwania Czas oczekiwania przed rozpoczęciem kolejnej wizyty.