智能控制理論和方法-10遺傳算法的基本原理_第1頁
智能控制理論和方法-10遺傳算法的基本原理_第2頁
智能控制理論和方法-10遺傳算法的基本原理_第3頁
智能控制理論和方法-10遺傳算法的基本原理_第4頁
智能控制理論和方法-10遺傳算法的基本原理_第5頁
已閱讀5頁,還剩57頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

遺傳算法簡稱GA(GeneticAlgorithms)是1962年由美國Michigan大學(xué)的Holland教授提出的模擬自然界遺傳機制和生物進化論而成的一種并行隨機搜索最優(yōu)化方法。遺傳算法是以達爾文的自然選擇學(xué)說為基礎(chǔ)發(fā)展起來的。自然選擇學(xué)說包括以下三個方面:第10章遺傳算法10.1遺傳算法的基本原理(1)遺傳:這是生物的普遍特征,親代把生物信息交給子代,子代總是和親代具有相同或相似的性狀。生物有了這個特征,物種才能穩(wěn)定存在。(2)變異:親代和子代之間以及子代的不同個體之間的差異,稱為變異。變異是隨機發(fā)生的,變異的選擇和積累是生命多樣性的根源。(3)生存斗爭和適者生存:具有適應(yīng)性變異的個體被保留下來,不具有適應(yīng)性變異的個體被淘汰,通過一代代的生存環(huán)境的選擇作用,性狀逐漸逐漸與祖先有所不同,演變?yōu)樾碌奈锓N。

遺傳算法將“優(yōu)勝劣汰,適者生存”的生物進化原理引入優(yōu)化參數(shù)形成的編碼串聯(lián)群體中,按所選擇的適應(yīng)度函數(shù)并通過遺傳中的復(fù)制、交叉及變異對個體進行篩選,使適適應(yīng)度高的個體被保留下來,組成新的群體,新的群體既繼承了上一代的信息,又優(yōu)于上一代。這樣周而復(fù)始,群體中個體適應(yīng)度不斷提高,直到滿足一定的條件。遺傳算法的算法簡單,可并行處理,并能到全局最優(yōu)解。遺傳算法的基本操作為:(1)復(fù)制(ReproductionOperator)復(fù)制是從一個舊種群中選擇生命力強的個體位串產(chǎn)生新種群的過程。具有高適應(yīng)度的位串更有可能在下一代中產(chǎn)生一個或多個子孫。復(fù)制操作可以通過隨機方法來實現(xiàn)。首先產(chǎn)生0~1之間均勻分布的隨機數(shù),若某串的復(fù)制概率為40%,則當(dāng)產(chǎn)生的隨機數(shù)在0.40~1.0之間時,該串被復(fù)制,否則被淘汰。(2)交叉(CrossoverOperator)復(fù)制操作能從舊種群中選擇出優(yōu)秀者,但不能創(chuàng)造新的染色體。而交叉模擬了生物進化過程中的繁殖現(xiàn)象,通過兩個染色體的交換組合,來產(chǎn)生新的優(yōu)良品種。交叉的過程為:在匹配池中任選兩個染色體,隨機選擇一點或多點交換點位置;交換雙親染色體交換點右邊的部分,即可得到兩個新的染色體數(shù)字串。

交叉體現(xiàn)了自然界中信息交換的思想。交叉有一點交叉、多點交叉、還有一致交叉、順序交叉和周期交叉。一點交叉是最基本的方法,應(yīng)用較廣。它是指染色體切斷點有一處,例:(3)變異(MutationOperator)

變異運算用來模擬生物在自然的遺傳環(huán)境中由于各種偶然因素引起的基因突變,它以很小的概率隨機地改變遺傳基因(表示染色體的符號串的某一位)的值。在染色體以二進制編碼的系統(tǒng)中,它隨機地將染色體的某一個基因由1變?yōu)?,或由0變?yōu)?。

若只有選擇和交叉,而沒有變異,則無法在初始基因組合以外的空間進行搜索,使進化過程在早期就陷入局部解而進入終止過程,從而影響解的質(zhì)量。為了在盡可能大的空間中獲得質(zhì)量較高的優(yōu)化解,必須采用變異操作。10.2遺傳算法的特點

(1)遺傳算法是對參數(shù)的編碼進行操作,而非對參數(shù)本身,這就是使得我們在優(yōu)化計算過程中可以借鑒生物學(xué)中染色體和基因等概念,模仿自然界中生物的遺傳和進化等機理;(2)遺傳算法同時使用多個搜索點的搜索信息。傳統(tǒng)的優(yōu)化方法往往是從解空間的單個初始點開始最優(yōu)解的迭代搜索過程,單個搜索點所提供的信息不多,搜索效率不高,有時甚至使搜索過程局限于局部最優(yōu)解而停滯不前。

