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