遺傳算法的基本原理_第1頁
遺傳算法的基本原理_第2頁
遺傳算法的基本原理_第3頁
遺傳算法的基本原理_第4頁
遺傳算法的基本原理_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 遺傳算法簡稱遺傳算法簡稱GAGA(Genetic AlgorithmsGenetic Algorithms)是)是19621962年由美國年由美國MichiganMichigan大學的大學的HollandHolland教授提教授提出的模擬自然界遺傳機制和生物進化論而成的出的模擬自然界遺傳機制和生物進化論而成的一種并行隨機搜索最優(yōu)化方法。一種并行隨機搜索最優(yōu)化方法。 遺傳算法是以達爾文的自然選擇學說為基礎遺傳算法是以達爾文的自然選擇學說為基礎發(fā)展起來的。自然選擇學說包括以下三個方面:發(fā)展起來的。自然選擇學說包括以下三個方面:(1 1)遺傳:這是生物的普遍特征,親代把生物信息交)遺傳:這是生物的

2、普遍特征,親代把生物信息交給子代,子代總是和親代具有相同或相似的性狀。生給子代,子代總是和親代具有相同或相似的性狀。生物有了這個特征,物種才能穩(wěn)定存在。物有了這個特征,物種才能穩(wěn)定存在。(2 2)變異:親代和子代之間以及子代的不同個體之間)變異:親代和子代之間以及子代的不同個體之間的差異,稱為變異。變異是隨機發(fā)生的,變異的選擇的差異,稱為變異。變異是隨機發(fā)生的,變異的選擇和積累是生命多樣性的根源。和積累是生命多樣性的根源。(3 3)生存斗爭和適者生存:具有適應性變異的個體被)生存斗爭和適者生存:具有適應性變異的個體被保留下來,不具有適應性變異的個體被淘汰,通過一保留下來,不具有適應性變異的個體

3、被淘汰,通過一代代的生存環(huán)境的選擇作用,性狀逐漸逐漸與祖先有代代的生存環(huán)境的選擇作用,性狀逐漸逐漸與祖先有所不同,演變?yōu)樾碌奈锓N。所不同,演變?yōu)樾碌奈锓N。 遺傳算法將遺傳算法將“優(yōu)勝劣汰,適者生存優(yōu)勝劣汰,適者生存”的生物的生物進化原理引入優(yōu)化參數形成的編碼串聯(lián)群體中,進化原理引入優(yōu)化參數形成的編碼串聯(lián)群體中,按所選擇的適應度函數并通過遺傳中的復制、按所選擇的適應度函數并通過遺傳中的復制、交叉及變異對個體進行篩選,使適適應度高的交叉及變異對個體進行篩選,使適適應度高的個體被保留下來,組成新的群體,新的群體既個體被保留下來,組成新的群體,新的群體既繼承了上一代的信息,又優(yōu)于上一代。這樣周繼承了上

4、一代的信息,又優(yōu)于上一代。這樣周而復始,群體中個體適應度不斷提高,直到滿而復始,群體中個體適應度不斷提高,直到滿足一定的條件。遺傳算法的算法簡單,可并行足一定的條件。遺傳算法的算法簡單,可并行處理,并能到全局最優(yōu)解。處理,并能到全局最優(yōu)解。遺傳算法的基本操作為:遺傳算法的基本操作為:(1 1)復制()復制(Reproduction OperatorReproduction Operator) 復制是從一個舊種群中選擇生命力強的個體位復制是從一個舊種群中選擇生命力強的個體位串產生新種群的過程。具有高適應度的位串更有串產生新種群的過程。具有高適應度的位串更有可能在下一代中產生一個或多個子孫。可能在

