【控制】遗传算法(GA,Genetic Algorithm)及 Matlab 实现
文章目錄
- 基本框架
- 編碼
- 適應度函數
- 初始群體選取
- Ref.
遺傳算法(Genetic Algorithm,GA)最早是由美國的 John holland于20世紀70年代提出,該算法是根據大自然中生物體進化規律而設計提出的。是模擬達爾文生物進化論的自然選擇和遺傳學機理的生物進化過程的計算模型,是一種通過模擬自然進化過程搜索最優解的方法。該算法通過數學的方式,利用計算機仿真運算,將問題的求解過程轉換成類似生物進化中的染色體基因的交叉、變異等過程。在求解較為復雜的組合優化問題時,相對一些常規的優化算法,通常能夠較快地獲得較好的優化結果。遺傳算法已被人們廣泛地應用于組合優化、機器學習、信號處理、自適應控制和人工生命等領域。
基本框架
編碼
由于遺傳算法不能直接處理問題空間的參數,因此必須通過編碼將要求解的問題表示成遺傳空間的染色體或者個體。這一轉換操作就叫做編碼,也可以稱作(問題的)表示(representation)。
評估編碼策略常采用以下3個規范:
適應度函數
進化論中的適應度,是表示某一個體對環境的適應能力,也表示該個體繁殖后代的能力。遺傳算法的適應度函數也叫評價函數,是用來判斷群體中的個體的優劣程度的指標,它是根據所求問題的目標函數來進行評估的。
遺傳算法在搜索進化過程中一般不需要其他外部信息,僅用評估函數來評估個體或解的優劣,并作為以后遺傳操作的依據。由于遺傳算法中,適應度函數要比較排序并在此基礎上計算選擇概率,所以適應度函數的值要取正值。由此可見,在不少場合,將目標函數映射成求最大值形式且函數值非負的適應度函數是必要的。
初始群體選取
遺傳算法中初始群體中的個體是隨機產生的。一般來講,初始群體的設定可采取如下的策略:
Ref.
總結
以上是生活随笔為你收集整理的【控制】遗传算法(GA,Genetic Algorithm)及 Matlab 实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【控制】贪心算法(GA,Greedy A
- 下一篇: 【控制】蚁群算法(ACO,Ant Col