遺傳算法從由很多個體組成的一個初始群體開始最優(yōu)解的搜索過程,而不是從一個單一的個體開始搜索,這是遺傳算法所特有的一種隱含并行性,因此遺傳算法的搜索效率較高。(3)遺傳算法直接以目標(biāo)函數(shù)作為搜索信息。傳統(tǒng)的優(yōu)化算法不僅需要利用目標(biāo)函數(shù)值,而且需要目標(biāo)函數(shù)的導(dǎo)數(shù)值等輔助信息才能確定搜索方向。而遺傳算法僅使用由目標(biāo)函數(shù)值變換來的適應(yīng)度函數(shù)值,就可以確定進一步的搜索方向和搜索范圍,無需目標(biāo)函數(shù)的導(dǎo)數(shù)值等其他一些輔助信息。

遺傳算法可應(yīng)用于目標(biāo)函數(shù)無法求導(dǎo)數(shù)或?qū)?shù)不存在的函數(shù)的優(yōu)化問題,以及組合優(yōu)化問題等。(4)遺傳算法使用概率搜索技術(shù)。遺傳算法的選擇、交叉、變異等運算都是以一種概率的方式來進行的,因而遺傳算法的搜索過程具有很好的靈活性。隨著進化過程的進行,遺傳算法新的群體會更多地產(chǎn)生出許多新的優(yōu)良的個體。(5)遺傳算法在解空間進行高效啟發(fā)式搜索,而非盲目地窮舉或完全隨機搜索;(6)遺傳算法對于待尋優(yōu)的函數(shù)基本無限制,它既不要求函數(shù)連續(xù),也不要求函數(shù)可微,既可以是數(shù)學(xué)解析式所表示的顯函數(shù),又可以是映射矩陣甚至是神經(jīng)網(wǎng)絡(luò)的隱函數(shù),因而應(yīng)用范圍較廣;(7)遺傳算法具有并行計算的特點,因而可通過大規(guī)模并行計算來提高計算速度,適合大規(guī)模復(fù)雜問題的優(yōu)化。

10.3遺傳算法的發(fā)展及應(yīng)用10.3.1遺傳算法的發(fā)展

遺傳算法起源于對生物系統(tǒng)所進行的計算機模擬研究。早在20世紀(jì)40年代,就有學(xué)者開始研究如何利用計算機進行生物模擬的技術(shù),他們從生物學(xué)的角度進行了生物的進化過程模擬、遺傳過程模擬等研究工作。進入20世紀(jì)60年代,美國密歇根大學(xué)的Holland教授及其學(xué)生們受到這種生物模擬技術(shù)的啟發(fā),創(chuàng)造出一種基于生物遺傳和進化機制的適合于復(fù)雜系統(tǒng)優(yōu)化計算的自適應(yīng)概率優(yōu)化技術(shù)—遺傳算法。

