




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、實驗六:遺傳算法求解TSP問題實驗一、 實驗目的w熟悉和掌握遺傳算法的原理、流程和編碼策略,并利用遺傳求解函數優化問題,理解求解TSP問題的流程并測試主要參數對結果的影響。用遺傳算法對TSP問題進行了求解,熟悉遺傳算法地算法流程,證明遺傳算法在求解TSP問題時具有可行性。二、 實驗內容w參考實驗系統給出的遺傳算法核心代碼,用遺傳算法求解TSP的優化問題,分析遺傳算法求解不同規模TSP問題的算法性能。w對于同一個TSP問題,分析種群規模、交叉概率和變異概率對算法結果的影響。w增加1種變異策略和1種個體選擇概率分配策略,比較求解同一TSP問題時不同變異策略及不同個體選擇分配策略對算法結果的影響。1
2、. 最短路徑問題所謂旅行商問題(Travelling Salesman Problem , TSP),即最短路徑問題,就是在給定的起始點S到終止點T的通路集合中,尋求距離最小的通路,這樣的通路成為S點到T點的最短路徑。在尋找最短路徑問題上,有時不僅要知道兩個指定頂點間的最短路徑,還需要知道某個頂點到其他任意頂點間的最短路徑。遺傳算法方法的本質是處理復雜問題的一種魯棒性強的啟發性隨機搜索算法,用遺傳算法解決這類問題,沒有太多的約束條件和有關解的限制,因而可以很快地求出任意兩點間的最短路徑以及一批次短路徑。 假設平面上有n個點代表n個城市的位置, 尋找一條最短的閉合路徑, 使得可以遍歷每一個城市恰
3、好一次。這就是旅行商問題。旅行商的路線可以看作是對n個城市所設計的一個環形, 或者是對一列n個城市的排列。由于對n個城市所有可能的遍歷數目可達(n- 1)!個, 因此解決這個問題需要0(n!)的計算時間。假設每個城市和其他任一城市之間都以歐氏距離直接相連。也就是說, 城市間距可以滿足三角不等式, 也就意味著任何兩座城市之間的直接距離都小于兩城市之間的間接距離。2. 遺傳算法遺傳算法是由美國J.Holland教授于1975年在他的專著自然界和人工系統的適應性中首先提出的,它是一類借鑒生物界自然選擇和自然遺傳機制的隨機化搜索算法。通過模擬自然選擇和自然遺傳過程中發生的繁殖、交叉和基因突變現象,在每
4、次迭代中都保留一組候選解,并按某種指標從解群中選取較優的個體,利用遺傳算子(選擇、交叉和變異)對這些個體進行組合,產生新一代的候選解群,重復此過程,直到滿足某種收斂指標為止。遺傳算法在本質上是一種不依賴具體問題的直接搜索方法,是一種求解問題的高效并行全局搜索方法。其假設常描述為二進制位串,位串的含義依賴于具體應用。搜索合適的假設從若干初始假設的群體集合開始。當前種群成員通過模仿生物進化的方式來產生下一代群體,如隨機變異和交叉。每一步,根據給定的適應度評估當前群體的假設,而后使用概率方法選出適應度最高的假設作為產生下一代的種子。下面介紹幾個遺傳算法的幾個基本概念:(1)染色體(Chromosom
5、e):在使用遺傳算法時,需要把問題的解編成一個適合的碼子。這種具有固定結構的符號串既是染色體,符號串的每一位代表一個基因。符號串的總位數成為染色體的長度,一個染色體就代表問題的一個解,每個染色體也被稱為一個個體。(2)群體(Population):每代所產生的染色體總數成為群體,一個群體包含了該問題在這一代的一些解的集合。(3)適應度(Fitness):對群體中每個染色體進行編碼后,每個個體對應一個具體問題的解,而每個解對應于一個函數值。該函數值即適應函數,就是衡量染色體對環境適應度的指標,也是反映實際問題的目標函數在前一代群體的基礎上產生新一代群體的工作成為遺傳操作,基本的遺傳操作有:(1)
6、選擇(Select):按一定的概率從上代群體中選擇M對個體作為雙親,直接拷貝到下一代,染色體不發生變化。(2)交叉(Crossover):對于選中進行繁殖的兩個染色體X,Y,以X,Y為雙親作交叉操作,從而產生兩個后代X1,Y1.(3)變異(Mutation):對于選中的群體中的個體(染色體),隨機選取某一位進行取反運算,即將該染色體碼翻轉。用遺傳算法求解的過程是根據待解決問題的參數集進行編碼,隨機產生一個種群,計算適應函數和選擇率,進行選擇、交叉、變異操作。如果滿足收斂條件,此種群為最好個體,否則,對產生的新一代群體重新進行選擇、交叉、變異操作,循環往復直到滿足條件。遺傳算法原型:GA(Fit
7、ness,Fitness_threshold,p,r,m)Fitness:適應度評分函數,為給定假設賦予一個評估分數Fitness_threshold:指定終止判據的閾值p:群體中包含的假設數量r:每一步中通過交叉取代群體成員的比例m:變異率初始化群體:P隨機產生的p個假設評估:對于P中的每一個h,計算Fitness(h)當maxFitness(h)<Fitness_threshold,做產生新的一代Ps:(1)選擇:用概率方法選擇P的(1-r)p個成員加入Ps.從P中選擇假設hi的概率用下面公式計算:(2)交叉:根據上面給出的,從P中按概率選擇r(p/2)對假設.對于每對假設<h
8、1,h2>,應用交叉算子產生兩個后代.把所有的后代加入Ps(3)變異:使用均勻的概率從Ps中選擇m%的成員.對于選出的每個成員,在它表示中隨機選擇一個為取反(4)更新:PPs(5)評估:對于P中的每個h計算Fitness(h)從P中返回適應度最高的假設3. TSP問題的遺傳算法設計與實現對于n個城市的問題,每個個體即每個解的長度為n,用s行, t列的pop矩陣,表示初始群體,s表示初始群體的個數,t為n+1,矩陣的每一行的前n個元素表示城市編碼,最后一個元素表示這一路徑的長度。城市的位置可以手動輸入,使用一個N×N矩陣D存儲,D(i,j)代表城市i和城市j之間的距離。 D(i,
9、j)=sqrt((Xi-Xj).2+(Yi-Yj).2)。在TSP的求解中,可以直接用距離總和作為適應度函數。個體的路徑長度越小,所得個體優越,距離的總和越大,適應度越小,進而探討求解結果是否最優。選擇就是從群體中選擇優勝個體、淘汰劣質個體的操作,它是建立在群體中個體適應度評估基礎上。這里采用方法是最優保存方法。本實例中交叉采用部分匹配交叉策略,先隨機選取兩個交叉點,然后將兩交叉點中間的基因段互換,將互換的基因段以外的部分中與互換后基因段中元素沖突的用另一父代的相應位置代替,直到沒有沖突。變異操作是以變異概率Pm對群體中個體串某些基因位上的基因值作變動,若變異后子代的適應度值更加優異,則保留子
10、代染色體,否則,仍保留父代染色體。這有助于增加種群的多樣性,避免早熟收斂(非全局最優)。判斷結束準則是固定指定了迭代的次數當算法達到迭代次數時,算法結束,輸出當前的最優解。在根據適配值計算并選擇的時候,記錄下來的當前最優值,在變異后加入跟新的群體,保證新的迭代循環中TSP解越來越好(不會變差)。 在選擇的一種操作是拿最優的K個替換最差的K個個體,本例是按適配值選擇,并使群體數目變少,當每次變異操作后,產生隨機路徑補充群體是群體數目不變,再次循環,一定程度上防止因初始群體的選擇問題而陷入局部最優。4. TSP問題的遺傳算法的具體步驟解最短路徑的遺傳算法如下:Generatep(n);表示程序開始
11、時要首先產生一個群體,群體個數為nEvaluatep(h);表示計算每個個體適應度,h是種群中的一個個體Repeat roof Generations times;重復下面的操作,直到滿足條件為止Select p(h) from p(n-1);表示從前一代群體中選擇一對雙親,用于交叉、變異 操作,P(n)代表第n代群體Crossover and mutation p(n);進行交叉和變異操作Learningp(n);自學習過程Evaluatep(h);計算新生成的種群中每個個體的適應度End;具體流程圖如下所示:流程圖5.遺傳算法求解不同規模的TSP問題的算法性能(1) 遺傳算法執行方式說明:
12、l 適應度值計算方法:當前路線的路徑長度l 個體選擇概率分配方法:適應度比例方法l 選擇個體方法:輪盤賭選擇l 交叉類型:PMX交叉l 變異類型: 兩點互換變異(2)實驗模擬結果:城市個數時間(ms)51692510166301518833202259625241593030289353523940386084540032504375755477466058143655994270643617571417圖1-1(3)分析由圖1-1可知,遺傳算法執行時間隨著TSP問題規模的增大而增大,并且大致為線性增長。五、不同參數下的計算結果對比(1)種群規模對算法結果的影響實驗次數:10最大迭代步數:10
13、0交叉概率:0.85變異概率:0.15表1-1種群規模適應度值最優路徑1025.2644-5-8-7-6-3-1-0-9-22026.34282-9-1-0-3-6-7-5-8-43025.16521-3-6-7-5-8-4-2-9-05025.16520-1-3-6-7-5-8-4-2-98025.16529-0-1-3-6-7-5-8-4-210025.16521-0-9-2-4-8-5-7-6-315025.16525-8-4-2-9-0-1-3-6-720025.16521-3-6-7-5-8-4-2-9-025025.16523-1-0-9-2-4-8-5-7-630025.1652
14、5-8-4-2-9-0-1-3-6-7如表1-1所示,顯然最短路徑為25.1652m,最優路徑為1-0-9-1-3-6-7-5-8-4-2或3-1-0-9-2-4-8-5-7-6,注意到這是一圈,順時針或者逆時針都可以。當種群規模為10,20時,并沒有找到最優解。(2)交叉概率對算法結果的影響實驗次數:15種群規模:25最大迭代步數:100變異概率:0.15實驗結果:表1-2交叉概率最好適應度最差適應度平均適應度最優解運行時間0.00128.044736.656732.60029-2-6-0-5-4-8-7-3-13100.0127.093534.994332.14957-8-3-1-9-2-
15、6-0-5-42600.128.044735.303331.93727-3-1-9-2-6-0-5-4-83000.1528.044734.117531.21830-5-4-8-7-3-1-9-2-62700.228.710833.951230.90353-1-9-2-6-5-0-4-7-82800.2528.044735.162330.74561-3-7-8-4-5-0-6-2-92600.327.093531.994129.94288-3-1-9-2-6-0-5-4-72900.3527.093532.808530.99459-1-3-8-7-4-5-0-6-22700.427.09353
16、2.531330.15341-3-8-7-4-5-0-6-2-92790.4527.093533.201430.17578-3-1-9-2-6-0-5-4-74560.528.093433.630730.90265-0-2-6-9-1-3-8-7-46630.5527.093533.523329.13041-9-2-6-0-5-4-7-8-35200.627.093533.251230.78363-1-9-2-6-0-5-4-7-85460.6528.044733.700330.93715-4-8-7-3-1-9-2-6-05960.727.093532.092729.95029-1-3-8-
17、7-4-5-0-6-25710.7528.044732.448830.36990-5-4-8-7-3-1-9-2-65590.827.093532.155129.93827-4-5-0-6-2-9-1-3-83580.8527.093534.539930.35945-0-6-2-9-1-3-8-7-43600.927.093532.627330.696-0-5-4-7-8-3-1-9-23750.9527.093532.467229.9196-2-9-1-3-8-7-4-5-0476(注:紅色表示非最優解)在該情況下,交叉概率過低將使搜索陷入遲鈍狀態,得不到最優解。(3)變異概率對算法結果的影
18、響實驗次數:10種群規模:25最大迭代步數:100交叉概率:0.85實驗結果:表1-3變異概率最好適應度最差適應度平均適應度最優解運行時間0.00129.471734.73232.49110-6-2-1-9-3-8-7-4-52450.0129.044634.659132.37148-4-5-0-2-6-9-1-3-72740.128.093434.01130.94175-0-2-6-9-1-3-8-7-42500.1527.093532.09330.25686-0-5-4-7-8-3-1-9-22460.227.093532.234930.31448-7-4-5-0-6-2-9-1-3282
19、0.2527.093532.71830.15724-5-0-6-2-9-1-3-8-72450.327.093532.448830.28540-5-4-7-8-3-1-9-2-62520.3527.093533.316730.77481-3-8-7-4-5-0-6-2-92660.429.044634.370531.30412-0-5-4-8-7-3-1-9-63620.4527.093531.37429.68162-6-0-5-4-7-8-3-1-94380.527.093532.375230.22112-9-1-3-8-7-4-5-0-64310.5527.093533.381930.66
20、231-3-8-7-4-5-0-6-2-94920.628.093433.251230.361-3-8-7-4-5-0-2-6-94170.6527.093532.749130.02013-1-9-2-6-0-5-4-7-84340.728.710832.423830.7851-3-8-7-4-0-5-6-2-94320.7527.093531.892830.24511-9-2-6-0-5-4-7-8-34750.828.093431.613530.34719-1-3-8-7-4-5-0-2-63270.8529.66233.239231.15852-9-1-3-7-8-4-0-5-63140
21、.928.044732.038730.41520-5-4-8-7-3-1-9-2-63960.9528.044731.303630.00679-1-3-7-8-4-5-0-6-2436又表1-3可知,當變異概率過大或過低都將導致無法得到最優解。注:(2)(3)的實驗數據與(1)的實驗數據不同,詳見附錄。六、不同變異策略和個體選擇概率分配策略對算法結果的影響(1)兩點互換變異與插入變異的比較:l 試驗次數(CASNUM):10l 城市數(POINTCNT):10l 種群規模(POPSIZE):100l 最大迭代步數(GENERATIONS):100l 交叉概率(PC):0.85l 變異概率(PM
22、):0.15l 選擇個體方法:輪盤賭選擇l 交叉類型:PMX交叉l 個體選擇概率分配方法:適應度比例方法a. 變異類型: 兩點互換變異表1-4兩點互換變異程序結果序號最好適應度最差適應度平均適應度最優解運行時間128.093430.422929.08916-2-0-5-4-7-8-3-1-91199227.093531.141728.98414-5-0-6-2-9-1-3-8-71678327.093530.422829.06040-5-4-7-8-3-1-9-2-61940427.093530.370328.87871-3-8-7-4-5-0-6-2-91756527.093531.0619
23、29.07553-1-9-2-6-0-5-4-7-81885627.093531.158929.39422-6-0-5-4-7-8-3-1-91936728.044731.061929.76486-2-9-1-3-7-8-4-5-01772829.044631.347529.84154-5-0-2-6-9-1-3-7-81980927.093530.614329.0590-6-2-9-1-3-8-7-4-519401027.093530.558529.08119-2-6-0-5-4-7-8-3-118721127.093531.017129.42640-5-4-7-8-3-1-9-2-6151
24、71227.093531.303629.24141-9-2-6-0-5-4-7-8-315411327.093532.025529.07890-6-2-9-1-3-8-7-4-515171427.093531.51628.89060-6-2-9-1-3-8-7-4-513451527.093530.422829.02266-0-5-4-7-8-3-1-9-213771627.093530.408128.90810-6-2-9-1-3-8-7-4-518531727.093530.408129.33167-8-3-1-9-2-6-0-5-415221827.093530.020328.52431
25、-3-8-7-4-5-0-6-2-916011928.044731.140429.5672-9-1-3-7-8-4-5-0-616092027.093531.141729.53597-4-5-0-6-2-9-1-3-81311平均值27.336130.878229.18771657b. 變異類型: 插入變異表1-5插入變異程序結果序號最好適應度最差適應度平均適應度最優解運行時間127.093531.475328.84532-6-0-5-4-7-8-3-1-91388227.093529.66228.91685-0-6-2-9-1-3-8-7-41355327.093529.663128.902
26、1-9-2-6-0-5-4-7-8-31637428.044730.524129.51194-5-0-6-2-9-1-3-7-81164527.093531.057529.46822-6-0-5-4-7-8-3-1-91245627.093529.66228.55462-6-0-5-4-7-8-3-1-91222728.044730.820529.7483-1-9-2-6-0-5-4-8-71148827.093530.524129.39071-9-2-6-0-5-4-7-8-31742927.093530.42328.68780-6-2-9-1-3-8-7-4-520641027.09353
27、0.408128.725-0-6-2-9-1-3-8-7-415181127.093531.37429.32824-5-0-6-2-9-1-3-8-712401227.093530.52328.55441-3-8-7-4-5-0-6-2-912041327.093530.820529.05080-6-2-9-1-3-8-7-4-517341427.093531.117729.59050-5-4-7-8-3-1-9-2-615321527.093530.52329.19044-5-0-6-2-9-1-3-8-714831627.093530.408128.80615-0-6-2-9-1-3-8-
28、7-412821727.093531.763929.45916-0-5-4-7-8-3-1-9-214851827.093531.158929.16144-5-0-6-2-9-1-3-8-716011927.093530.408128.59742-6-0-5-4-7-8-3-1-915072027.093530.614328.80363-1-9-2-6-0-5-4-7-81234平均值27.1886230.646529.06431439分析:兩點互換變異20次模擬中,4次得到非最優解;而插入變異只有2次;插入變異的最好適應度平均值比兩點互換變異小0.14755,最差適應度平均值和總的適應度平均
29、值都比兩點互換下,并且在Release下,運行時間前者比后者快218.3ms。可見在該條件下(交叉概率,變異概率,種群規模等),插入變異比兩點互換變異的算法效果要好。(2)個體選擇分配策略l 試驗次數(CASNUM):10l 城市數(POINTCNT):10l 種群規模(POPSIZE):100l 最大迭代步數(GENERATIONS):100l 交叉概率(PC):0.85l 變異概率(PM):0.15l 選擇個體方法:輪盤賭選擇l 交叉類型:PMX交叉l 變異類型: 兩點互換變異a. 個體選擇概率分配方法:適應度比例方法同表1-4b. 個體選擇概率分配方法:非線性排序方式表1-6非線性排序方
30、式程序結果序號最好適應度最差適應度平均適應度最優解運行時間127.093532.172130.09041-9-2-6-0-5-4-7-8-3824228.044731.29729.99794-5-0-6-2-9-1-3-7-8865328.093432.168330.56012-0-5-4-7-8-3-1-9-6895427.093532.097330.34723-1-9-2-6-0-5-4-7-81067527.093531.51629.85314-5-0-6-2-9-1-3-8-7887627.093531.40829.46375-0-6-2-9-1-3-8-7-4727727.093531.374229.94763-1-9-2-6-0-5-4-7-8651829.523131.800930.55430-5-4-7-8-1-3-9-2-6901927.093532.714730.3910-5-4-7-8-3-1-9-2-67491029.523131.568830.23859-3-1-8-7-4-5-0-6-28401128.044731.763930.26173-7-8-4-5-0-6-2-9-110441228.044731.630830.32671-3-7-8-4-5-0-6-2-97321327.093531.568829.43320-5-4-7-8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農莊步道鋪設方案范本
- 焦作河涌清淤施工方案
- 淄博師范高等專科學校《基礎閱讀(一)》2023-2024學年第二學期期末試卷
- 昆明藝術職業學院《工程項目管理沙盤模擬實訓》2023-2024學年第一學期期末試卷
- 如何設計課件:《成功開展家庭聚會》
- 銀行點鈔手法培訓課件
- 煙臺南山學院《分子與細胞生物學檢測技術》2023-2024學年第二學期期末試卷
- 上海中醫藥大學《化學實驗室安全技術》2023-2024學年第二學期期末試卷
- 梧州學院《nux系統及其應用》2023-2024學年第二學期期末試卷
- 臨沂大學《科技應用與組合設計》2023-2024學年第二學期期末試卷
- 全國水利ABC證單選題七
- 曾國藩人生修煉日課
- 深入淺出Serverless:技術原理與應用實踐課件
- 公路施工技術高職PPT完整全套教學課件
- 年產十萬噸丙烯腈生產工藝設計
- 人教版高中物理必修二全冊同步課時練習
- 城市社區管理中存在的問題及對策研究正文內容
- 年產10噸功能益生菌凍干粉的工廠設計改
- (完整)人教版 高一物理課后習題答案
- GB/Z 26337.1-2010供應鏈管理第1部分:綜述與基本原理
- GB 150-1998鋼制壓力容器
評論
0/150
提交評論