5、下一代中產生一個或多個子孫。 復制操作可以通過隨機方法來實現。首先產生復制操作可以通過隨機方法來實現。首先產生0101之間均勻分布的隨機數,若某串的復制概率之間均勻分布的隨機數,若某串的復制概率為為40%40%,則當產生的隨機數在,則當產生的隨機數在0.401.00.401.0之間時,之間時,該串被復制,否則被淘汰。該串被復制,否則被淘汰。(2 2)交叉()交叉(Crossover OperatorCrossover Operator) 復制操作能從舊種群中選擇出優(yōu)秀者,但不復制操作能從舊種群中選擇出優(yōu)秀者,但不能創(chuàng)造新的染色體。而交叉模擬了生物進化過能創(chuàng)造新的染色體。而交叉模擬了生物進化過程

6、中的繁殖現象,通過兩個染色體的交換組合,程中的繁殖現象,通過兩個染色體的交換組合,來產生新的優(yōu)良品種。來產生新的優(yōu)良品種。 交叉的過程為:在匹配池中任選兩個染色體,交叉的過程為:在匹配池中任選兩個染色體,隨機選擇一點或多點交換點位置;交換雙親染隨機選擇一點或多點交換點位置;交換雙親染色體交換點右邊的部分,即可得到兩個新的染色體交換點右邊的部分,即可得到兩個新的染色體數字串。色體數字串。 交交叉叉體現了自然界中信息交換的思想。交叉體現了自然界中信息交換的思想。交叉有一點交叉、多點交叉、還有一致交叉、順序有一點交叉、多點交叉、還有一致交叉、順序交叉和周期交叉。一點交叉是最基本的方法,交叉和周期交叉

7、。一點交叉是最基本的方法,應用較廣。它是指染色體切斷點有一處,例:應用較廣。它是指染色體切斷點有一處,例:0101 0110011110 101100 :A1110 0010100101 001010 :B(3 3)變異)變異(Mutation Operator)(Mutation Operator) 變異運算用來模擬生物在自然的遺傳環(huán)境變異運算用來模擬生物在自然的遺傳環(huán)境中由于各種偶然因素引起的基因突變,它以很中由于各種偶然因素引起的基因突變,它以很小的概率隨機地改變遺傳基因(表示染色體的小的概率隨機地改變遺傳基因(表示染色體的符號串的某一位)的值。在染色體以二進制編符號串的某一位)的值。在

8、染色體以二進制編碼的系統(tǒng)中,它隨機地將染色體的某一個基因碼的系統(tǒng)中,它隨機地將染色體的某一個基因由由1 1變?yōu)樽優(yōu)? 0,或由,或由0 0變?yōu)樽優(yōu)? 1。 若只有選擇和交叉,而沒有變異,則無法若只有選擇和交叉,而沒有變異,則無法在初始基因組合以外的空間進行搜索,使進在初始基因組合以外的空間進行搜索,使進化過程在早期就陷入局部解而進入終止過程,化過程在早期就陷入局部解而進入終止過程,從而影響解的質量。為了在盡可能大的空間從而影響解的質量。為了在盡可能大的空間中獲得質量較高的優(yōu)化解,必須采用變異操中獲得質量較高的優(yōu)化解,必須采用變異操作。作。10.2 10.2 遺傳算法的特點遺傳算法的特點 (1

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

10、息不多,搜索效率不高,有時甚至使搜索過程局限于局部最優(yōu)解而停滯不前。索過程局限于局部最優(yōu)解而停滯不前。 遺傳算法從由很多個體組成的一個初始群體遺傳算法從由很多個體組成的一個初始群體開始最優(yōu)解的搜索過程,而不是從一個單一的開始最優(yōu)解的搜索過程,而不是從一個單一的個體開始搜索,這是遺傳算法所特有的一種隱個體開始搜索,這是遺傳算法所特有的一種隱含并行性,因此遺傳算法的搜索效率較高。含并行性,因此遺傳算法的搜索效率較高。(3 3)遺傳算法直接以目標函數作為搜索信息。)遺傳算法直接以目標函數作為搜索信息。傳統(tǒng)的優(yōu)化算法不僅需要利用目標函數值,而傳統(tǒng)的優(yōu)化算法不僅需要利用目標函數值,而且需要目標函數的導數

