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

混合遺傳算法解決單目標旅行商問題的研究

2013-12-06 06:49:46袁成林
大眾科技 2013年6期
關鍵詞:實驗

袁成林

(1.廣西大學計算機與電子信息學院,廣西 南寧 530004;2.廣西醫科大學基礎醫學院,廣西 南寧530021)

遺傳算法是一種基于進化策略的優化算法[1],被廣泛使用在組合優化問題中。但是遺傳算法在解決問題的時候也有諸多不足,首先是在早期的搜索中常常丟失種群的多樣性[2]。在單目標優化中,對于種群的適應性方面的研究很多,多樣性保持方面常常用的手段是小生境方法。其次由于遺傳算法的局部能力差,也有學者采用其他局部搜索算法來構造混合遺傳算法[3],這些方法對在種群適應性方面是有效的,但是在種群多樣性方面卻不足,對于有的優化問題來說,多樣性保持對搜索最優解有著重要的作用。最后在旅行商問題中普通的交叉算子會破壞要交換的基因片段,針對這個問題本文提出了對應連通子圖交叉(Corresponding Connected Subgraph Crossover,CCSC),結合LK局部搜索和小生境等操作構造一種基于CCSC的混合遺傳算法(CHGA)。通過幾個實例的計算和對比表明,算法的設計是有效的,求解質量也有較大提高。

1 對應連通子圖交叉

交叉算子是遺傳算法中最重要的部分,既可以使個體發生變化,又能保留父體的優秀基因片段,使種群向著理想的方向進化。對于旅行商問題通常采取自然編碼,即每個基因位對應一個城市的號碼。例如1-2-3-4-5-6表示依次經過城市1到6最后回到1。這種編碼容易理解,效率高。但是在這種編碼方式下普通的交叉算法就不再適用了,因為可能產生沒有意義的個體。圖1中兩條可用路徑經過交叉操作以后,產生的1-1-5-6-3-6路徑是沒有意義的。為了解決這個問題,很多學者提出了適用于TSP的交叉算子,像順序插入法,啟發式交叉等,但是這些算法會打亂交叉片段中的基因位置因而不能保存父體的優秀基因片段。

圖1 普通交叉操作產生的不可用路徑

基于以上分析,本文提出一種新的交叉算子:對應連通子圖交叉(CCSC)。這種交叉方法可以做到嚴格的交叉,即子代的基因都是從父代繼承所得,所有基因片段都可以在兩個父體中找到。CCSC通過合并兩條父體路徑,構造連通圖G。對G中的對應連通子圖進行搜索,然后進行交叉,交叉策略可以是:隨機選擇某個或若干個對應連通子圖進行交換,還可以采用貪婪選擇對每個對應連通子圖進行多次搜索,找到最短個體,這幾種方法時間復雜度都在O(n)之內,本文權衡算法效率和求解效果,決定采用隨機選擇若干個對應連通子圖進行交換的交叉策略。明顯可以看出若對應連通子圖的個數大于等于1,CCSC就可以創造兩個以上的后代個體。若有k個對應連通子圖,則可以產生2k+1-2個個體,減2是因為有兩個個體和父體是相同的。

對應連通子圖:合并兩條父體路徑,構造連通圖G,在G中,刪除兩條父體路徑的重合邊后,得到圖G1,G1的某個連通子圖中的節點在兩條父體中均為連續的基因片段,此連通子圖稱為對應連通子圖。

圖2-2中的a-b-c-d,a-c-b-d和g-h-j-i-k,g-i-h-j-k就是兩對對應連通子圖:

圖2 對應連通子圖示意

尋找對應連通子圖的流程如下:

(1)刪除圖G中兩條路徑重合的邊。

(2)建立隊列Q,把度為1的n個節點放在隊頭,設定計數器K=n。

(3)從隊列的n+1個節點開始進行廣度遍歷,找出所有連通子圖,把遍歷過的點前移,記錄連通子圖結點個數ti,直至所有節點操作完成。

(4)對結點個數ti大于等于3的連通子圖i,對其父體進行檢查如果連通子圖的節點在兩父體中均為連續的基因片段,則該連通子圖為一個對應連通子圖g,記錄g。

