999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

改進蟻群算法求解帶容量限制的車輛路徑問題*

2017-01-12 02:32:46徐澤峰蔡延光
自動化與信息工程 2016年4期
關鍵詞:信息

徐澤峰 蔡延光

?

改進蟻群算法求解帶容量限制的車輛路徑問題*

徐澤峰 蔡延光

(廣東工業大學自動化學院)

對蟻群算法進行改進以增加其在處理帶容量限制的車輛路徑問題時的性能。改進后的算法建立每一個點的臨近點序列以增加生成解的質量并減少計算時間。設定一個信息素最小值,避免算法由于部分邊上信息素值過低而被忽略。在計算選擇概率時將所有邊全部減小一個相同的值,以增加邊長在決定選擇時的作用。增加一只記憶螞蟻來增強算法的收斂能力,令螞蟻在前進過程中有可能回到出發點,通過這種方法讓算法具有檢索所有解的可能。在算法的最后加入對解的調整操作,進一步靠近全局最優解。用該算法計算通用的VRP算例,驗證了算法的有效性。

CVRP;蟻群算法;臨近點序列

0 引言

車輛路徑問題(vehicle routing problem,VRP),Dantzig等人于1959年首先提出[1],并成為組合優化領域的熱點問題。根據給出的限制條件不同VRP有很多種,其中一種稱為帶容量限制的車輛路徑問題(capacitated vehicle routing problem,CVRP)。該問題可描述為:有一個中心站和若干個客戶,中心站和客戶相互之間的距離均為已知。中心站有若干輛卡車?,F在要從中心站使用這些卡車向各個客戶運送貨物,每個客戶對貨物的需求量一定,同時所有卡車都有負載限制。每個客戶必須且只被一輛卡車送貨一次,每輛卡車最多送貨一次。要求給出合起來最短的所有卡車的送貨路徑。

旅行商問題(traveler salesman problem,TSP),可認為是VRP問題的一個特例。TSP問題可描述為:有若干個城市,它們相互之間的距離已知,一個旅行商人要從一個固定的起點前往所有城市,每個城市必須且僅經過一次,并最終返回起點,要求給出一條最短的移動路徑。

蟻群算法于1992年由Dorigo提出,被用于解決TSP問題以及其他組合優化問題[2-4]。用蟻群算法處理TSP問題時,一只螞蟻可以在所有還未前往的點中選擇下一個前往點。但在VRP問題中,需要考慮卡車的容量,因此螞蟻每一次選擇時要考慮的并不是所有還未前往的點,這給構成可行解帶來了困難,因此,蟻群算法很難直接用來解決VRP問題[5-9]。

1 算法設計

1.1蟻群算法

蟻群算法處理TSP問題的流程:

1) 初始化所有邊上的信息素為某特定值(該值事先給出);

2) 初始化螞蟻的位置為起始點;

3) 螞蟻在當前點形成選擇輪盤,輪盤中包含所有還未前往的點,每一點具有一定的被選擇概率,這個概率由該點與螞蟻當前點的距離和該條邊上的信息素值決定,選擇數為距離倒數的次方和信息素的次方的乘積,該點的選擇數在所有可選點選擇數之和中所占比例即為該點被選擇的概率,其中,和為事先給定的常數,分別稱為距離因子和信息素因子,重復進行3)直到所有點被選擇,之后螞蟻返回初始點,構成一個解,螞蟻的數量事先給定,當每一只螞蟻各自獲得一個解之后,轉入4);

4) 計算所有螞蟻獲得的解路徑長,取最短的一條,在該條路徑包含的所有邊上增加信息素值,增加量一般為路徑長的倒數乘以一個事先給定的常數;

5) 令所有邊上的信息素減小一定的比例,一般設定為10%,這樣可在之后的循環中找到更好的解時消除之前循環找到的解的影響。

至此,算法一輪循環結束,轉入2)開始新的循環。

1.2 回歸概率

