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

分區協作遺傳算法及其在大規模TSP問題中的應用

2022-02-19 10:12:26邢凱肖灑賴菲王鐵廣方賽銀李明
機械工程師 2022年2期
關鍵詞:優化

邢凱,肖灑,賴菲,王鐵廣,方賽銀,李明

(西南林業大學機械與交通學院,昆明 650224)

0 引言

旅行商問題(Traveling Salesman Problem,TSP)屬于NP難的組合優化問題,經典的規劃算法在有限的時間內無法得到優化解,故采用群集智能優化算法來解決此問題,諸如遺傳算法[1]、蟻群算法[2]、模擬退火算法[3]等。

遺傳算法本身具有較強的魯棒性,并且適用于求解各種復雜的優化問題,能夠在理想的時間內求出全局最優解。Ahmed[4]對交叉算子深入研究,提出了一種新的順序建設性交叉算子,能夠高效精確地解決TSP問題。Liu[5]針對變異操作提出增強突變的改進,將交叉操作中隨機選擇用異構配對選擇代替,最終在解決TSP問題時其效果明顯優于傳統GA算法。胡士娟等[6]提出將蟻群算法(Ant Clony Optimization, ACO)的反饋機制和GA算法的全局搜索能力相結合,并且通過TSP實例驗證了其算法比ACO算法和傳統GA算法具有更好的尋優能力。Deep 和Adane[7]對于順序交叉算子,提出了一種改進的樹形結構,有效地提高了傳統GA算的效率。Kumar等[8]將TSP不同交叉算子進行比較分析,實驗結果表明部分映射的交叉給出了最短的路徑。葛耀寶[9]提出一種基于染色體擇優選擇的策略,大幅度地減少了算法早熟情況。Ma[10]在2-opt選擇策略和GA算法框架的基礎上,提出了一種新的混合遺傳算法,仿真試驗結果表明了該算法的有效性。對于小規模的路徑優化問題,可以通過上述啟發式GA算法獲得最優解,然而對于大規模的路徑優化問題,傳統GA算法局限性就凸顯出來了,不僅收斂速度慢,而且容易早熟收斂陷入局部最優化。

為此,本文提出一種分區協作遺傳算法(Subpartition Cooperation Genetic Algorithm,SCGA),提高GA算法在求解大規模路徑優化問題時的全局收斂能力。首先,基于距離聚類的方法將城市集劃分為規模相當的分區,并通過傳統GA算法獲取分區不閉合的分區最優路徑;其次根據分區之間的距離按照就近原則確定每個分區的首尾城市,根據各分區之間距離順序連接各個分區路徑獲得全局最優路徑;最后,從TSPLIB標準測試集選取若干實例進行試驗,驗證SCGA算法的可行性與有效性。

1 TSP描述

TSP問題是一個NP難問題[11-12],可以描述為給定一系列城市坐標集, 一個旅行商從起點城市出發, 去往各個城市推銷他的商品,如何經過各個城市一次并回到出發點的路徑規劃問題。其問題的解可以被描述為各個城市出現一次且僅出現一次構成的排列方案, 該排列方案代表著旅行商將第一個城市作為出發點, 依次按排列順序對城市進行訪問, 最后再回到第一個城市的路徑規劃方案。TSP問題的最優解就是旅行商所經歷過的最短路徑。

TSP的數學模型描述如下:

假設有n個城市,它們之間的距離矩陣為D=(dij)n×n,dij為城市i與城市j之間的距離(i≠j);dij=M,M為足夠大的數。

2 改進遺傳算法求解TSP

本文設計一種距離聚類分區遺傳操作機制:受有限元分析思想的影響,將一個難以解決的大問題轉換成多個容易的小問題,在解決多個小問題的基礎上得到整個大問題的近似解;基于此思想,在進行一系列遺傳操作之前,將大規模城市群進行聚類分區優化操作,每個分區選取一個中心城市,當城市之間的“相近性”用歐氏距離來進行描述時,選擇準則為各城市到其中心城市距離的平方和,可以表示為