(5)如果符合要求的連通子圖都已經搜索就退出程序,否則返回步驟4。

2 混合遺傳算法CHGA的實現

2.1 選擇算子

選擇算子是算法中關鍵的一環,可以選擇優秀個體進入下一代進行交叉和變異操作,本文采用的是輪盤賭法,根據個體的適應度進行選擇,適應度越大個體被選擇的概率就越大,并且可以保留少量適應度較差的個體,增加種群多樣性。

2.2 變異和交叉算子

變異:本文采用兩點隨機交換的變異操作對種群進行擾動,跳出某些局部最優解。

交叉:本文采用第一節提出的對應聯通子圖交叉作為交叉算子。

2.3 小生境操作

經過輪盤賭選擇等操作后,適應度大的個體更容易進入新種群,種群里就會出現很多一樣或者很相似的個體,這樣就會導致算法早熟,結果陷入局部最優解,所以本文引入小生境操作來保持物種多樣性。

具體方法是:假設種群共有n個個體,首先計算個體i(i=1,2…n)和其他個體之間的小生境距離L(i,j)。在對個體i與其他所有個體的小生境距離L(i,j)求和,計算出個體i的小生境排序值循環這個步驟直到計算出所有si。升序排列si后,用隨機產生的個體代替si最高的n個個體,算法的時間復雜度是O(n2)。

其中L(i,j)的求法是,假設TSP共有N個城市,取個體i的第k(k=1,2,3…N)個基因位城市i(k),在個體j中找到城市i(k)的位置t,對i(k)和j(t)左右兩邊城市號做同或操作∶L(i,j)=i(k+1)⊙j(t+1)+ i(k+1)⊙j(t-1)+ i(k-1)⊙j(t+1)+ i(k-1)⊙j(t-1)。因為 0≤L(i,j)≤2,所以 0≤si≤2n。小生境排序值si越大說明個體i周圍的個體越多。對種群的非精英個體進行小生境操作,起到了保留精英又增加種群多樣性的作用。

2.4 局部搜索

在CHGA中局部搜索算法起著十分重要的作用。它可以使種群迅速向著希望的方向進化。它的另一個作用是使 CHGA算法的第一代開始就能夠找到更多的對應連通子圖,提高算法的效率,本文采用LK算法[4]作為局部搜索。

在本文中局部搜索的另一個作用是使算法的第一代開始就能夠找到等多的對應連通子圖(CCS),通過實驗測試 CCSC結合局部搜索算法可以產生的對應連通子圖的大致個數,實驗采用TSPLIB中的att532,nrw1379 和 u1817三個算例,用3-OPT,3-OPT和MO-LK算法對50個隨即路徑進行測試,平均實驗結果如表1。通過實驗發現2-OPT與CCSC結合在90%的情況下可以產生可用個體,也就是至少有一對對應連通子圖而,結合3-OPT和LK算法的CCSC產生可用解的概率達到了將近100%。

表1 不同局部搜索找到的對應連通子圖個數

3 算例實驗

3.1 實驗環境

為驗證所設計算法的有效性,基于如下實驗環境進行相關實驗:聯想臺式機,其配置為:

(1)CPU:AMD 64 2X 4400+;

(2)內存:2 G DDR2;

(3)操作系統:Windows XP

程序以 VC++2008編寫及編譯,實驗使用數據取自TSPLIB。算法各參數如表1所示。實驗結果均為運行算法10次后計算得到的平均值、最優值以及最差值。

3.2 實驗參數

表2 混合遺傳算法算法的參數設置

3.3 實驗結果

本文的算例采用 TSPLIB數據庫中的 Att48、Eil51、Eil76、Kroa100、 Ch130 、Tsp225、Ch 150等6個測試對象,每個算例進行20次計算,結果取平均值,并與文獻[5,6]進行了對比。具體數據如下:

表3 混合遺傳算法算法的計算結果

圖3 算例Eil51收斂情況

實驗結果表明,本文所做改進效果明顯。100以內規模的問題每次都可以計算出TSPLAB最優解,而且速度上相比文獻所述也有優勢。100以上問題在 20次實驗中可以計算出TSPLAB最優解,而且平均值的誤差也在1%以內。在下一步工作中,可以著力改善算法的計算速度,并且向更大規模的問題發起挑戰。

