算法应用:工程优化设计(第2期)(含MATLAB代码)

这篇具有很好参考价值的文章主要介绍了算法应用:工程优化设计(第2期)(含MATLAB代码)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号:启发式算法讨论。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。

先放一个链接:

算法应用:基于DBO算法的工程优化设计(第1期)(含MATLAB代码)

这一期的推送是接之前的第1期。这些优化设计问题在一些外文或中文期刊上也被讨论和研究,实际上就是算法的进一步应用。所以大家在改进算法后,跑一跑测试集,验证算法性能,然后再应用到这些问题中。
 

这一期利用几种较新的智能优化算法去求解这些工程领域中的实际问题。选取了五种近几年的算法:蜣螂优化(DBO)、哈里斯鹰优化(HHO)、白鲸优化(BWO)、金豺优化(GJO)和蛇优化(SO)。不清楚这几种算法的,可以先看我往期的推送,了解它们的算法原理和计算流程。

2022年的DBO:蜣螂优化(DBO)算法(含MATLAB代码)

2019年的HHO:哈里斯鹰优化(HHO)算法(含MATLAB代码)

2022年的BWO:白鲸优化(BWO)算法(含MATLAB代码)

2022年的GJO:金豺优化(GJO)算法(含MATLAB代码)

2022年的SO:SO算法(含代码)

01 优化问题模型

工程领域有许多优化设计问题,接着上一期,今天介绍更复杂的6种:焊接梁设计、多盘离合器制动器设计问题、步进圆锥滑轮问题、减速机设计问题、行星轮系设计优化问题、机器人夹持器问题。这些优化设计都是在满足各种约束条件下,使得材料花销最少、或质量最小、或体积最小等。因此,它们的数学模型都是单目标或多目标的约束优化模型。今天介绍的6个问题和上期一样,都属于单目标约束优化。

1.1 焊接梁设计

如图1所示,焊接梁结构由梁a和连接到构件b的焊接组成,这个问题受到一些约束,包括:剪切应力(t)、梁内弯曲应力(O)、杆上屈曲载荷(Pe)和梁端挠度(8)。要解决这个问题,需要定位焊接梁设计的下列结构参数的可能组合:焊缝厚度(h)、夹紧棒材长度(I)、棒材高度(t)、棒材厚度(b)。这些参数用向量表示:x= [x1,x2,x3,x4],其中x1,x2,x3,x4分别代表h, I, t, b。

算法应用:工程优化设计(第2期)(含MATLAB代码)

图1 焊接梁设计

该问题的主要目标是设计成本最小的焊接梁。该问题包含5个约束条件,采用4个变量对焊接梁进行求解。这个问题的数学描述可以定义如下:

算法应用:工程优化设计(第2期)(含MATLAB代码)

1.2 多盘离合器制动器设计问题

算法应用:工程优化设计(第2期)(含MATLAB代码)

图2 多盘离合器制动器设计问题

该问题的主要目标是使多片离合器制动器的质量最小化。在该问题中,使用了5个整数决策变量,分别是内半径(ri)、外半径(ro)、圆盘厚度(t)、因子力(F)和若干摩擦面(Z),该问题的结构参数如图2所示。这个问题包含9个非线性约束。这个问题的定义如下:

算法应用:工程优化设计(第2期)(含MATLAB代码)

1.3 步进圆锥滑轮问题

算法应用:工程优化设计(第2期)(含MATLAB代码)

图3 步进圆锥滑轮问题

如图3所示,这个问题的主要目标是用5个变量使4个阶梯锥滑轮的重量最小化,其中4个变量是滑轮每一级的直径,最后一个变量是滑轮的宽度。该问题包含11个非线性约束,以确保发射功率必须在0.75 hp。这个问题的数学模型定义如下:

算法应用:工程优化设计(第2期)(含MATLAB代码)

1.4 减速机设计问题

算法应用:工程优化设计(第2期)(含MATLAB代码)

图4 减速机设计问题