使用蟻群算法處理VRP問題時,首先需要解決解的構成方式問題。構成解最大的困難在于卡車的容量有限,當一輛車服務過多的客戶點時,它會超載。算法在解的構成方面有2種設計思路。第一種思路,一只螞蟻從中心站出發,依次選擇下一個前往的點,如果所選擇的下一個點會讓已經前往的所有點的需求之和大于卡車的最大容量,即這只螞蟻超載,則不前往該點,并返回中心站,從而構成一條回路。例如,螞蟻已選擇的點的需求量和為98,卡車最大容量為100,這時若選擇一個需求為8的點,由于選擇該點之后容量將超過100,所以不選這個點,并返回起點,構成一條回路。此后,繼續構成其他各條回路,從而生成一個解。第二種思路,等于卡車數目的螞蟻同時從中心站出發,每一次其中隨機一只螞蟻從目前還沒有被任何螞蟻選擇的點中選擇一個點。如果一次選擇將讓一只螞蟻超載,則該次選擇無效。第二種思路比第一種思路的優勢在于,它有檢索所有解的可能。然而實驗表明,使用第二種思路時算法獲得的結果不如第一種思路,獲得可行解更加困難,算法運行時間顯著增加,并且對提升解的質量沒有幫助。因此,使用第一種思路來設計算法。與此同時,設置一個回歸概率,使算法具有檢索所有解的可能。如果剩余的車輛可用次數能夠承載剩余的所有點的需求,則螞蟻以該回歸概率立刻回到中心站。例如,車的總數為5,所有車的最大載重為100,螞蟻正在進行第二條回路的生成,因此剩余車輛使用次數3,剩余的所有點的總需求為280,小于3輛車可以承載的300,此時生成0到1的隨機數,若該數小于回歸概率,則螞蟻回到中心站,結束該條回路的生成,開始生成下一條回路。

即使不設置回歸概率,螞蟻依然有可能在走完所有點之后不能形成可行解。設置回歸概率后,這種可能性會增加。如果螞蟻形成的不是可行解,則放棄該解,重新生成一個解。增加不能生成可行解的概率之后,算法消耗的時間將會增加。

1.3臨近點序列

在螞蟻每一次的選擇中,很多時候需要考慮讓相對較長的邊參與解的構成。由于蟻群算法本身的特性,如果一條較長的邊在算法的某一輪循環后,包含在最后增加的信息素路徑中,這條邊很可能在之后的計算中不被舍棄,導致算法最終無法收斂到一個較好的解。因此,如果在螞蟻選擇時不考慮這些邊,不僅能夠增加生成解的質量,還能夠減少計算時間。

具體做法是,除了中心站外,對每個點生成其臨近點序列,即將除中心站之外的所有其他點按照到該點的距離,從近到遠進行排序產生序列。從該點開始,依次將點的需求相加,直到需求和大于某個事先給定的值為止,這個值稱為臨近點載重,一般與卡車最大載重相同。但對某些算例,臨近點載重過小可能導致形成可行解的難度過大,此時可以考慮適當增大該值。

1.4 信息素最小值

為讓之前獲得的解產生信息素的影響消失,在一輪循環的最后按照給定比例減少所有邊上的信息素。這樣會導致部分對生成好的結果有幫助的邊因在最初的幾輪循環中沒有被選中,其信息素不斷衰減,之后的循環中也很難被選中。通過設定信息素最小值,能夠避免出現這樣的情況。還可增加算法在后期檢索更多解的能力,避免陷入局部最優解。具體做法是,在每一輪循環的最后降低所有邊的信息素時,如果降低后一條邊的信息素少于設定的信息素最小值,則令其回到該最小值。

1.5 產生選擇輪盤時改變所有邊的長度

