1. 程式人生 > >【ArcGIS|空間分析|網路分析】7 使用一支車隊服務一組停靠點

【ArcGIS|空間分析|網路分析】7 使用一支車隊服務一組停靠點

參考ArcGIS幫助文件

文章目錄

要求

1、為某配送公司的車隊找出將貨物從配送中心運送到 25 家雜貨店的最佳路徑。
2、每家商店對於貨物的需求量都不盡相同,每輛卡車載貨能力也各有限制。
3、主要目標是為車隊中的每輛卡車分配一組所要服務的商店,並確定送貨的順序,從而將總運輸成本控制在最低。

車輛配送

1 建立車輛配送 (VRP) 分析圖層

在 Network Analyst 工具條上,單擊 Network Analyst,然後單擊新建多路徑派發(VRP)。 (新建車輛配送)

2 新增停靠點

1、在 Network Analyst 視窗中,右鍵單擊停靠點 (0),然後選擇載入位置,開啟載入位置 對話方塊,從載入位置下拉選單中選擇商店。
2、在載入位置對話方塊的位置分析屬性部分指定商店要素類的哪些屬性包含 ArcGIS Network Analyst 擴充套件模組將用於求解此車輛配送 (VRP) 的值。
3、將 TimeWindowStart1 的欄位值設為 TimeStart1。
4、將 TimeWindowEnd1 的欄位值設為 TimeEnd1。
5、將 DeliveryQuantities 的欄位值設為 Demand。
6、在 MaxViolationTime1 屬性對應的預設值下輸入 0。
將此屬性設為零即表示不能違反時間窗。
在這裡插入圖片描述

在這裡插入圖片描述

3 新增站點

1、在 Network Analyst 視窗中,右鍵單擊 站點 (0),然後選擇載入位置,開啟載入位置 對話方塊,從載入位置下拉選單中選擇 DistributionCenter。
2、在 TimeWindowStart1 屬性的預設值下輸入 8 AM。
3、在 TimeWindowEnd1 屬性的預設值下輸入 5 PM。
在這裡插入圖片描述

4 新增路徑

配送中心有三輛卡車,最大載貨重量都是 15,000 磅。新增三條路徑(每輛車一條),並根據配送中心的操作程式設定各路徑的屬性。
1、在 Network Analyst 視窗,右鍵單擊路徑 (0),然後選擇新增專案,建立路徑物件 。
2、開啟該路徑的屬性視窗。在屬性視窗中,如下表所示來指定路徑的屬性。該表的“描述”列解釋了特定值的用法。對於表中未列出的屬性,需要保留它們的預設值。
在這裡插入圖片描述

快捷鍵:
按下 TAB 或 F2 編輯當前選定的屬性。
再次按下 TAB 儲存編輯內容並開始編輯下一個屬性。
按下 SHIFT + TAB 儲存編輯內容並開始編輯上一個屬性。

在這裡插入圖片描述

3、右鍵單擊 Network Analyst 視窗中的 Truck_1 路徑物件,然後選擇複製,複製路徑物件
4、右鍵單擊 Network Analyst 視窗中的路徑 (1) 類,然後選擇貼上,貼上新路徑物件
5、重複上一步驟建立第三個路徑物件。
6、雙擊列表中的第二個 Truck_1 物件,將開啟屬性 視窗。單擊名稱屬性並輸入 Truck_2。 按兩次 Enter 鍵,將對該路徑指定唯一名稱,然後關閉視窗。
7、通過同樣的方法將最後一條路徑的名稱更改為 Truck_3。
在這裡插入圖片描述

5 設定車輛配送 (VRP) 分析的屬性