11、值等輔助信息才能確定且需要目標函數的導數值等輔助信息才能確定搜索方向。而遺傳算法僅使用由目標函數值變搜索方向。而遺傳算法僅使用由目標函數值變換來的適應度函數值,就可以確定進一步的搜換來的適應度函數值,就可以確定進一步的搜索方向和搜索范圍,無需目標函數的導數值等索方向和搜索范圍,無需目標函數的導數值等其他一些輔助信息。其他一些輔助信息。 遺傳算法可應用于目標函數無法求導數或遺傳算法可應用于目標函數無法求導數或導數不存在的函數的優(yōu)化問題,以及組合優(yōu)化導數不存在的函數的優(yōu)化問題,以及組合優(yōu)化問題等。問題等。(4 4)遺傳算法使用概率搜索技術。遺傳算法)遺傳算法使用概率搜索技術。遺傳算法的選擇、交叉、

12、變異等運算都是以一種概率的的選擇、交叉、變異等運算都是以一種概率的方式來進行的,因而遺傳算法的搜索過程具有方式來進行的,因而遺傳算法的搜索過程具有很好的靈活性。隨著進化過程的進行,遺傳算很好的靈活性。隨著進化過程的進行,遺傳算法新的群體會更多地產生出許多新的優(yōu)良的個法新的群體會更多地產生出許多新的優(yōu)良的個體。體。(5 5)遺傳算法在解空間進行高效啟發(fā)式搜索,)遺傳算法在解空間進行高效啟發(fā)式搜索,而非盲目地窮舉或完全隨機搜索;而非盲目地窮舉或完全隨機搜索;(6 6)遺傳算法對于待尋優(yōu)的函數基本無限制,)遺傳算法對于待尋優(yōu)的函數基本無限制,它既不要求函數連續(xù),也不要求函數可微,既它既不要求函數連續(xù)

13、,也不要求函數可微,既可以是數學解析式所表示的顯函數,又可以是可以是數學解析式所表示的顯函數,又可以是映射矩陣甚至是神經網絡的隱函數,因而應用映射矩陣甚至是神經網絡的隱函數,因而應用范圍較廣;范圍較廣;(7)遺傳算法具有并行計算的特點,因而可通)遺傳算法具有并行計算的特點,因而可通過大規(guī)模并行計算來提高計算速度,適合大規(guī)過大規(guī)模并行計算來提高計算速度,適合大規(guī)模復雜問題的優(yōu)化。模復雜問題的優(yōu)化。 10.3 10.3 遺傳算法的應用領域遺傳算法的應用領域(1 1)函數優(yōu)化。)函數優(yōu)化。 函數優(yōu)化是遺傳算法的經典應用領域,也是函數優(yōu)化是遺傳算法的經典應用領域,也是遺傳算法進行性能評價的常用算例。尤

14、其是對遺傳算法進行性能評價的常用算例。尤其是對非線性、多模型、多目標的函數優(yōu)化問題,采非線性、多模型、多目標的函數優(yōu)化問題,采用其他優(yōu)化方法較難求解,而遺傳算法卻可以用其他優(yōu)化方法較難求解,而遺傳算法卻可以得到較好的結果。得到較好的結果。(2 2)組合優(yōu)化。)組合優(yōu)化。 隨著問題的增大,組合優(yōu)化問題的搜索空間隨著問題的增大,組合優(yōu)化問題的搜索空間也急劇擴大,采用傳統(tǒng)的優(yōu)化方法很難得到最也急劇擴大,采用傳統(tǒng)的優(yōu)化方法很難得到最優(yōu)解。遺傳算法是尋求這種滿意解的最佳工具。優(yōu)解。遺傳算法是尋求這種滿意解的最佳工具。例如,遺傳算法已經在求解旅行商問題、背包例如,遺傳算法已經在求解旅行商問題、背包問題、裝

