Labfans是一个针对大学生、工程师和科研工作者的技术社区。 论坛首页 | 联系我们(Contact Us)
MATLAB爱好者论坛-LabFans.com
返回   MATLAB爱好者论坛-LabFans.com > 人工智能 > 进化计算
进化计算 A discussion board for Evolutionary Computation.
回复
 
主题工具 显示模式
旧 2010-03-28, 02:13   #1
oudinghua
初级会员
 
注册日期: 2009-09-15
帖子: 8
声望力: 0
oudinghua 正向着好的方向发展
默认 matlab遗传算法工具箱reins()函数使用问题?

在用遗传算法求解函数最大化问题时,在用函数[Chrom, ObjVCh] = reins(Chrom, SelCh, SUBPOP, InsOpt, ObjVCh, ObjVSel)进行重组操作时,ObjVCh与ObjVSel没有取反,这样做会影响求解结果吗?因为我看《遗传算法工具箱及其应用》-雷英杰一书中所说的,reins()函数是根据适应度来选择个体和被代替个体的,也就是ObjVSel中个体目标函数越小则月容易被选择,但是,我做的是最大化问题,应该选目标函数大的去代替目标函数小的,没有对函数值取反,这样是不是错了,着急啊,要交成果了,高手指点,下边是我的代码,请老师没指教!

Chrom=[Fulla2,Fulla3,Fulla5,Fulla6];
objv=Fullgoalfun(Chrom);
gen=0;
while gen<=FullMAXGEN
Fitnv=ranking(-objv);
Selch=select('sus',Chrom,Fitnv,FullGGAP);
Selch=recombin('xovdp',Selch,FullPc);
f=[0,0,0,0;...
FullQ,FullQ,FullS,FullS];
Selch=mutate('mutbga',Selch,f,[FullPm,1]);
Objvsel=Fullgoalfun(Selch);
[Chrom,objv]=reins(Chrom,Selch,1,[1 1],objv,Objvsel);
gen=gen+1;
alltrace(gen,1)=max(objv);
alltrace(gen,2)=sum(objv)/length(objv);
end

此帖于 2010-03-28 11:34 被 oudinghua 编辑。 原因: 函数写错
oudinghua 当前离线   回复时引用此帖
回复

主题工具
显示模式

发帖规则
不可以发表新主题
不可以发表回复
不可以上传附件
不可以编辑自己的帖子

启用 BB 代码
论坛启用 表情符号
论坛启用 [IMG] 代码
论坛禁用 HTML 代码



所有时间均为北京时间。现在的时间是 21:39


Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.