MATLAB 自帶遺傳工具箱之遺傳演算法簡述

2021-10-23 05:10:17 字數 2379 閱讀 3095

matlab 自帶優化工具箱(optimization tool)之遺傳演算法簡述

在命令視窗內一鍵啟動工具箱

對視窗頁面進行解釋

solver(求解器):選擇選擇需要的演算法problem:需要解決的問題

fitness function:需要優化的目標函式,填寫格式:@f (f為編寫目標函式的檔名)

number of variables:目標函式輸入變數的數目

constraints(約束)

linear inequalities(線性不等式約束):表示為:a*x<=b, 填寫矩陣a和向量b

linear equalities(線性不等式約束):表示為:aeq*x=beq, 填寫矩陣aeq和向量beq

bounds:變數的取值範圍,lower取下界 upper 取上界,均以向量表示

nonlinear constraint function(非線性約束函式)填寫格式:@nonlcon(nonlcon為非線性約束函式的檔案)

run olver and view result執行求解器並觀察結果

star 開始執行遺傳演算法。current iteration :顯示當前執行的次數final point:顯示最優解對應變數的取值

1.population種群引數設定

(1)population type 編碼方式:浮點編碼和二進位制編碼,預設double vector

(2)population  size 種群大小:預設50

(3)creation function 建立函式:建立初始種群

(4)intial population初始化種群,如果不指定初始種群,則系統將運用建立函式建立初始種群

(5)initial scores 初始得分,若此處未定義初始得分,則系統運用適應度函式計算初始得分

(6)initial range 初始範圍,用於指定初始種群中各變數的上下限,初始範圍用矩陣表示,行數表示變數個數,每行2個元素且表示變數上下界。

2.fitness scaling:變換適應度函式值的函式控制代碼

3.slection選擇方法

4.reproduction:複製

(1)elite count保留上一代個體的個數

(2)crossover fraction:交叉的概率

5.mutation:變異方法

6.crossover:交叉方法

7.migration:指定遷移方向,概率和頻率

8.constraint parameter約束引數(針對非線性約束函式)

9.hybrid function(暫時不知道怎麼用)

10stop criteria:指定約束條件,

(1)generation和timelimit指定迭代代數和時間的最大極限

(2)fitness limit指定小於某一閾值就可以收斂,

(3)stall generation和stalltimelimit:經過多少代或多久最優值沒有出現變化時就收斂。

11.plot function:與圖形輸出有關

(1)plot interval 指定多少代輸出一次預設為1

(2)best fitness和best invividual 表示將最優解和相應個體輸出到影象上。

12.display to command window:輸出到命令視窗。

文章創作不易,求賞

MATLAB遺傳演算法之 工具箱實現

標準演算法 遺傳演算法 每次選代產生乙個單點,點的序列逼近乙個優化解 每次迭代產生乙個種群,種群通近乙個優化解 通過確定性的計算在該序列中選擇下乙個點 通過隨機進化選擇計算來選擇下一代種群 遺傳演算法工具有兩種使用方式 以命令列方式呼叫遺傳演算法函式ga。通過使用者圖形介面使用遺傳演算法工具。在命令...

MATLAB 遺傳演算法工具箱的入門使用

最開始是自己編寫的遺傳演算法程式來進行辨識,但是得到的結果有些瑕疵,所以嘗試使用matlab工具箱來做一次。下面是入門使用的方法 matlab版本是201b 在solver後面的下拉框中,選擇遺傳演算法 ga genetic algorithm,下邊分別就遺傳演算法的幾個步驟進行說明。2.fitne...

matlab遺傳演算法工具箱函式及例項講解(轉引)

matlab遺傳演算法工具箱函式及例項講解 引 gaotv5 核心函式 1 function pop initializega num,bounds,eevalfn,eevalops,options 初始種群的生成函式 輸出引數 pop 生成的初始種群 輸入引數 num 種群中的個體數目 bound...