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

📄 iterative.m

📁 用4个种群来优化函数
💻 M
字号:
function [individuals,avgfitness,bestfitness,bestchrom] = iterative(individuals,maxgen,sizepop,fselect,fcode,pcross,fcross,pmutation,fmutation,lenchrom,bound,bestfitness,bestchrom)%对每个种群进行100次遗传算法操作%参数参看main函数%%%编写日期 2008.4.5% 进化开始for i=1:maxgen    % 选择    individuals=Select(individuals,sizepop,fselect);     avgfitness=sum(individuals.fitness)/sizepop;    %交叉    individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,fcross,[i maxgen],fcode,bound);    % 变异    individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,fmutation,[i maxgen],fcode,bound);        % 计算适应度     for j=1:sizepop        x=Decode(lenchrom,bound,individuals.chrom(j,:),fcode); %解码        % 修改处        %individuals.fitness(j)=AimFunc(x,heli,id_data,0);        individuals.fitness(j)=Aimfunc(x);       end      %找到最小和最大适应度的染色体及它们在种群中的位置    [newbestfitness,newbestindex]=min(individuals.fitness);    [worestfitness,worestindex]=max(individuals.fitness);    % 代替上一次进化中最好的染色体    if bestfitness>newbestfitness        bestfitness=newbestfitness;        bestchrom=individuals.chrom(newbestindex,:);    end    individuals.chrom(worestindex,:)=bestchrom;    individuals.fitness(worestindex)=bestfitness;        avgfitness=sum(individuals.fitness)/sizepop;     %   trace=[trace;avgfitness bestfitness]; %记录每一代进化中最好的适应度和平均适应度end%进化结束trace=[avgfitness bestfitness];

⌨️ 快捷键说明

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