登录论坛

查看完整版本 : 遗传算法


kingdom_535
2008-09-16, 17:44
各位大侠:
我做的是钢管混凝土构件的优化,柱的截面尺寸为d*t=120*5。其中d*t分别为矩形截面边长和钢管的壁厚。在用GAOT工具箱优化的时候总得不得好的结果,并且感觉约束条件没用上。
约束条件g1=d.^2*(1.18+0.85*4*t*(d-t)*215/(15*(d-2*t).^2))*15 是承载力约束
g2=15*(d-2*t).^2/(215*4*t*(d-t)+15*(d-2*t).^2) 是含刚率约束
编制的目标函数是
function[sol eval]=zyh(sol,options)
d=sol(1);
t=sol(2);
r1=0.1;
r2=0.8;
g1=d.^2*(1.18+0.85*4*t*(d-t)*215/(15*(d-2*t).^2))*15;
g2=15*(d-2*t).^2/(215*4*t*(d-t)+15*(d-2*t).^2);
if ((g1>=717390)&(g1<=755147)&(g2>=0.1)&(g2<=0.7))
eval=56991*4*t*(d-t)*360+470*(d-2*t).^2*360;
else
eval=56991*4*t*(d-t)*360+470*(d-2*t).^2*360+r1*g1+r2*g2;
end
eval=-eval;

d、t的范围分别是(110-120)、(4-5)。优化后得到的结果d=111.6,t=4.6。把这个结果带入到g1中得到的结果是652920 没有满足g1的下限。不知道是怎么回事!!哪位帮帮忙啊!!