15、箱問題、圖形劃分問題等方面得到成問題、裝箱問題、圖形劃分問題等方面得到成功的應用。功的應用。(3 3)生產調度問題)生產調度問題 在很多情況下,采用建立數學模型的方法難在很多情況下,采用建立數學模型的方法難以對生產調度問題進行精確求解。在現實生產以對生產調度問題進行精確求解。在現實生產中多采用一些經驗進行調度。遺傳算法是解決中多采用一些經驗進行調度。遺傳算法是解決復雜調度問題的有效工具,在單件生產車間調復雜調度問題的有效工具,在單件生產車間調度、流水線生產車間調度、生產規(guī)劃、任務分度、流水線生產車間調度、生產規(guī)劃、任務分配等方面遺傳算法都得到了有效的應用。配等方面遺傳算法都得到了有效的應用。(

16、4 4)自動控制。)自動控制。 在自動控制領域中有很多與優(yōu)化相關的問題在自動控制領域中有很多與優(yōu)化相關的問題需要求解,遺傳算法已經在其中得到了初步的需要求解,遺傳算法已經在其中得到了初步的應用。例如,利用遺傳算法進行控制器參數的應用。例如,利用遺傳算法進行控制器參數的優(yōu)化、基于遺傳算法的模糊控制規(guī)則的學習、優(yōu)化、基于遺傳算法的模糊控制規(guī)則的學習、基于遺傳算法的參數辨識、基于遺傳算法的神基于遺傳算法的參數辨識、基于遺傳算法的神經網絡結構的優(yōu)化和權值學習等。經網絡結構的優(yōu)化和權值學習等。(5 5)機器人)機器人 例如,遺傳算法已經在移動機器人路徑規(guī)劃、例如,遺傳算法已經在移動機器人路徑規(guī)劃、關節(jié)機

17、器人運動軌跡規(guī)劃、機器人結構優(yōu)化和行關節(jié)機器人運動軌跡規(guī)劃、機器人結構優(yōu)化和行為協(xié)調等方面得到研究和應用。為協(xié)調等方面得到研究和應用。(6 6)圖像處理)圖像處理 遺傳算法可用于圖像處理過程中的掃描、特遺傳算法可用于圖像處理過程中的掃描、特征提取、圖像分割等的優(yōu)化計算。目前遺傳算法征提取、圖像分割等的優(yōu)化計算。目前遺傳算法已經在模式識別、圖像恢復、圖像邊緣特征提取已經在模式識別、圖像恢復、圖像邊緣特征提取等方面得到了應用。等方面得到了應用。001011011001110010 x以上操作過程可以用圖以上操作過程可以用圖10-1來表示。來表示。 圖圖10-1 遺傳算法流程圖遺傳算法流程圖 )2

18、, 1(048. 2048. 2)1 ()(100),(212221212ixxxxxxfi1101110001 0000110111:x)2 , 1(048. 21023096. 4iyxii1101110001 0000110111:x476. 1,828. 121xx881,5521yy),()(21xxfxF)(1)(xFxJ0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 BestS2.0480 2.0480 21,xx10.5.2 10.5.2 實數編碼遺傳算法求函數極大值實數編碼遺傳算法求函數極大值求解該問題遺傳算法的構造過程:求解該問題遺傳算法的構

19、造過程:(1 1)確定決策變量和約束條件;)確定決策變量和約束條件;(2 2)建立優(yōu)化模型;)建立優(yōu)化模型;(3 3)確定編碼方法:用)確定編碼方法:用2 2個實數分別表示兩個個實數分別表示兩個決策變量,分別將的定義域離散化為從離散點決策變量,分別將的定義域離散化為從離散點-2.0482.048到離散點到離散點2.048的的SizeSize個實數。個實數。(4 4)確定個體評價方法:)確定個體評價方法: 個體的適應度直接取為對應的目標函數值,個體的適應度直接取為對應的目標函數值,即即 選個體適應度的倒數作為目標函數選個體適應度的倒數作為目標函數 ),()(21xxfxF)(1)(xFxJ(5

20、5)設計遺傳算子:)設計遺傳算子:選擇運算使用比例選擇選擇運算使用比例選擇算子,交叉運算使用單點交叉算子,變異運算算子,交叉運算使用單點交叉算子,變異運算使用基本位變異算子。使用基本位變異算子。(6)確定遺傳算法的運行參數:群體大?。┐_定遺傳算法的運行參數:群體大小M=500M=500,終止進化代數,終止進化代數G=200G=200,交叉概率,交叉概率P Pc c=0.90=0.90,采用自適應變異概率,采用自適應變異概率即變異概率與適應度有關,適應度越小,變異即變異概率與適應度有關,適應度越小,變異概率越大。概率越大。 0.01/SizeSize:1:1-0.10mP 上 述 六 個 步 驟

