⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 a5.m

📁 遗传算法工具箱
💻 M
字号:
% Define GA Parameters
GGAP = 0.8; % Generation gap
XOVR = 1; % Crossover rate
NVAR = 20; % No. of variables
MUTR = 1/NVAR; % Mutation rate
MAXGEN =200; % Maximum no. of generations
INSR = 0.9; % Insertion rate
SUBPOP =12; % No. of subpopulations
MIGR = 0.2; % Migration rate
MIGGEN = 20; % No. of gens / migration
NIND =20; % No. of individuals / subpop
RANGE=[0;10];  % range of variables
SEL_F = 'sus'; XOV_F ='recdis'; MUT_F ='mutbga'; OBJ_F ='objpush'; 
FieldDD = rep(RANGE,[1,NVAR]);
trace=zeros(MAXGEN,2);%遗传算法性能跟踪
Chrom=crtrp(SUBPOP*NIND,FieldDD);% Fitness assignment to whole population
gen = 0; % Counter
ObjV=feval(OBJ_F,Chrom);
% Generational loop
while gen < MAXGEN,
FitnV = ranking(ObjV,[2,0],SUBPOP);
SelCh = select(SEL_F,Chrom,FitnV, GGAP,SUBPOP);% Select individuals from population
SelCh=recombin(XOV_F, SelCh,XOVR,SUBPOP);% Recombine selected individuals
SelCh = mutate(MUT_F,SelCh,FieldDD,[MUTR],SUBPOP);% Apply mutation
ObjVOff=feval(OBJ_F,SelCh);
[Chrom, ObjV] = reins(Chrom, SelCh, SUBPOP,[1 INSR], ObjV, ObjVOff);
% Increment counter
gen=gen+1;
[trace(gen,1),I]=min(ObjV); trace(gen,2)=mean(ObjV);
end
[Y,I]=min(ObjV); Y,Chrom(I,:)
subplot(211);plot(Chrom(I,:));hold on;plot(Chrom(I,:),'.');grid  %最优控制向量分布图
legend('最优控制向量')
subplot(212);plot(trace(:,1));hold on;plot(trace(:,2),'-.');grid%遗传算法性能跟踪分布图
legend('解的变化','种群均值的变化');xlabel('迭代次数')

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -