פרטים על משלוחים שלא בוצעו בפתרון. במקרים טריוויאליים ו/או אם אנחנו מצליחים לזהות את הסיבה לדילוג, אנחנו מדווחים על הסיבה כאן.
ייצוג ב-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. |
example |
אם קוד הסיבה הוא |
example |
אם הסיבה קשורה לכך שהרכב לא מתאים לשליחה, בשדה הזה יצוין המדד של רכב רלוונטי אחד. |
קוד
קוד שמזהה את סוג הסיבה. הסדר כאן לא רלוונטי. באופן ספציפי, הוא לא מציין אם סיבה מסוימת תופיע לפני סיבה אחרת בפתרון, אם שתיהן רלוונטיות.
טיפוסים בני מנייה (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 של המשלוח לא ריק והרכב הזה לא שייך אליו. |