遺傳算法之函數優化


一、遺傳算法簡介:

       遺傳算法是模擬生物在自然環境下的遺傳和進化過程的一種自適應的全局優化搜索算法,通過借助遺傳學的原理,經過自然選擇、遺傳、變異等作用機制進而篩選出具有適應性更高的個體(適者生存)。遺傳算法從20世紀七八十年代的誕生到現在主要集中的適用范圍為:NP問題(指存在多項式算法能夠解決的非決定性問題)、非線性、多峰函數優化和多目標優化問題等等。同時在機器學習、模式識別和神經網絡及社會科學中的應用也顯得非常出色。
 

二、遺傳算法的實現與目的:

實現 :在計算機上模擬生物的進化過程和基因的操作(選擇、交叉、變異)。

目的 :抽象和嚴謹地解釋自然界的適應過程和將自然生物系統的重要機理運用到人工系統的設計中。

 

三、遺傳算法基本術語:

種群:可行解集,遺傳算法的求解過程就是從這個子集開始的。

個體:可行解

染色體:可行解的編碼

基因:可行解編碼的分量

基因形式:遺傳編碼

適應度函數:其函數值是遺傳算法實現優勝劣汰的主要依據。

選擇:選擇操作

交叉:編碼的交叉操作

變異:可行解編碼的變異

注:這里的個體與染色體的關系,可以把個體當做是染色體的組合。換句話說就是染色體決定了個體,染色體上基因的操作(選擇、交叉、變異)直接作用於個體的形態。染色體是指對個體進行編碼后所得到的編碼串。染色體中的每1 位稱為基因,染色體上由若干個基因構成的一個有效信息段稱為基因組。

 

四、遺傳操作:

遺傳操作:就包括優選適應性強的個體的“選擇”;個體間交換基因產生新個體的“交叉”;個體間的基因突變而產生新個體的“變異”。其中遺傳算法是運用遺傳算子來進行遺傳操作的。即:選擇算子、變異算子、交叉算子。

1.選擇算子:根據個體的適應度,按照一定的規則,從第n代群體中選擇出一些具有優良性狀的個體遺傳到下一代(n+1)群體中。在這一選擇過程中,個體適應度越大,則被選擇到下一代的機會越大。

2.交叉算子:將群體P(n)中選中的各個個體隨機搭配,對於每一個個體,以某一特定概率(交叉概率Pc(0.25-1.0取值))交換他們之間的部分染色體(編碼位串的部分位置)。交叉算法是的,遺傳算法的搜索能力得到更好的延伸。

2.1交叉操作的具體步驟可以表述為:1.在交配池中隨機取出要交配的一對個體;2,根據編碼位串長度L,對要交配的一對個體,隨機選取[1,L-1]中的一個或者多個整數k作為交叉位置處,相互交換各自的部分基因,由此形成新的個體。

3.變異操作:對群體的每個個體,以某一個概率(變異概率Pm(0.01-0.1取值))將某一個或者某些基因座上的基因值改變為其他的等位基因值,根據個體的編碼方式不同,可以將變異分為實值變異和二進制變異。

3.1變異的操作步驟為:首先,對種群中的所有個體按事先的設定的變異概率判斷是否進行變異操作;然后 對判斷需要變異的個體進行隨機選擇變異位進行變異。

 遺傳算法的簡單步驟可為:

1.評估每條染色體所對應個體的適應度。

2.遵照適應度越高,選擇概率越大的原則,從種群中選擇兩個個體作為父方和母方。

3.抽取父母雙方的染色體,進行交叉,產生子代。

4.對子代的染色體進行變異。

5.重復2,3,4步驟,直到新種群的產生。

 

五、遺傳算法特點:

1、遺傳算法以決策變量的編碼作為運算對象,這種對決策變量的編碼處理,使得在優化計算中可以借鑒生物學的染色體和基因概念,模擬自然界的生物遺傳和進化機制,方便的應用決策變量的編碼成的位串進行遺傳算子。

2、遺傳算法僅僅使用目標函數值變換來的適應度函數值,就可以確定進一步的搜索方向和范圍。而不是使用目標函數的求導來進行。

3、遺傳操作是基於概率因子來操作的。

4、遺傳算法具有自組織、自適應個自學習的特性。
5、多點搜索能力,即遺傳算法是同時對多個解進行處理、評估,並行地爬多個峰。這一特點使遺傳算法具有較好的全局搜索能力,減少了陷於局部優解的風險。

 

六、matlab實例:

      2維空間搜索,群體規模為80:

 

 

 3維空間搜索,群體規模為80:

 

 

 5維空間搜索,群體規模為80:

 

 

 

 8維空間搜索,群體規模為80:

 

 

2維空間搜索,群體規模為100:

 

 

 

2維空間搜索,群體規模為200:

 

 

 


5維空間搜索,群體規模為100:

 

 

5維空間搜索,群體規模為200:

 

 

 

分析 及結論:個體的適應度值越大,被選中的可能性也越大。群體規模數越大,可行解的集合也就越大。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM