資源簡介
本程序開發了基于Matlab的遺傳算法,解決了優化設計問題,求得了全局最小值
代碼片段和文件信息
clear
clc
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%本程序用于Schaffer‘s?Function%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mount_person=200;?%種群大小
maxgen=500;?%最大遺傳代數
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;?%變量的二進制位數
limit=1e-3;?????%結束限制
groupunitchrom=0;
new_groupunitchrom=0;
sonunitgroup=0;
numbercount=0;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%開始2進制編碼
for?i=1:mount_person
????for?j=1:chromlength
????????groupunitchrom(ij)=rand(1);?%groupunitchrom記錄了種群個體染色體基因為20*20的數組
????????if?groupunitchrom(ij)<0.5
????????????groupunitchrom(ij)=0;
????????else
????????????groupunitchrom(ij)=1;
????????end
????end
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
評論
共有 條評論