Odpowiedź po rozwiązaniu problemu optymalizacji trasy zawierająca trasy przebyte przez każdy pojazd, przesyłki, które zostały pominięte, oraz łączny koszt rozwiązania.
Zapis JSON |
---|
{ "routes": [ { object ( |
Pola | |
---|---|
routes[] |
Trasy obliczone dla każdego pojazdu; i-ta trasa odpowiada i-temu pojazdowi w modelu. |
request |
Kopia |
skipped |
Lista wszystkich pominiętych przesyłek. |
validation |
Lista wszystkich błędów weryfikacji, które udało nam się wykryć. Więcej informacji o komunikacie |
metrics |
Dane o czasie trwania, odległości i użytkowaniu tego rozwiązania. |
OptimizeToursValidationError
Opisuje błąd lub ostrzeżenie występujące podczas sprawdzania OptimizeToursRequest
.
Zapis JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Pola | |
---|---|
code |
Błąd weryfikacji jest zdefiniowany przez parę ( Pola w sekcji po tej sekcji zawierają więcej informacji o błędzie. WIELE BŁĘDÓW: gdy występuje wiele błędów, proces weryfikacji próbuje wygenerować kilka z nich. Podobnie jak w przypadku kompilatorów, jest to proces niedoskonały. Niektóre błędy weryfikacji są „krytyczne”, co oznacza, że powodują przerwanie całego procesu weryfikacji. Dotyczy to m.in. błędów STABILNOŚĆ: |
display |
Wyświetlana nazwa błędu. |
fields[] |
Kontekst błędu może obejmować 0, 1 (najczęściej) lub więcej pól. Na przykład pierwszy odbiór pojazdu 4 w ramach dostawy 2 można wykonać w ten sposób:
Pamiętaj jednak, że liczba elementów |
error |
Zrozumiały dla człowieka ciąg tekstowy opisujący błąd. Wartości STAŁOŚĆ: niestabilna: komunikat o błędzie powiązany z danym |
offending |
Może zawierać wartości pól. Ta opcja nie jest zawsze dostępna. Nie należy się na niego w żaden sposób opierać. Należy go używać tylko do ręcznego debugowania modelu. |
FieldReference
Określa kontekst błędu weryfikacji. Element FieldReference
zawsze odnosi się do określonego pola w tym pliku i podąża za tą samą strukturą hierarchiczną. Możemy na przykład określić element 2 w elementach startTimeWindows
pojazdu 5 za pomocą:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Jednak pomijamy elementy najwyższego poziomu, takie jak OptimizeToursRequest
lub ShipmentModel
, aby nie zaśmiecać wiadomości.
Zapis JSON |
---|
{ "name": string, "subField": { object ( |
Pola | |
---|---|
name |
Nazwa pola, np. „vehicles”. |
sub |
W razie potrzeby rekurencyjnie zagnieżdżone podpole. |
Pole unii
|
|
index |
Indeks pola, jeśli jest powtarzany. |
key |
klucz, jeśli pole jest mapą; |
Dane
Ogólne dane, zagregowane na podstawie wszystkich tras.
Zapis JSON |
---|
{
"aggregatedRouteMetrics": {
object ( |
Pola | |
---|---|
aggregated |
Dane zbiorcze dotyczące tras. Każde dane to suma (lub wartość maksymalna w przypadku wartości wczytanych) wszystkich pól |
skipped |
Liczba pominiętych przesyłek obowiązkowych. |
used |
Liczba używanych pojazdów. Uwaga: jeśli trasa pojazdu jest pusta, a wartość atrybutu |
earliest |
Najwcześniejszy czas rozpoczęcia dla używanego pojazdu, obliczony jako minimalny dla wszystkich używanych pojazdów Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
latest |
Najpóźniejszy czas zakończenia dla używanego pojazdu, obliczony jako maksymalny dla wszystkich używanych pojazdów Używa standardu RFC 3339, w którym wygenerowany wynik jest zawsze znormalizowany według normy Z i zawiera 0, 3, 6 lub 9 cyfr ułamkowych. Akceptowane są też przesunięcia inne niż „Z”. Przykłady: |
costs |
Koszt rozwiązania z podziałem według pól żądania związanych z kosztami. Klucze to ścieżki proto, odnoszące się do wejścia OptimizeToursRequest, np. „model.shipments.pickups.cost”, a wartości to łączny koszt wygenerowany przez odpowiednie pole kosztu, zsumowany w całym rozwiązaniu. Inaczej mówiąc, costs[„model.shipments.pickups.cost”] to suma wszystkich kosztów odbioru w ramach rozwiązania. Wszystkie koszty zdefiniowane w modelu są tutaj szczegółowo raportowane, z wyjątkiem kosztów związanych z atributem TransitionAttributes, które od 1 stycznia 2022 r. są raportowane tylko w sposób zagregowany. |
total |
Łączny koszt rozwiązania. Suma wszystkich wartości w mapie kosztów. |