装载系统遗传算法算例附详解

  • 格式:docx
  • 大小:11.97 KB
  • 文档页数:1

下载文档原格式

  / 4
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GGAP=0.8;%代沟

XOVR=1;%交叉率

NVAR=20;%变量维数

MUTR=1/NVAR;%变异率

MAXGEN=200;%最大遗传代数

INSR=0.9;%插入率

SUBPOP=12;%子种群数

MIGR=0.2;%迁移率

MIGGEN=20;%每二十代迁移个体

NIND=20;%个体数目

RANGE=[0;10];%变量范围

SEL_F='sus';%选择函数名

XOV_F='recdis';%重组函数名

MUT_F='mutbga';%变异函数名

OBJ_F='objpush';%目标函数名

FieldDD=rep(RANGE,[1,NVAR]);

trace=zeros(MAXGEN,2);%遗传算法性能追踪

Chrom=crtbrp(SUBPOP*NIND,FieldDD);%创建初始种群

gen=0;

ObjV=feval(OBJ_F,Chrom);

while gen

FitnV=ranking(ObjV,[2 0],SUBPOP);%分配适应度值

SelCh=select(SEL_F,Chrom,FitnV,GGAP,SUBPOP);%选择

SelCh=recombin(XOV_F,SelCh,XOVR,SUBPOP);%重组

SelCh=mutate(MUT_F,SelCh,FieldDD,[MUTR],SUBPOP);%变异

ObjVOff=feval(OBJ_F,SelCh);%计算子代目标函数值

[Chrom,ObjV]=reins(Chrom,SelCh,SUBPOP,[1 INSR],ObjV,ObjVOff); %替代gen=gen+1;

[trace(gen,1),I]=min(ObjV);

trace(gen,2)=mean(ObjV);%平均值

end

[Y,I]=min(ObjV);%最优控制向量值及其序号

subplot(211);%设置子图函数

plot(Chrom(I,:));hold on;

plot(Chrom(I,:),'.');grid

subplot(212);%遗传算法性能跟踪分布图

plot(trace(:,1));hold on;

plot(trace(:,2),'-');grid;

legend('解的变化','种群均值的变化');