Antwort nach der Lösung eines Problems zur Optimierung der Tour mit den Routen, denen jedes Fahrzeug folgt, den übersprungenen Sendungen und den Gesamtkosten der Lösung.
JSON-Darstellung |
---|
{ "routes": [ { object ( |
Felder | |
---|---|
routes[] |
Routen, die für jedes Fahrzeug berechnet werden die i-te Route dem i-ten Fahrzeug im Modell entspricht. |
requestLabel |
Kopie von |
skippedShipments[] |
Die Liste aller übersprungenen Sendungen. |
validationErrors[] |
Liste aller Validierungsfehler, die unabhängig erkannt wurden. Siehe "MEHRERE FEHLER" Erklärung für die |
metrics |
Messwerte für Dauer, Entfernung und Nutzung für diese Lösung. |
OptimizeToursValidationError
Beschreibt einen Fehler oder eine Warnung, die beim Validieren eines OptimizeToursRequest
aufgetreten ist.
JSON-Darstellung |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
Felder | |
---|---|
code |
Ein Validierungsfehler wird durch das Paar ( In den anderen Feldern (siehe unten) finden Sie weitere Informationen zum Fehler. MEHRERE FEHLER: Bei mehreren Fehlern wird bei der Validierung versucht, mehrere davon auszugeben. Ähnlich wie ein Compiler ist dies ein nicht perfekter Prozess. Einige Validierungsfehler sind „schwerwiegend“, das heißt, sie stoppen den gesamten Validierungsprozess. Dies gilt unter anderem für Stabilität: REFERENZ: Eine Liste aller (Code, Name)-Paare:
|
displayName |
Der Fehleranzeigename. |
fields[] |
Ein Fehlerkontext kann in den meisten Fällen 0, 1 oder mehr Felder enthalten. Wenn Sie sich zum Beispiel auf Fahrzeug 4 und Lieferung 2 beziehen, können Sie dies wie folgt tun:
Beachten Sie jedoch, dass sich 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 der Felder enthalten. Diese Option ist nicht immer verfügbar. Sie sollten sich auf keinen Fall darauf verlassen und nur zum manuellen Debuggen von Modellen verwenden. |
FieldReference
Gibt einen Kontext für den Validierungsfehler an. Ein FieldReference
verweist immer auf ein bestimmtes Feld in dieser Datei und hat dieselbe hierarchische Struktur. Beispielsweise können wir Element 2 von startTimeWindows
von Fahrzeug 5 wie folgt 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 |
Rekursiv verschachteltes Unterfeld, falls erforderlich. |
Union-Feld Für |
|
index |
Index des Felds, falls wiederholt. |
key |
Key, wenn das Feld eine Zuordnung ist. |
Messwerte
Gesamtmesswerte, zusammengefasst für alle Routen.
JSON-Darstellung |
---|
{
"aggregatedRouteMetrics": {
object ( |
Felder | |
---|---|
aggregatedRouteMetrics |
Aggregiert über die Routen. Jeder Messwert ist die Summe (bzw. bei Ladevorgängen als Maximalwert) für alle |
skippedMandatoryShipmentCount |
Anzahl der obligatorischen Sendungen übersprungen. |
usedVehicleCount |
Anzahl der genutzten Fahrzeuge. Hinweis: Wenn eine Fahrzeugroute leer ist und |
earliestVehicleStartTime |
Die früheste Startzeit für ein gebrauchtes Fahrzeug, berechnet als Minimum aller gebrauchten Fahrzeuge in der Kategorie „ Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
latestVehicleEndTime |
Die letzte Endzeit für ein Gebrauchtfahrzeug, berechnet als Maximum aller Gebrauchtwagen in der Kategorie „ Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: |
costs |
Kosten der Lösung, aufgeschlüsselt nach kostenbezogenen Anfragefeldern. Die Schlüssel sind Proto-Pfade, relativ zur Eingabe von OptimizeToursRequest. Beispiel: „model.shipments.pickups.cost“. Die Werte sind die Gesamtkosten, die vom entsprechenden Kostenfeld generiert und über die gesamte Lösung aggregiert wurden. Mit anderen Worten: „cost“["model.shipments.pickups.cost"] ist die Summe aller Abholkosten der Lösung. Alle im Modell definierten Kosten werden hier detailliert aufgeführt, mit Ausnahme von Kosten im Zusammenhang mit Übergangsattributen, die seit dem 01.01.2022 nur in aggregierter Form gemeldet werden. Ein Objekt, das eine Liste von |
totalCost |
Gesamtkosten der Lösung. Die Summe aller Werte in der Kostenzuordnung. |