遺傳算法地原理及MATLAB程序?qū)崿F(xiàn)_第1頁
遺傳算法地原理及MATLAB程序?qū)崿F(xiàn)_第2頁
遺傳算法地原理及MATLAB程序?qū)崿F(xiàn)_第3頁
遺傳算法地原理及MATLAB程序?qū)崿F(xiàn)_第4頁
遺傳算法地原理及MATLAB程序?qū)崿F(xiàn)_第5頁
已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

遺傳算法的原理1.1遺傳算法的基本思想遺傳算法(geneticalgorithms,GA)是一種基丁自然選擇和基因遺傳學(xué)原理,借鑒了生物進(jìn)化優(yōu)勝劣汰的自然選擇機理和生物界繁衍進(jìn)化的基因重組、突變的遺傳體系的全局自適應(yīng)概率搜尋算法。遺傳算法是從一組隨機產(chǎn)生的初始解(種群)開始,這個種群由經(jīng)過基因編碼的必然數(shù)目的個體組成,每個個體其實是染色體帶有特色的實體。染色體作為遺傳物質(zhì)的主要載體,其內(nèi)部表現(xiàn)(即基因型)是某種基因組合,它決定了個體的外面表現(xiàn)。所以,從一開始就需要實現(xiàn)從表現(xiàn)型到基因型的照射,即編碼工作。初始種群產(chǎn)生后,依據(jù)優(yōu)勝劣汰的原理,逐代演化產(chǎn)生出愈來愈好的近似解。在每一代,依據(jù)問題域中個體的適應(yīng)度大小選擇個體,并借助丁自然遺傳學(xué)的遺傳算子進(jìn)行組合交義和變異,產(chǎn)生出代表新的解集的種群。這個過程將致使種群像自然進(jìn)化同樣,后代種群比前代更加適應(yīng)環(huán)境,末代種群中的最優(yōu)個體經(jīng)過解碼,可以作為問題近似最優(yōu)解。計算開始時,將實責(zé)問題的變量進(jìn)行編碼形成染色體,隨機產(chǎn)生必然數(shù)目的個體,即種群,并計算每個個體的適應(yīng)度值,爾后經(jīng)過停止條件判斷該初始解是否是最優(yōu)解,若是則停止計算輸出結(jié)果,若不是則經(jīng)過遺傳算子操作產(chǎn)生新的一代種群,回到計算集體中每個個體的適應(yīng)度值的部分,爾后轉(zhuǎn)到停止條件判斷。這一過程循環(huán)執(zhí)行,直到知足優(yōu)化準(zhǔn)則,最后產(chǎn)生問題的最優(yōu)解。圖1-1給出了遺傳算法的基本過程。1.2遺傳算法的特色1.2.1遺傳算法的長處遺傳算法擁有十分強的魯棒性,比起傳統(tǒng)優(yōu)化方法,遺傳算法有以下長處:1.遺傳算法以控制變量的編碼作為運算對象。傳統(tǒng)的優(yōu)化算法經(jīng)常直接利用控制變量的實質(zhì)值的自己來進(jìn)行優(yōu)化運算,但遺傳算法不是直接以控制變量的值,而是以控制變量的特定形式的編碼為運算對象。這類對控制變量的編碼辦理方式,能夠模擬自然界中生物的遺傳和進(jìn)化等機理,也使得我們能夠方便地辦理各種變量和應(yīng)用遺傳操作算子。2.遺傳算法擁有內(nèi)在的實質(zhì)并行性。它的并行性表現(xiàn)在兩個方面,一是遺傳(開始■初始化,輸入原始參數(shù)及給定參數(shù),gen=1染色體編碼,產(chǎn)生初始集體*計算種群中每個個體的適應(yīng)值「L二停止條件的判斷?N------1------gen=gen+1選擇----x-交錯Y變異新種群——?輸出結(jié)果(結(jié)束)圖i-i簡單遺傳算法的基本過程算法的外在并行性,最簡單的方式是讓多臺計算機各自進(jìn)行獨立種群的演化計算,最后選擇最優(yōu)個體。能夠說,遺傳算法適合在目前全部的并行機或散布式系統(tǒng)進(jìn)步行并行計算辦理。二是遺傳算法的內(nèi)在并行性,由丁遺傳算法采納種群的方式組織搜尋,因此可同時搜尋解空間內(nèi)的多個地域,并互相交流信息。這樣就使得搜索效率更高,也防備了使搜尋過程陷丁局部最優(yōu)解。3.遺傳算法直接以目標(biāo)函數(shù)值作為搜尋信息。在簡單遺傳算法中,基本上不用搜尋空間的知識和其余輔助信息,而僅用目標(biāo)函數(shù)即適應(yīng)度函數(shù)來評估個體解

的利害,且適應(yīng)度函數(shù)不受連續(xù)可微的拘束,對該函數(shù)和控制變量的拘束很少。對適應(yīng)度函數(shù)唯一的要求就是對丁輸入能夠計算出可比較的輸出。4.遺傳算法是采納概率的變遷規(guī)則來指導(dǎo)它的搜尋方向,其搜尋過程朝著搜空間的更優(yōu)化的解地域搬動,它的方向性使得它的效率遠(yuǎn)遠(yuǎn)高丁一般的隨機算遺傳算法在解空間內(nèi)進(jìn)行充分的搜尋,但不是盲目的窮舉或嘗試,由于選擇

索法。操作以適應(yīng)度為依據(jù),所以它的搜尋性能經(jīng)常優(yōu)丁其余優(yōu)化算法。5.原理簡單,操作方便,占用內(nèi)存少,適用丁計算機進(jìn)行大規(guī)模計算,特別適合辦理傳統(tǒng)搜尋方法難以解決的大規(guī)模、非線性組合復(fù)雜優(yōu)化問題。6.由丁遺傳基因申碼的不連續(xù)性,所以遺傳算法辦理非連續(xù)混雜整數(shù)規(guī)劃時有其獨到的優(yōu)勝性,并且使得遺傳算法對某些病態(tài)結(jié)構(gòu)問題擁有很好的辦理能力。7.遺傳算法同其余算法有較好的兼容性。如能夠用其余的算法求初始解;在每一代種群,能夠用其余的方法求解下一代新種群。1.2.2遺傳算法的缺點但是,遺傳算法也存在一些缺點。1.遺傳算法是一類隨機搜尋型算法,而非確立性迭代過程描述,這類方式必然會較低的計算效率。對簡單遺傳算法的數(shù)值試驗表示,算法經(jīng)常出現(xiàn)過早收斂現(xiàn)象。遺傳和變異的完整隨機性固然保證了進(jìn)化的搜尋功能,但是這類隨機變化也使得好的優(yōu)異個體的性態(tài)被過早破壞,降低了各代的平均適應(yīng)值。2.遺傳算法的實現(xiàn)2.1初始參數(shù)種群規(guī)模

n:種群數(shù)目影響遺傳算法的有效性。種群數(shù)目太小,不能夠供給足

夠的采樣點;種群規(guī)模太大,會增添計算量,使收斂時間增添。一般種群數(shù)目在

20到160之間比較適合。交義概率

Pc:

Pc控制著互換操作的頻率,

Pc太大,會使高適應(yīng)值的結(jié)構(gòu)很

快被破壞掉,

Pc太小會使搜尋阻滯不前,一般

Pc取

0.5~1.0

。變異概率

Pm:

Pm

是增大種群多樣性的第二個要素,

Pm

太小,不會產(chǎn)生新的基因塊,

Pm

太大,會使遺傳算法變?yōu)殡S機搜尋,一般

