💥💥💞💞欢迎来到本博客❤️❤️💥💥
🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。
⛳️座右铭:行百里者,半于九十。
📋📋📋本文目录如下:🎁🎁🎁
目录
💥1 概述
📚2 运行结果
2.1 焊接梁设计
2.2 拉伸压缩弹簧设计
2.3 压力容器设计问题
2.4 悬臂梁设计问题
🌈3 Matlab代码实现
🎉4 参考文献
💥1 概述
本文基于ES-PSO算法在设计问题上的实现.这里使用有四个问题。
ES的灵感来自鹰的觅食行为。它使用不同的算法进行全局搜索和本地搜索。ES 是一种两阶段方法。在这里,使用ES改进了Particel Swarm优化(PSO)算法。这种方法用于一些设计问题;焊接梁设计,拉伸/压缩,压力容器,悬臂梁设计。
📚2 运行结果
2.1 焊接梁设计

2.2 拉伸压缩弹簧设计

2.3 压力容器设计问题

2.4 悬臂梁设计问题

部分代码:
%______________________________________________________________________________________
 % cantilever beam design problem
 %______________________________________________________________________________________
function o=Obj_function4(x)
 o = [0];
 % 
  o(1)=0.0624*(x(1) + x(2) + x(3) + x(4) + x(5));
 %o(2)=65856000/(30*10^6*x(4)*x(3)^3);
 o=o+getnonlinear(x);
function Z=getnonlinear(x)
 Z=0;
 % Penalty constant
 lam=10^10;
g(1)=(61/(x(1)^3)) + (37/(x(2)^3)) + (19/(x(3)^3)) + (7/(x(4)^3)) + (1/(x(5)^3)) - 1;
 % No equality constraint in this problem, so empty;
 geq=[];
% Apply inequality constraints
 for k=1:length(g),
     Z=Z+ lam*g(k)^2*getH(g(k));
 end
 % Apply equality constraints
 for k=1:length(geq),
    Z=Z+lam*geq(k)^2*getHeq(geq(k));
 end
% Test if inequalities hold
 % Index function H(g) for inequalities
 function H=getH(g)
 if g<=0,
     H=0;
 else
     H=1;
 end
 % Index function for equalities
 function H=getHeq(geq)
 if geq==0,
    H=0;
 else
    H=1;
 end
 % ----------------- end ------------------------------
🌈3 Matlab代码实现
🎉4 参考文献
部分理论来源于网络,如有侵权请联系删除。


















![[oeasy]python0026_刷新时间_延迟时间_time_sleep_死循环_while_True](https://img-blog.csdnimg.cn/img_convert/91580880b62f8b8c760d1aa2bbeaf8c8.png)

