Reaktion nach Lösung eines Optimierungsproblems für Touren mit den Routen für jedes Fahrzeug, den übersprungenen Lieferungen und den Gesamtkosten der Lösung.
JSON-Darstellung |
---|
{ "routes": [ { object ( |
Felder | |
---|---|
routes[] |
Für jedes Fahrzeug berechnete Routen; die i-te Route entspricht dem i-ten Fahrzeug im Modell. |
requestLabel |
Kopie von |
skippedShipments[] |
Die Liste aller übersprungenen Sendungen. |
validationErrors[] |
Liste aller Validierungsfehler, die wir unabhängig voneinander ermitteln konnten. Siehe die Erläuterung „MULTIPLE ERRORS“ (MEHRERE FEHLER) für die Nachricht |
metrics |
Messwerte zu Dauer, Entfernung und Nutzung für diese Lösung. |
OptimizeToursValidationError
Beschreibt einen Fehler, der beim Validieren eines OptimizeToursRequest
aufgetreten ist.
JSON-Darstellung |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Felder | |
---|---|
code |
Ein Validierungsfehler wird durch das Paar ( Die anderen Felder (unten) liefern mehr Kontext zum Fehler. MEHRERE FEHLER: Bei mehreren Fehlern wird bei der Validierung versucht, mehrere Fehler auszugeben. Ähnlich wie ein Compiler ist dies ein nicht perfekter Prozess. Einige Validierungsfehler sind schwerwiegend, was bedeutet, dass die gesamte Validierung abgebrochen wird. Das ist unter anderem bei Stabilität: REFERENZ: Eine Liste aller Paare (Code, Name):
|
displayName |
Der Anzeigename des Fehlers. |
fields[] |
Ein Fehlerkontext kann (meist 0, 1) oder mehr Felder umfassen. Wenn Sie sich beispielsweise auf Fahrzeug Nr. 4 und Lieferung Nr. 2 die erste Abholung beziehen, könnte das folgendermaßen aussehen:
Die Kardinalität von |
errorMessage |
Für Menschen lesbarer String, der den Fehler beschreibt. Es gibt eine 1:1-Zuordnung zwischen Stabilität: Nicht stabil: Die Fehlermeldung für eine bestimmte |
offendingValues |
Kann die Werte des Felds bzw. der Felder enthalten. Diese Funktion ist nicht immer verfügbar. Sie sollten sich nicht darauf verlassen und sie nur für die manuelle Fehlerbehebung von Modellen verwenden. |
FieldReference
Gibt einen Kontext für den Validierungsfehler an. Ein FieldReference
bezieht sich immer auf ein bestimmtes Feld in dieser Datei und folgt derselben hierarchischen Struktur. So können wir beispielsweise Element 2 von startTimeWindows
von Fahrzeug 5 mit folgendem Format angeben:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
Entitäten der obersten Ebene wie OptimizeToursRequest
oder ShipmentModel
werden jedoch weggelassen, um eine Überfüllung der Nachricht zu vermeiden.
JSON-Darstellung |
---|
{ "name": string, "subField": { object ( |
Felder | |
---|---|
name |
Name des Felds, z.B. „Fahrzeuge“. |
subField |
Bei Bedarf rekursiv verschachteltes Unterfeld. |
Union-Feld Für |
|
index |
Index des Felds bei Wiederholung. |
key |
Key, wenn das Feld eine Karte ist. |
Messwerte
Gesamtmesswerte, aggregiert über alle Routen.
JSON-Darstellung |
---|
{
"aggregatedRouteMetrics": {
object ( |
Felder | |
---|---|
aggregatedRouteMetrics |
Über die Routen aggregiert. Jeder Messwert ist die Summe (oder der Höchstwert bei Ladevorgängen) über alle |
skippedMandatoryShipmentCount |
Anzahl der übersprungenen obligatorischen Sendungen. |
usedVehicleCount |
Anzahl der verwendeten Fahrzeuge. Hinweis: Wenn eine Fahrzeugroute leer und |
earliestVehicleStartTime |
Die früheste Startzeit für ein gebrauchtes Fahrzeug, berechnet als Mindestwert für alle gebrauchten Fahrzeuge von Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
latestVehicleEndTime |
Die späteste Endzeit für ein gebrauchtes Fahrzeug, berechnet als Maximalwert für alle gebrauchten Fahrzeuge von Ein Zeitstempel im Format RFC3339 UTC „Zulu“ mit Nanosekundenauflösung und bis zu neun Nachkommastellen. Beispiele: |
costs |
Kosten der Lösung, aufgeschlüsselt nach kostenbezogenen Anfragefeldern. Die Schlüssel sind Proto-Pfade, die sich auf die OptimizeToursRequest-Eingabe beziehen, z. B. „model.shipments.pickups.cost“. Die Werte sind die vom entsprechenden Kostenfeld generierten Gesamtkosten, die über die gesamte Lösung aggregiert werden. Mit anderen Worten, cost["model.shipments.pickups.cost"] ist die Summe aller Abholkosten der Lösung. Alle im Modell definierten Kosten sind hier im Detail enthalten. Ausgenommen hiervon sind Kosten für TransitionAttributes, die seit 2022/01 nur in aggregierter Form erfasst werden. Ein Objekt, das eine Liste von |
totalCost |
Gesamtkosten der Lösung. Die Summe aller Werte in der Kostenkarte. |