1、單擊 Network Analyst 視窗中的分析圖層屬性按鈕,單擊分析設定選項卡。
在這裡插入圖片描述
2、確保將時間屬性下拉列表設定為駕車時間(分鐘)。
VRP 求解程式將使用此屬性來計算停靠點間及停靠點與站點間基於時間的成本。
3、單擊距離屬性下拉列表,並選擇米。
此屬性可在考慮限制條件的前提下確定停靠點間及停靠點與站點間的行駛距離,並生成行車指示;但是 VRP 求解程式的目標是使時間成本最小化。
4、將預設日期設定為星期。在星期下拉列表中選擇星期一。
5、確保將容量計數設定為 1。
此設定表示運送的貨物只有一種度量值。在此情況下,度量值為重量(磅)。如果為容量指定了兩種度量值(例如重量和體積),則容量計數應設定為 2。
6、確保選擇分鐘作為時間欄位單位。
這將指定所有基於時間的屬性(例如停靠點的 ServiceTime 和 MaxViolationTime1 以及路徑的 MaxTotalTime、MaxTotalTravelTime 和 CostPerUnitTime)都以分鐘為單位。
7、確保將距離欄位單位設定為英里。
這將指定所有基於距離的屬性(例如路徑的 MaxTotalDistance 和 CostPerUnitDistance)都以英里為單位。
8、由於這些送貨卡車很難進行 U 形轉彎,請將交匯點的 U 形轉彎設定為不允許。
9、在輸出 Shape 型別下拉列表中選擇直線。
如果希望路徑沿街道確定,則應該選擇具有測量值的實際形狀或實際形狀。請注意,此選項只對路徑的顯示有影響,而對 VRP 求解程式所得出的結果沒有任何作用。
10、確保選中應用等級。
11、在約束條件框中,確保已選中 RestrictedTurns 和 Oneway 選項。
12、保持方向框中選項的預設值設定。

6 執行這一過程,來確定最佳的路徑分配和停靠點順序

1、在 Network Analyst 工具條上,單擊求解按鈕求解。
VRP 求解程式可計算停靠點服務所需的三個路徑,並繪製連線各停靠點的線。每條路徑的起點和終點均為配送中心,而且沿途都會經過一組停靠點。

如果收到任何錯誤資訊,則應確保路徑的 Capacities 屬性值已設定為 15000,而不是 15,000,並確保路徑的名稱是唯一的。
在這裡插入圖片描述

7 確定路徑中的轉彎說明

1、右鍵單擊 Network Analyst 視窗中的路徑 (3),然後單擊選擇 > 清除所選要素。
2、在 Network Analyst 工具條上,單擊指示視窗按鈕方向。
3、將車輛配送 (VRP) 圖層匯出為圖層檔案(<檔名>.lyr),方法是在內容列表視窗中右鍵單擊車輛配送 (VRP) 並選擇另存為圖層檔案。這可將分析儲存在磁碟上,以便將來將其新增到其它地圖文件中重新使用。
在這裡插入圖片描述

對貨物補給點和帶薪休息進行求解

為公司所制定的車輛配送 (VRP) 解決方案在初期運作良好。但數週過後,為 Truck_2 指定的駕駛員需要休假。這樣,配送公司便不得不只使用兩輛卡車來服務相同數量的商店。為了應對額外的工作量,該公司決定為另兩名駕駛員支付加班費,並在每天提供一段帶薪休息時間。該配送公司還額外徵用了兩個輔助配送中心。有了這兩個額外的配送中心,卡車便可在運送途中重新裝載貨物,而無需返回主配送中心補貨。

1 從解決方案中刪除現有路徑

1、在 Network Analyst 視窗中,右鍵單擊路徑類中的 Truck_2,然後單擊刪除。

2 新增路徑更新

公司徵用的兩個輔助配送中心分別位於 800 Brush Street 和 100 Old County Road,這兩個中心都可作為卡車的補貨位置。卡車可到這些補貨位置補充貨物,從而無需返回起始站點,這樣便節省了時間。

通過對補貨地址進行地理編碼,將補貨位置新增至站點網路分析類。可在補給點補充貨物的運送路徑以及補貨所需的服務時間都可在網路分析類中指定。

1、在 Network Analyst 視窗中,右鍵單擊站點 (1),然後選擇查詢地址。
2、在選擇定位器下拉列表中選擇 SanFranciscoLocator,在完整地址框中輸入 800 Brush St。
3、在查詢對話方塊中右鍵單擊該結果,然後選擇新增為網路分析物件。
將定位到的地址新增為 Network Analyst 視窗和地圖顯示中的站點。
4、在查詢 對話方塊的完整地址框中輸入 100 Old County Rd。
5、在查 對話方塊的底部右鍵單擊新結果,然後選擇新增為網路分析物件。