Pm

0.001~0.1

。進(jìn)化代數(shù)t:表示遺傳算法運轉(zhuǎn)結(jié)束的一個條件。一般的取值范圍100~1000。當(dāng)個體編碼較長時,進(jìn)化代數(shù)要取小一些,不然會影響算法的運轉(zhuǎn)效率。進(jìn)化代數(shù)的采用,還能夠采納某種判斷準(zhǔn)則,準(zhǔn)則成馬上,即停止。2.2染色體編碼利用遺傳算法進(jìn)行問題求解時,一定在目標(biāo)問題實質(zhì)表示與染色體位申結(jié)構(gòu)之間建立一個聯(lián)系。對丁給定的優(yōu)化問題,由種群個體的表現(xiàn)型會集所組成的空間稱為問題空間,由種群基因型個體所組成的空間稱為編碼空間。由問題空間向編碼空間的照射稱作編碼,而由編碼空間向I可題空間的照射成為解碼。依據(jù)遺傳算法的模式定理,DeJong進(jìn)一步提出了較為客觀明確的編碼評估準(zhǔn)則,稱之為編碼原理。詳盡能夠概括為兩條規(guī)則:有意義積木塊編碼規(guī)則:編碼應(yīng)當(dāng)易丁生成與所求問題相關(guān)的且擁有低階、短定義長度模式的編碼方案。(2)最小字符集編碼規(guī)則:編碼應(yīng)使用能使問題獲得自然表示或描述的擁有最小編碼字符集的編碼方案。常用的編碼方式有兩種:二進(jìn)制編碼和浮點數(shù)(實數(shù))編碼。二進(jìn)制編碼方法是遺傳算法中最常用的一種編碼方法,它將問題空間的參數(shù)用字符集10組成染色體位申,吻合最小字符集原則,便丁用模式定理解析,但存在照射偏差。采納二進(jìn)制編碼,將決策變量編碼為二進(jìn)制,編碼申長