一般蟻群算法通過調整距離因子和信息素因子使其具有理想的性能,但由于2個因子都是指數,算法設計者難以對實際計算中各個概率有直觀的認識,對2個因子的調整非常困難。生成解的總路徑長取倒數后波動不大,從而對每輪循環信息素的增加值的影響波動不大。信息素是以固定的比例衰減,因此一條邊上的信息素永遠不可能超過某個值。例如,初始信息素為0.5,衰減比例為10%,每次增加信息素都在0.1左右波動,則一條邊上的信息素永遠不會超過1.2。又因為設定了最小的信息素值,信息素對選擇概率的影響非常明顯。在距離因子固定的情況下,在計算選擇概率時將邊長增加或減小一定的值來調整邊長對選擇概率的影響。例如,所有邊中最大的邊長為100,最小的邊長為2。為了增加邊的影響,可以將所有邊長減小1,此時最大邊與最小邊長度的比值從50增加到100。而如果將所有邊長增加2,則該比值從50減小到了25。當距離因子和信息素因子都設為1時,上述邊比值的變化就是實際選擇時選擇概率的變化。

1.6 記憶螞蟻

算法中可能出現這樣情況:之前獲得的一個解改變了信息素,下一輪循環中獲得的解劣于已經獲得的解。由于信息素衰減的緣故,較優解對信息素的影響有所衰減,而新獲得的較劣解的影響還沒有衰減,導致后續生成的解對之前較優解的參考很弱。這在實驗中的體現,就是每一輪循環獲得的最優解都有很大可能劣于上一輪循環獲得的最優解。

通過增加一只記憶螞蟻可以改變這一狀況。有一只特殊的螞蟻并不參與形成解,而是記錄之前所有循環中獲得的最優解。如果一輪循環之后得到的最優解比記憶螞蟻記錄的解好,則記憶螞蟻記下新的解。每一輪循環結束之后,由記憶螞蟻和該輪循環的最優解共同增加信息素。

1.7 優化解

在算法的最后可以對獲得的解進行進一步處理來繼續優化。所采用的方法類似于2-opt[10],但有所不同。區別在于,2-opt隨機決定互換的兩點,而本文是對所有的互換進行搜索。

具體做法是,對每一條回路的所有客戶點之間的所有兩點互換進行檢索。如果互換后該條回路的長度減小則應用這一互換,并重新對該條回路進行檢索。檢索完所有的回路之后,所得到的解就是算法最終解。

2 實驗結果及分析

采用通用CVRP的19個算例測試算法,這些算例在文獻[10-12]中使用,具體結果如表1所示。

表1 實驗結果

表1中列出所得最優解、已經發表的最優解和所得最優解與已知最優解的相對差距,算得所得最優解時花費的時間。

表2列出了程序運行時的部分參數。沒有列出的參數統一如下:距離因子和信息素因子均設定為1;初始信息素為0.5;螞蟻數量為34;信息素最小值為0.01;增加信息素時的相乘常數為100;信息素衰減幅度為10%;循環次數為500次。表2中的距離減小值即計算選擇概率時距離的減小值。獲得的最優解均為程序運行5次中最好的一次解,花費的時間均為獲得最優解時運行花費的時間。使用CPU主頻2G Hz的微機,程序編寫采用C++。

表2 計算時的部分參數

算例名稱中n后的數字代表包含中心站在內的點的數目,如n33表示客戶32個,中心站1個。k后數字為卡車數目。

本文算法對n32-k5,n33-k5,n33-k6,n37-k5,n38-k5,n55-k9這6個算例獲得的最優解與已知最優解的差距在1%以內,對其他算例差距最大為n45-k6的4.41%,說明該算法處理CVRP問題比較有效。普通的蟻群算法在修改解的獲得方式后用于VRP問題,對上述所有算例的結果與已知最優解的差距均在10%以上,說明蟻群算法的改進是有效的。

算例本身的特性對結果有很大影響,如對n55-k9這個算例獲得了1%以內的結果,說明該算法在處理這個算例時容易獲得好的結果。

計算花費的時間并不隨著問題規模的增大而明顯增加,這是因為該算法計算花費的時間極大地取決于是否生成可行解。就算例本身的特性來說,一些算例較難生成可行解。例如n45-k6和n61-k9,前者的總需求為597,與車的總承載量600僅僅相差3;后者的總需求為885,與900僅相差15。在計算這2個算例時,都較大地增加了臨近點載重,同時減小了回歸概率,以增加找到可行解的概率。

