全部版块 我的主页
论坛 数据科学与人工智能 数据分析与数据科学 MATLAB等数学软件专版
6754 3
2010-11-18
我看到一篇文献,用gaot工具箱来做非线性规划的遗传算法,程序如下:
首先编写目标函数文件:
function[sol,eval]=rosenbrockMin(sol,options)
x1=sol(1);
x2=sol(2);
r1=0.1;
r2=0.8;
g1=x1-2*x2+1;
g2=x1.^2/4-x2.^2+1;
if(g1>=0)&(g2>=0)
    eval=(x1-2).^2+(x2-1).^2;
else
    eval=(x1-2).^2+(x2-1).^2+r1*g1+r2*g2;
end
eval=-eval;
变成调用主程序ga,m如下:
bounds=ones(2,1)*[-1,1];
[x,endPop,bestSols,trace]=ga(bounds,'rosenbrockMin');
x
bestSols
plot(trace(:,1),-trace(:,3),'b-',trace(:,1),-trace(:,2),'r-')
xlabel('Generation','fontsize',14);
ylabel('Fitness','fontsize',14);
运行出来的结果是
x =

     1     1    -1
bestSols =

    1.0000    0.8961    0.8664   -1.2364
    2.0000    0.9489    0.9557   -1.1067
    3.0000    1.0000    1.0000   -1.0000
  100.0000    1.0000    1.0000   -1.0000
可是人家得出的结果是
x=[1 1]
eval(x)=1 g1(x)=0 g2(x)=0.25
同样的程序为什么结果不同呢,求解
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

全部回复
2010-11-18 17:56:27
等会跑一下看看
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2010-11-20 10:37:24
2# MChan
程序跑的怎么样?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

2011-8-21 09:34:15
程序跑的怎么样?
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群