由於兩輛卡車均可在 800 Brush Street 和 100 Old County Road 這兩個位置補充載貨,需要將每輛卡車與這兩個補貨位置相關聯。在卡車需要補貨時,VRP 求解程式將會算出卡車的最佳補貨位置。

6、在 Network Analyst 視窗中,右鍵單擊路徑更新 (0)(貨物補給點),然後單擊新增專案。
7、開啟 Item1 的屬性視窗,在屬性視窗中,如下所示指定路徑更新的屬性。
在這裡插入圖片描述
新的路徑更新物件 800 Brush St 將列入 Network Analyst 視窗中的 Truck_1 項。
8、遵照以上三步再新增三個路徑更新物件,以使每輛車(Truck_1 和 Truck_3)都能在兩個補貨位置(800 Brush St 和 100 Old County Rd)補充貨物。

3 修改路徑以算入加班

為了應對額外的工作量,公司希望取消路徑的最大時間、最大行駛時間和最大距離限制。由於駕駛員不得不比以前工作更長時間,所以在完成六個小時工作後的加班時間可獲得每小時 $18 的薪酬。

1、在 Network Analyst 視窗中,在路徑網路分析類下雙擊 Truck_1,將開啟屬性視窗,更改 Truck_1 的屬性。

2、對 Truck_3 重複以上步驟。

4 新增休息時間

由於駕駛員必須工作更長時間,因此他們需要在工作時段中休息半小時。

1、在 Network Analyst 視窗中,右鍵單擊中斷 (0),然後選擇新增專案。
2、將開啟屬性視窗,為新的中斷指定屬性值。

3、重複以上步驟,在 RouteName 屬性處輸入 Truck_3。
在這裡插入圖片描述

5 確定解決方案

1、在 Network Analyst 工具條上,單擊求解按鈕求解。
VRP 求解程式將計算服務停靠點所需的兩個路徑,並繪製連線各停靠點的直線。每條路徑的起點和終點均為配送中心,而且沿途都會經過一組停靠點,在這過程中會到補貨位置重新裝貨,繼續服務其餘的停靠點,並最終返回配送中心。

對服務區域選擇進行求解

此解決方案符合該配送公司指定的所有約束條件。但是,將行駛路線交給兩個駕駛員後,該公司發現 Truck_1 的駕駛員更願意在舊金山區域駕駛,而 Truck_3 的駕駛員則更希望在東灣區域駕駛。於是公司想要確定一個新的解決方案,以使路徑所服務的停靠點偏向於駕駛員所喜歡的區域。

1 新增路徑種子點

通過對地址進行地理編碼來為 Truck_1 和 Truck_3 新增路徑種子點。路徑種子點還可從現有的點要素中匯入,或通過使用建立網路位置工具 建立網路位置工具 以互動方式建立。

1、在 Network Analyst 視窗中,右鍵單擊路徑種子點 (0)(按聚類中心配送),然後選擇查詢地址。
2、將開啟查詢對話方塊,在完整地址文字框中輸入 3000 Vicente Ave。SanFranciscoLocator 將找到該地址,並將結果顯示在對話方塊的底部。
3、右鍵單擊該結果並選擇新增為網路分析物件。
4、該地址的位置會被新增為路徑種子點。該點將在 Network Analyst 視窗和地圖顯示中顯示。
5、在 Network Analyst 視窗中,雙擊新的路徑種子點 3000 Vicente Ave,將開啟屬性對話方塊更改屬性。

在這裡插入圖片描述

6、重複以上步驟,以在 2500 McGee Ave 位置新增另一個路徑種子點。 將第二個種子點的 RouteName 屬性更改為 Truck_3。

在這裡插入圖片描述

2 確定解決方案

1、在 Network Analyst 工具條上,單擊求解按鈕求解。
VRP 求解程式將計算服務停靠點所需的兩個路徑,並繪製連線各停靠點的直線。Truck_1 的路徑中僅包括在舊金山的停靠點,而 Truck_3 則經過了東灣區域的所有停靠點以及該城市其他區域的幾個停靠點。