减速器设计问题是一个工程设计问题。它有7个设计变量,如图4所示。本设计问题的主要目标是在满足以下约束条件的情况下使减速器的重量最小化:齿轮齿的弯曲应力、表面压力、轴的横向偏转、轴上的应力。有7个设计变量(z1-z7),如面宽(b),齿的模块(m),齿轮齿数(p),轴承之间的第一轴的长度(l1),轴承之间的第二轴的长度(l2),第一轴的直径(di),第二轴的直径(d2)。该问题的数学公式描述如下:

算法应用:工程优化设计(第2期)(含MATLAB代码)

1.5 行星轮系设计优化问题

这个问题的主要目标是使汽车齿轮传动比的最大误差最小化。为了使最大误差最小化,计算了自动行星传动系统的总齿数。该问题包含6个整数变量和11个不同几何约束和装配约束。这个问题可以定义如下:

算法应用:工程优化设计(第2期)(含MATLAB代码)

1.6 机器人夹持器问题

在该问题中,将机器人夹持器产生的最小力与最大力之间的差作为目标函数。该问题包含与机器人相关的7个设计变量和6个非线性设计约束。数学上,这个问题的定义如下:

算法应用:工程优化设计(第2期)(含MATLAB代码)

02 约束条件处理

约束处理方法主要分为3类:罚函数方法、可行规则方法和多目标方法。

因原理简单和易于实现,罚函数方法是目前应用广泛的约束处理方法之一。罚函数方法是在目标函数中加入一个惩罚函数将约束问题转换成一个无约束问题,该方法的难点在于罚函数的选择。常用的罚函数方法主要有3种:死罚函数方法、静态罚函数方法和自适应罚函数方法。

可行规则方法建立在可行解要优于不可行解的偏好基础上,3条比较规则为:可行解要优于不可行解;当两个都是可行解时,选择目标函数值小的解;当两个都是不可行解时,选择违反约束小的解。

近年来,多目标概念已经越来越多地用于进化计算中的约束处理问题,其思想是将约束转换成一个或多个目标。根据处理约束的不同原则,有两类多目标方法:一类是有两个目标的,如源目标函数和所有约束违反程函数;另一类是将每个约束看成一个目标。因此,对于有m个约束的约束问题来说,总共有m+1个目标函数。

惩罚函数是最流行的约束处理方法,因为它简单且易于实现。为了简单起见,这里使用文献[1]中的惩罚方法来处理这些工程优化设计问题的约束条件,这是一种常见的罚函数:

算法应用:工程优化设计(第2期)(含MATLAB代码)

G𝑖(𝒙)是不等式约束,H𝑗(𝒙)是等式约束,𝑝是不等式约束的数量,𝑞是等式约束的数量,𝑎𝑖和𝑏𝑗是正的常数,𝜂和𝜆等于1或2。对于这种惩罚方法,当候选解违反任何约束时,目标函数值都会增加,将种群从不可行解推入可行域内。

这里是采用了文献[1]中一个比较经典的罚函数方法,旨在做简单的演示。实际上,大家也可以改用其他的罚函数方法,例如文献[2]中提出的Oracle罚函数方法,或者使用其他的约束处理技术。此外,利用智能优化算法求解约束优化问题时,除了算法上的改进外,也可以在约束条件的处理技术上做创新。比如文献[2]提出了一种改进的Oracle罚函数方法,并嵌入到差分进化(DE)算法中。文献[3]在算法和约束处理上都做了改进。

03 实验结果

将约束处理后的数学模型,利用上述的五种智能优化算法进行求解。为了对比性能,记录了它们在10次运行结果中的最差值(Worst)、中位数(Median)、最佳值(Best)、均值(Mean)和标准差(Std)。这里是为了方便只运行了10次,实际上,为了保持科学性,应该是至少要运行三五十次~

三种算法最大迭代次数为1000。取10次运行中相应指标结果进行展示。对比结果如表1~表6所示,其中,五种算法中的最优结果用粗体表示;收敛曲线如图5~图10所示。这里就不再进一步做分析和讨论了。

算法应用:工程优化设计(第2期)(含MATLAB代码)

算法应用:工程优化设计(第2期)(含MATLAB代码)

算法应用:工程优化设计(第2期)(含MATLAB代码)

算法应用:工程优化设计(第2期)(含MATLAB代码)

算法应用:工程优化设计(第2期)(含MATLAB代码)