m取決丁需要的精

度。比方,

Xi的值域為

a.bi,而需要的精度是小數(shù)點后

5位,這要求將

x得值域最少分為bai106份。設(shè)

X所需要的字申長為

m,則有:2m1

b

ai

106

2mi

(2.1)那么二進(jìn)制編碼的編碼精度為

^,將

x由二進(jìn)制轉(zhuǎn)為十進(jìn)制可按下2mi

1式計算:Xadecimal(substringi)(2.2)此中,decimal(substringi)表示變量x的子申substringi的十進(jìn)制值。染色體編碼N的總申長mmi。i1若沒有規(guī)定計算精度,那么可采納定長二進(jìn)制編碼,即

m能夠自己確立。二進(jìn)制編碼方式的編碼、解碼簡單易行,使得遺傳算法的交義、變異等操作現(xiàn)方便。但是,當(dāng)連續(xù)函數(shù)失散化時,它存在照射偏差。再者,當(dāng)優(yōu)化問題所精度越高,若是一定保證解的精度,則使得個體的二進(jìn)制編碼申很長,進(jìn)而

實求的致使搜索空間急劇擴大,計算量也會增添,計算時間也相應(yīng)的延長。浮點數(shù)(實數(shù))編碼方法能夠解決二進(jìn)制編碼的這些缺點。該方法中個體的每個基因都要用參數(shù)所給定區(qū)間范圍內(nèi)的某一浮點數(shù)來表示,而個體的編碼長度則等丁其決策變量的總數(shù)。遺傳算法中交義、變異等操作所產(chǎn)生的新個體的基因也一定保證在參數(shù)指定區(qū)間范圍內(nèi)。當(dāng)個體的基因值是由多個基因組成時,操作一定在兩個基因之間的分界字節(jié)處進(jìn)行,而不是在某一基因內(nèi)的中間字節(jié)

值交義分開處進(jìn)行。2.3適應(yīng)度函數(shù)適應(yīng)度函數(shù)是用來權(quán)衡個體利害,胸襟個體適應(yīng)度的函數(shù)。適應(yīng)度函數(shù)值越的個體越好,反之,適應(yīng)值越小的個體越差。在遺傳算法中依據(jù)適應(yīng)值對個體

大進(jìn)行選擇,以保證適應(yīng)性能好的個體有更多的時機生殖后代,