以下是在遺傳算法發(fā)展進程中一些關(guān)鍵人物所做出的主要貢獻:(1)J.H.Holland20世紀(jì)70年代初,Holland教授提出了遺傳算法的基本定理—模式定理,從而奠定了遺傳算法的理論基礎(chǔ)。模式定理揭示了群體中優(yōu)良個體(較好的模式)的樣本數(shù)將以指數(shù)級規(guī)律增長,從理論上保證了遺傳算法用于尋求最優(yōu)可行解的優(yōu)化過程。1975年,Holland出版了第一本系統(tǒng)論述遺傳算法和人工自適應(yīng)系統(tǒng)的專著《自然系統(tǒng)和人工系統(tǒng)的自適應(yīng)性》。20世紀(jì)80年代,Holland教授實現(xiàn)了第一個基于遺傳算法的機器學(xué)習(xí)系統(tǒng)—分類器系統(tǒng),開創(chuàng)了基于遺傳算法的機器學(xué)習(xí)的新概念。(3)K.A.DeJong1975年,DeJong博士在其博士論文中結(jié)合模式定理進行了大量純數(shù)值函數(shù)優(yōu)化計算實驗,樹立了遺傳算法的工作框架。他推薦了在大多數(shù)優(yōu)化問題中都較適用的遺傳算法的參數(shù),建立了著名的DeJong五函數(shù)測試平臺,定義了評價遺傳算法性能的在線指標(biāo)和離線指標(biāo)。(4)D.J.Goldberg1989年,Goldberg出版了專著《搜索、優(yōu)化和機器學(xué)習(xí)中的遺傳算法》,該書全面地論述了遺傳算法的基本原理及其應(yīng)用,奠定了現(xiàn)代遺傳算法的科學(xué)基礎(chǔ)。(2)J.D.Bagley1967年,Holland的學(xué)生Bagley在其博士論文中首次提出了“遺傳算法”一詞,并發(fā)表了遺傳算法應(yīng)用方面的第一篇論文。他發(fā)展了復(fù)制、交叉、變異、顯性、倒位等遺傳算子,在個體編碼上使用了雙倍體的編碼方法。在遺傳算法的不同階段采用了不同的概率,從而創(chuàng)立了自適應(yīng)遺傳算法的概念。(5)L.Davis1991年,Davis編輯出版了《遺傳算法手冊》一書,為推廣和普及遺傳算法的應(yīng)用起到了重要的指導(dǎo)作用。(6)J.R.Koza1992年,Koza將遺傳算法應(yīng)用于計算機程序的優(yōu)化設(shè)計及自動生成,提出了遺傳編程的概念,并成功地將遺傳編程的方法應(yīng)用于人工智能、機器學(xué)習(xí)和符號處理等方面。10.3.1遺傳算法的應(yīng)用(1)函數(shù)優(yōu)化。函數(shù)優(yōu)化是遺傳算法的經(jīng)典應(yīng)用領(lǐng)域,也是遺傳算法進行性能評價的常用算例。尤其是對非線性、多模型、多目標(biāo)的函數(shù)優(yōu)化問題,采用其他優(yōu)化方法較難求解,而遺傳算法卻可以得到較好的結(jié)果。(2)組合優(yōu)化。隨著問題的增大,組合優(yōu)化問題的搜索空間也急劇擴大,采用傳統(tǒng)的優(yōu)化方法很難得到最優(yōu)解。遺傳算法是尋求這種滿意解的最佳工具。例如,遺傳算法已經(jīng)在求解旅行商問題、背包問題、裝箱問題、圖形劃分問題等方面得到成功的應(yīng)用。(3)生產(chǎn)調(diào)度問題在很多情況下,采用建立數(shù)學(xué)模型的方法難以對生產(chǎn)調(diào)度問題進行精確求解。在現(xiàn)實生產(chǎn)中多采用一些經(jīng)驗進行調(diào)度。遺傳算法是解決復(fù)雜調(diào)度問題的有效工具,在單件生產(chǎn)車間調(diào)度、流水線生產(chǎn)車間調(diào)度、生產(chǎn)規(guī)劃、任務(wù)分配等方面遺傳算法都得到了有效的應(yīng)用。(4)自動控制。在自動控制領(lǐng)域中有很多與優(yōu)化相關(guān)的問題需要求解,遺傳算法已經(jīng)在其中得到了初步的應(yīng)用。例如,利用遺傳算法進行控制器參數(shù)的優(yōu)化、基于遺傳算法的模糊控制規(guī)則的學(xué)習(xí)、基于遺傳算法的參數(shù)辨識、基于遺傳算法的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)的優(yōu)化和權(quán)值學(xué)習(xí)等。(5)機器人例如,遺傳算法已經(jīng)在移動機器人路徑規(guī)劃、關(guān)節(jié)機器人運動軌跡規(guī)劃、機器人結(jié)構(gòu)優(yōu)化和行為協(xié)調(diào)等方面得到研究和應(yīng)用。(6)圖像處理遺傳算法可用于圖像處理過程中的掃描、特征提取、圖像分割等的優(yōu)化計算。目前遺傳算法已經(jīng)在模式識別、圖像恢復(fù)、圖像邊緣特征提取等方面得到了應(yīng)用。(7)人工生命人工生命是用計算機、機械等人工媒體模擬或構(gòu)造出的具有生物系統(tǒng)特有行為的人造系統(tǒng)。人工生命與遺傳算法有著密切的聯(lián)系,基于遺傳算法的進化模型是研究人工生命現(xiàn)象的重要基礎(chǔ)理論。遺傳算法為人工生命的研究提供了一個有效的工具。(8)遺傳編程遺傳算法已成功地應(yīng)用于人工智能、機器學(xué)習(xí)等領(lǐng)域的編程。(9)機器學(xué)習(xí)基于遺傳算法的機器學(xué)習(xí)在很多領(lǐng)域都得到了應(yīng)用。例如,采用遺傳算法實現(xiàn)模糊控制規(guī)則的優(yōu)化,可以改進模糊系統(tǒng)的性能;遺傳算法可用于神經(jīng)網(wǎng)絡(luò)連接權(quán)的調(diào)整和結(jié)構(gòu)的優(yōu)化;采用遺傳算法設(shè)計的分類器系統(tǒng)可用于學(xué)習(xí)式多機器人路徑規(guī)劃。10.4.1遺傳算法的構(gòu)成要素(1)染色體編碼方法基本遺傳算法使用固定長度的二進制符號來表示群體中的個體,其等位基因是由二值符號集{0,1}所組成。初始個體基因值可用均勻分布的隨機值生成,如就可表示一個個體,該個體的染色體長度是18。10.4遺傳算法的優(yōu)化設(shè)計(2)個體適應(yīng)度評價:基本遺傳算法與個體適應(yīng)度成正比的概率來決定當(dāng)前群體中每個個體遺傳到下一代群體中的概率多少。為正確計算這個概率,要求所有個體的適應(yīng)度必須為正數(shù)或零。因此,必須先確定由目標(biāo)函數(shù)值J到個體適應(yīng)度f之間的轉(zhuǎn)換規(guī)則。(3)遺傳算子:基本遺傳算法使用下述三種遺傳算子:①選擇運算:使用比例選擇算子;②交叉運算:使用單點交叉算子;③變異運算:使用基本位變異算子或均勻變異算子。(4)基本遺傳算法的運行參數(shù)有下述4個運行參數(shù)需要提前設(shè)定:

