指定解決方案中未執行出貨作業的詳細資料。如果是常見情況,且/或如果能夠找出造成略過的原因,我們就會在這裡回報原因。
JSON 表示法 |
---|
{
"index": integer,
"label": string,
"reasons": [
{
object ( |
欄位 | |
---|---|
index |
這個索引對應到來源 |
label |
對應的 |
reasons[] |
說明略過出貨的原因。請參閱 |
原因
如果我們可以說明略過出貨的原因,即可在此處列出原因。如果所有車輛的原因都不相同,則 reason
會有 1 個以上的元素。略過出貨的程序不得重複,亦即除了 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 輛車 (含第 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 欄位不是空的,且該車輛不屬於此車輛。 |