vrp车辆路径问题 php,车辆路径问题(VRP)
【繪芯滑軌屏推薦】車輛路徑問題(VRP)一般定義為:對一系列裝貨點和卸貨點,組織適當的行車線路,使車輛有序地通過它們,在滿足一定的約束條件(如貨物需求量、發送量、交發貨時間、車輛容量限制、行駛里程限制、時間限制等)下,達到一定問題的目標(如路程最短、費用最少、時間盡量少、使用車輛數盡量少等)。
目前有關VRP的研究已經可以表示(如圖1)為:給定一個或多個中心點(中心倉庫,central depot)、一個車輛集合和一個顧客集合,車輛和顧客各有自己的屬性,每輛車都有容量,所裝載貨物不能超過它的容量。起初車輛都在中心點,顧客在空間任意分布,車把貨物從車庫運送到每一個顧客(或從每個顧客處把貨物運到車庫),要求滿足顧客的需求,車輛最后返回車庫,每個顧客只能被服務一次,怎樣才能使運輸費用最小。而顧客的需求或已知、或隨機、或以時間規律變化。
圖1? VRP示意圖
一、在VRP中,最常見的約束條件有:
(1)容量約束:任意車輛路徑的總重量不能超過該車輛的能力負荷。引出帶容量約束的車輛路徑問題(CapacitatedVehicle Routing
Problem,CVRP)。
(2)優先約束:引出優先約束車輛路徑問題(VehicleRouting Problem
with precedence Constraints,VRPPC)。
(3)車型約束:引出多車型車輛路徑問題(Mixed/Heterogeneous Fleet
Vehicle Routing Problem,MFVRP/ HFVRP)。
(4)時間窗約束:包括硬時間窗(Hard Time windows)和軟時間窗(Soft Time windows)約束。引出帶時間窗(包括硬時間窗和軟時間窗)的車輛路徑問題(Vehicle Routing Problem
withTime windows,VRPTW)。
(5)相容性約束:引出相容性約束車輛路徑問題(VehicleRouting Problem
with Compatibility Constraints,VRPCC)。
(6)隨機需求:引出隨機需求車輛路徑問題(VehicleRouting Problem
with Stochastic Demand,VRPSD)。
(7)開路:引出開路車輛路徑問題(Open Vehicle
RoutingProblem)。
(8)多運輸中心:引出多運輸中心的車輛路徑問題(Multi-Depot Vehicle Routing
Problem)。
(9)回程運輸:引出帶回程運輸的車輛路徑問題(VehicleRouting Problem
with Backhauls)。
(10)最后時間期限:引出帶最后時間期限的車輛路徑問題(Vehicle Routing Problem
with Time Deadlines)。
(11)車速隨時間變化:引出車速隨時間變化的車輛路徑問題(Time-Dependent Vehicle Routing
Problem)。
二、CVRP問題描述及其數學模型
CVRP的描述:設某中心車場有k輛車,每輛配送車的最大載重量Q,需要對n個客戶(節點)進行運輸配送,每輛車從中心車場出發給若干個客戶送貨,最終回到中心車場,客戶點i的貨物需求量是qi(i=1,2,…,n),且qi
定義變量如下:
建立此問題的數學模型:
minz =cijxijk(2.2)
約束條件:
yki=1?????????????????????????
(i=0,1,…,n)(2.3)
xijk=ykj????????????
(j=0,1,…,n
k=1,2,…,m)(2.4)
xjik=ykj(j=0,1,…,n? k=1,2,…,m)(2.5)
qiyki
Q(k=1,2,…,m)(2.6)
三、車輛路徑問題算法綜述
目前,求解車輛路徑問題的方法非常多,基本上可以分為精確算法和啟發式算法2大類。
3.1精確算法
精確算法是指可求出其最優解的算法,主要運用線性規劃、整數規劃、非線性規劃等數學規劃技術來描述物流系統的數量關系,以便求得最優決策。精確算法主要有:
分枝定界法(Branch and Bound Approach)
割平面法(Cutting
Planes Approach)
網絡流算法(Network
Flow Approach)
動態規劃算法(Dynamic Programming Approach)
總的說來,精確性算法基于嚴格的數學手段,在可以求解的情況下,其解通常要優于人工智能算法。但由于引入嚴格的數學方法,計算量一般隨問題規模的增大呈指數增長,因而無法避開指數爆炸問題,從而使該類算法只能有效求解中小規模的確定性VRP,并且通常這些算法都是針對某一特定問題設計的,適用能力較差,因此在實際中其應用范圍很有限。
3.2啟發式算法
由于車輛路徑優化問題是NP難題,高效的精確算法存在的可能性不大(除非P=NP),所以尋找近似算法是必要和現實的,為此專家主要把精力花在構造高質量的啟發式算法上。啟發式算法是在狀態空間中的改進搜索算法,它對每一個搜索的位置進行評價,得到最好的位置,再從這個位置進行搜索直到目標。在啟發式搜索中,對位置的估價十分重要,采用不同的估價可以有不同的效果。目前已提出的啟發式算法較多,分類也相當多,按Van Breedam的分類法,主要的啟發式算法有以下幾類:構造算法、兩階段法、智能化算法。
3.2.1構造算法(ConstructiveAlgorithm)
這類方法的基本思想是:根據一些準則,每一次將一個不在線路上的點增加進線路,直到所有點都被安排進線路為止。該類算法的每一步把當前的線路構形(很可能是不可行的)跟另外的構形(也可能是不可行的)進行比較并加以改進,后者或是根據某個判別函數(例如總費用)會產生最大限度的節約的構形,或是以最小代價把一個不在當前構形上的需求對象插入進來的構形,最后得到一個較好的可行構形。這類算法中中最著名的是Clarke和Wright在1964年提出的節約算法。
構造算法最早提出來解決旅行商問題,這些方法一般速度快,也很靈活,但這類方法有時找到的解離最優解差得很遠。
3.2.2兩階段法(Two-phaseAlgorithm)
學者們通過對構造算法的研究,認為由構造算法求得的解可以被進一步改進,為此提出了兩階段法。第一階段得到一可行解,第二階段通過對點的調整,在始終保持解可行的情況下,力圖向最優目標靠近,每一步都產生另一個可行解以代替原來的解,使目標函數值得以改進,一直繼續到不能再改進目標函數值為止。Gillet和Miller于1974年提出的sweep算法,Christofides、Mingozzi和Toth的算法以及Fisher和Jaikumar的算法都屬于兩階段法。一般第一階段常用構造算法,在第二階段常用的改進技術有2-opt(Lin,1965),3-opt(Lin Kernighan,1973)和Or-opt(Or,1976)交換法,這是一種在解的鄰域中搜索,對初始解進行某種程度優化的算法,以改進初始解。
一些基于數學規劃的算法也屬于兩階段法,把問題直接描述成一個數學規劃問題,根據其模型的特殊構形,應用一定的技術(如分解)進行劃分,進而求解己被廣泛研究過的子問題(Fisher和Jaikumar,1981)。
在兩階段法求解過程中,常常采用交互式優化技術,把人的主觀能動作用結合到問題的求解過程中,其主要思想是:有經驗的決策者具有對結果和參數的某種判斷能力,并且根據知識直感,把主觀的估計加到優化模型中去。這樣做通常會增加模型最終實現并被采用的可能性。
此方法是目前成果最豐富、應用最多的一類方法。每一種方法討論的情況不盡一致,適用范圍也不完全相同。
3.2.3智能化算法(IntelligentAlgorithm)
這類算法以啟發式準則來代替精確算法中的決策準則,以縮小解搜索的空間。
總體來看,盡管啟發式算法能夠在有限的時間內求出質量較高的解,但由于其搜索解空間的能力有所限制,因此經常無法達到預期的要求。20世紀90年代以來,由于人工智能方法在解決組合優化問題中的強大功能,不少學者開始將人工智能引入車輛路線問題的求解中,并構造了大量的基于人工智能的啟發式算法(智能化啟發式算法)。智能化啟發式算法從本質上講仍然屬于啟發式算法,其基本思想是從一初始解開始,通過對當前的解進行反復地局部擾亂(Perturbations)以達到較好的解。目前,最常見的智能化啟發式算法包括模擬退火算法(Simulated Annealing)、禁忌搜索算法(Tabu Search)、遺傳算法(Genetic Algorithm)、蟻群算法(Ant Colony)和神經網絡(Neutral Networks)方法等。
專業設計制作滑屏,互動滑軌屏,滑軌屏,推拉屏等數字展廳解決方案,聯系QQ956693667,13329706647「繪芯科技」
標簽:   車輛路徑問題(VRP)
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的vrp车辆路径问题 php,车辆路径问题(VRP)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 特斯拉1月份中国产汽车销量66051辆
- 下一篇: php kafka storm,php的