引言

文献中除了评估算法在测试函数上的性能外,还可以通过实际的工程设计问题来测试其有效性。前面几期推文已推出matlab版的270+种优化算法解决12种工程设计问题的代码。有:

1.张力/压缩弹簧设计问题,2.压力容器设计问题,3.三杆桁架设计问题,4.焊接梁设计问题 ,5.减速器设计问题,6.齿轮系设计问题,7.滚动轴承设计问题,8.悬臂梁设计问题,9.多盘离合器制动器设计问题,10.步进圆锥滑轮问题,11.行星轮系设计优化问题,12.机器人夹持器优化问题。

这期继续加大力度,推出python版的170+种优化算法解决12种工程设计问题的代码。

开源库mealpy提供了超170种经典和最新发表的优化算法(您想要的它都有!群智能优化算法Python库!!!)。需要安装mealpy。

pip install mealpy==2.5.3

算法的调用在一网打尽!170+种优化算法求解11种cec测试函数(附Python代码)中介绍。以鲸鱼优化算法(WOA)和灰狼优化算法(GWO)为例。设置了最大迭代次数epoch=100,种群数量pop_size=50。有两种调用方式,import的方式也不一样。当然,还有其他170多种算法供君使用第一种方式可以从mealpy.swarm_based ,mealpy.human_based ,mealpy.math_based等等中import更多的算法。

第二种,直接在get_optimizer_by_name中输入算法对应的名字。似乎第二种方式更便利一些。随后,利用model.solve(problem_dict)求解优化问题。

注意:有些算法输入并不只有(epoch,pop_size)两个输入,还需要查阅mealpy具体的优化算法的定义和输入,依照python的格式灵活使用。

''' 调用优化算法 '''epoch = 100 #最大迭代次数pop_size = 50 #种群数量''' 第一种方式,需:from mealpy.swarm_based import WOA,GWO '''# woa_model = WOA.OriginalWOA(epoch, pop_size)# gwo_model = GWO.OriginalGWO(epoch, pop_size)''' 第二种方式,需:from mealpy import get_optimizer_by_name'''woa_model = get_optimizer_by_name("OriginalWOA")(epoch, pop_size)
gwo_model = get_optimizer_by_name("OriginalGWO")(epoch, pop_size)

'''求解 '''woa_best_x, woa_best_f = woa_model.solve(problem_dict)gwo_best_x, gwo_best_f = gwo_model.solve(problem_dict)

收敛曲线对比

Python代码下载

微信搜索并关注-优化算法侠,或扫描下方二维码关注,以算法名字搜索历史文章即可下载。

大放送!170+种优化算法解决12种工程设计问题(附python代码)

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