算法应用:工程优化设计(第2期)(含MATLAB代码)

(下面需要注意的是,收敛曲线画的是均值收敛曲线。运行了10次,取每一代的平均值来画。也可以使用中位数。因为是随机算法,有可能你的算法就偶然一次收敛效果很优秀,然后你就用那一次来画,并放到论文里,并宣称很NB。这样不具科学性,应该多次运行,画均值收敛曲线~)

算法应用:工程优化设计(第2期)(含MATLAB代码)

图5 Welded beam design

算法应用:工程优化设计(第2期)(含MATLAB代码)

图6 Multiple disk clutch brake design problem

算法应用:工程优化设计(第2期)(含MATLAB代码)

图7 Step-cone pulley problem

算法应用:工程优化设计(第2期)(含MATLAB代码)

图8 Speed reducer design problem

算法应用:工程优化设计(第2期)(含MATLAB代码)

图9 Planetary gear train design optimization problem

算法应用:工程优化设计(第2期)(含MATLAB代码)

图12 Robot gripper problem

为了有更多的对比,以下这些近两年的文章也讨论了这些复杂的工程约束优化问题,可使用里面的数据做进一步对比,并且里面有更规范的数学描述:白冠鸡算法(COOT) [4]、变色龙算法(CSA) [5]、帝企鹅优化(AFO) [6]、非洲秃鹫优化算法(AVOA) [7]、金鹰优化(GEO) [8]、气体溶解度优化(HGSO) [9]、野狗优化算法(DOA) [10]……

04 MATLAB代码

MATLAB代码可通过复制下方链接进入获得,代码附有详细注释。其中,main.m是主函数,直接运行即可;DBO.m是算法的代码(其余对应的就是HHO.m、BWO.m、GJO.m和SO.m);Problem_range.m是6个工程优化设计问题的基本性质,规定了问题的维度、各决策变量的取值范围;Problem_models.m是6个工程优化设计问题的数学模型,即目标函数、约束条件,以及使用罚函数处理约束的过程;Bound_limit.m是边界约束处理,保证解的决策变量不超出取值范围。

蜣螂优化(DBO)算法在工程优化设计中的应用(第2期):

哈里斯鹰优化(HHO)算法在工程优化设计中的应用(第2期):

白鲸优化(BWO)算法在工程优化设计中的应用(第2期):

金豺优化(GJO)算法在工程优化设计中的应用(第2期):

蛇优化(SO)算法在工程优化设计中的应用(第2期):

(公众号里有,关注:启发式算法讨论)

05 参考文献

[1] Coello C A C. Theoretical and numerical constraint-handling techniques used with evolutionary algorithms: a survey of the state of the art[J]. Computer methods in applied mechanics and engineering, 2002, 191(11-12): 1245-1287.

[2] Dong, M., Wang, N., Cheng, X., & Jiang, C.: Composite differential evolution with modified oracle penalty method for constrained optimization problems. Mathematical problems in engineering, 2014, 1-15 (2014).

[3] 汪逸晖, 高亮. 乌鸦搜索算法的改进及其在工程约束优化问题中的应用[J]. 计算机集成制造系统, 2021, 27(07): 1871-1883.

[4] Naruei I, Keynia F. A new optimization method based on COOT bird natural life model[J]. Expert Systems with Applications, 2021, 183: 115352.

[5] Braik M S . Chameleon Swarm Algorithm: A Bio-inspired Optimizer for Solving Engineering Design Problems[J]. Expert Systems with Applications, 2021, 174(1):114685.

[6] Yang Z ,  Deng L B ,  Wang Y , et al. Aptenodytes Forsteri Optimization: Algorithm and applications[J]. Knowledge-Based Systems, 2021, 232:107483-.

[7] Abdollahzadeh B ,  Gharehchopogh F S ,  Mirjalili S . African Vultures Optimization Algorithm: A New Nature-Inspired Metaheuristic Algorithm for Global Optimization Problems[J]. Computers & Industrial Engineering, 2021, early:1.

[8] Mohammadi-Balani A , MD Nayeri,  Azar A , et al. Golden Eagle Optimizer: A nature-inspired metaheuristic algorithm[J]. Computers & Industrial Engineering, 2020, 152:107050.

