遺傳演算法中初始種群的數量怎麼設定,我用的是matlab

2021-04-17 23:35:42 字數 1281 閱讀 5739

1樓:匿名使用者

設定population size為50

2樓:匿名使用者

population specify中輸入50,執行時顯示incorrect size

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

3樓:花生瓜子火腿腸

ga就是在窮舉不可能完成時,用一種方式找到最優解

ga工具的完整形式如下表示內

[x,fval,exitflag,output,population,scores] =

ga(fitnessfcn,nvars,a,b,aeq,beq,lb,ub,nonlcon,options)

x是最優自變容量

fval是求得的最優值

其他以此是推出標誌,結構體,終止時的總群,終止時種群函式值

後半部分以此是目標函式,目標函式自變數個數

a和b是線性約束不等式ax〈b

aeq和beq是一對線性等式約束,aeqx=beq

lb是x值下限,ub是x值下限

nonlcon是非線性約束函式 options是執行方式。這兩個可以寫函式自己完成,也可預設

函式預設計算最小值,計算最大值要加負號

非線性約束條件的寫法

function [c,ceq]=nonlcon(x) 定義函式自變數是x,x可以是一列矩陣

c=; c表示非線性等式約束,以為沒有,所以為空

ceq=[x(1)-2*(x(2))^2;

x(1)+x(2) ] ceq是非線性不等式約束,預設ceq<=0,ceq可以為一列矩陣.

>>

為什麼我應用matlab自帶的遺傳演算法工具箱求函式最小值,,每次執行結果都不一樣?

4樓:匿名使用者

一樣來才怪!遺傳演算法是一種帶有隨機源

性的搜尋型的求解全域性最優解的方法。隨機性就是在優化過程中變數的取值是隨機變化的,但是這種變化是朝向全域性最優的方向隨機變化。但是當種群數量足夠大,而且進化代數足夠多的時候,最優解是具有穩定性的,雖然每次都不一樣,但是最優解的變化一般不會很大。

myfun沒有給出,這個是ga函式求解的部分設定,通過改變populationsize和generations可以達到獲得穩定最優解的目的。變異概率和雜交概率也有一定的影響,在區域性收斂的情況下可以增大變異概率等來避免區域性最優。

5樓:

工具箱不好用,演算法對初值太敏感了。沒有特別好的解決辦法

在下列排序演算法中,哪演算法的時間複雜度與初始排序無關

d不管原陣列是什麼樣子,每一次你都要遍歷一邊剩餘的數來選取最大 最小值 演算法的時間複雜度與初始排序無關的都有什麼排序 常見的幾種排序演算法複雜度如下 方式 平均 最壞 最好 插入 n 回2 n 2 n 希爾 n 1.3 冒泡 n 2 n 2 n 快速 nlogn n 2 nlogn 選擇 n 2 ...

php中的取模的演算法,php中的取模的演算法不明白,新手求教

在php中運算中,號是取餘數,小學的數學都知道,90 除以 22 等於 4 餘 2 也就是90除以22,上4,那麼,22乘以4等於88,那他的餘數是90減掉88,不是等於2那會等於什麼呢 追問 是不是90 22後得出4,然後再拿22乘以4得出88,再拿90減去88等於2.在php中運算中,號是取餘數...

生物中怎樣計算遺傳率

算遺傳率首先要弄清楚父本和母本的基因型,然後將所有的組合寫出來 注意,基因的組合不是隨便組合,而是父本的其中一條和母本的其中一條組合為一組基因。然後看清題目所講的遺傳形狀是顯性還是隱性,區好分顯隱性的概率。根據上面的分析,用顯 或 隱性出現的次數除以總的基因組數,算出結果便是遺傳概率。還有特殊的情況...