-
大小: 7KB文件類型: .m金幣: 1下載: 0 次發(fā)布日期: 2021-01-02
- 語言: Matlab
- 標(biāo)簽: Matlab??遺傳算法??優(yōu)化設(shè)計(jì)??最值問題??
資源簡介
本程序開發(fā)了基于Matlab的遺傳算法,解決了優(yōu)化設(shè)計(jì)問題,求得了全局最小值
代碼片段和文件信息
clear
clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%本程序用于Schaffer‘s?Function%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mount_person=200;?%種群大小
maxgen=500;?%最大遺傳代數(shù)
pro_cro=0.9;?%交叉概率
pro_mut=0.005;?%變異概率
x_max=100;?%變量x的最大值
x_min=-100;?%變量x的最小值
y_max=100;?%變量y的最大值
y_min=-100;?%變量y的最小值
chromlength=20;?%變量的二進(jìn)制位數(shù)
limit=1e-3;?????%結(jié)束限制
groupunitchrom=0;
new_groupunitchrom=0;
sonunitgroup=0;
numbercount=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%開始2進(jìn)制編碼
for?i=1:mount_person
????for?j=1:chromlength
????????groupunitchrom(ij)=rand(1);?%groupunitchrom記錄了種群個體染色體基因?yàn)?0*20的數(shù)組
????????if?groupunitchrom(ij)<0.5
????????????groupunitchrom(ij)=0;
????????else
????????????groupunitchrom(ij)=1;
????????end
????end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
評論
共有 條評論