共享函数小生境遗传算法.rar

  • aibbPP
    了解作者
  • matlab
    开发工具
  • 1KB
    文件大小
  • rar
    文件格式
  • 0
    收藏次数
  • 1 积分
    下载积分
  • 3
    下载次数
  • 2019-05-24 20:53
    上传日期
该文件为共享函数小生境遗传算法的matlab程序代码。可以直接复制后在matlab软件中运行。
共享函数小生境遗传算法.rar
  • 共享函数小生境遗传算法.txt
    2.4KB
内容介绍
clear all clc close all %定义遗传算法基本参数 tic NIND=30; %个体数目 MAXGEN=50; %最大遗传代数 NVAR=6; %变量的维数 PRECI=8; %变量的二进制位数 GGAP=0.9; %代沟 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%考虑对称的情况%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %建立区域描述器 FieldD=[rep([PRECI],[1,NVAR]);rep([-10;10],[1,NVAR]);rep([1;0;1;1],[1,NVAR])]; Chrom=crtbp(NIND,NVAR*PRECI); %创建初始种群 gen=0; %代计数器 G=bs2rv(Chrom,FieldD); GG=zeros(NIND,NVAR); GG(1:NIND,1:NVAR)=G(1:NIND,1:NVAR); ObjV=fitness(GG); %计算初始种群的目标函数值 S=zeros(NIND,1); %存储共享距离 for i=1:NIND for j=1:NIND S(i)=S(i)+sum(Chrom(i,:)==Chrom(j,:)); end S(i)=S(i)-48; end ObjV=ObjV./S; trace=zeros(MAXGEN,2); %保存每一代的平均值和最小值 %pc=0; %pm=0; while gen<MAXGEN %pc=0.8-((0.8-0.6)*gen/MAXGEN); %pm=((0.05-0.01)*gen/MAXGEN)+0.01; %FitnV=ranking((ObjV+min(ObjV))/(max(ObjV)+min(ObjV)+0.1)); %分配适应度值 FitnV=ranking(ObjV); SelCh=select('sus',Chrom,FitnV,GGAP); %选择 SelCh=recombin('xovsp',SelCh,0.7); %重组 SelCh=mut(SelCh); %变异 G=bs2rv(SelCh,FieldD); %根据代沟对每一代个体数目进行处理 GG=zeros(NIND*GGAP,NVAR); GG(1:NIND*GGAP,1:NVAR)=G(1:NIND*GGAP,1:NVAR); ObjVSel=fitness(GG); %计算子代目标函数值 SS=zeros(NIND*GGAP,1); %存储共享距离 for i=1:NIND*GGAP for j=1:NIND*GGAP SS(i)=SS(i)+sum(Chrom(i,:)==Chrom(j,:)); end SS(i)=SS(i)-48; end ObjVSel=ObjVSel./SS; [Chrom ObjV]=reins(Chrom,SelCh,1,1,ObjV,ObjVSel); gen=gen+1; %输出最优解 trace(gen,1)=min(ObjV); %遗传算法性能追踪 for i=1:NIND trace(gen,2)=trace(gen,2)+ObjV(i); end trace(gen,2)=trace(gen,2)/length(ObjV); %每一代的函数平均值 end toc min(ObjV) figure(1) %画出每一代的最优值 plot(trace(:,1)); hold on plot(trace(:,2),'-.'); %画出每一代的平均值 grid; legend('每一代最小值','每一代平均值');
评论
    相关推荐
    • 免疫遗传算法
      免疫遗传算法源代码,是对遗传算法和免疫算法的改进 免疫遗传算法源代码,是对遗传算法和免疫算法的改进 免疫遗传算法源代码,是对遗传算法和免疫算法的改进 免疫遗传算法源代码,是对遗传算法和免疫算法的改进
    • 配电网遗传算法
      配电网与遗传算法相结合,有电价等信息。。
    • 遗传算法
      遗传算法
    • 遗传算法 
      算法的基本理论及实力
    • 遗传算法PPT
      遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法1
    • 遗传算法的应用
      遗传算法(Genetic Algorithm)是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法
    • 遗传算法程序
      遗传算法是计算数学中用于解决最佳化的搜索算法,是进化算法的一种。进化算法最初是借鉴了进化生物学中的一些现象而发展起来的,这些现象包括遗传、突变、自然选择以及杂交等。遗传算法通常实现方式为一种计算机模拟...
    • 遗传算法
      合作者 马赫伯特(Herbert Ma)/ Yogesh Verma A01066502 / A01074571 状态-100%完成 等级-100%
    • 遗传算法 遗传算法 遗传算法 遗传算法
      遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗遗传算法……遗传算法……遗传算法……遗传算法……遗传算法……遗传...
    • 遗传算法
      遗传算法 埃斯特·塞拉·埃尔·莫多·德·康科塔诺斯·西古斯塔恩