使優(yōu)異特點得以遺傳。一般而言,適應(yīng)度函數(shù)是由目標(biāo)函數(shù)變換而成的。由丁在遺傳算法中依據(jù)適應(yīng)度排序的狀況來計算選擇概率,這就要求適應(yīng)度函數(shù)計算出的函數(shù)值(適應(yīng)度)不能夠小丁零。所以,在某些狀況下,將目標(biāo)函數(shù)變換成最大化問題形式并且函數(shù)值非負(fù)的適應(yīng)度函數(shù)是必需的,并且在任何狀況下總是希望越大越好,但是好多實質(zhì)問題中,目標(biāo)函數(shù)有正有負(fù),所以經(jīng)常用到從目標(biāo)函數(shù)到適應(yīng)度函數(shù)的變換??紤]以下一般的數(shù)學(xué)規(guī)劃問題:minf(x)s.t.g(x)0minh(X)hmax變換方法⑴對丁最小化問題,建立適應(yīng)度函數(shù)F(x)和目標(biāo)函數(shù)f(x)的照射關(guān)系:Cmaxf(x)f(x)Cmaxmax(2.3)F(x)0f(x)Cmax式中,Cmax既能夠是特定的輸入值,也能夠采用到目前為止所獲得的目標(biāo)函數(shù)f(x)的最大值。(2)對丁最大化問題,一般采納下述方法:f(x)Cminf(x)CminF(x)(2.4)0f(x)Cm.式中,Cmin既能夠是特定的輸入值,也能夠采用到目前為止所獲得的目標(biāo)函數(shù)(x)的最小值。變換方法二:⑴對丁最小化問題,建立適應(yīng)度函數(shù)f(x)和目標(biāo)函數(shù)f(x)的照射關(guān)系:1,F(x)ccf(x)0°'(2.5)(2)對丁最大化問題,一般采納下述方法:F(x)1(2.6)-------------------c0,cf(x)01cf(x)式中,c為目標(biāo)函數(shù)界線的守舊預(yù)計值。2.4拘束條件的辦理在遺傳算法中一定對拘束條件進(jìn)行辦理,但目前還沒有辦理各種拘束條件的一般方法,依據(jù)詳盡問題可選擇以下三種方法,其罰函數(shù)法、搜尋空間限制法和可行解變換法。2.4.1罰函數(shù)法罰函數(shù)的基本思想是對在解空間中無對應(yīng)可行解的個體計劃其適應(yīng)度時,處以一個罰函數(shù),進(jìn)而降低該個體的適應(yīng)度,使該個體被選遺傳到下一代集體中的概率減小。能夠用下式對個體的適應(yīng)度進(jìn)行調(diào)整:F(x)xU(2.7)F(x)F(x)P(x)xU此中,F(xiàn)(x)為原適應(yīng)度函數(shù),F(xiàn)'(x)為調(diào)整后的新的適應(yīng)度函數(shù),P(x)為罰函數(shù),U為拘束條件組成的會集。怎樣確立合理的罰函數(shù)是這類辦理方法難點之所在,在考慮罰函數(shù)時,既要胸襟解對拘束條件不知足的程度,由要考慮計算效率。2.4.2搜尋空間限制法搜尋空間限制法的基本思想是對遺傳算法的搜尋空間的大小加以限制,使得搜尋空間中表示一個個體的點與解空間中的表示一個可行解的點有一一對應(yīng)的關(guān)系。對一些比較簡單的拘束條件經(jīng)過適合編碼使搜尋空間與解空間一一對應(yīng),限制搜尋空間能夠提升遺傳算法的效率。在使用搜尋空間限制法時一定保證交義、變異此后的解個體在解空間中有對應(yīng)解。2.4.3可行解變換法可行解變換法的基本思想:在由個體基因型到個體表現(xiàn)型的變換中,增添使其知足拘束條件的辦理過程,其搜尋個體基因型與個體表現(xiàn)型的多對一變換關(guān)系,擴大了搜尋空間,使進(jìn)化過程中所產(chǎn)生的個體總能經(jīng)過這個變換而轉(zhuǎn)變?yōu)榻饪臻g中知足約束條件的一個可行解??尚薪庾儞Q法對個體的編碼方式、交義運算、變異運算等無特別要求,但運轉(zhuǎn)收效降落。2.5遺傳算子遺傳算法中包含了3個模擬生物基因遺傳操作的遺傳算子:選擇(復(fù)制)、交義(重組)和變異(突變)。遺傳算法利用遺傳算子產(chǎn)生新一代集體來實現(xiàn)群體進(jìn)化,算子的設(shè)計是遺傳策略的主要組成部分,也是調(diào)整和控制進(jìn)化過程的基本工具。2.5.1選擇操作中傳算法中的選擇操作就是用來確立怎樣從父代集體中按某種方法采用哪些個體遺傳到下一代集體中的一種遺傳運算。

遺傳算法使用選擇

(復(fù)制)

算子來對集體中的個體進(jìn)行優(yōu)勝劣汰操作:適應(yīng)度較高的個體被遺傳到下一代集體中的概率較大;適應(yīng)度較低的個體被遺傳到下一代集體中的概率較小。選擇操作建立在對個體適應(yīng)度進(jìn)行評論的基礎(chǔ)之上。選擇操作的主要目的是為了防備基因缺失、提高全局收斂性和計算效率。常用的選擇方法有轉(zhuǎn)輪法、排序選擇法、兩兩克爭法。輪盤賭法。簡單的選擇方法為輪盤賭法:平時以第i個個體入選種群的概率以及集體規(guī)模的上限來確立其生計與裁減,這類方法稱為輪盤賭法。輪盤賭法是一種正比選擇策略,能夠依據(jù)與適應(yīng)函數(shù)值成正比的概率選出新的種群。輪盤賭法由以下五步組成:計算各染色體Vk適應(yīng)值F(vQ;計算種群中全部染色體的適應(yīng)值的和;nFallF(vk)(2.6)k13.計算各染色體Vk的選擇概率p<evalM)P1,2,K,n

