תגובה אחרי פתרון בעיה של אופטימיזציית סיור, שמכילה את המסלולים שאחריהם של כל רכב, את המשלוחים שדילגת עליהם והעלות הכוללת של הפתרון.
ייצוג JSON |
---|
{ "routes": [ { object ( |
שדות | |
---|---|
routes[] |
מסלולים שמחושבים לכל רכב. המסלול ה-i תואם לרכב i-th במודל. |
requestLabel |
עותק של |
skippedShipments[] |
רשימת כל המשלוחים שדילגת עליה. |
validationErrors[] |
רשימה של כל שגיאות האימות שהצלחנו לזהות באופן עצמאי. ראו 'שגיאות מרובות' הסבר להודעה ' |
metrics |
מדדים של משך זמן, מרחק ושימוש בפתרון הזה. |
OptimizeToursValidationError
מיועד לתיאור שגיאה או אזהרה שהתרחשה במהלך האימות של OptimizeToursRequest
.
ייצוג JSON |
---|
{
"code": integer,
"displayName": string,
"fields": [
{
object ( |
שדות | |
---|---|
code |
שגיאת אימות מוגדרת על ידי הצמד ( שדות אחרים (בהמשך) מספקים הקשר נוסף לגבי השגיאה. מספר שגיאות: כשיש כמה שגיאות, תהליך האימות מנסה לייצר פלט של כמה מהן. בדומה למהדר, זהו תהליך מושלם. חלק משגיאות האימות יהיו "קטלניות", כלומר הן יעצור את תהליך האימות כולו. זה המצב, בין היתר, בשגיאות יציבות: קובץ עזר: רשימה של כל הצמדים (קוד, שם):
|
displayName |
השם המוצג של השגיאה. |
fields[] |
הקשר של שגיאה עשוי לכלול 0, 1 (ברוב המקרים) או יותר שדות. לדוגמה, אפשר להתייחס לרכב מס' 4 ולאיסוף הראשון של משלוח מס' 2 באופן הבא:
עם זאת, חשוב לשים לב שהעוצמה של |
errorMessage |
מחרוזת לתיאור השגיאה, שאנשים יכולים לקרוא. יש מיפוי של 1:1 בין יציבות: לא יציבה: הודעת השגיאה שמשויכת ל- |
offendingValues |
עשוי להכיל את הערכים של השדות. האפשרות הזו לא תמיד זמינה. בשום אופן לא כדאי להסתמך על התכונה הזו ולהשתמש בה רק לצורך ניפוי באגים באופן ידני. |
FieldReference
מציין את ההקשר לשגיאת האימות. השדה FieldReference
תמיד מתייחס לשדה נתון בקובץ הזה, והמבנה ההיררכי שלו זהה. לדוגמה, אפשר לציין את רכיב מס' 2 מתוך startTimeWindows
של רכב 5 באמצעות:
name: "vehicles" index: 5 subField { name: "endTimeWindows" index: 2 }
עם זאת, אנחנו משמיטים ישויות ברמה עליונה כמו OptimizeToursRequest
או ShipmentModel
כדי למנוע צפיפות של ההודעה.
ייצוג JSON |
---|
{ "name": string, "subField": { object ( |
שדות | |
---|---|
name |
שם השדה, למשל 'כלי רכב'. |
subField |
שדה משנה מקונן באופן רקורסיבי, אם יש צורך. |
שדה איחוד
|
|
index |
אינדקס השדה אם חוזר על עצמו. |
key |
מקישים אם השדה הוא מפה. |
מדדים
מדדים כוללים, נצברים מכל המסלולים.
ייצוג JSON |
---|
{
"aggregatedRouteMetrics": {
object ( |
שדות | |
---|---|
aggregatedRouteMetrics |
נתונים מצטברים לאורך המסלולים. כל מדד הוא הסכום (או המקסימלי, לטעינות) של כל |
skippedMandatoryShipmentCount |
מספר משלוחי חובה שדילגת עליהם. |
usedVehicleCount |
מספר כלי הרכב שבשימוש. הערה: אם מסלול הרכב ריק והערך של |
earliestVehicleStartTime |
שעת ההתחלה המוקדמת ביותר של רכב משומש, המחושב כמינימום על כל כלי הרכב שבשימוש של חותמת זמן ב-RFC3339 UTC 'Zulu' בפורמט של רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
latestVehicleEndTime |
שעת הסיום האחרונה של כלי רכב משומש, מחושבת כמקסימום של חותמת זמן ב-RFC3339 UTC 'Zulu' בפורמט של רזולוציה של ננו-שנייה ועד תשע ספרות עשרוניות. דוגמאות: |
costs |
עלות הפתרון, בחלוקה לפי שדות של בקשות שקשורים לעלויות. המפתחות הם נתיבי פרוטו, ביחס לקלט OptimizeToursRequest, למשל. model.shipments.pickups.cost (עלות). הערכים הם העלות הכוללת שנוצרה בשדה העלות התואם, שמצטברת בכל הפתרון. במילים אחרות, העלויות["model.shipments.pickups.cost"] הן הסכום של כל עלויות האיסוף במסגרת הפתרון. כל העלויות שמוגדרות במודל מדווחות כאן בפירוט, למעט עלויות שקשורות למאפייני מעבר, שמדווחות רק באופן מצטבר נכון ל-2022. אובייקט שמכיל רשימה של |
totalCost |
העלות הכוללת של הפתרון. סכום כל הערכים במפת העלויות. |