[9] Hashim F A ,  Houssein E H ,  Mai S M , et al. Henry gas solubility optimization: A novel physics-based algorithm[J]. Future Generation Computer Systems, 2019, 101.

[10] Peraza-Vázquez H, Peña-Delgado A F, Echavarría-Castillo G, et al. A bio-inspired method for engineering design optimization inspired by dingoes hunting strategies[J]. Mathematical Problems in Engineering, 2021, 2021: 1-19.文章来源地址https://www.toymoban.com/news/detail-497456.html

到了这里,关于算法应用:工程优化设计(第2期)(含MATLAB代码)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【单目标优化算法】海鸥优化算法(Matlab代码实现)

    💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳ 座右铭: 行百里者,半于九十。 📋 📋 📋 本文目录如下: 🎁 🎁 🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 编

    2024年02月03日
    浏览(33)
  • 【单目标优化算法】杂草优化算法(Matlab代码实现)

    💥 💥 💞 💞 欢迎来到本博客 ❤️ ❤️ 💥 💥 🏆 博主优势: 🌞 🌞 🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳ 座右铭: 行百里者,半于九十。 📋 📋 📋 本文目录如下: 🎁 🎁 🎁 目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码实现 杂

    2024年02月11日
    浏览(33)
  • 蜣螂优化(DBO)算法(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号: 启发式算法讨论 。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。 “ 今天

    2024年02月02日
    浏览(31)
  • 浣熊优化算法(COA)(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号: 启发式算法讨论 。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。   “今

    2024年02月10日
    浏览(22)
  • 灰狼优化(GWO)算法(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号: 启发式算法讨论 。 文献[1]中的灰狼优化(Grey Wolf Optimizer, GWO)算法是2014年提出的一种群智能优化算法。严格来讲,应该叫灰狼优化器。GWO简单易

    2024年02月05日
    浏览(44)
  • 单目标应用:粒子群优化算法(PSO)求解微电网优化MATLAB

    微电网优化模型介绍: 微电网多目标优化调度模型简介_IT猿手的博客-CSDN博客 (1)部分代码 (2)部分结果

    2024年02月06日
    浏览(41)
  • 星鸦优化算法(NOA)(含MATLAB代码)

    先做一个声明:文章是由我的个人公众号中的推送直接复制粘贴而来,因此对智能优化算法感兴趣的朋友,可关注我的个人公众号: 启发式算法讨论 。我会不定期在公众号里分享不同的智能优化算法,经典的,或者是近几年提出的新型智能优化算法,并附MATLAB代码。 “星鸦

    2024年02月11日
    浏览(95)
  • MATLAB算法实战应用案例精讲-【智能优化算法】多目标算法性能评价指标

    在评估多目标优化算法的效果时,我们通常使用五个主要指标:GD(Generational Distance)、IGD(Inverted Generational Distance)、Hypervolume、Spacing和Spread。 GD 和 IGD 是用于测量算法生成的解集合与真实前沿解之间的距离的指标。具体而言,GD测量了所有生成解与真实前沿解之间的平均欧

    2024年02月15日
    浏览(39)
  • 微电网优化MATLAB:基于麻雀搜索算法SSA的微电网优化调度(提供MATLAB代码)

    参考文献: [1]李兴莘,张靖,何宇,等.基于改进粒子群算法的微电网多目标优化调度[J].电力科学与工程, 2021, 37(3):7 麻雀搜索算法 (Sparrow Search Algorithm, SSA) 是一种新型的群智能优化算法,于2020年提出,主要是受麻雀的觅食行为和反捕食行为的启发。SSA是一种基于模拟麻雀自然食

    2024年01月19日
    浏览(38)
  • 微电网优化MATLAB:遗传算法(Genetic Algorithm,GA)求解微电网优化(提供MATLAB代码)

    微电网优化是指通过对微电网系统中各个组件的运行状态进行监测和调节,以实现微电网系统的高效运行和能源利用的最大化。微电网是由多种能源资源(如太阳能、风能、储能等)和负载(如建筑、工业设备等)组成的小型电力系统,可以独立运行或与主电网互联。微电网

    2024年01月21日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包