1樓:
/* 種群大小 */
#define popsize 50
double pc; /* 交叉概率 */double pm; /* 交換變異概率 */double pw; /* 反轉變異概率 */double pn; /* 新增概率 */pc=0.7;
pm=0.8;
pw = 0.3;
pn = 0.3;
迭代數,忘記了。我從5,到500都跑了一遍。對比了結果。
你可以選擇乙個覺得合適就行了
****************************************=
遺傳演算法的文獻很多。
你可以去google上面搜。或者去wikipedia上面找找最經典的文獻。其實很簡單。
引數的調整,可以用程式來自動尋找。比如迭代次數,我是把迭代次數從5,10,50,100,200,500這些都跑了一遍,最後選擇已經接近收斂的那個就行了。其實遺傳演算法因為是乙個通用演算法,所以肯定是比較慢的。
如果有heuristic演算法,一般都會比遺傳演算法收斂快很多。
2樓:匿名使用者
pc 0.4-0.9
pm 0.001-0.1
gene 100-500
n 20-100
matlab遺傳演算法工具箱函式的引數問題
3樓:匿名使用者
這個100在這裡是起到限定條件的作用。如果g1>0或者g2>0這種情況,就不進行計算了,直接給出誤差值100,這樣,g1>0或者g2>0這種情況基本上就排除了,因為誤差值非常高。這個數值可以改,改的比較大就可以了。
目的是把結果中的g1>0和g2>0情況去掉。
initialpopulation是第一代種群的意思,這個數值就是遺傳演算法起點的位置。這個值怎麼取沒有固定的說法,如果你想手動賦值而不是讓計算機自己生成, 那麼你需要建立乙個矩陣,行數等於populationsize,就是種群數量,列數等於輸入變數的數量,在你的例子中是2。
初始值的作用很大,越複雜的模型,對於初值的要求就越高。
matlab中遺傳演算法ga(fitnessfcn,nvars,a,b,aeq,beq)的目標函式內中變數的大小和引數是可變的怎麼實現?
4樓:匿名使用者
真巧,我在用遺傳演算法優化。ga是乙個封裝檔案,呼叫的話只需要在工作空間打上相應的引數就行了。例如[xv,fv]=ga(@fitness,0,30,50,100,0.
9,0.04,0.01)回車即可運算。
其中fitness是呼叫的另乙個m檔案函式
SVM演算法採用高斯核函式,核函式的引數對結果影響大嗎
我來說說我的思路吧這種擬合問題的目的是求出擬合函式的引數,如多項式函式的係數那麼可以把擬合函式值與y的絕對差值當做目標函式和適應度函式,相對應所求的擬合函式的引數作為遺傳演算法中的基因編碼,每組引數對應一個擬合函式相當於一個染色體個體遺傳演算法採用基本遺傳演算法即可單點交叉,高斯變異初步設想,望請指...
怎麼用引數方程直接求面積,引數方程求面積的推導,這一步是怎麼來的?
十張樹 採用極座標的面積元為 s 1 2 r r 2 1 2 r 2 r r 所以極座標下面積公式為s r dr d 1 2 r 2 d 這裡r 1 cos 所以s 1 2 1 cos 2 d 勞煙苦雨 橢圓x 2 a 2 y 2 b 2 1的引數方程為x acos y bsin 其在第一象限內部分...
徵求n階乘的優化演算法,求階乘n 的遞迴演算法
伊寄壘 include int fun int n int main 5 120 遞迴演算法的原理 遞迴是電腦科學的乙個重要概念,遞迴的方法是程式設計中有效的方法,採用遞迴編寫 遞迴能使程式變得簡潔和清晰。 海菜家的北北 思路 遞迴求階乘函式,如果輸入的引數等於1則返回1,否則返回n乘以該函式下次遞...