式中:k為分區數目;Ci為第i中心城市;d(Ci,x)為城市x到中心城市Ci的距離。

在優化操作后期,將已經劃分好的分區按照順時針或逆時針的順序,相鄰兩分區內的起始點與終點有優先的選擇權,以此來提高算法的精確性。

在多個分區劃分完成并且排序后,分別對每個分區采用傳統GA算法得出分區相對最優解作為分區的最短路徑,著重標記起始點以及終點[13];根據相鄰分區就近原則,選擇與該分區起始點或終點最近的鄰域內起始點或終點,最后將多個分區的路徑按照相鄰分區最短距離拼接起來,作為整個大規模TSP問題的最短路徑。

2.1 聚類分區操作

對于大規模TSP,城市數目眾多,遺傳算法無法在短時間內得到令人滿意的結果。本文采用聚類分區方法對大規模城市進行劃分,綜合考慮城市的布局、城市間距離以及城市的規模,將距離相近的城市劃為一個分區,城市之間的“相近性”用歐氏距離來進行描述,可以表示為

式中:dij為城市Ci與Cj的相近性;p為城市屬性的數量,本文中p取2(城市的橫縱坐標)。

大規模城市總共被劃分為多個分區,此后解決大規模旅行商問題即在多個已劃分完成的分區上進行;對比分析將大規模旅行商問題分別劃分為多個分區時,哪種劃分方法所得旅行商最短路徑最適宜。

2.2 遺傳操作

對于分區完成的城市的路徑進行編碼,直接采用城市在路徑中的位置來構造用于優化的狀態。例如四分區時:第一分區有24個城市,路徑為5-4-18-1-22-7-9-24-8-19-6-14-21-2-15-3-23-10-11-20-12-17-13-16,路徑編碼為(5-4-18-1-22-7-9-24-8-19-6-14-21-2-15-3-23-10-11-20-12-17-13-16)。

優質的初始種群往往能夠得到理想的遺傳算法結果,一個個體由該分區城市數目隨機產生,隨機生成N個個體作為初始群體popm[14],隨機選擇一個種群,由于隨機性較強,因而也較公正。

在進化搜索的過程中,遺傳算法基本不利用外部信息,僅將適應度函數作為依據,利用種群中每個個體的適應度值來進行搜索。TSP的目標是路徑總長度為最短,路徑總長度的倒數就可以作為TSP的適應度函數:

式中:f為適應度;d為兩城市之間距離。

一般來說,個體被選中的可能性大小與其適應度呈現出正相關的關系,適應度較大(優良)個體有較大的可能性被選中,而適應度較小(低劣)的個體被選中的可能性相對來說就較小,本文采用最簡單的一種選擇方法——輪盤賭選擇法。具體操作如下。

1)計算出群體中每個個體的適應f(w1,w2…,wn)。

2)計算出每個個體被遺傳到下一代群體中的概率:

4)在[0,1]區間內產生一個均勻分布的偽隨機數r。

5)若r

交叉操作是產生新個體的操作之一,優良的交叉方式可以在一定程度上提高種群的多樣性。為提高算法的搜索效率,本文采用多點交叉的方式[15],對于多點交叉,m個交叉位置Ki可以隨機無重復地選擇,在交叉點之間的變量間續地相互交換,產生2個新的后代,但在第一位變量與第一個交叉點之間的一段不做交換,例如:

父個體1:1 4 7 2 5 8 3 6 9;

父個體2:2 5 8 3 6 9 1 4 7;

交叉點的位置選為:2 5 8。

子個體1:1 4 8 3 6 8 3 6 7;

子個體2:2 5 7 2 5 9 1 4 9。

