智能优化算法应用:基于蜣螂算法的工程优化案例


文章目录

  • 智能优化算法应用:基于蜣螂算法的工程优化案例
  • 1.蜣螂算法
  • 2.压力容器设计问题
  • 3.三杆桁架设计问题
  • 4.拉压弹簧设计问题
  • 5.Matlab代码
  • 6.Python代码



摘要:本文介绍利用蜣螂搜索算法,对工程优化案例问题进行智能寻优。

1.蜣螂算法


2.压力容器设计问题

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python


图1.压力容器示意图

压力容器设计问题的目标是使压力容器制作(配对、成型和焊接)成本最小,压力容器的设计如图1所示,压力容器的两端都有盖子封顶,头部一端的封盖为半球状. 智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_02 是不考虑头部的圆柱体部分的截面长度,智能优化算法应用:基于蜣螂优化算法的工程优化案例_算法_03是圆柱体部分的内壁直径,智能优化算法应用:基于蜣螂优化算法的工程优化案例_优化算法_04智能优化算法应用:基于蜣螂优化算法的工程优化案例_算法_05分别表示圆柱体部分壁厚和头部的壁厚,智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_02智能优化算法应用:基于蜣螂优化算法的工程优化案例_算法_03智能优化算法应用:基于蜣螂优化算法的工程优化案例_优化算法_04智能优化算法应用:基于蜣螂优化算法的工程优化案例_算法_05 即为压力容器设计问题的四个优化变量. 问题的目标函数和四个优化约束表示如下:
智能优化算法应用:基于蜣螂优化算法的工程优化案例_算法_10

智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_11

约束条件为:
智能优化算法应用:基于蜣螂优化算法的工程优化案例_优化算法_12

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_13

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_14

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_15

智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_16

参数设定:

clear all 
clc
SearchAgents_no=100; %种群数量
Max_iteration=500; %设定最大迭代次数
dim = 4;%维度为4,即x1-x4
lb = [0,0,10,10];%参数下边界
ub =[100,100,200,200];%参数上边界
fobj = @(x) funP(x);

实验结果:

智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_17

3.三杆桁架设计问题

三杆桁架设计问题的目的是通过调整横截面积( 智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_18 )来最小化三杆桁架的体积。该三杆式桁架在每个桁架构件上受到应力(σ )约束,如图 2所示。该优化问题具有一个非线性适应度函数、3个非线性不等式约束和两个连续决策变量,如下所示:

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_19


图2.三杆桁架设计问题示意图

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_20

约束条件为:
智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_21

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_22

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_23

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_24

参数设定:

clear all 
clc
SearchAgents_no=100; %种群数量
Max_iteration=500; %设定最大迭代次数
dim = 2;%维度为2,即x1-x2
lb = [0,0];%参数下边界
ub =[1,1];%参数上边界
fobj = @(x) funS(x);

实验结果:

智能优化算法应用:基于蜣螂优化算法的工程优化案例_优化算法_25

4.拉压弹簧设计问题

如图 3 所示,拉压弹簧设计问题的目的是在满足最小挠度、震动频率和剪应力的约束下,最小化拉压弹簧的重量。该问题由 3 个连续的决策变量组成,即弹簧线圈直径(智能优化算法应用:基于蜣螂优化算法的工程优化案例_算法_26智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_27 )、弹簧簧圈直径(智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_28智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_29)和绕线圈数(智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_30智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_31 )。数学模型表示公式如下:

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_32


图3.拉压弹簧设计问题示意图

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_33

约束条件为:
智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_34

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_35

智能优化算法应用:基于蜣螂优化算法的工程优化案例_工程优化_36

智能优化算法应用:基于蜣螂优化算法的工程优化案例_人工智能_37

智能优化算法应用:基于蜣螂优化算法的工程优化案例_python_38

参数设定:

clear all 
clc
SearchAgents_no=100; %种群数量
Max_iteration=500; %设定最大迭代次数
dim = 3;%维度为3,即x1-x3
lb = [0.05,0.25,2];%参数下边界
ub =[2,1.3,15];%参数上边界
fobj = @(x) funS(x);

实验结果:

智能优化算法应用:基于蜣螂优化算法的工程优化案例_优化算法_39

5.Matlab代码

6.Python代码