[1] Holland John H. Adaptation in natural andartificial systems: an introductory analysis with applications to biology, control, and artificial intelligence[J]. USA: University of Michigan, 1975.

[2] 馬良.旅行推銷員問題的算法綜述[J].數學實踐與認識,2000,32(2):156-165.

[3] 葛繼科,丘玉輝,等.遺傳算法研究綜述[J],計算機應用研究,2008,25(10): 2911-2917.

[4] Helsgaun K. General k-opt submoves for the Lin–Kernighan TSP heuristic[J]. Mathematical Programming Computation, 2009,1(2-3): 119-163.

[5] 孫凱,吳紅星,王浩,丁家棟.蟻群與粒子混合算法求解TSP問題[J].計算機工程與應用,2012,48(34):60-63.

[6] 李哲,夏立,莊浩俊,董紅生.MMAS_EC 算法求解旅行商問題[J].計算機工程與應用,2011,47(9):41-47.

猜你喜歡
實驗
我做了一項小實驗
記住“三個字”,寫好小實驗
我做了一項小實驗
我做了一項小實驗
記一次有趣的實驗
有趣的實驗
小主人報(2022年4期)2022-08-09 08:52:06
微型實驗里看“燃燒”
做個怪怪長實驗
NO與NO2相互轉化實驗的改進
實踐十號上的19項實驗
太空探索(2016年5期)2016-07-12 15:17:55
主站蜘蛛池模板: 精品亚洲国产成人AV| 婷婷激情亚洲| 国产电话自拍伊人| 亚洲美女AV免费一区| 大陆精大陆国产国语精品1024| 色综合综合网| 都市激情亚洲综合久久| 亚洲日本中文综合在线| 国产亚洲精品91| 亚洲区一区| 成人国产精品2021| a欧美在线| 中文字幕av无码不卡免费| 亚洲欧美成aⅴ人在线观看| 91在线日韩在线播放| 国产网站一区二区三区| 国内精品久久九九国产精品 | 亚洲国产中文精品va在线播放| 99性视频| 久热中文字幕在线| 国产成人精彩在线视频50| 人人澡人人爽欧美一区| 国产成人亚洲精品色欲AV | 国产成人精品在线| 一本色道久久88综合日韩精品| 欧美a网站| 极品性荡少妇一区二区色欲 | 国内精品自在欧美一区| 久久黄色一级片| 一本久道热中字伊人| 中文字幕自拍偷拍| 精品少妇人妻av无码久久| 国产精品播放| 中文字幕永久在线看| 欧美va亚洲va香蕉在线| 国产97公开成人免费视频| 欧美日韩一区二区在线免费观看| 亚洲精品福利视频| 在线看免费无码av天堂的| 国产男人天堂| www.亚洲天堂| 免费啪啪网址| 欧美日韩午夜| 国产91成人| 国产成人无码播放| 国产精品免费入口视频| a色毛片免费视频| 99久久国产综合精品2023 | 日韩免费无码人妻系列| 欧美性爱精品一区二区三区| 伊人国产无码高清视频| 国产高清在线观看91精品| 久久人体视频| 成人午夜精品一级毛片| 久久婷婷综合色一区二区| 99精品热视频这里只有精品7| 久久中文字幕2021精品| 国产无码高清视频不卡| 97国产精品视频人人做人人爱| 国产爽妇精品| 色欲国产一区二区日韩欧美| 99久久精品国产综合婷婷| 九色综合伊人久久富二代| 国产jizz| 亚洲经典在线中文字幕| 国产精品永久在线| 又爽又黄又无遮挡网站| 天天色天天综合网| 国产小视频免费| 色悠久久久久久久综合网伊人| 狠狠色成人综合首页| 久久国产V一级毛多内射| 激情无码字幕综合| 国产精品免费电影| 亚洲欧美色中文字幕| 欧美激情福利| 国产精品人莉莉成在线播放| 日韩AV手机在线观看蜜芽| 精品无码一区二区三区电影| 精品色综合| 色噜噜狠狠狠综合曰曰曰| 久久综合丝袜日本网|