變異操作本身是一種局部隨機搜索,與選擇、交叉算子結合在一起,確保了遺傳算法的有效性,使得遺傳算法具有局部的隨機搜索能力,可以加速向最優解收斂;同時使得遺傳算法保持種群的多樣性,降低早熟收斂問題出現的可能性。本文采用倒置變異法,例如:假設當前個體X為(1 3 7 4 8 0 5 9 6 2 ),如果當前隨機概率值小于變異概率,則隨機選擇來自同一個體的2個點,然后倒置該2個點的中間部分,產生新的個體[16]。例如,假設隨機選擇個體X的2個點“7”和“9”,則倒置該2個點的中間部分,即將“4805”變為“5084”,產生新的個體X為(1 3 7 5 0 8 4 9 6 2)。

算法流程如圖1所示。

圖1 算法流程圖

3 大規模TSP仿真試驗

仿真環境為Win10系統下的Matlab2016a,系統主要硬件為:CUP主頻為2.7 GHz,內存為12 GB。

選取TSPLIB中若干實例進行試驗,試驗參數選取如下:初始種群大小為100;最大迭代次數為1000次;交叉概率為0.8;變異概率為0.1[17]。對多個分區分別采用普通遺傳算法處理,計算分區最優路徑,將首尾城市按照就近原則選擇鄰域內最近的首尾城市,領域的選擇順序按照順時針或者逆時針,獲取其全局最短路徑。在多個分區內采用普通遺傳算法中,根據算法的隨機性,從中選出分區最短路徑。

為了驗證SCGA算法的性能,本文將大規模TSP問題劃分為多個分區,對每種劃分方式運用SCGA算法進行隨機計算10次處理,以10次試驗結果的平均值分析比較每種劃分方式的差異。傳統GA算法和SCGA算法所求最短距離如表1所示。

表1 算法分區對比

由表1試驗結果可知,在迭代次數、交叉率、變異率等參數相同的情況下,分區GA算法對于大規模TSP問題的處理效果相較于傳統GA算法最優解為原來的1/2以上;當分區數目相同時,對于規模越大的TSP問題,SCGA算法的處理效果越好。但是獲得的最優解并不是因為分區數目越多越好,當分區數目過多時,獲取的最優解并不是很理想;為解決此問題,選取Rat195TSP實例進行分區擬合,探究分區數與最優解的函數關系。

選取Rat195TSP 實例問題進行分區擬合,對Rat195TSP實例進行2分區、4分區、8分區、10分區、12分區、14分區、16分區、18分區處理,對各分區所得最優解進行擬合,擬合結果如圖2所示。

圖2 分區擬合圖

由擬合圖可知,對于Rat195TSP實例,分區數目與最優解之間的函數關系式可以表達為y=-0.028x3+20x2-410x+5200,當分區數目過多或是過少時,獲得的最優解都不理想,分區數目過少時,單個分區內城市數目過多,容易陷入局部最優,造成早熟收斂現象,故不能獲得理想的最優解;分區數目過多時,單個分區內城市數目過少,可以較早地獲得分區最優解,但分區之間的距離隨著分區的數目增加而增加,所以當分區數目過多時也不能獲得理想的最優解;當分區數目為10時,Rat195TSP實例獲得最優解,通過擬合結果可以看出,分區數與最優解之間具有一定的多項式關系,能夠很好地反映出不同的分區數目之間仍存在一定差異,當分區數目在8~12時,分區城市數目在17~26之間,此時的分區數目與分區城市數目相比于其他分區數目與分區城市數目達到一個“平衡點”,獲得的最優解比其他分區數目時的效果更加令人滿意。

4 結論

