負載需求和限制是一種限制條件,可用於管理容量。這些限制條件會指定運送作業所需的容量和車輛的最大容量,讓您根據這些限制條件來最佳化路線指派。
負載需求和限制可支援下列目標:
- 避免車輛超載。
- 監控車輛載重量,瞭解在接送和運送貨物時的變化。
- 限制車輛可造訪特定地點的次數。
負載需求和限制會在下列屬性中指定:
loadDemands
可指定特定貨件需要的容量。loadLimits
可指定特定車輛的最大容量。
結構
如圖所示,負載需求和限制的結構如下:
loadDemands
是Shipment
的屬性。Shipment
可以有多個負載需求。loadLimits
是Vehicle
的屬性。Vehicle
可以有多個負載限制。
屬性
本節將說明負載需求和限制的屬性,如下所示:
載入類型
負載類型是字串鍵,可識別運送要求的負載類型,以及車輛的負載限制。負載類型具有下列重要特性:
- 使用者定義:負載類型是您定義的類型。載入類型沒有預先定義的系統變數。
- 共用:負載類型是用於貨物和車輛之間的共用。也就是說,只有在負載類型相符的情況下,運送作業才會將車輛的容量用盡,如果車輛未針對特定類型指定任何負載限制,則可載運無限量的該類型負載。
代表載入類型的字串鍵會使用 通訊協定緩衝區對應類型語法。這些字串鍵不得為空值,否則可能會發生問題。命名負載類型時,建議使用可描述負載類型及其單位的 ID。例如:weightKg、volume_gallons、palletcount 或 frequencyDaily。
Load
和LoadLimit
Load
和 LoadLimit
物件包含特定屬性,可定義運送和車輛的容量需求,下表說明這些屬性:
物件 | 有子女 | 屬性 | 房源類型 | 屬性說明 |
---|---|---|---|---|
Load |
loadDemands |
amount |
string (int64 格式) | 定義指定類型中運送的容量需求。 |
LoadLimit |
loadLimits |
maxLoad |
string (int64 格式) | 定義指定類型中車輛的最大載重量。 |
範例
以下範例顯示負載需求的結構,您可以將 loadDemands
類型設為字串,並將 amount
屬性設為 int64 格式的字串:
"loadDemands": {
"MATCHING_LOAD_TYPE ": {
"amount": "YOUR_LOAD_AMOUNT "
}
}
以下範例顯示負載限制最基本的結構,您可以將 loadLimits
類型設為字串,並將 maxLoad
屬性設為 int64 格式的字串:
"loadLimits": {
"MATCHING_LOAD_TYPE ": {
"maxLoad": "YOUR_MAX_LOAD "
}
}
立即試用
使用上述程式碼範例,建立虛構情境。在這個情境中,您有 10 公斤的貨物,以及可載運 100 公斤的車輛:
在
loadDemands
範例中,將載入類型定義為weightKg
。完成這項操作後,
loadLimits
範例中的負載類型也會填入,並共用負載類型。請注意,loadDemands
和loadLimits
的類型必須相符,才能讓運送作業使用車輛的限制。在同一個
loadDemands
範例中,將amount
屬性設為10
。也就是說,貨物重量為 10 公斤。
在
loadLimits
範例中,將maxLoad
屬性設為100
。也就是說,車輛最多可載 100 公斤。
請注意,沒有預先定義的類型組合。在本例中,您可以將公斤變更為磅,或將公斤變更為線性測量單位,而非重量。這項彈性功能可讓您根據特定需求調整負載需求和限制。
要求範例
以下範例顯示基本 optimizeTours
要求的結構,其中包含在運送中使用的 loadDemands
,以及在車輛中使用的 loadLimits
:
{ "model": { "shipments": [ { "pickups": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "deliveries": [ { "arrivalLocation": { "latitude": 00.000000, "longitude": 00.000000 } } ], "loadDemands": { "MATCHING_LOAD_TYPE ": { "amount": "YOUR_LOAD_AMOUNT " } } } ], "vehicles": [ { "startLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "endLocation": { "latitude": 00.000000, "longitude": 00.000000 }, "costPerKilometer": 1.0, "loadLimits": { "MATCHING_LOAD_TYPE ": { "maxLoad": "YOUR_MAX_LOAD " } } } ] } }
請注意,一筆貨運可能有不同的裝載需求,而車輛可能有不同的裝載限制,因此您可以提供複雜的限制,以便在最佳化車隊路線時納入考量。