永发信息网

跪求一份多目标优化遗传算法 matlab源代码,不甚感激。邮 箱991882239

答案:1  悬赏:40  手机版
解决时间 2021-11-27 15:57
跪求一份多目标优化遗传算法 matlab源代码,不甚感激。邮 箱991882239
最佳答案
我给你一个标准遗传算法程序供你参考:
该程序是遗传算法优化BP神经网络函数极值寻优:
%% 该代码为基于神经网络遗传算法的系统极值寻优
%% 清空环境变量
clc
clear

%% 初始化遗传算法参数
%初始化参数
maxgen=100; %进化代数,即迭代次数
sizepop=20; %种群规模
pcross=[0.4]; %交叉概率选择,0和1之间
pmutation=[0.2]; %变异概率选择,0和1之间

lenchrom=[1 1]; %每个变量的字串长度,如果是浮点变量,则长度都为1
bound=[-5 5;-5 5]; %数据范围

individuals=struct('fitness',zeros(1,sizepop), 'chrom',[]); %将种群信息定义为一个结构体
avgfitness=[]; %每一代种群的平均适应度
bestfitness=[]; %每一代种群的最佳适应度
bestchrom=[]; %适应度最好的染色体

%% 初始化种群计算适应度值
% 初始化种群
for i=1:sizepop
%随机产生一个种群
individuals.chrom(i,:)=Code(lenchrom,bound);
x=individuals.chrom(i,:);
%计算适应度
individuals.fitness(i)=fun(x); %染色体的适应度
end
%找最好的染色体
[bestfitness bestindex]=min(individuals.fitness);
bestchrom=individuals.chrom(bestindex,:); %最好的染色体
avgfitness=sum(individuals.fitness)/sizepop; %染色体的平均适应度
% 记录每一代进化中最好的适应度和平均适应度
trace=[avgfitness bestfitness];

%% 迭代寻优
% 进化开始
for i=1:maxgen
i
% 选择
individuals=Select(individuals,sizepop);
avgfitness=sum(individuals.fitness)/sizepop;
%交叉
individuals.chrom=Cross(pcross,lenchrom,individuals.chrom,sizepop,bound);
% 变异
individuals.chrom=Mutation(pmutation,lenchrom,individuals.chrom,sizepop,[i maxgen],bound);

% 计算适应度
for j=1:sizepop
x=individuals.chrom(j,:); %解码
individuals.fitness(j)=fun(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
%进化结束

%% 结果分析
[r c]=size(trace);
plot([1:r]',trace(:,2),'r-');
title('适应度曲线','fontsize',12);
xlabel('进化代数','fontsize',12);ylabel('适应度','fontsize',12);
axis([0,100,0,1])
disp('适应度 变量');
x=bestchrom;
% 窗口显示
disp([bestfitness x]);
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
为什么有些人在学会了东西以后,就看不起那些
开运货卡车自己买的开,一个月能赚大概多少钱
现在的工作很磨人,每天都在被拒绝,而且自己
鹰击-62的技术参数
diss是什么意思
英年早逝的宋哲宗是不是宋朝最帅的君主
离家三四里 打一个数字
订婚在即,求四字祝福语,要带凯或者强字
蛋鸭一般养多长时间出栏
三星note3n9008v刚刚出的时候的出厂价是多少
金蝶k3/wise系统产品预测到已经关闭了,m
可以帮我想一个姓氏是冉的古风句子么?
不知道怎么办,特别想处理好人际关系,在
影响营业利润的因素有哪些
汽油国标4变国标5后,我家车子加啥号汽油
推荐资讯
史书中的“邺城三台”是指曹操修建的金虎台,
9.5÷(0.4×1.6)的简便计算
艺甲天下地址在什么地方,我要处理点事!
形容闺蜜的四字成语有哪些?
宝贝·计画地址在哪,我要去那里办事,
一吨缅甸花梨原木,加工做家具,床,柜,饭桌
大门上能不能用二龙抢珠
9/10-x=3/5
估计2016年报考白银市八中的有多少人
it's skin的能量10精华原液这三瓶功效是
whose的先行词可以是什么?
高达模型消色笔问题!
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?