傳統GA算法在解決大規模路徑優化問題時存在著“早熟”、收斂速度慢等問題,規模越大傳統GA算法處理的性能也就越差,本文設計了一種改進遺傳算法用于解決大規模路徑優化問題,將處理一個大規模路徑優化問題轉化為處理多個小規模路徑優化問題,可在一定程度上避免“早熟”現象的發生,加快收斂速度,使得算法性能得到較大的提升。仿真試驗結果表明,SCGA算法可以在一定程度上抑制“早熟”現象的發生,并且能夠較好地解決陷入局部最優的問題,但是分區數目與最優解之間存在一定的多項式關系,當分區數目在8~12,可以獲得令人滿意的最優解。本文提出的SCGA算法相較于傳統GA算法雖然性能上得到了較大的提升,但是對于路徑優化問題分區間的銜接還有很大的研究空間,接下來會在以后的工作中進一步研究。

猜你喜歡
優化
超限高層建筑結構設計與優化思考
房地產導刊(2022年5期)2022-06-01 06:20:14
PEMFC流道的多目標優化
能源工程(2022年1期)2022-03-29 01:06:28
民用建筑防煙排煙設計優化探討
關于優化消防安全告知承諾的一些思考
一道優化題的幾何解法
由“形”啟“數”優化運算——以2021年解析幾何高考題為例
圍繞“地、業、人”優化產業扶貧
今日農業(2020年16期)2020-12-14 15:04:59
事業單位中固定資產會計處理的優化
消費導刊(2018年8期)2018-05-25 13:20:08
4K HDR性能大幅度優化 JVC DLA-X8 18 BC
幾種常見的負載均衡算法的優化
電子制作(2017年20期)2017-04-26 06:57:45
主站蜘蛛池模板: 奇米影视狠狠精品7777| 四虎永久免费地址在线网站| 国产网友愉拍精品视频| 国产三级a| 中文成人在线| 狠狠色狠狠色综合久久第一次| 99ri国产在线| 91蜜芽尤物福利在线观看| 全部毛片免费看| 国产小视频免费观看| 精品国产Ⅴ无码大片在线观看81| 999福利激情视频| 国产特一级毛片| 丰满人妻久久中文字幕| 亚洲视频在线青青| 欧美激情一区二区三区成人| 久久精品中文无码资源站| 欧美A级V片在线观看| 国产不卡国语在线| 国产精品亚洲一区二区三区z| 国产高清在线精品一区二区三区| 丁香婷婷综合激情| 国产在线视频欧美亚综合| 国产精品一线天| 精品国产免费观看一区| 日韩无码真实干出血视频| 亚洲黄色成人| 国产精品人成在线播放| 国产免费久久精品99re不卡| 男女男免费视频网站国产| 国产97视频在线| 亚洲区视频在线观看| 大香伊人久久| 日本黄色不卡视频| 天天综合亚洲| 久久久久免费看成人影片| 伊人无码视屏| 99久久人妻精品免费二区| 色婷婷久久| 天天综合天天综合| 色综合激情网| 日本在线视频免费| 亚洲第一极品精品无码| 精品久久久久久久久久久| 在线另类稀缺国产呦| 欧美精品亚洲日韩a| 欧美色丁香| 成人综合网址| 欧美精品啪啪| 国产黄网永久免费| 国产噜噜噜| 成人免费一级片| 日韩免费中文字幕| 欧美精品在线免费| 日韩成人在线视频| 国产精品19p| 国产青榴视频| 亚洲天堂精品在线观看| 国产拍在线| 亚洲侵犯无码网址在线观看| 久久精品一卡日本电影| 2021国产乱人伦在线播放| 亚洲天天更新| 亚洲狠狠婷婷综合久久久久| 在线欧美日韩| 国产成人亚洲毛片| 日韩亚洲高清一区二区| 2021亚洲精品不卡a| 国产精品美女自慰喷水| 67194在线午夜亚洲| h网址在线观看| 人妖无码第一页| 国产成人盗摄精品| 99re热精品视频国产免费| 日韩精品中文字幕一区三区| 人妻精品久久无码区| 国产欧美日韩综合在线第一| 免费啪啪网址| 婷婷激情亚洲| 国产一区二区三区精品久久呦| 幺女国产一级毛片| 极品私人尤物在线精品首页|