請問怎樣確定遺傳演算法的引數,matlab遺傳演算法工具箱的引數怎麼設定?

2022-10-02 09:45:20 字數 1773 閱讀 4249

1樓:手機使用者

遺傳演算法的引數設計對於不同的實際問題都不同

目前還沒有完整的理論來參考

種群大小越大 收斂效果越好 但計算量也會增大

在空間複雜度(記憶體大小)和計算速度允許的情況下 儘量大一些 不過如果問題的解空間不大或者是變化的話 則要另加考慮(解空間不大就沒必要把種群定得很大了)

交叉率。。。一般都是全部參與交叉(染色體都會交叉嘛) 只是交叉方式的設計問題,有單點,多點,隨機等等 另外還要考慮交叉後解的可行性 對於具體問題,可以各種方法都試一下(這方面的理論實在是很弱)

變異率不要設高,一般在%5以下,變異是為了避免把個體侷限在較優的區域性解空間內(模擬退火演算法就有這個問題,所以經常會結合遺傳演算法)

總結一下,這個演算法的理論支援目前還較弱,但是很實用,反正算得快,多算幾遍,引數多改改,一般和近似解都很接近

2樓:匿名使用者

種群大小一般可取80~320;

交叉率一般取0.7~0.9;

變異率0.05~0.15就可以了,一般比較小的時候穩定,也容易找到最佳值,但是有時候找不到最佳,可以取大一點嘗試一下!這就是我用遺傳的經驗,希望能幫上你!

matlab遺傳演算法工具箱的引數怎麼設定?

3樓:匿名使用者

fitness function要自己設計的 比如y=sinx 也要編成一個m檔案啊……

遺傳演算法的引數

4樓:匿名使用者

首先,你的演算法需要加入最優儲存策略;其次,演算法的操作運算元,比如說選擇操作、變異操作、交叉操作等,還需要再進行優化,以避免陷入區域性最優解。

請問多變數遺傳演算法的matlab程式還有嗎?

5樓:匿名使用者

matlab本身就整合了遺傳演算法,留有介面可以進行二次開發。

遺傳演算法可以求解多個變數,比如200多個變數都可以。

6樓:藍色d象牙塔

應該還有備份吧,忘了

matlab遺傳演算法怎麼輸入引數

7樓:智者總要千慮

遺傳演算法工具箱的函式ga基本呼叫格式如下:

x = ga(fitnessfcn,nvars,a,b,aeq,beq,lb,ub)

其中前兩個引數分別是適應度函式和變數個數,第三、四個引數(a和b)即為線性不等式約束。

你現在需要做的是,增加幾個線性約束條件:

x1 < x2

x2 < x3

x3 < x4

x4 < x5

不過,有個問題,遺傳演算法等優化工具對不等式約束的要求,都必須是閉集(帶等號的不等式),也就是說,要的是類似下面這樣的約束:

x1 <= x2

x2 <= x3

x3 <= x4

x4 <= x5

如何用遺傳演算法優化svm的引數

8樓:玉皇廟加工麵條

將下屬兩個目標函式分別儲存在兩個m檔案中 function f1=func1(x) %第一目標函式 f1=x(:,1).*x(:

,1)./4+x(:,2).

*x(:,2)./4; function f2=func2(x) %第二目標函式 f2=x(:

,1).*(1-x(:,2))+10; function ga() clear;clc;close all nind=100; %個體數...

matlab優化工具箱中遺傳演算法的問題

ga就是在窮舉不可能完成時,用一種方式找到最優解 ga工具的完整形式如下表示內 x,fval,exitflag,output,population,scores ga fitnessf nvars,a,b,aeq,beq,lb,ub,nonlcon,options x是最優自變容量 fval是求得的...

用matlab優化工具箱自帶的遺傳演算法(只能找到近似最優解)時,往往重複計算很多次都不能得到最優解

要想得到較精確的最優解,可以通過設定function tolerance的誤差值,constraint tolerance的誤差值。為什麼matlab優化工具箱的遺傳演算法每次優化的結果都不一樣 為什麼matlab優化工具箱的遺傳演算法每次優化的結果都不一樣?這是因為演算法的初值是隨機的,所以重複計...

大師,請問怎樣確定人的五行屬性,大師,請問怎樣確定一個人的五行屬性

甲子乙丑bai海中金 丙寅丁卯爐中火 戊du辰己巳大林木 庚zhi午辛未路dao旁土 壬申癸酉專劍鋒金 甲戌乙亥屬山頭火 丙子丁丑澗下水 戊寅己卯城頭土 庚辰辛巳白臘金 壬午癸未楊柳木 甲申乙酉井泉水 丙戌丁亥屋上土 戊子己丑霹靂火 庚寅辛卯松柏木 壬辰癸巳長流水 甲午乙未砂石金 丙申丁酉山下火 戊...