所有距離減小值的取法均為:計算所有邊的長度后,得到最短邊,適當取邊長減小值以使最短邊的邊長減小到1以下。例如n32-k5的最短邊為2.236,最長邊為128.004,將所有邊在計算選擇概率時減小了2之后,邊長起到的作用增加了。

3 結論

本文對蟻群算法進行多方面的改進以增加其性能,取得較好的效果。不足之處有:1) 找到可行解的概率與原來相比顯著下降,導致計算時間延長,可以通過繼續的改進來增加找到可行解的概率;2) 通過蟻群算法找到了一個相對較好的解,最后對解的調整步驟過于簡單,如果使用更好的解的調整方法可以讓解更加靠近全局最優解[14-15]。例如,本文最后僅使用了回路內的調整,而未使用回路間的調整,因此在回路內調整之前增加一步回路間的調整將會增加解的收斂幅度。另外,遺傳算法在最后對解的調整中可以起到非常好的效果。

[1] Dantzig G, Ramser J. The truck dispatching problem[J]. Management Scence, 1959, 6(1): 81-91.

[2] Gambardella L M, Dorigo M. Solving symmetric and asymmetric TSPs by ant colonies[C]//IEEE Conference on Evolutionary Computation, ICEC, 1996: 622-627.

[3] Song Y H, Chou C S V, Min Y. Large-scare economic dispatch by artificial ant colony search algorithms[J].Electric Machines and Power System, 1999, 27(7): 679-690.

[4] Bland J A. Space-planning by ant colony optimization[J]. International Journal of Computer Applications in Technology, 1999, 12(6): 320-328.

[5] Jabbarpour M R, Noor R M, Anuar N B, et al. Ant colony optimization for vehicle traffic systems: applications and challenges[J]. International Journal of Bio-Inspired Computation, 2014, 6(1): 32-56.

[6] 劉志碩,申金升,柴躍廷.基于自適應蟻群算法的車輛路徑問題研究[J].控制與決策,2005,20(5):562-566.

[7] 裴振兵,陳雪波.改進蟻群算法及在車輛運輸調度中的應用[J].信息與控制,2015,44(6):753-758.

[8] 何文玲,倪郁東,汪婷婷.基于混合行為蟻群算法的車輛路徑問題[J].合肥工業大學學報(自然科學版),2014,37(7): 883-887.

[9] Liu Y, Wang S, Dong F, et al. A two stage method for VRP based on the improved ant colony algorithm[J]. International Journal of Modeling, identification and Control, 2013, 18(2): 174-181.

[10] Verhoeven M G A, Aarts E H L, Swinkels P C J. A parallel 2-opt algorithm for the travelling salesman problem[J]. Future Generation Computer Systems, 1995, 11(2): 175-182.

[11] 孫晶,白艷萍.改進的混合型蟻群算法在VRP問題中的應用[J].黑龍江大學自然科學學報,2014,31(3):328-334.

[12] 步立新,羅文鈺,馮允成.隨機遞歸算法求解車輛路徑問題[J].系統工程理論與實踐,2008,28(11):142-148.

[13] 王志剛,夏慧明.求解車輛路徑問題的人工蜂群算法[J].計算機工程與科學,2014,36(6):1088-1094.

[14] Homaifar A, Guan S, Liepins G E. A new approach on the traveling salesman problem by genetic algorithms[C]//Fifth International Conference on Genetic Algorithms.San Mateo CA USA: Morgan Kaufmann, 1993:460-466.

[15] 鐘石泉,馬壽峰.車輛路徑問題的改進分支切割法[J].系統工程理論與實踐,2009,29(10):152-158.

Improved Ant Colony Algorithm for Capacitated Vehicle Routing ProblemComputer Engineering and Applications

Xu Zefeng Cai Yanguang

(School of Automation, Guangdong University of Technology)

