指定解決方案中未執行出貨作業的詳細資料。如果是常見情況,且/或如果能夠找出造成略過的原因,我們就會在這裡回報原因。
| 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 |
請參閱程式碼的註解。 |
exampleExceededCapacityType |
如果原因代碼為 |
exampleVehicleIndex |
如果原因與出貨車輛不相容有關,這個欄位會提供相關車輛的索引。 |
程式碼
指出原因類型的代碼。這裡的順序沒有任何意義。特別是,如果兩者都適用,它不會指出解決方案中會先顯示哪個原因。
| 列舉 | |
|---|---|
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 欄位並非空白,且這輛車輛不屬於該貨件。 |