k—

,k

(2.7)Fall4.計算各染色體Vk的累計概率Ck;kCkPj,k1,2,K,n(2.8)5.在[0,1]區(qū)間內(nèi)產(chǎn)生一個平均散布的偽隨機數(shù)

r,若

rq,則選擇第一個染色體Vi;不然,選擇第

k個染色體,使得

qk

irqk建立。2)排序選擇法。排序選擇法的主要思想是:對集體中的全部個體按其適應(yīng)度大小進(jìn)行排序,基丁這個排序來分配各個個體被選中的概率。排序選擇方法的詳盡操作過程是:對集體中的全部個體按其適應(yīng)度大小進(jìn)行降序排序。依據(jù)詳盡求解問題,設(shè)計一個概率分配表,將各個概率值按上述擺列序次分配給各個個體。以各個個體所分配到的概率值作為其能夠被遺傳到下一代的概率,基丁這些概率值用輪盤賭法來產(chǎn)生下一代集體。3)兩兩克爭法。錦標(biāo)賽選擇法的基本做法是:在選擇時先隨機的在種群中選擇k個個體進(jìn)行錦標(biāo)賽式的比較,從中選出適應(yīng)值最好的個體進(jìn)入下一代,復(fù)用這類方法進(jìn)行直到下一代個體數(shù)為種群規(guī)模時為止。這類方法也使得適應(yīng)值好的個體在下一代具有較大的“生計”時機,同時它只好使用適應(yīng)值的相對值作為選擇的標(biāo)準(zhǔn),而與適應(yīng)值的數(shù)值大小不可直接比率,所以,它能較好的防備超級個體的影響,必然程度的防備過早收斂現(xiàn)象和阻滯現(xiàn)象。2.5.2交義操作在遺傳算法中,交義操作是起核心作用的遺傳操作,它是生成新個體的主要方式。交義操作的基本思想是經(jīng)過對兩個個體之間進(jìn)行某部分基因的互換來實現(xiàn)產(chǎn)生新個體的目的。常用交義算子有:單點交義算子、兩點交義算子和多點交義算子、平均交義算子和算術(shù)交義算子等等。1)單點交義算子交義過程分兩個步驟:第一對配對庫中的個體進(jìn)行隨機配對;

其次,在配對個體中隨機設(shè)定交義地址,配對個體相互互換部分信息。個體41001111——?1001000新個體個體丞0011000——?0011111新個體S交錯占圖2-1單點交錯表示2)兩點交義算子詳盡操作是隨機設(shè)定兩個交義點,互換兩個父代在這兩點間的基因申,分別生成兩個新個體。3)多點交義算子多點交義的思想源丁控制個體特定行為的染色體表示信息的部分不必包含丁周邊的子申中,多點交義的破壞性能夠促進(jìn)解空間的搜尋,

而不是促進(jìn)過早的

收斂。4)平均交義算子平均交義式指經(jīng)過設(shè)定障蔽字來決定新個體的基因繼承兩個個體中那個個體的對應(yīng)基因,當(dāng)障蔽字中的位為0時,新個體A繼承舊個體A中對應(yīng)的基因,當(dāng)障蔽字位為1時,新個體A繼承舊個體B中對應(yīng)的基因,由此可生成一個完整的新個體A,同理可生成新個體B。舊個體A001111舊個體E111100障蔽字010101f新個體A011110圖2-2均與交錯表示圖2.5.3變異操作變異操作是指將個體染色體編碼申中的某些基因座的基因值用該基因座的其余等位基因來代替,進(jìn)而形成一個新的個體。變異運算是產(chǎn)生新個體的輔助方法,它和選擇、交義算子結(jié)合在一起,保證了遺傳算法的有效性,使遺傳算法具有局部的隨機搜索能力,提升遺傳算法的搜尋效率;同時使遺傳算法保持種群的多樣性,以防備出現(xiàn)早熟收斂。在變異操作中,為了保證個體變異后不會與其父體產(chǎn)生太大的差別,保證種群發(fā)展的牢固性,變異率不能夠取太大,若是變異率大丁0.5,遺傳算法就變?yōu)殡S機搜尋,遺傳算法的一些重要的數(shù)學(xué)特點和搜尋能力也就不存在了。變異算子的設(shè)計包含確立變異點的地址和進(jìn)行基因值代替。操作的方法有基本位變異、平均變異、界線變異、非平均變異等。1)基本位變異