Improvements were made to enhance the performance of the ant colony algorithm when used to solve vehicle routing problem. The improved algorithm establishes the near point sequence to improve the quality of solutions and reduce the calculating time. Set a minimum value of pheromone, to avoid that the algorithm ignored edges with low pheromone. Reduced the value of all edges when calculating the selective possibility to enhance the effect of the length of edges when calculating selective possibility. Added a memory ant to enhance the convergence ability. Gave the ants a possibility to return when going forward, this method gives the algorithm the possibility to search all solutions. Added a procedure of modifying the solution at the last of the algorithm to make the solution approach the global optimal solution. Used the universal examples for VRP to test the effectiveness of algorithm, which proved that the algorithm is effective.

CVRP; Ant Colony Algorithm; Near Point Sequence

國家自然科學基金(61074147);廣東省自然科學基金(S2011010005059);廣東省教育部產學研結合項目(2012B091000171,2011B090400460);廣東省科技計劃項目(2012B050600028,2014B010118004,2016A050502060);廣州市花都區科技計劃項目(HD14ZD001)。

徐澤峰,男,1994年生,碩士研究生,主要研究方向:組合優化。

蔡延光,男,1963年生,博士,教授,主要研究方向:組合優化、人工智能、決策支持系統等。

猜你喜歡
信息
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
信息超市
大眾創業(2009年10期)2009-10-08 04:52:00
展會信息
展會信息
展會信息
展會信息
展會信息
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 日韩精品成人网页视频在线| 久久久久无码精品国产免费| 香蕉99国内自产自拍视频| 五月天久久综合国产一区二区| 婷婷六月综合网| 国产理论最新国产精品视频| 亚洲性色永久网址| 在线播放精品一区二区啪视频| 久久不卡精品| 国产精品成人久久| 欧美亚洲香蕉| 狠狠操夜夜爽| 麻豆精品在线| 高清精品美女在线播放| 真实国产乱子伦高清| 精品无码一区二区在线观看| 玖玖精品在线| 欧美日韩第三页| 真实国产精品vr专区| 精品人妻无码中字系列| 午夜福利无码一区二区| 日韩国产黄色网站| 亚洲无码一区在线观看| 欧美日本在线观看| 伊人成人在线| www中文字幕在线观看| 欧美高清国产| 免费在线成人网| 狠狠亚洲婷婷综合色香| 91国内在线观看| 免费人成在线观看成人片| 亚洲无码免费黄色网址| 少妇人妻无码首页| aⅴ免费在线观看| 在线视频一区二区三区不卡| 91po国产在线精品免费观看| 在线观看国产黄色| 久久a毛片| 91福利片| 多人乱p欧美在线观看| 在线亚洲精品自拍| 亚洲国产欧美自拍| 欧美精品一二三区| 成人精品免费视频| 制服丝袜亚洲| 亚洲 欧美 偷自乱 图片| 夜精品a一区二区三区| 欧美www在线观看| 亚洲成人免费看| 99久久精品国产麻豆婷婷| 久久五月天综合| 欧类av怡春院| 国产av色站网站| 中文字幕伦视频| 在线色国产| 茄子视频毛片免费观看| 亚洲浓毛av| 91久久夜色精品国产网站| 自偷自拍三级全三级视频| 国产欧美日韩资源在线观看| 免费a级毛片18以上观看精品| 好紧太爽了视频免费无码| 国产成人综合在线观看| 亚洲精品成人片在线播放| 亚洲国产成人在线| 国产超碰一区二区三区| 亚洲自拍另类| 国产一区二区色淫影院| 国产全黄a一级毛片| 潮喷在线无码白浆| 精品一区二区三区自慰喷水| 亚洲欧美自拍一区| 日本不卡在线| 欧美日韩成人| 久久久久久尹人网香蕉| 欧美伦理一区| 无码AV高清毛片中国一级毛片| 日韩免费毛片视频| 午夜影院a级片| 亚洲精品成人福利在线电影| 一区二区偷拍美女撒尿视频| 国产欧美日韩免费|