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