變異基本位變異操作是指對個體編碼申中以變異概率Pm隨機指定的某一位或某幾位基因作變異運算,所以其發(fā)揮的作用比較慢,作用的收效也不顯然?;疚蛔儺愃阕拥脑敱M執(zhí)行過程是:對個體的每一個基因座,依變異概率Pm指定其為變異點。對每一個指定的變異點,對其基因值做取反運算或用其余等位基因值來取代,進(jìn)而產(chǎn)生出一個新個體。平均變異平均變異操作是指分別用吻合某一范圍內(nèi)平均散布的隨機數(shù),以某一較小的概率來代替?zhèn)€體編碼申中各個基因座上的原有基因值。平均變異的詳盡操作過程是:挨次指定個體編碼申中的每個基因座為變異點。2.對每一個變異點,以變異概率Pm從對應(yīng)基因的取值范圍內(nèi)取一隨機數(shù)來代替原有基因值。假設(shè)有一個個體為Vk[V1V2KVkKVm],若Vk為變異點,其取值范圍為[Vk,min,Vk,max],在該點對個體Vk進(jìn)行平均變異操作后,可獲得一個新的個體:Vk[V1V2KVkKVm],此中變異點的新基因值是'VkVk,min「(Vk,maxVk,min)(2.9)式中,r為[0,1]范圍內(nèi)吻合平均概率散布的一個隨機數(shù)。平均變異操作特別適合應(yīng)用丁遺傳算法的早期運轉(zhuǎn)階段,它使得搜尋點能夠在整個搜尋空間內(nèi)自由地移動,進(jìn)而可以增添集體的多樣性。2.5.4倒位操作所謂倒位操作是指顛倒個體編碼申中隨機指定的二個基因座之間的基因排列序次,進(jìn)而形成一個新的染色體。倒位操作的詳盡過程是:1.在個體編碼申中隨機指定二個基因座作為倒位點;2.以倒位概率顛倒這二個倒位點之間的基因擺列序次。2.6搜尋停止條件遺傳算法的停止條件有以下兩個,知足任何一個條件搜尋就結(jié)束。1)遺傳操作中連續(xù)多次前后兩代集體中最優(yōu)個體的適應(yīng)度相差在某個任意小的正數(shù)所確立的范圍內(nèi),即知足:0|FnewRd|(2.10)式中,F(xiàn)new為新產(chǎn)生的集體中最優(yōu)個體的適應(yīng)度;Fad為前代集體中最優(yōu)個體的適應(yīng)度。2)達(dá)到遺傳操作的最大進(jìn)化代數(shù)to詳盡數(shù)學(xué)規(guī)劃問題的遺傳算法實現(xiàn)利用遺傳算法求解以下數(shù)學(xué)規(guī)劃問題:min2x222f(x〔,X2)X1322g〔(x1,X2)x1X25(3.1)s.th1(x1,x2)x12x240x1,x210,x1N3.1初始化針對上述I可題利用MATLAB編寫遺傳算法程序求解,程序的主函數(shù)是GA.m。第一,確立程序初始化中所需要的參數(shù)和對應(yīng)的值。此中求解精度是指決策變量的求解精度,由丁題目中沒有給出,所以這是我自己設(shè)定的參數(shù)。程序中涉及到得參數(shù)名稱、符號和相應(yīng)的值以下表所小。表3-1遺傳算法初始化參數(shù)參數(shù)名稱符號值最大進(jìn)化代數(shù)tmax100種群規(guī)模n100交義概率Pc0.8變異概率Pm0.1求解精度dec104變量上限值xmax10變量下限值xmin03.2染色體編碼本程序采納二進(jìn)制編碼,將決策變量編碼為二進(jìn)制,其申長取決丁問題要求的求解精度,但本題并無給出精度要求,可是限制了xi為整數(shù),不如假設(shè)求解精度為10,兩個變量均采納二進(jìn)制編碼,X1為整數(shù)這個限制條件在可在計算出小數(shù)值后作四舍五入取整辦理,所以可依據(jù)假設(shè)的求解精度將決策變量的值域分成105份,則有:xxmin'm15m(3.2)x2'(xmaxxmin)102i由丁全部變量的求解精度同樣,那么,決策變量的申長m〔20、m220,丁是染色體的總長mm〔m240,求解二進(jìn)制編碼申長的程序時len.m。那么,二進(jìn)制編碼精度為1006(3.3)20—9.53681021依據(jù)二進(jìn)制編碼的申長以及種群規(guī)??缮沙跏挤N群,為計算種群中的各個個體的適應(yīng)值,應(yīng)先將基因型變換成表現(xiàn)型,其程序為coding.m第一,將二進(jìn)制值變換為十進(jìn)制值,其公式為m1(bib2KbQi1(3.4)2x燈i1那么,對應(yīng)的變量值為XXmin(3.5)3.3計算適應(yīng)值第一確立適應(yīng)度函數(shù)。依據(jù)目標(biāo)函數(shù)和拘束條件可選擇適應(yīng)度函數(shù)的變換方式。由丁目標(biāo)函數(shù)f(x)0,為了防備出現(xiàn)適應(yīng)值大丁1的狀況,丁是依據(jù)目標(biāo)函數(shù)的特色在設(shè)計適應(yīng)度函數(shù)時,在分母上加上2,分子上剩以4,如式(3.1)所示;乂依據(jù)優(yōu)化問題的拘束條件,利用拘束條件辦理方法中的罰函數(shù)法設(shè)計了相應(yīng)的罰函數(shù)c,那么適應(yīng)度函數(shù)為F(x)4(3.6)f(x)c2此中,cmax{0,g1(x1,x2)5}max{0,|h1(x1,x2)41},10000。依據(jù)上述方法計算種群中各個個體的適應(yīng)值,若是適應(yīng)值趨近丁1,那么對應(yīng)的個體即為最正確個體,計算適應(yīng)值的程序是fitness.m。3.4遺傳算子3.4.1選擇操作本程序選擇輪盤賭法來實現(xiàn)選擇操作。依據(jù)從前計算的各個個體的適應(yīng)值,利用式(2.6)計算種群中全部個體的適應(yīng)值的和Fall;爾后依據(jù)如式(2.7)、(2.8)計算每個個體的選擇概率p和累計概率q。旋轉(zhuǎn)輪盤100次(種群規(guī)模),每次生成一個0到1的隨機數(shù)r,用這個隨機數(shù)與種群中的個體的積累概率q作比較,若是這個隨機數(shù)落在了這個概率區(qū)問,那么就保留該個體,這就完整模擬了輪盤賭的思想,若個體的選擇概率大,那么它被選到遺傳到下一代的概率也就大一些。選擇操作的程序是selec.m。3.4.2交義操作對經(jīng)過選擇操作產(chǎn)生的集體作交義操作。本程序采納平均交義的方式,第一打亂種群中全部個體的原有擺列序次,這樣表現(xiàn)了隨機抽取的觀點,爾后把種群分成兩部分new_genA和new_genB;分別從這兩個部分選擇一個個體配成對進(jìn)行均勻交義,其程序為cross.m。3.4.3變異操作對經(jīng)過交義操作產(chǎn)生的集體作變異操作。本程序采納基本位變異方法實現(xiàn)變異操作,依據(jù)變異概率對新種群中的個體推行基本位變異,詳盡程序為mut.m。在最先編寫的程序中還包含倒位操作,詳盡程序是inverse.m,原理近似丁基本位變異,可是詳盡操作上有差別。在調(diào)試時,我比較了有倒位操作和沒有倒位操作作用丁程序?qū)τ嬎憬Y(jié)果的影響,在有倒位操作時并無改進(jìn)算法在搜尋到最優(yōu)解方面的性能,丁是我在最后的程序中取掉了這一操作。3.5搜尋停止判斷本程序采納了達(dá)到最大進(jìn)化代數(shù)時停止搜尋的方法,由丁本問題比較簡單,所以采納此法是可行的。但是,對丁復(fù)雜的問題,也許要求更加有效的判斷手段,所以這是需要改進(jìn)的地方。3.6運轉(zhuǎn)調(diào)試調(diào)試階段解決了兩個問題:第一,最正確個體的適應(yīng)值很快就達(dá)到一個牢固的值而不再變化;

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論