前言:我們精心挑選了數(shù)篇優(yōu)質(zhì)遺傳算法論文文章,供您閱讀參考。期待這些文章能為您帶來(lái)啟發(fā),助您在寫(xiě)作的道路上更上一層樓。
論文摘要:TSP是組合優(yōu)化問(wèn)題的典型代表,該文在分析了遺傳算法的特點(diǎn)后,提出了一種新的遺傳算法(GB—MGA),該算法將基因庫(kù)和多重搜索策略結(jié)合起來(lái),利用基因庫(kù)指導(dǎo)單親遺傳演化的進(jìn)化方向,在多重搜索策略的基礎(chǔ)上利用改進(jìn)的交叉算子又增強(qiáng)了遺傳算法的全局搜索能力。通過(guò)對(duì)國(guó)際TSP庫(kù)中多個(gè)實(shí)例的測(cè)試,結(jié)果表明:算法(GB—MGA)加快了遺傳算法的收斂速度,也加強(qiáng)了算法的尋優(yōu)能力。
論文關(guān)鍵詞:旅行商問(wèn)題遺傳算法基因庫(kù)多重搜索策略
TSP(travelingsalesmanproblem)可以簡(jiǎn)述為:有n個(gè)城市1,2,…,n,一旅行商從某一城市出發(fā),環(huán)游所有城市后回到原出發(fā)地,且各城市只能經(jīng)過(guò)一次,要求找出一條最短路線(xiàn)。TSP的搜索空間是有限的,如果時(shí)間不受限制的話(huà),在理論上這種問(wèn)題終會(huì)找到最優(yōu)解,但對(duì)于稍大規(guī)模的TSP,時(shí)間上的代價(jià)往往是無(wú)法接受的。這是一個(gè)典型的組合最優(yōu)化問(wèn)題,已被證明是NP難問(wèn)題,即很可能不存在確定的算法能在多項(xiàng)式時(shí)間內(nèi)求到問(wèn)題的解[1]。由于TSP在工程領(lǐng)域有著廣泛的應(yīng)用,如貨物運(yùn)輸、加工調(diào)度、網(wǎng)絡(luò)通訊、電氣布線(xiàn)、管道鋪設(shè)等,因而吸引了眾多領(lǐng)域的學(xué)者對(duì)它進(jìn)行研究。TSP的求解方法種類(lèi)繁多,主要有貪婪法、窮舉法、免疫算法[2]、螞蟻算法[3]、模擬退火算法、遺傳算法等。
遺傳算法是一種借鑒生物界自然選擇和遺傳機(jī)制的隨機(jī)化搜索算法,其主要特點(diǎn)是群體搜索策略和群體中個(gè)體之間的信息交換,搜索不依賴(lài)于梯度信息[4]。遺傳算法主要包括選擇、交叉和變異3個(gè)操作算子,它是一種全局化搜索算法,尤其適用于傳統(tǒng)搜索算法難于解決的復(fù)雜和非線(xiàn)性問(wèn)題。遺傳算法雖然不能保證在有限的時(shí)間內(nèi)獲得最優(yōu)解,但隨機(jī)地選擇充分多個(gè)解驗(yàn)證后,錯(cuò)誤的概率會(huì)降到可以接受的程度。
用遺傳算法求解TSP能得到令人滿(mǎn)意的結(jié)果,但是其收斂速度較慢,而且種群在交叉算子作用下,會(huì)陷入局部解。采用局部啟發(fā)式搜索算法等,雖然能在很短的時(shí)間內(nèi)計(jì)算出小規(guī)模城市的高質(zhì)量解,一旦城市規(guī)模稍大就容易陷入局部最優(yōu)解。因此,為了能夠加快遺傳算法的收斂速度,又能得到更好的近似最優(yōu)解,該文采納了文[5]中楊輝提出的基因庫(kù)的想法,并結(jié)合文[6]中Cheng-FaTsai提出的多重搜索策略思想,使用單親演化與群體演化相結(jié)合的方式來(lái)求解TSP問(wèn)題。該文根據(jù)文[7]中最小生成樹(shù)MST(minimumcostspanningtree)的應(yīng)用,由MST建立TSP的基因庫(kù),保存有希望成為最優(yōu)解的邊,利用基因庫(kù)提高初始群體的質(zhì)量進(jìn)行單親演化,然后利用改進(jìn)后的交叉算子和的多重搜索策略進(jìn)行群體演化。
1單親演化過(guò)程
現(xiàn)有的大多數(shù)演化算法在整個(gè)演化過(guò)程中所涉及的基因,大多來(lái)源于個(gè)體本身,個(gè)體質(zhì)量的高低決定了算法的全局性能,如果群體中初始個(gè)體的適應(yīng)度都較差,肯定要影響算法的收斂速度,對(duì)于規(guī)模稍大的TSP尤其明顯[8]。該文為了克服上述弱點(diǎn),首先利用普里姆算法求出TSP中最小生成樹(shù),并將各個(gè)MST中的每一條邊都保存在一個(gè)n*(n-1)方陣?yán)锩?就構(gòu)成了一個(gè)基因庫(kù),在生成初始群體的時(shí)候盡量使用基因庫(kù)中的基因片段,來(lái)提高整個(gè)初始群體的適應(yīng)度,從而提高算法的效率。
1.1TSP編碼表示
設(shè)n個(gè)城市編號(hào)為1,2,…,n,為一條可行路徑,Pk=Vk1Vk2…Vkn為一條可行路徑,它是1,2,…,n的一個(gè)隨機(jī)排列,其含意是第k條路徑起點(diǎn)城市是Vk1,最后一個(gè)城市是Vkn,則第k條環(huán)路的總長(zhǎng)度可以表示為:
其中,d(Vki,Vkj)表示城市Vki與城市Vkj之間的距離。在算法中環(huán)路Pk的總長(zhǎng)d(Pk)用來(lái)評(píng)價(jià)個(gè)體的好壞[9]。適應(yīng)度函數(shù)取路徑長(zhǎng)度d(Pk)的倒數(shù),f(Pk)=1/d(Pk)。
1.2構(gòu)建TSP基因庫(kù)
對(duì)n個(gè)編號(hào)為1,2,…,n的城市,根據(jù)它們的坐標(biāo)計(jì)算各城市之間的歐氏距離d(i,j),i,j=1,2,…,n,得到一個(gè)n*n的方陣D={d(i,j)}。然后利用普里姆算法求得該TSP的一棵MST,并將這棵MST中的每一條邊e(i,j)對(duì)應(yīng)地存儲(chǔ)在一個(gè)n*(n-1)的方陣M={e(i,j)},即該文的基因庫(kù)。由于一個(gè)TSP可能有多棵MST,操作可以重復(fù)多次,這樣生成的基因庫(kù)中的基因就更多,增強(qiáng)了初始群體的全局性。具體算法如下:
VoidMiniSpanTree—PRIM(MGraphG,VertexTypeu){
Struct{
VertexTypeadjvex;
VRTypelowcost;
}closedge[MAX—VERTEX—NUM];
k=LocateVex(G,u);
for(j=0;j<G.vexnum;++j)
if(j!=k)closedge[j]={u,G.arcs[k][j].adj};
closedge[k].lowcost=0;
for(i=0;i<G.vexnum;++i){
k=minimum(closedge);
printf(closedge[k].adjvex,G.vexs[k]);
closedge[k].lowcost=0;
for(j=0;j<G.vexnum;++j)
if(G.arcs[k][j].adj<closedge[j].lowcost)
closedge[j]={G.vexs[k],G.arcs[k][j].adj};
}
}
1.3單親演化算法
單親演化算法是利用遺傳算法的優(yōu)勝劣汰的遺傳特性,在單個(gè)染色體內(nèi)以基因重組的方式,使子代在滿(mǎn)足TSP問(wèn)題的限定條件下進(jìn)行繁衍,然后保留適應(yīng)度高的染色體種群,達(dá)到優(yōu)化的目的。單親演化算法的基因重組操作包括基因換位、基因段錯(cuò)位和基因段倒轉(zhuǎn)三種操作來(lái)實(shí)現(xiàn)。基因換位操作是將親代的染色體基因進(jìn)行對(duì)換后,形成子代,其換位又分為單基因換位和基因段換位兩種方式。基因段錯(cuò)位操作是隨機(jī)確定基因段,也隨機(jī)選定錯(cuò)位位置,整段錯(cuò)移。基因段倒轉(zhuǎn)操作則是隨機(jī)地確定倒轉(zhuǎn)基因段的起止位置,倒轉(zhuǎn)操作是對(duì)該段內(nèi)基因按中垂線(xiàn)作鏡面反射,若段內(nèi)基因數(shù)為奇數(shù)時(shí),則中位基因不變。單親演化時(shí)可以是單個(gè)操作用于單個(gè)父代,也可以是幾種操作同時(shí)采用。為了編程方便,文中采用基因段倒轉(zhuǎn)操作。
2群體演化過(guò)程
在單親演化算法求得的初始群體基礎(chǔ)上,再利用多重搜索策略并行地進(jìn)行群體演化,這樣在保證算法的快速收斂的同時(shí)也注重了搜索空間的全局性。
2.1交叉算子
該文算子采用一種與順序交叉OX(ordercrossover)法類(lèi)似的交叉方法[11],即隨機(jī)在串中選擇一個(gè)區(qū)域,例如以下兩個(gè)父串及區(qū)域選定為:
P1=(12|3456|789)P2=(98|7654|321)
將P2的區(qū)域加到P1的前面或后面,P1的區(qū)域加到P2的前面或后面,得
M1=(7654|123456789)
M2=(3456|987654321)
在M1中自區(qū)域后依次刪除與區(qū)域相同的城市碼,得到最終的兩個(gè)子串:
S1=(765412389)S2=(345698721)
同時(shí)為了能更好地增強(qiáng)算子的全局搜索能力,對(duì)該算子作了如下的改進(jìn)。子代個(gè)體的新邊來(lái)自:隨機(jī)生成和群體中其他個(gè)體,其選擇比例由隨機(jī)數(shù)p和閾值P來(lái)決定。如果隨機(jī)數(shù)p小于閾值P,則子代個(gè)體的新邊來(lái)自隨機(jī)生成,否則就來(lái)自群體中的其他個(gè)體。
這種改進(jìn)后的交叉算子在父串相同的情況下仍能產(chǎn)生一定程度的變異效果,這對(duì)維持群體的多樣化特性有一定的作用。實(shí)驗(yàn)結(jié)果也證實(shí)了這種改進(jìn)算子對(duì)于種群的全局搜索能力有一定的提高,避免搜索陷入局部解。
2.2局部啟發(fā)式算子
為了增強(qiáng)遺傳算法的局部搜索性能,在算法中引入2-Opt局部搜索算子[12]。該算子通過(guò)比較兩條邊并交換路徑以提升算法的局部搜索性能,示例見(jiàn)圖2。
比較子路徑ab+cd和ac+bd,如果ab+cd>ac+bd則交換,否則就不交換。考慮到程序的運(yùn)行效率,不可能對(duì)每對(duì)邊都做檢查,所以選取染色體中的一定數(shù)量的邊進(jìn)行比較。2-Opt搜索算子實(shí)際上進(jìn)行的相當(dāng)于變異操作,同時(shí)又不僅僅是簡(jiǎn)單的變異,而是提高算法的局部搜索性能的變異操作。
2.3選擇機(jī)制和收斂準(zhǔn)則
為了限制種群的規(guī)模[13],該文采用了聯(lián)賽選擇法的淘汰規(guī)則。聯(lián)賽選擇法就是以各染色體的適應(yīng)度作為評(píng)定標(biāo)準(zhǔn),從群體中任意選擇一定數(shù)目的個(gè)體,稱(chēng)為聯(lián)賽規(guī)模,其中適應(yīng)度最高的個(gè)體保存到下一代。這個(gè)過(guò)程反復(fù)執(zhí)行,直到保存到下一代的個(gè)體數(shù)達(dá)到預(yù)先設(shè)定的數(shù)目為止。這樣做可能導(dǎo)致種群過(guò)早收斂,因此在收斂準(zhǔn)則上要采取苛刻的要求來(lái)保證搜索的全局性。
遺傳算法求TSP問(wèn)題如果不設(shè)定終止條件,其演化過(guò)程將會(huì)無(wú)限制地進(jìn)行下去。終止條件也稱(chēng)收斂準(zhǔn)則,因?yàn)槎鄶?shù)最優(yōu)化問(wèn)題事先并不了解最優(yōu)的目標(biāo)函數(shù)值,故無(wú)法判斷尋優(yōu)的精度。該文采用如下兩條收斂準(zhǔn)則:在連續(xù)K1代不再出現(xiàn)更優(yōu)的染色體;優(yōu)化解的染色體占種群的個(gè)數(shù)達(dá)K2的比例以上。當(dāng)兩準(zhǔn)則均滿(mǎn)足時(shí),則終止運(yùn)算,輸出優(yōu)化結(jié)果和對(duì)應(yīng)的目標(biāo)函數(shù)值。由數(shù)值實(shí)驗(yàn)表明,添加第2條準(zhǔn)則之后,全局最優(yōu)解的出現(xiàn)頻率將大為提高。
2.4基于多重搜索策略的群體演化算法
由于基因庫(kù)的引入,可能降低初始種群的多樣性,為避免算法陷入局部最優(yōu)解,因此在群體演化中采取多重搜索策略。由Cheng-FaTsai提出的多重搜索策略[6],就是把染色體集中的染色體分成保守型和探索型兩種不同類(lèi)型的集合,然后針對(duì)不同類(lèi)型的染色體集合根據(jù)不同的交叉、變異概率分別進(jìn)行交叉變異操作,對(duì)保守型染色體集合就采用比較低的交叉變異概率,而對(duì)探索型染色體集合就采用比較高的交叉變異概率。這種策略對(duì)保守型染色體集合的操作最大限度地保留了父代的優(yōu)秀基因片段,另一方面對(duì)探索型染色體集合的操作又盡可能地提高了算法的全局搜索能力。為了提高算法的收斂速度,初始染色體集合該文采用了前面單親演化的結(jié)果中的染色體集合,交叉算子則利用的是前面介紹的改進(jìn)后的算子,改進(jìn)后的多重搜索策略見(jiàn)下。
3實(shí)驗(yàn)結(jié)果與分析
該文的GB—MGA算法由C#編程實(shí)現(xiàn),所有的結(jié)果都是在P42.0G微機(jī)上完成,并進(jìn)行通用的TSP庫(kù)實(shí)驗(yàn),選用了具有一定代表性的TSP實(shí)例,并把該算法和其他算法做了一個(gè)對(duì)比。為了減少計(jì)算量,程序中的數(shù)據(jù)經(jīng)過(guò)四舍五入整數(shù)化處理,與實(shí)數(shù)解有一定的偏差,下面給出圖Kroa100的示例。
為了證明該文提出的GB—MGA算法的有效性,將該文算法與典型的遺傳算法GA、單親遺傳算法PGA以及文[5]中楊輝提出的Ge—GA(genepoolgeneticalgorithm)算法和文[12]中提出的MMGA(modifiedmultiple-searchinggeneticalgorithm)算法都進(jìn)行了一個(gè)對(duì)比。
實(shí)驗(yàn)結(jié)果證明,該文算法的求解質(zhì)量要優(yōu)于GA、PGA、MMGA算法,而求解速度方面則優(yōu)于Ge—GA算法,特別是對(duì)于大規(guī)模城市的TSP問(wèn)題求解效果尤其明顯,具有快速收斂的特性。Ge—GA算法對(duì)于中等城市規(guī)模的TSP實(shí)例求解,其運(yùn)算時(shí)間就大幅度增加,如果把該算法用于求解大規(guī)模和超大規(guī)模TSP問(wèn)題,那么時(shí)間上的代價(jià)就讓人無(wú)法忍受。而該文的GB—MGA算法在單親遺傳演化中就使用了基因庫(kù)中的優(yōu)質(zhì)基因,使得單個(gè)個(gè)體的進(jìn)化速度大大提高,從而為進(jìn)一步的演化提供了條件,群體演化過(guò)程的選擇機(jī)制和收斂準(zhǔn)則的恰當(dāng)選取使得算法在注重了求解質(zhì)量的同時(shí)兼顧了算法的效率。
4結(jié)束語(yǔ)
遺傳算法就是一種以事物的自然屬性和遺傳屬性為基礎(chǔ),通過(guò)計(jì)算機(jī)對(duì)生物進(jìn)化規(guī)律進(jìn)行模擬以尋優(yōu)的一種算法,將尋優(yōu)的范圍與遺傳空間相對(duì)應(yīng),把每一種可能的值通過(guò)二進(jìn)制碼進(jìn)行編碼,如同染色體一樣,形成的字符串相當(dāng)于基因,然后按預(yù)期的結(jié)果對(duì)每一組編碼進(jìn)行評(píng)價(jià),選出最合適的一個(gè)值。算法一開(kāi)始是提出一些問(wèn)題的解,然后根據(jù)要求對(duì)這些解進(jìn)行選擇,重新拆解組合,去掉不合適的,留下最優(yōu)值,由此形成的便是新值,如此往復(fù),繼承與改良,這便是GA算法。由以上我們可以看出GA算法并不是簡(jiǎn)單的重復(fù),而是屬于一種螺旋式的上升過(guò)程,是不斷向更好的方向“進(jìn)化”的,在淘汰與擇優(yōu)中趨于穩(wěn)定。
2GA算法的數(shù)學(xué)基礎(chǔ)和算子
2.1GA算法的數(shù)學(xué)基礎(chǔ)
圖式定理是GA算法的數(shù)學(xué)基礎(chǔ),圖式定理是Holland提出的,它在一定程度上解釋了GA算法強(qiáng)大的數(shù)據(jù)信息處理能力,由定理我們能看出,經(jīng)過(guò)不斷地復(fù)制和交叉變異,在第一代中包含的編碼數(shù)量H可以用如下公式表示:m(H,t+1)≥m(H,t)(N(H)/FAV)[1-PC•(〥(H)/(L-1))-O(H)•Pm](1)如以遺傳學(xué)講,其中m(H,t)和m(H,t+1)分別代表第t代和第t+1代種群數(shù)量,N代表圖式H中染色體適應(yīng)能力的平均水平,F(xiàn)AV代表種群中包含的染色體的適應(yīng)力的平均水平,交叉比率用PC表示,變異比率用Pm表示,圖式的長(zhǎng)度用〥表示,OH是H的確定參數(shù),即階,染色體長(zhǎng)度用L表示。
2.2GA算法的算子
GA遺傳算法的基本算子有三個(gè),分別是選擇、交叉和變異。選擇算子相當(dāng)于生物界優(yōu)勝劣汰,決定物種最終存活的自然選擇,在生物群中選擇一些適應(yīng)力強(qiáng)的生物,將它們的染色體放入基因庫(kù),是染色體重新交叉組合完成變異的前提,選擇算子的特點(diǎn)是只能在原有的基礎(chǔ)上選擇出優(yōu)良的基因,而無(wú)法重新創(chuàng)造。交叉算子相當(dāng)于自然界生物為完成繁衍生息和進(jìn)化而進(jìn)行的繁殖現(xiàn)象,染色體經(jīng)由交叉,重新組合后形成新的染色體,即從雙親染色體里隨機(jī)地分別選擇一條再重新組合,是染色體的重新創(chuàng)造。變異算子是在選擇和交叉算子完成重組的基礎(chǔ)上使遺傳算法能力的增強(qiáng),以尋找GA值的最優(yōu)解,如果在整個(gè)GA算法中少了變異操作,就只能在原有基礎(chǔ)上來(lái)回尋找而沒(méi)有新的突破。
3如何實(shí)現(xiàn)遺傳算法
遺傳算法歸根結(jié)底是尋找一個(gè)最優(yōu)的解或者工程中所講的最好的解決方案,從函數(shù)來(lái)講是求如下函數(shù)的最優(yōu)解:F=f(x,y,z),x,y,z∈Ω,F(xiàn)∈R(2)其中x,y,z是自變量,每一組(x,y,z)就是一組解,優(yōu)化目標(biāo)的目的是尋找一組解使得:F=f(x0,y0,z0)=maxf(x,y,z)(3)首先,將公式(2)的各個(gè)參數(shù)通過(guò)二進(jìn)制數(shù)編碼形成字符串,再進(jìn)行鏈接形成所謂的“基因鏈”,據(jù)已有的研究結(jié)果,可以知道字符串長(zhǎng)度不同、碼制不同都將對(duì)最終計(jì)算的結(jié)果的精度產(chǎn)生影響。其次,采用隨機(jī)抽選的方式選擇個(gè)體的初始值,之所以隨機(jī)抽選是因?yàn)檫@樣產(chǎn)生的結(jié)果更具有一般性,能代表尋常情況。最后,確定群體的規(guī)模,即確定基因選擇的目標(biāo)源,在這個(gè)目標(biāo)源中尋找最佳值,規(guī)模的確定決定了GA算法結(jié)果的權(quán)威性和有效性,太小則不能提供足夠的采樣點(diǎn),結(jié)果的多樣性將會(huì)打折扣,太大則會(huì)增加計(jì)算量,拖長(zhǎng)搜索時(shí)間,通暢將規(guī)模控制在40~200左右為宜,在對(duì)每個(gè)個(gè)體的優(yōu)劣實(shí)施評(píng)價(jià)之后,設(shè)置一個(gè)適應(yīng)度函數(shù),然后分別確定交叉率和變異率,判斷搜索何時(shí)停止,在本次討論中,判斷標(biāo)準(zhǔn)可以定為搜索所得的解是否達(dá)到了預(yù)期的最大值。
4GA在機(jī)械工程中的應(yīng)用
GA算法的優(yōu)點(diǎn)顯而易見(jiàn),它在機(jī)械工程中的應(yīng)用是極為廣泛的。在零件的切削中可以對(duì)零部件和切削工具予以?xún)?yōu)化,使得切削參數(shù)的設(shè)置達(dá)到總在工作以最低的成本,實(shí)現(xiàn)最高的效率,最終得到最高的收益的目的,在自動(dòng)化控制的智能制造系統(tǒng)中可以為系統(tǒng)的靜態(tài)動(dòng)態(tài)的配合尋找到最佳契合點(diǎn),以下對(duì)GA算法在機(jī)械公式和功能中的應(yīng)用以具體實(shí)例加以闡述。
4.1優(yōu)化人工神經(jīng)網(wǎng)
ANN,即人工神經(jīng)網(wǎng),是一種用于建模和控制的,針對(duì)模型結(jié)構(gòu)不穩(wěn)定的線(xiàn)性系統(tǒng)而設(shè)計(jì)的結(jié)構(gòu),單次結(jié)構(gòu)目前并不成熟,并沒(méi)有確切的數(shù)據(jù)指導(dǎo)后來(lái)者準(zhǔn)確的使用,處于摸索階段。對(duì)于ANN,目前采用的訓(xùn)練方法是反向傳播算法,大速度比較慢且結(jié)果具有一定的局限性,GA算法可謂使這一問(wèn)題得見(jiàn)柳暗花明。在AN的行學(xué)習(xí)參數(shù)的優(yōu)化工作中,仍用反向傳播,但對(duì)一下因素進(jìn)行編碼操作,包括隱含層數(shù)、隱含層數(shù)的單元數(shù)、勢(shì)態(tài)、網(wǎng)絡(luò)連接方法、迭代數(shù)等,編碼完成后,構(gòu)成ANN基因鏈,把基因鏈的適應(yīng)度函數(shù)定義為10-MSE-隱含單元數(shù)/10-訓(xùn)練跌代數(shù)/1000,MSE是訓(xùn)練好的網(wǎng)絡(luò)對(duì)樣本的方差。
4.2優(yōu)化FLC矩陣的參數(shù)
模糊邏輯控制器,簡(jiǎn)稱(chēng)FLC,涉及到的概念有控制對(duì)象偏差和動(dòng)作強(qiáng)度,表達(dá)了二者的模糊關(guān)系,現(xiàn)有一延時(shí)二階系統(tǒng)的函數(shù)為GS=exp(-0.4s)/(0.3s+1),要求此系統(tǒng)的輸出值盡量的跟蹤輸入值,采用FLC矩陣進(jìn)行參數(shù)優(yōu)化,取矩陣R=77×11,對(duì)此矩陣的77個(gè)元素以8bit的二進(jìn)制碼表示,基因鏈長(zhǎng)616bit,經(jīng)由GA算法優(yōu)化的FLC控制下,輸出值的效果明顯地優(yōu)于“比例-積分-微分”控制器的效果。
4.3實(shí)現(xiàn)機(jī)床掛最佳組合
機(jī)床掛輪組合的完美與否直接決定了生產(chǎn)線(xiàn)的效率,而這又是一個(gè)極為古老的問(wèn)題,最佳組合最終實(shí)現(xiàn)的是掛輪組的傳動(dòng)比與要求的值誤差達(dá)到最小,本文中,筆者通過(guò)GA算法,以求能找到一個(gè)有效的方案,適合度函數(shù)定義為:F=20-ABS(id)-(A/B)*(C/D)(A,B,C,D)∈Ω其中,A,B,C,D分別代表掛輪齒數(shù),共計(jì)4個(gè)掛輪,ABS()表示絕對(duì)值函數(shù),Ω是掛輪約束條件,需要A+B>C=d+m,C+D>B+d+m,d,m分別代表齒輪模、安裝軸徑。筆者在文中采用cenitor算法,對(duì)每個(gè)齒輪用一個(gè)5位二進(jìn)制碼進(jìn)行編碼,代表掛輪表的32個(gè)掛輪,共4個(gè)掛輪故基因碼長(zhǎng)20位,個(gè)體數(shù)為100,經(jīng)過(guò)驗(yàn)證后發(fā)現(xiàn),如果id為整數(shù),GA算法只需完成1000次雜交運(yùn)算就可以選出多個(gè)誤差為0的組合,它并非盲目地完成計(jì)算,搜索數(shù)遠(yuǎn)小于問(wèn)題解的數(shù)值。
5結(jié)語(yǔ)
假設(shè)所用的計(jì)算機(jī)傳輸介質(zhì)兩節(jié)點(diǎn)之間不多于一條直線(xiàn)的鏈接路,所用計(jì)算機(jī)網(wǎng)絡(luò)就可以運(yùn)用數(shù)學(xué)圖G=(N,L)來(lái)進(jìn)行描述。而且網(wǎng)絡(luò)的節(jié)點(diǎn)不會(huì)出現(xiàn)任何的故障,網(wǎng)絡(luò)鏈接介質(zhì)的可靠和自身的長(zhǎng)度沒(méi)有關(guān)系,網(wǎng)絡(luò)鏈接路與網(wǎng)絡(luò)只有兩種狀態(tài)存在:正常工作和故障。而當(dāng)所有的計(jì)算機(jī)網(wǎng)絡(luò)用戶(hù)都相互聯(lián)通時(shí),則可組成G圖的一棵生成樹(shù),并且全部的結(jié)點(diǎn)都處于正常。那么無(wú)論在什么時(shí)刻,可能只有L種的子集(L)是正常狀態(tài),全部結(jié)點(diǎn)都是正常狀態(tài)。因此,整個(gè)計(jì)算機(jī)網(wǎng)絡(luò)的可靠度都可使用數(shù)學(xué)建模來(lái)進(jìn)行運(yùn)算。
2遺傳算法在計(jì)算機(jī)網(wǎng)絡(luò)可靠度優(yōu)化計(jì)算中的應(yīng)用研究
2.1遺傳運(yùn)算方法
在計(jì)算機(jī)網(wǎng)絡(luò)中遺傳運(yùn)算主要是以變異和交叉這兩種方式進(jìn)行。交叉主要是通過(guò)在網(wǎng)絡(luò)結(jié)點(diǎn)的范圍([1,N])之間的隨機(jī)數(shù),以此作為基因交叉位置的設(shè)置且一次只可以操作一個(gè)結(jié)點(diǎn)。這樣能夠最大程度地確保網(wǎng)絡(luò)的連通性,但也有可能出現(xiàn)錯(cuò)的連通結(jié)構(gòu),所以進(jìn)行調(diào)整操作;變異則是先確定基因的變異和數(shù)目,然后再根據(jù)范圍來(lái)選擇新的基因段替換舊基因段生成后代。一般變異率都在0.001到0.01內(nèi),如是變異出現(xiàn)了錯(cuò)誤的網(wǎng)絡(luò)連通結(jié)構(gòu)基因,就必須進(jìn)行相應(yīng)的調(diào)整。
2.2算法的調(diào)整與仿真實(shí)例