資源簡(jiǎn)介
matlab運(yùn)用GA求解
clc
clear
%%遺傳算法的參數(shù)
maxgen=100; %迭代次數(shù)
sizepop=50; %種群規(guī)模
pcross=0.75; %交叉概率
pmutation=0.25; %變異概率
n=5; %n表示基因的個(gè)數(shù)
p=10; %p表示權(quán)限的個(gè)數(shù)
代碼片段和文件信息
clc
clear
%%遺傳算法的參數(shù)
maxgen=100;????????????%迭代次數(shù)
sizepop=20;????????????%種群規(guī)模
pcross=0.7;????????????%交叉概率
pmutation=0.02;????????%變異概率
%%初始化種群
[xy]=meshgrid([-2:2]);
len1=1;
len2=1;
len=len1+len2;
D=2;%有兩個(gè)變量
%隨機(jī)產(chǎn)生初始化種群,rand()是產(chǎn)生0-1的隨機(jī)數(shù)
for?i=1:sizepop
?????population(i1)=rand()*4-2;
?????population(i2)=rand()*4-2;
end
bestfitness=[];
bestind=[];
%%迭代過(guò)程
for?k=1:maxgen
????%%計(jì)算適應(yīng)度
????for?i=1:sizepop
????????x=population(i1);
????????y=population(i2);
????????individual.fitness(i)=x*cos(2*pi*y)+y*sin(2*pi*x);????????????%適應(yīng)度函數(shù)
????end
????%%
????sumfitness=sum(individual.fitness);???%當(dāng)代種群適應(yīng)度之和
????for?i=1:sizepop
????????chooseproportion(i)=individual.fitness(i)/sumfitness;???%選擇概率
????end
????sumproportion(1)=chooseproportion(1);???????????????????????
評(píng)論
共有 條評(píng)論