מציינת פרטים של משלוחים שלא בוצעו בפתרון. במקרים טריוויאליים ו/או אם אנחנו יכולים לזהות את הסיבה לדילוג, אנחנו מדווחים על הסיבה כאן.
ייצוג JSON |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
שדות | |
---|---|
index |
האינדקס תואם לאינדקס של המשלוח במקור |
label |
עותק של |
reasons[] |
רשימת סיבות שמסבירות למה בוצע דילוג על המשלוח. עיינו בתגובה שלמעלה |
סיבה
אם נוכל להסביר למה ההזמנה לא נשלחה, הסיבות יופיעו כאן. אם הסיבה לא זהה בכל כלי הרכב, יוצג ברכיב reason
יותר מרכיב אחד. לא ניתן לציין סיבות כפולות למשלוח שעבר דילוג, כלומר, אם כל השדות זהים מלבד השדה exampleVehicleIndex
. דוגמה:
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
exampleVehicleIndex: 1
exampleExceededCapacityType: "Apples"
}
reasons {
code: DEMAND_EXCEEDS_VEHICLE_CAPACITY
exampleVehicleIndex: 3
exampleExceededCapacityType: "Pears"
}
reasons {
code: CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT
exampleVehicleIndex: 1
}
המשלוח שעליהם דילגת לא תואם לכל כלי הרכב. הסיבות עשויות להיות שונות לכל כלי רכב, אבל תהיה חריגה מהקיבולת של כלי רכב אחד לפחות (כולל כלי רכב 1), חריגה מהקיבולת של רכב אחד לפחות (כולל רכב 3) וחריגה ממגבלת המרחק של רכב אחד לפחות (כולל רכב 1).
ייצוג ב-JSON |
---|
{
"code": enum ( |
שדות | |
---|---|
code |
אפשר לעיין בהערות של Code. |
exampleExceededCapacityType |
אם קוד הסיבה הוא |
exampleVehicleIndex |
אם הסיבה קשורה לאי-תאימות של רכב למשלוח, בשדה הזה יופיע האינדקס של כלי רכב רלוונטי אחד. |
קוד
קוד שמזהה את סוג הסיבה. הסדר כאן הוא חסר משמעות. באופן ספציפי, אין אינדיקציה אם סיבה מסוימת תופיע לפני סיבה אחרת בפתרון, אם שתיהן רלוונטיות.
טיפוסים בני מנייה (enum) | |
---|---|
CODE_UNSPECIFIED |
אין להשתמש באפשרות הזו. |
NO_VEHICLE |
אין רכב במודל שלא מאפשר משלוחים מעשיים. |
DEMAND_EXCEEDS_VEHICLE_CAPACITY |
הביקוש למשלוח חורג מהקיבולת של כלי הרכב בחלק מסוגי הקיבולת, אחד מהם הוא exampleExceededCapacityType . |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DISTANCE_LIMIT |
המרחק המינימלי הדרוש לביצוע המשלוח הזה, כלומר, מ חשוב לציין שבחישוב הזה אנחנו משתמשים במרחקים הגיאודזיים. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT |
הזמן המינימלי הנדרש לביצוע המשלוח הזה, כולל זמן הנסיעה, זמן ההמתנה וזמן השירות, חורג מ- הערה: זמן הנסיעה מחושב לפי התרחיש הטוב ביותר, כלומר המרחק הגיאודטי x 36 מ' לשנייה (כ-130 קמ' לשעה). |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TRAVEL_DURATION_LIMIT |
כמו שצוין למעלה, אבל אנחנו משווים רק בין זמן נסיעה מינימלי לבין travelDurationLimit של הרכב. |
CANNOT_BE_PERFORMED_WITHIN_VEHICLE_TIME_WINDOWS |
במקרה הטוב ביותר, הרכב לא יכול לבצע את המשלוח הזה (צריך לעיין ב-CANNOT_BE_PERFORMED_WITHIN_VEHICLE_DURATION_LIMIT לחישוב הזמן) אם הוא מתחיל בשעת ההתחלה המוקדמת ביותר: הזמן הכולל יסתיים אחרי שעת הסיום האחרונה של הרכב. |
VEHICLE_NOT_ALLOWED |
השדה allowedVehicleIndices במשלוח לא ריק והרכב הזה לא שייך אליו. |