21、 構 成 了 用 于 求 函 數上 述 六 個 步 驟 構 成 了 用 于 求 函 數RosenbrockRosenbrock極大值的優(yōu)化計算的實數編碼遺傳極大值的優(yōu)化計算的實數編碼遺傳算法。算法。 十進制編碼求函數十進制編碼求函數RosenbrockRosenbrock極大值。仿極大值。仿真程序見真程序見chap10_2.mchap10_2.m。 仿真程序經過仿真程序經過200200步迭代,最佳樣本為步迭代,最佳樣本為即當即當 , 時,函數具時,函數具有極大值,極大值為有極大值,極大值為3880.33880.3。2.044- -2.0438 BestS2.0438 1x2.044 2x10.

22、6.1 遺傳算法優(yōu)化原理遺傳算法優(yōu)化原理 在在7.3節(jié)的節(jié)的RBF網絡逼近算法中,網絡權網絡逼近算法中,網絡權值、高斯函數的中心矢量和基寬向量的初值值、高斯函數的中心矢量和基寬向量的初值難以確定,如果這些參數選擇不當,會造成難以確定,如果這些參數選擇不當,會造成逼近精度的下降甚至逼近精度的下降甚至RBF網絡的發(fā)散。采用網絡的發(fā)散。采用遺傳算法可實現遺傳算法可實現RBF網絡參數的優(yōu)化。網絡參數的優(yōu)化。 為獲取滿意的逼近精度,采用誤差絕對值指為獲取滿意的逼近精度,采用誤差絕對值指標作為參數選擇的最小目標函數。標作為參數選擇的最小目標函數。 式中,式中, 為逼近的總步驟,為逼近的總步驟, 為第為第

23、步步RBF網絡的網絡的逼近誤差。逼近誤差。 在應用遺傳算法時,為了避免參數選取范圍在應用遺傳算法時,為了避免參數選取范圍過大,可以先按經驗選取一組參數,然后再在過大,可以先按經驗選取一組參數,然后再在這組參數的周圍利用遺傳算法進行設計,從而這組參數的周圍利用遺傳算法進行設計,從而大大減少初始尋優(yōu)的盲目性,節(jié)約計算量。大大減少初始尋優(yōu)的盲目性,節(jié)約計算量。 NiieJ1100N iei10.6.2 仿真實例仿真實例 使用使用RBF網絡逼近下列對象:網絡逼近下列對象:23) 1(1) 1()()(kykykuky 在在RBF網絡中,網絡中,網絡輸入信號為網絡輸入信號為2個,即個,即和和 ,網絡初始權值及高斯函數參數初始值通,網絡初始權值及高斯函數參數初始值通過遺傳算法優(yōu)化而得。過遺傳算法優(yōu)化而得。)(ku)(ky 遺傳算法優(yōu)化程序為遺傳算法優(yōu)化程序為chap10_3a.m,取逼近,取逼近總步驟為,每一步的逼近誤差由總步驟為,每一步的逼近誤差由chap10_3b.m求求得。采用二進制編碼方式,用長度為得。采用二進制編碼方式,用長度為10位的二位

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論