24小时热门版块排行榜    

查看: 3528  |  回复: 1

tanzouqing

新虫 (小有名气)

[求助] Matlab的遗传算法求解多目标优化问题

下面是经典的基于Matlab的遗传算法的多目标优化程序,
我的疑问:
为何没有为何没有”重插入子代的新种群”这一步骤?
如reins重新插入函数

M文件func1.m
function f1=func1(x)                                                
f1=x(:,1).*x(:,1)/4+x(:,2).*x(:,2)/4;      %第一目标函数

M文件func2.m
function f2=func2(x)                                                
f2=x(:,1).*(1-x(:,2))+10;            %第二目标函数

M文件GA-func.m
function  GA()
clear;clc;close all
NIND=100;                           %个体数目
MAXGEN=50;                        %最大遗传代数
NVAR=2;                            %变量个数
PRECI=20;                          %变量的二进制位数
GGAP=0.9;                           %代沟
trace1=[];trace2=[];trace3=[];            %性能跟踪
%建立区域描述器
% rep([PRECI],[1,NVAR])
FieldD=[rep([PRECI],[1,NVAR]);rep([1;2],[1,NVAR]);rep([1;0;1;1],[1,NVAR])];
Chrom=crtbp(NIND,NVAR*PRECI);             %初始种群
v=bs2rv(Chrom,FieldD) ;                  %初始种群十进制转换
gen=1;
while gen     [NIND,N]=size(Chrom);
    M=fix(NIND/2);
   
    ObjV1=func1(v(1:M,);                %分组后第一目标函数值
    FitnV1=ranking(ObjV1);                  %分配适应度值
    SelCh1=select('sus',Chrom(1:M,,FitnV1,GGAP);               %选择
   
    ObjV2=func2(v(M+1:NIND,);            %分组后第二目标函数值
    FitnV2=ranking(ObjV2);                   %分配适应度值
    SelCh2=select('sus',Chrom(M+1:NIND,,FitnV2,GGAP);          %选择
   
    SelCh=[SelCh1;SelCh2];                   %合并
   
    SelCh=recombin('xovsp',SelCh,0.7);          %重组
    Chrom=mut(SelCh);                       %变异
    v=bs2rv(Chrom,FieldD);                   %二进制转化为十进制
   
    trace1(gen,1)=min(func1(v));
    trace1(gen,2)=sum(func1(v))/length(func1(v));
    trace2(gen,1)=min(func2(v));
    trace2(gen,2)=sum(func2(v))/length(func2(v));
    trace3(gen,1)=min(func1(v)+func2(v));
    trace3(gen,2)=sum(func1(v))/length(func1(v))+sum(func2(v))/length(func2(v));
    gen=gen+1;
end
figure(1);clf;
plot(trace1(:,1));hold on;plot(trace1(:,2),'-.');
plot(trace1(:,1),'.');plot(trace1(:,2),'.');grid on;
legend('解的变化','种群均值的变化')
xlabel('迭代次数');ylabel('第一目标函数值');
figure(2);clf;
plot(trace2(:,1));hold on;
plot(trace2(:,2),'-.');
plot(trace2(:,1),'.');
plot(trace2(:,2),'.');grid;
legend('解的变化','种群均值的变化');
xlabel('迭代次数');ylabel('第二目标函数值');
figure(3);clf;
plot(trace3(:,1));hold on;
plot(trace3(:,2),'-.');
plot(trace3(:,1),'.');
plot(trace3(:,2),'.');grid;
legend('解的变化','种群均值的变化');
xlabel('迭代次数');ylabel('目标函数值之和');
figure(4);clf;plot(func1(v));hold on;
plot(func2(v),'r-.');grid;

[v,func1(v),func2(v)]                        %查看数值结果
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2012-10-31 19:20:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 tanzouqing 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 07:09 by 4wMiSEwB6436
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +24 医学老男孩 2026-08-13 50/2500 2026-08-15 06:38 by 学员8dgXkO
[考博] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +4 k0dTPqJtl0jt 2026-08-14 5/250 2026-08-15 04:45 by 4wMiSEwB6436
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 7lpolszZVXgi 2026-08-14 5/250 2026-08-15 04:41 by 4wMiSEwB6436
[硕博家园] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 HFw0lei2R37i 2026-08-14 4/200 2026-08-15 04:17 by 4wMiSEwB6436
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +11 Tide man 2026-08-10 12/600 2026-08-15 02:12 by home3163
[硕博家园] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 k0dTPqJtl0jt 2026-08-14 4/200 2026-08-15 01:28 by 4wMiSEwB6436
[基金申请] 各位道友,我要去昆明玩几天,回来见。 +7 Tide man 2026-08-14 8/400 2026-08-15 01:11 by arzu_hma
[论文投稿] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-15 00:16 by 4wMiSEwB6436
[教师之家] 售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急 +3 HFw0lei2R37i 2026-08-14 5/250 2026-08-14 22:32 by 4wMiSEwB6436
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +6 majunge000 2026-08-11 8/400 2026-08-14 14:44 by 医学老男孩
[硕博家园] 请教兼职经验 +3 是阿文鸭 2026-08-09 3/150 2026-08-14 12:07 by HER12025
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[硕博家园] 一作与独作在应聘高校教师时区别大吗 +3 mbygzh 2026-08-08 4/200 2026-08-13 19:31 by 龙-樱
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 分享一下我之前已中青C的计划书的filecode +4 布布和一二 2026-08-11 5/250 2026-08-13 12:56 by cratir
[基金申请] 国自然结果 +4 Vierhys 2026-08-10 8/400 2026-08-10 15:06 by Vierhys
[基金申请] 这样的filecode谁见过 +11 布布和一二 2026-08-08 22/1100 2026-08-10 11:10 by wmfsnow
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
[基金申请] 关于filecode,很负责任的告诉大家 +6 爱看书的可乐 2026-08-08 7/350 2026-08-08 22:13 by a_niu
信息提示
请填处理意见