fitness.m

来自「毕业设计_基于遗传算法的曲轴优化设计研究」· M 代码 · 共 41 行

M
41
字号
function z=fitness(x)          %目标函数
la=25*10^(-3);
l0=20*10^(-3);
a=10*10^(-3);
T=100;
tao=144*10^6;
M=80;
sigma=124*10^6;

for i=1:length(x) 
   
 a=tao-T./((5088.448*x(i,2).^3)*(1-(x(i,1)./x(i,2)).^4))>0;
 b=sigma-10190.087*M./((x(i,4).^3)-(x(i,3)./x(i,4)).^4)>0;
 c=x(i,5)-0.5*x(i,2)>0;
 d=x(i,6)-0.5*x(i,4)>0;
 e=x(i,4)-x(i,3)>0;
 f=x(i,2)-x(i,1)>0;
 g=x(i,5)-x(i,6)>0;
 h=x(i,6)-5>0;
 k=x(i,5)-6.25>0;
 
 if  a==1 & b==1 & c==1 & d==1 & e==1 & f==1 & g==1 & h==1 & k==1;
 
  
z(i)=0.25*pi*la*(x(i,4).^2-x(i,3).^2)+...
 0.5*pi*l0*(x(i,2).^2-x(i,1).^2)+...
    2*a*(x(i,5)+x(i,6)).^2./sqrt(1-((x(i,5)-x(i,6))./(x(i,5)+x(i,6))).^2)+...
    (x(i,5).^2-x(i,6).^2)*acos((x(i,5)-x(i,6))./(x(i,5)+x(i,6)))+pi*x(i,5).^2;

 else 
     z(i)=0.25*pi*la*(x(i,4).^2-x(i,3).^2)+...
    0.5*pi*l0*(x(i,2).^2-x(i,1).^2)+...
    2*a*(x(i,5)+x(i,6)).^2./sqrt(1-((x(i,5)-x(i,6))./(x(i,5)+x(i,6))).^2)+...
    (x(i,5).^2-x(i,6).^2)*acos((x(i,5)-x(i,6))./(x(i,5)+x(i,6)))+pi*x(i,5).^2+...
    1000*(tao-T./((5088.448*x(i,2).^3)*(1-(x(i,1)./x(i,2)).^4)))+...
    1000*(sigma-10190.087*M./((x(i,4).^3)-(x(i,3)./x(i,4)).^4))+...
    1000*(x(i,5)-0.5*x(i,2))+...
    1000*(x(i,6)-0.5*x(i,4)); %100为罚因子
end
end

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?