什麼是VRP?
VRP就是車輛配送。
大家有沒有想象過一個城市的某個快遞營業點,是怎麼讓各個快遞員配送快遞的?
每個快遞員針對那片區域的客戶,如何走路線才最省時間?
也許你會說,最短路徑分析可以做到——那麼,這可不能一個一個分開來分析呀?而且與最短路徑有個最大的差別就是,VRP問題,車子出去走一圈最短的線路,還是要回來起點的。
VRP就是講究一個“一次設定”,全部計算的效率,而且還支援一些最短路徑分析中不支援的特性,如停靠時間等,這是這幾個網絡分析裡比較複雜的一個了。
建立VRP圖層所必須的——網絡資料集的時間屬性
VRP圖層比較特殊,特殊在哪裡呢?
以之前的網絡資料集為例,建立一個VRP圖層時提示:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZuBnL5gTO4cTN2AzNx0iM3MjMwMjM3EDNyUDM3EDMy0CN3AzN5ATMvwVNwcTMwIzLcRzNwcTOwEzLcd2bsJ2Lc12bj5ycn9Gbi52YuUTMwIzcldWYtl2Lc9CX6MHc0RHaiojIsJye.png)
需要時間機關存在于網絡資料集中的成本屬性?
其實,就是需要一個以時間為機關的屬性,那麼我們就設定一個時間屬性:
因為沒有其他複雜的限制,其實時間=長度/速度,如果速度恒定,時間和長度沒什麼兩樣,都是線性變換,是以可以直接設定為Length字段。
ps:假如道路對應時速不同,那麼時間計算結果就不一樣,那時候就不能這麼設定了。
作為示範,希望大家能看懂。
這樣,就能建立VRP圖層了:
輸入
VRP比較複雜,輸入元素很多。為了示範最少需求元素,我畫了一張圖:
基于網絡資料集,才能建立VRP圖層,建立了VRP圖層,又需要最少設定途徑點、站點、路徑及路徑的兩個必備屬性才能進行分析。
什麼意思呢?以快遞配送舉例:
- 途經點:一個快遞員一趟跑下來經過的快遞位址;可以了解為:路過的地方。
- 站點:快遞配送中心;可以了解為:大學營。
- 路徑項目:可以認為一個路徑項目就是一個快遞員/一輛快遞員的車。
為了統一,我就以路徑項目為名稱繼續寫完VRP問題。
————————
一個路徑項目(快遞員)總得知道從哪裡出發,又回到哪裡。一般起始點、終止點都會一樣,當然也可以不一樣。快遞員可以配送完了回到配送點報道,也可以直接回家。
分析舉例
手工添加途經點和站點
首先,人工打點的方式設定15個途經點,5個站點。
一般使用VRP的項目不會這樣做,一般會用準備好的點要素資料(就是預先打好的點,點屬性裡有VRP所需的資訊),直接用加載位置功能添加。
建立路徑項目并設定屬性
建立完後自動彈出路徑屬性,也可以在Network Analyst視窗輕按兩下路徑項目。
設定好起始點和終止點,起始點和終止點的類型是站點(大學營)。在這裡,均選為第30号點。
執行分析
分析結果如下:
當然,可以有多條路徑,就意味着可以擁有n個快遞員進行n條路線規劃,這就是“車輛配送問題”了。不再贅述。
如果提示分析需要時間屬性,則打開圖層屬性中的分析設定,将時間屬性選擇為網絡資料集的時間屬性:
結語
VRP的複雜程度遠遠超過此例,還可以為其設定路徑項目的成本、最大經過途經點個數、配送時間範圍等屬性。
還可以為其添加障礙。
還可以為其添加貨物補給點。
還可以為所有的元素添加他們可以設定的屬性等,在此就請各位按需而設~