![遺傳算法原理及其應(yīng)用 第三章 遺傳算法的基本實現(xiàn)技術(shù)_第1頁](http://file4.renrendoc.com/view/763d3d0d1480b84f522bba1794dd6e99/763d3d0d1480b84f522bba1794dd6e991.gif)
![遺傳算法原理及其應(yīng)用 第三章 遺傳算法的基本實現(xiàn)技術(shù)_第2頁](http://file4.renrendoc.com/view/763d3d0d1480b84f522bba1794dd6e99/763d3d0d1480b84f522bba1794dd6e992.gif)
![遺傳算法原理及其應(yīng)用 第三章 遺傳算法的基本實現(xiàn)技術(shù)_第3頁](http://file4.renrendoc.com/view/763d3d0d1480b84f522bba1794dd6e99/763d3d0d1480b84f522bba1794dd6e993.gif)
![遺傳算法原理及其應(yīng)用 第三章 遺傳算法的基本實現(xiàn)技術(shù)_第4頁](http://file4.renrendoc.com/view/763d3d0d1480b84f522bba1794dd6e99/763d3d0d1480b84f522bba1794dd6e994.gif)
![遺傳算法原理及其應(yīng)用 第三章 遺傳算法的基本實現(xiàn)技術(shù)_第5頁](http://file4.renrendoc.com/view/763d3d0d1480b84f522bba1794dd6e99/763d3d0d1480b84f522bba1794dd6e995.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
遺傳算法原理及其應(yīng)用王正山wzs@第三章遺傳算法的基本實現(xiàn)技術(shù)掌握編碼方法掌握適應(yīng)度函數(shù)的設(shè)計方法掌握選擇、交叉、變異算子的設(shè)計方法了解遺傳算法的運行參數(shù)設(shè)置掌握約束條件處理方法掌握Matlab遺傳算法工具箱3.1編碼方法編碼在遺傳算法中如何描述問題的可行解,即把一個問題的可行解從其解空間轉(zhuǎn)換到遺傳算法所能處理的搜索空間的轉(zhuǎn)換方法稱為編碼。設(shè)計一個完美的編碼方案是遺傳算法的應(yīng)用難點之一。編碼規(guī)則有意義的積木塊編碼原則:應(yīng)使用能易于產(chǎn)生與所求問題相關(guān)的且具有低階、短定義長度模式的編碼方案。最小字符集編碼原則:應(yīng)使用能使問題得到自然表示或描述的具有最小編碼字符集的編碼方案。編碼分類二進制編碼方法浮點編碼方法符號編碼方法3.1.1二進制編碼方法二進制編碼方法二進制編碼方法使用的編碼符號集是由二進制符號0和1所組成的二值符號集{0,1},它構(gòu)成的個體基因型是一個二進制編碼的符號串。二進制編碼符號串的長度與問題所要求的求解精度有關(guān)。假設(shè)某一個參數(shù)的取值范圍是[Umin,Umax],我們用長度為l的二進制編碼符號串來表示該參數(shù),則它總共能夠產(chǎn)生2l中不同的編碼。因此,二進制的編碼精度為。二進制編碼的優(yōu)點編碼、解碼操作簡單易行。交叉、變異等遺傳操作便于實現(xiàn)。符合最小字符集編碼原則。便于利用模式定理對算法進行理論分析。假設(shè)某一參數(shù)的編碼是:則對應(yīng)的解碼公式為:3.1.2格雷碼編碼方法格雷碼編碼方法引入格雷碼的原因二進制編碼不便于反映一些連續(xù)函數(shù)優(yōu)化問題的特征且使得遺傳算法的局部搜索能力較差。格雷碼要求連續(xù)的兩個整數(shù)所對應(yīng)的編碼值之間僅僅只有一個碼位是不同的,其余碼位都完全相同。右表是十進制0~15之間的二進制碼和相應(yīng)的格雷碼。格雷碼的優(yōu)點便于提高遺傳算法的局部搜索能力。交叉、變異等遺傳操作便于實現(xiàn)。符合最小字符集編碼原則。便于利用模式定理對算法進行理論分析。十進制數(shù)二進制碼格雷碼000000000100010001200100011300110010401000110501010111601100101701110100810001100910011101101010111111101111101211001010131101101114111010011511111000編碼和解碼過程:決策向量二進制格雷碼3.1.3浮點數(shù)編碼方法浮點數(shù)編碼方法二進制編碼的缺點二進制編碼存在著連續(xù)函數(shù)離散化時的映射誤差。二進制編碼不便于反映所求問題的特定知識,也不便于處理非平凡約束條件。浮點數(shù)編碼是指個體的每個基因值用某一范圍內(nèi)的一個浮點數(shù)來表示,個體的編碼長度等于其決策變量的個數(shù)。例如,X=[5.80,6.90,3.50,3.80,5.00]在浮點數(shù)編碼方法中,必須保證基因值在給定的區(qū)間限制范圍內(nèi)。浮點數(shù)編碼的優(yōu)點適合于在遺傳算法中表示范圍較大的數(shù)。適合于精度要求較高的遺傳算法。便于較大空間的遺傳搜索。改善了遺傳算法的復(fù)雜性,提高了運算效率。便于遺傳算法與經(jīng)典優(yōu)化方法的混合使用。便于設(shè)計針對問題的專門知識的知識型遺傳算子。便于處理復(fù)雜的決策變量約束條件。3.1.4無符號數(shù)編碼方法符號編碼方法指個體染色體編碼串中的基因值取自一個無數(shù)值含義、而只有代碼含義的符號集。這個符號集可以是一個字母表,也可以是一個數(shù)字序號表。旅行商問題:已知n個城市之間的相互距離?,F(xiàn)有一推銷員必須遍訪這n個城市,并且每個城市只能訪問一次,最后又必須返回出發(fā)城市。如何安排他對這些城市的訪問次序,可使其旅行路線的總長度最短?
例如,對于旅行商問題,假設(shè)有n個城市分別記為C1,C2,…,Cn,將各個城市的代號按其被訪問的順序連接在一起就可構(gòu)成一個表示旅行路線的個體。例如,X:[C1,C2,…,Cn]。若將各個城市按其代號的下標(biāo)進行編號,則這個個體也可表示為:X:[1,2,…,n]
。符號編碼的優(yōu)點符合有意義積木塊的編碼原則。便于在遺傳算法中利用所求解問題的專門知識。便于遺傳算法與相關(guān)近似算法之間的混合使用。3.1.5多參數(shù)級聯(lián)編碼方法多參數(shù)級聯(lián)編碼對含有多個變量的個體進行編碼的方法就稱為多參數(shù)編碼方法。將各個參數(shù)分別以某種編碼方法進行編碼,然后再將它們的編碼按一定順序聯(lián)接在一起就組成了表示全部參數(shù)的個體編碼。這種編碼方法稱為多參數(shù)級聯(lián)編碼方法。在進行多參數(shù)級聯(lián)編碼時,每個參數(shù)的編碼方式可以是二進制編碼、格雷碼、浮點數(shù)編碼或符號編碼等編碼方式中的一種,每個參數(shù)可以真有不同的上下界,也可以有不同的編碼長度或編碼精度。3.1.6多參數(shù)交叉編碼方法多參數(shù)交叉編碼方法基本思想將各個參數(shù)中起主要作用的碼位集中在一起。具體方法在進行多參數(shù)交叉編碼時,可先對各個參數(shù)進行分組編碼(假設(shè)共有n個參數(shù),每個參數(shù)都用長度為m的地二進制串表示);然后取各個參數(shù)編碼串中的最高位聯(lián)接在一起,以它們作為個體編碼串的前n位編碼;再取各個參數(shù)編碼串中的次高位聯(lián)接在一起,…。這樣所組成的長度為mn位的編碼串就是多參數(shù)的一個交叉編碼串。思考題:多參數(shù)級聯(lián)編碼與多參數(shù)交叉編碼方法的適用范圍?3.2適應(yīng)度函數(shù)目標(biāo)函數(shù)與適應(yīng)度函數(shù)目標(biāo)函數(shù)是指所關(guān)心的目標(biāo)(某一變量y)與相關(guān)的因素(某些變量xi)的函數(shù)關(guān)系。適應(yīng)度函數(shù)度量個體適應(yīng)度的函數(shù)稱為適應(yīng)度函數(shù)。評價個體適應(yīng)度的一般過程對個體編碼串進行解碼處理后,可得到個體的表現(xiàn)型。由個體的表現(xiàn)型可計算出對應(yīng)個體的目標(biāo)函數(shù)值。根據(jù)最優(yōu)化問題的類型,由目標(biāo)函數(shù)值按一定的轉(zhuǎn)換規(guī)則求出個體的適應(yīng)度。第二章中給出的是基本遺傳算法的目標(biāo)函數(shù)到適應(yīng)度函數(shù)的變換方法。F(X)=f(X)+Cmin
iff(X)+Cmin>00
iff(X)+Cmin
≤03.2適應(yīng)度函數(shù)…適應(yīng)度函數(shù)尺度變化的原因在遺傳算法運行早期群體中可能會有少數(shù)幾個個體的適應(yīng)度相對其他個體來說非常高。若按照常用的比例選擇算子來確定個體的遺傳數(shù)量時,則這幾個相對較好的個體將在下一代群體中占有很高的比例,在極端情況下或當(dāng)群體現(xiàn)模較小時,新的群體甚至完全由這樣的少數(shù)幾個個體所組成。這時產(chǎn)生新個體作用較大的交叉算子就起不了什么作用,因為相同的兩個個體不論在何處進行交叉操作都永遠不會產(chǎn)生出新的個體。在遺傳算法運行的后期階段群體中所有個體的平均適應(yīng)度可能會接近于群體中最佳個體的適應(yīng)度。也就是說,大部分個體的適應(yīng)度和最佳個體的適應(yīng)度差異不大,它們之間無競爭力,都會有以相接近的概率被遺傳到下一代的可能性,從而使得進化過程無競爭性可言,只是一種隨機的選擇過程。3.2適應(yīng)度函數(shù)…適應(yīng)度尺度變換方法線性尺度變換(圖示見下頁)乘冪尺度變換指數(shù)尺度變換3.2適應(yīng)度函數(shù)…線性比例尺度變換的正常情況示意圖滿足兩個條件尺度變換后全部個體的新適應(yīng)度的平均值要等于其原始適應(yīng)度的平均適應(yīng)值。尺度變換后群體中新的最大適應(yīng)度要等于其原平均適應(yīng)度的指定倍數(shù)。使用適應(yīng)度尺度變換時,群體中少數(shù)幾個優(yōu)良個體的適應(yīng)度按比例縮小,同時幾個較差個體的適應(yīng)度也按比例擴大。種群規(guī)模大小為50~100時,C的取值是1.2~2。3.2適應(yīng)度函數(shù)…線性比例尺度變換的非正常情況示意圖原因:在遺傳算法搜索過程的后期階段,隨著個體適應(yīng)度從總體上的不斷改進,群體中個體的最大適應(yīng)度和全部個體的平均適應(yīng)度較接近,而少數(shù)幾個較差的個體的適應(yīng)度卻遠遠低于最大適應(yīng)度,這時要想維持C的值不變,將有可能會使較差個體的適應(yīng)度為負數(shù)。解決方法:把原最小適應(yīng)度Fmin映射為F’min,使得F’min值為0,并且保持原平均適應(yīng)度Favg與新的平均適應(yīng)度F’avg相等。3.3選擇算子比例選擇各個個體被選中的概率與其適應(yīng)度大小成正比。設(shè)群體大小為M,個體i的適應(yīng)度為Fi,則個體i被選中的概率pis為:最優(yōu)保存策略迄今為止的適應(yīng)度最高的個體不參與交叉運算和變異運算,而是用它來替換掉本代群體中經(jīng)過交叉、變異等遺傳操作后所產(chǎn)生的適應(yīng)度最低的個體。具體操作過程找出當(dāng)前群體中適應(yīng)度最高的個體和適應(yīng)度最低的個體。若當(dāng)前群體中最佳個體的適應(yīng)度比總的迄今為止的最好個體的適應(yīng)度還要高,則以當(dāng)前種群中的最佳個體作為新的迄今為止的最好個體。用迄今為止的最好個體替換掉當(dāng)前群體中的最差個體。最優(yōu)保存策略可視為選擇操作的一部分。當(dāng)前種群的最佳個體當(dāng)前種群的最差個體迄今為止的最好個體3.3.3確定式采樣選擇確定式采樣選擇基本思想按照一種確定的方式來進行選擇操作。操作過程計算群體中各個個體在下一代群體中的期望生存數(shù)目Ni=(Fi
/sum(Fi))xM。用Ni的整數(shù)部分確定各個對應(yīng)個體在下一代群體中的生存數(shù)目。按照Ni的小數(shù)部分對個體進行降序排序,順序取前苦干個個體使得下一代群體中的個體數(shù)目達到M-sum(Ni)個。3.3.4無回放隨機選擇無回放隨機選擇基本思想根據(jù)每個個體在下一代群體中的生存期望值來進行隨機運算。操作過程計算群體中每個個體在下一代群體中的生存期望數(shù)目Ni。若某一個個體被選中參與交叉運算,則它在下一代中的生存期望數(shù)目減去0.5;若某一個個體沒有被選中參與交叉運算,則它在下一代中的生存期望數(shù)目減去1.0。隨著選擇過程的進行,若某一個個體的生存期望數(shù)目小于0,則該個體就不再有機會被選中。3.3.5無回放余數(shù)隨機選擇無回放余數(shù)隨機選擇操作過程計算群體中每一個個體在下一代群體中的生存期望數(shù)目Ni。取Ni的整數(shù)部分為對應(yīng)個體在一下代群體中的生存數(shù)目。這樣共可確定出下一代群體中的個個體。以為各個個體的新的適應(yīng)度,用比例選擇方法來隨機確定下一代群體中還沒有確定的個體。3.3.6排序選擇排序選擇基本思想對群體中的所有個體按其適應(yīng)度大小進行排序,基于這個排序來分配各個個體被選中的概率。具體過程對群體中的所有個體按其適應(yīng)度大小進行降序排序。根據(jù)具體求解問題,設(shè)計一個概率分配表,將各個概率值按上述排列次序分配給各個個體。以各個個體所分配到的概率值作為其能夠被遺傳到下一代的概率,基于這些概率值用比例選擇的方法來產(chǎn)生下一代群體。關(guān)鍵問題必須根據(jù)對所研究問題的分析和理解情況預(yù)先設(shè)計一個概率分配表。3.3.7隨機聯(lián)賽選擇隨機聯(lián)賽選擇基本思想每次選取幾個個體之中適應(yīng)值最高的一個個體遺傳到下一代群體中。具體過程從群體中隨機選取N個個體進行適應(yīng)度大小的比較,將其中適應(yīng)度最高的上體遺傳到下一代群體中。將上述過程復(fù)復(fù)M次,就可得到下一代群體中的M個個體。N的值通常情況下,聯(lián)賽規(guī)模N的取值是2。3.4交叉算子交叉算子是指對兩個相互配對的染色體按某種方式相互交換其部分基因,從而形成兩個新的個體。交叉運算是遺傳算法產(chǎn)生新個體的主要方法,它決定了遺傳算法的全局搜索能力。配對策略隨機配對,即將群體中的M個個體以隨機的方式組成M/2對配對個體組。研究內(nèi)容如何確定交叉點的位置?如何進行部分基因交換?3.4交叉算子…單點交叉指在個體編碼串中只隨機設(shè)置一個交叉點,然后在該點相互交換兩個配對的部分染色體。雙點交叉指在個體編碼串中隨機設(shè)置二個交叉點,然后再進行部分基因交換。操作過程在相互配對的兩個個體編碼串中隨機設(shè)置兩個交叉點。交換兩個個體在所設(shè)定的兩個交叉點之間的部分染色體。3.4.3均勻交叉均勻交叉均勻交叉是指兩個配對個體的每一個基因座上的基因都以相同的交叉概率進行交換,從而形成兩個新的個體。操作過程隨機產(chǎn)生一個與個體編碼串長度等長的屏蔽字W。由下述規(guī)則從A和B兩個父代個體中產(chǎn)生出兩個新的子代個體A’和B’。若wi
=0,則A’在第i個基因座上的基因值繼承A的對應(yīng)基因值,B’在第i個基因座上的基因值繼承B的對應(yīng)基因值。若wi=1,則A’在第i個基因座上的基因值繼承B的對應(yīng)基因值,B’在第i個基因座上的基因值繼承A的對應(yīng)基因值。3.4.4算術(shù)交叉算子算術(shù)交叉算術(shù)交叉是指由兩個個體的線性組合而產(chǎn)生出兩個新的個體。算術(shù)交叉一般采用浮點數(shù)編碼。假設(shè)有兩個個體XA和XB之間進行算術(shù)交叉,則交叉運算后所產(chǎn)生的兩個新個體是:如果α(0<α<1)是一個常數(shù),則稱為均勻算術(shù)交叉;如果α是一個由進化代數(shù)所決定的變量,則稱為非均勻算術(shù)交叉。3.5變異算子變異算子是指將個體染色體編碼串中的某些基因座上的基因值用該基因座的其它等位基因來替換,從而形成一個新的個體。變異運算是遺傳算法產(chǎn)生新個體的輔助方法,它決定了遺傳算法的局部搜索能力。作用改善遺傳算法的局部搜索能力。維持種群的多樣性,防止出現(xiàn)“早熟”現(xiàn)象。研究內(nèi)容如何確定變異點?如何進行基因值替換?3.5變異算子…基本位變異指對個體編碼串中以變異概率pc隨機指定的某一位或某幾位基因座上的基因值作變異運算。均勻變異指分別用符合某一范圍內(nèi)均勻分布的隨機數(shù),以某一較小的概率來替換個體編碼串中各個基因座上的原有基因值。假設(shè)有一個個體為X=x1x2…xk…xl,若xk為變異點,其取值范圍為[Ukmin,Ukmax],在該點對個體X進行均勻變異操作后,可得到一個新的個體X’=x1x2…x’k…xl,其變異的新基因值是:其中,r為[0,1]范圍內(nèi)符合均勻分布的一個隨機數(shù)。3.5.3邊界變異邊界變異邊界變異操作是均勻變異操作的一個變形。在進行邊界變異操作時,隨機地取基因座的二個對應(yīng)邊界基因值之一去替代原有基因值。在進行由X=x1x2…xk…xl向X’=x1x2…x’k…xl的邊界變異操作時,若變異點xk的基因取值范圍為[Ukmin,Ukmax],則新的x’k由下式確定:3.5.4非均勻變異非均勻變異不是取均勻分布的隨機數(shù)去替換原有的基因值,而是對原有基因作一隨機擾動,以擾動后的結(jié)果作為變異后的新基因值。非均勻變異的具體操作過程與均勻變異相類似,但是它重點搜索原個體附近的微小區(qū)域。在進行由X=x1x2…xk…xl向X’=x1x2…x’k…xl的非均勻變異操作時,若變異點xk的基因取值范圍為[Ukmin,Ukmax],則新的x’k由下式確定:
Δ(t,y)表示[0,y]范圍內(nèi)符合非均勻分布的一個隨機數(shù),要求隨著進化代數(shù)t的增加,Δ(t,y)接近于0的概率也逐漸增加。例如,Δ(t,y)可按下式定義:其中,r為[0,1]范圍內(nèi)符合均勻分布的一個隨機數(shù),T是最大進化代數(shù),b是一個系統(tǒng)參數(shù)。3.5.5高斯變異高斯變異高期變異是改進遺傳算法對重點搜索區(qū)域的局部搜索性能的另一種變異操作方法。高斯變異是指進行變異操作時,用符合均值為μ、方差為σ2的正態(tài)分布的一個隨機數(shù)來替換原有基因值。具體實現(xiàn)高斯變異時,符合正態(tài)分布的隨機數(shù)Q可由一些符合均勻分布的隨機數(shù)利用公式來近似產(chǎn)生。假定有12個在[0,1]范圍內(nèi)均勻分布的隨機數(shù)ri(i=1,2,..,12),則符合N(μ,σ2)正態(tài)分布的一個隨機數(shù)Q可由下式求得:3.6遺傳算法的運行參數(shù)編碼串的長度l群體大小M交叉概率pc變異概率pm終止代數(shù)T規(guī)定最大迭代次數(shù)T規(guī)定最小的偏差觀察適應(yīng)度的變化趨勢代溝G表示每一代群體中被替換掉的個體在全部個體中所占的百分比。G=1.0表示群體中的全部個體都是新產(chǎn)生的。3.7約束條件的處理方法搜索空間限定法基本思想對遺傳算法的搜索空間的大小加以限制,使得搜索空間中表示一個個體的點與解空間中表示一個可行解的點有一一對應(yīng)的關(guān)系。評價用這種處理方法能夠在遺傳算法中設(shè)置最小的搜索空間。但是,除了在編碼方法上想辦法之外,還必須保證經(jīng)過交叉、變異等遺傳操作作用之后所產(chǎn)生的新個體在解空間中也要有確定的對應(yīng)解,而不會產(chǎn)生無效解。實現(xiàn)方法用編碼方法來保證總是能夠產(chǎn)生出在解空間中有對應(yīng)可行解的染色體。用程序來保證直到產(chǎn)生出在解空間中有對應(yīng)可行解的染色體之前,一直進行交叉運算和變異運算。3.7約束條件的處理方法…可行解變換法基本思想在由個體基因型到個體表現(xiàn)型的變換中,增加使其滿足約束條件的處理過程。即尋找出一種個體基因型和個體表現(xiàn)型之間的多對一的變換關(guān)系,使進化過程中所產(chǎn)生的個體總能夠通過這個變換而轉(zhuǎn)化成解空間中滿足約束條件的一個可行解。評價這種處理方法雖然對個體的編碼方法、交叉運算等沒有附加要求,但它卻是以擴大搜索空間為代價的。3.7約束條件的處理方法…罰函數(shù)法基本思想對在解空間中無對應(yīng)的可行解的個體,計算其適應(yīng)度時,處以一個罰函數(shù),從而降低個體適應(yīng)度,使該個體被遺傳到下一代群體中的機會減少。即用下式來對個體的適應(yīng)度進行調(diào)整:其中F(X)為原適應(yīng)度,F(xiàn)’(X)為考慮了罰函數(shù)之后的新適應(yīng)度,P(X)為罰函數(shù)。評價如何確定合理的罰函數(shù)是這種處理方法的難點所在,因為這時既要考慮如何度量解對約束條件不滿足的程度,又要考慮遺傳算法在計算效率上的要求。圖形界面方式打開圖形界面的命令gatool輸入下列信息FitnessfunctionNumberofvariables單擊start按鈕運行遺傳算法在Statusandresults的窗格中顯示出相應(yīng)的運行結(jié)果在Plots空格中可以需要顯示的圖形在Options窗格中可以改變遺傳算法的選項。Matlab遺傳算法工具箱…Matlab遺傳算法工具箱…舉例:Rastrigin函數(shù)Rastrigin函數(shù)Rastrigin函數(shù)圖像尋找Rastrigin函數(shù)的最小值在命令行鍵入gatool輸入適應(yīng)度函數(shù)和變量個數(shù)單擊start按鈕(Stop,Pause,Resume)查看運行結(jié)果顯示繪制圖形復(fù)現(xiàn)運行結(jié)果設(shè)置選項參數(shù)輸出問題和選項參數(shù)輸入問題和選項參數(shù)生成M文件Matlab遺傳算法工具箱只求最小值Matlab遺傳算法工具箱命令行方式[x,fval,exitFlag,output,population,scores]=ga(@fitnessfun,nvars,options)@fitness:適應(yīng)度函數(shù)的句柄。nvars:適應(yīng)度函數(shù)的獨立變量的個數(shù)。options是一個包含遺傳算法選項參數(shù)的結(jié)構(gòu)。如果不傳遞選項參數(shù),則ga使用它本身的缺省選項值。x:最終值到達的點。fval:適應(yīng)度函數(shù)的最終值。exitFlag:算法停止的原因。output:randstate,randnstate,generations,funcount,message。population:最后種群。scores:最后種群的得分值。從命令行查找最小值[x,fval
resean]=ga(@rastriginsfcn,2)Matlab701\toolbox\gads\gadsdemosMatlab遺傳算法工具箱…設(shè)置選項參數(shù)options=gaoptimsetoptions=gaoptimset(“PopulationSize’,100)options=gaoptimset(“PopulationSize’,100,’Plotfcns’,@plotbestf)newoptions=gaoptimset(oldoptions,“PopulationSize’,100)復(fù)現(xiàn)運行結(jié)果[x,fval,reason,output,population,scores]=ga(@fitnessfcn,nvars)rand(‘state’,output.randstate)randn(‘state’,output.randnstate)以上一次的最后種群為初始種群運行遺傳算法[x,fval,reason,output,finalpop]=ga(@fitnessfcn,nvars);options=gaoptimset(“InitialPop”,finalpop);Matlab遺傳算法工具箱…從M文件運行g(shù)aoptions=gaoptimset('Generations',300);rand('state',71);%Thesetwocommandsareonlyincludedtorandn('state',59);%maketheresultsreproducible.record=[];forn=0:.05:1options=gaoptimset(options,'CrossoverFraction',n);[xfval]=ga(@rastriginsfcn,2,options);record=[record;fval];endplot(0:.05:1,record);xlabel('CrossoverFraction');ylabel('fval')Matlab遺傳算法工具箱…遺傳算法參數(shù)圖形參數(shù)Functionstate=plotfun(options,state,flag)flag:init,iter,done種群參數(shù)Functionpopulation=createfun(genlength,fitnessfcn,options)適應(yīng)度縮放參數(shù)Functionexpection=scalefun(scores,nparents)選擇參數(shù)Functionparents=selctfun(expectation,nparents,options)再生參數(shù)EliteCount2;交叉概率0.8;變異概率0.2交叉參數(shù)FunctionXoverkids=crossfun(parents,options,nvars,…,fitnessfcn,thispopulation)變異參數(shù)FunctionChildren=mutationfun(parents,options,nvars,…,fitnessfcn,state,thisscore,thispopulation)PopulationEliteCrossoverMutationMatlab遺傳算法工具箱…遺傳算法參數(shù)遷移參數(shù)涉及到多個子種群混合函數(shù)參數(shù)涉及到對遺傳算法的結(jié)果進行再次直接搜索停止條件參數(shù)Generations,Timelimit,Fitnesslimit,Stallgenerations,Stalltime輸出函數(shù)參數(shù)Historytonewwindow,Custom顯示到命令窗口參數(shù)Levelofdisplay:off,iterative,diagnose,final向量參數(shù)off,onMatlab遺傳算法工具箱…TSP問題的遺傳算法load('usborder.mat','x','y','xx','yy');plot(x,y,'Color','red');holdon;cities=40;locations=zeros(cities,2);n=1;while(n<=cities)
xp=rand*1.5;
yp=rand;ifinpolygon(xp,yp,xx,yy)locations(n,1)=xp;locations(n,2)=yp;n=n+1;endendplot(locations(:,1),locations(:,2),'bo');
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025合歡買賣合同
- 2025國際貨物買賣合同的根本違約
- 2025三方裝修合同
- 2025中外來料加工來件裝配合同書范本
- 2025解除房屋買賣合同糾紛訴訟
- 出租房整棟承包合同
- 簽空白合同合肥美湖置業(yè)被指欺詐
- 股權(quán)協(xié)議轉(zhuǎn)讓合同
- 2025手房網(wǎng)簽合同有效期
- 外貿(mào)代理合同
- 2025年新能源汽車銷售傭金返點合同范本6篇
- 2025-2030年中國配電變壓器市場未來發(fā)展趨勢及前景調(diào)研分析報告
- GB/T 45120-2024道路車輛48 V供電電壓電氣要求及試驗
- 2025年上海市嘉定區(qū)中考英語一模試卷
- 潤滑油、潤滑脂培訓(xùn)課件
- 2025年中核財務(wù)有限責(zé)任公司招聘筆試參考題庫含答案解析
- 華中師大一附中2024-2025學(xué)年度上學(xué)期高三年級第二次考試數(shù)學(xué)試題(含解析)
- 健康管理-理論知識復(fù)習(xí)測試卷含答案
- 成人腦室外引流護理-中華護理學(xué)會團體 標(biāo)準
- JGJ106-建筑基樁檢測技術(shù)規(guī)范
- 高技能公共實訓(xùn)基地建設(shè)方案
評論
0/150
提交評論