資源簡介
遺傳算法先畫出函數(shù)曲線,隨后第一遺傳算法參數(shù),參數(shù)可自調(diào),對曲線進行尋優(yōu),可以得到最優(yōu)個體,以及種群均值變化。
代碼片段和文件信息
clc
clear
figure(1);
%?fplot(‘variable.*sin(10*pi*variable)+2.0‘[-12]);?%畫出函數(shù)曲線
fplot(‘-variable.*(variable?-?4)‘[05]);???%畫出函數(shù)曲線
%定義遺傳算法參數(shù)
NIND=40;????????%個體數(shù)目(Number?of?individuals)
MAXGEN=25;??????%最大遺傳代數(shù)(Maximum?number?of?generations)
PRECI=20;???????%變量的二進制位數(shù)(Precision?of?variables)
GGAP=0.9;???????%代溝(Generation?gap)
trace=zeros(2?MAXGEN);????????????????????????%尋優(yōu)結果的初始值
FieldD=[20;0;5;1;0;1;1];??????????????????????%區(qū)域描述器(Build?field?descriptor)表示染色體個體到實際的數(shù)字的映射關系
Chrom=crtbp(NIND?PRECI);??????????????????????%初始種群
gen=0;?????????????????????????????????????????%代計數(shù)器
variable=bs2rv(Chrom?FieldD);?????????????%計算初始種群的十進制轉換
ObjV=-variable.*(variable?-?4);????????%計算目標函數(shù)值
while?gen ???FitnV=ranking(-ObjV);?????%分配適應度值(Assign?fitness?values)?????????
?
評論
共有 條評論