M:群體大小,即群體中所含個體的數(shù)量,一般取為20~100;

G:遺傳算法的終止進化代數(shù),一般取為100~500;

Pc:交叉概率,一般取為0.4~0.99;

Pm:變異概率,一般取為0.0001~0.1。

對于一個需要進行優(yōu)化的實際問題,一般可按下述步驟構(gòu)造遺傳算法:第一步:確定決策變量及各種約束條件,即確定出個體的表現(xiàn)型X和問題的解空間;第二步:建立優(yōu)化模型,即確定出目標(biāo)函數(shù)的類型及數(shù)學(xué)描述形式或量化方法;第三步:確定表示可行解的染色體編碼方法,即確定出個體的基因型x及遺傳算法的搜索空間;10.4.2遺傳算法的應(yīng)用步驟

第四步:確定解碼方法,即確定出由個體基因型x到個體表現(xiàn)型X的對應(yīng)關(guān)系或轉(zhuǎn)換方法;第五步:確定個體適應(yīng)度的量化評價方法,即確定出由目標(biāo)函數(shù)值到個體適應(yīng)度的轉(zhuǎn)換規(guī)則;第六步:設(shè)計遺傳算子,即確定選擇運算、交叉運算、變異運算等遺傳算子的具體操作方法。第七步:確定遺傳算法的有關(guān)運行參數(shù),即M,G,Pc,Pm等參數(shù)。以上操作過程可以用圖10-1來表示。

圖10-1遺傳算法流程圖

利用遺傳算法求Rosenbrock函數(shù)的極大值10.5遺傳算法求函數(shù)極值10.5.1二進制編碼遺傳算法求函數(shù)極大值求解該問題遺傳算法的構(gòu)造過程:(1)確定決策變量和約束條件;(2)建立優(yōu)化模型;(3)確定編碼方法

用長度為10位的二進制編碼串來分別表示兩個決策變量x1,x2。10位二進制編碼串可以表示從0到1023之間的1024個不同的數(shù),故將x1,x2的定義域離散化為1023個均等的區(qū)域,包括兩個端點在內(nèi)共有1024個不同的離散點。從離散點-2.048到離散點2.048,分別對應(yīng)于從0000000000(0)到1111111111(1023)之間的二進制編碼。

將x1,x2分別表示的兩個10位長的二進制編碼串連接在一起,組成一個20位長的二進制編碼串,它就構(gòu)成了這個函數(shù)優(yōu)化問題的染色體編碼方法。使用這種編碼方法,解空間和遺傳算法的搜索空間就具有一一對應(yīng)的關(guān)系。例如:表示一個個體的基因型,其中前10位表示x1,后10位表示x2。

(4)確定解碼方法:解碼時需要將20位長的二進制編碼串切斷為兩個10位長的二進制編碼串,然后分別將它們轉(zhuǎn)換為對應(yīng)的十進制整數(shù)代碼,分別記為y1和y2。依據(jù)個體編碼方法和對定義域的離散化方法可知,將代碼y轉(zhuǎn)換為變量x的解碼公式為例如,對個體

它由兩個代碼所組成上述兩個代碼經(jīng)過解碼后,可得到兩個實際的值(5)確定個體評價方法:由于Rosenbrock函數(shù)的值域總是非負(fù)的,并且優(yōu)化目標(biāo)是求函數(shù)的最大值,故可將個體的適應(yīng)度直接取為對應(yīng)的目標(biāo)函數(shù)值,即

選個體適應(yīng)度的倒數(shù)作為目標(biāo)函數(shù)(6)設(shè)計遺傳算子:選擇運算使用比例選擇算子,交叉運算使用單點交叉算子,變異運算使用基本位變異算子。(7)確定遺傳算法的運行參數(shù):群體大小M=80,終止進化代數(shù)G=100,交叉概率Pc=0.60,變異概率Pm=0.10。上述七個步驟構(gòu)成了用于求

溫馨提示

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

評論

0/150

提交評論