0


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

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

文章目录

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

1.蜣螂算法

蜣螂算法具体原理请参照:https://blog.csdn.net/u011835903/article/details/128280084

2.压力容器设计问题

图1.压力容器示意图

压力容器设计问题的目标是使压力容器制作(配对、成型和焊接)成本最小,压力容器的设计如图1所示,压力容器的两端都有盖子封顶,头部一端的封盖为半球状.

    L
   
  
  
   L
  
 
L 是不考虑头部的圆柱体部分的截面长度,

 
  
   
    R
   
  
  
   R
  
 
R是圆柱体部分的内壁直径,

 
  
   
    
     T
    
    
     s
    
   
  
  
   T_s
  
 
Ts​ 和 

 
  
   
    
     T
    
    
     h
    
   
  
  
   T_h
  
 
Th​分别表示圆柱体部分壁厚和头部的壁厚,

 
  
   
    L
   
  
  
   L
  
 
L、

 
  
   
    R
   
  
  
   R
  
 
R、

 
  
   
    
     T
    
    
     s
    
   
  
  
   T_s
  
 
Ts​ 和 

 
  
   
    
     T
    
    
     h
    
   
  
  
   T_h
  
 
Th​ 即为压力容器设计问题的四个优化变量. 问题的目标函数和四个优化约束表示如下:

 
  
   
    
     x
    
    
     =
    
    
     [
    
    
     
      x
     
     
      1
     
    
    
     ,
    
    
     
      x
     
     
      2
     
    
    
     ,
    
    
     
      x
     
     
      3
     
    
    
     ,
    
    
     
      x
     
     
      4
     
    
    
     ]
    
    
     =
    
    
     [
    
    
     
      T
     
     
      s
     
    
    
     ,
    
    
     
      T
     
     
      h
     
    
    
     ,
    
    
     R
    
    
     ,
    
    
     L
    
    
     ]
    
   
   
     x=[x_1,x_2,x_3,x_4]=[T_s,T_h,R,L] 
   
  
 x=[x1​,x2​,x3​,x4​]=[Ts​,Th​,R,L]

 
  
   
    
     M
    
    
     i
    
    
     n
    
    
     f
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     0.6224
    
    
     
      x
     
     
      1
     
    
    
     
      x
     
     
      3
     
    
    
     
      x
     
     
      4
     
    
    
     +
    
    
     1.7781
    
    
     
      x
     
     
      2
     
    
    
     
      x
     
     
      3
     
     
      2
     
    
    
     +
    
    
     3.1661
    
    
     
      x
     
     
      1
     
     
      2
     
    
    
     
      x
     
     
      4
     
    
    
     +
    
    
     19.84
    
    
     
      x
     
     
      1
     
     
      2
     
    
    
     
      x
     
     
      3
     
    
   
   
     Minf(x)=0.6224x_1x_3x_4+1.7781x_2x_3^2+3.1661x_1^2x_4+19.84x_1^2x_3 
   
  
 Minf(x)=0.6224x1​x3​x4​+1.7781x2​x32​+3.1661x12​x4​+19.84x12​x3​

约束条件为:

      g
     
     
      1
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     −
    
    
     
      x
     
     
      1
     
    
    
     +
    
    
     0.0193
    
    
     
      x
     
     
      3
     
    
    
     ≤
    
    
     0
    
   
   
     g_1(x)=-x_1+0.0193x_3\leq0 
   
  
 g1​(x)=−x1​+0.0193x3​≤0

 
  
   
    
     
      g
     
     
      2
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     −
    
    
     
      x
     
     
      2
     
    
    
     +
    
    
     0.00954
    
    
     
      x
     
     
      3
     
    
    
     ≤
    
    
     0
    
   
   
     g_2(x)=-x_2+0.00954x_3\leq0 
   
  
 g2​(x)=−x2​+0.00954x3​≤0

 
  
   
    
     
      g
     
     
      3
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     −
    
    
     π
    
    
     
      x
     
     
      3
     
     
      2
     
    
    
     −
    
    
     4
    
    
     π
    
    
     
      x
     
     
      3
     
     
      3
     
    
    
     /
    
    
     3
    
    
     +
    
    
     1296000
    
    
     ≤
    
    
     0
    
   
   
     g_3(x)=-\pi x_3^2-4\pi x_3^3/3+1296000 \leq0 
   
  
 g3​(x)=−πx32​−4πx33​/3+1296000≤0

 
  
   
    
     
      g
     
     
      4
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     
      x
     
     
      4
     
    
    
     −
    
    
     240
    
    
     ≤
    
    
     0
    
   
   
     g_4(x)=x_4-240\leq0 
   
  
 g4​(x)=x4​−240≤0

 
  
   
    
     0
    
    
     ≤
    
    
     
      x
     
     
      1
     
    
    
     ≤
    
    
     100
    
    
     ,
    
    
     0
    
    
     ≤
    
    
     
      x
     
     
      2
     
    
    
     ≤
    
    
     100
    
    
     ,
    
    
     10
    
    
     ≤
    
    
     
      x
     
     
      3
     
    
    
     ≤
    
    
     100
    
    
     ,
    
    
     10
    
    
     ≤
    
    
     
      x
     
     
      4
     
    
    
     ≤
    
    
     100
    
   
   
     0\leq x_1\leq100,0\leq x_2\leq100,10\leq x_3\leq100,10\leq x_4\leq100 
   
  
 0≤x1​≤100,0≤x2​≤100,10≤x3​≤100,10≤x4​≤100

参数设定:

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);

实验结果:
在这里插入图片描述

3.三杆桁架设计问题

三杆桁架设计问题的目的是通过调整横截面积(

     x
    
    
     1
    
   
   
    ,
   
   
    
     x
    
    
     2
    
   
  
  
   x_1,x_2
  
 
x1​,x2​​ )来最小化三杆桁架的体积。该三杆式桁架在每个桁架构件上受到应力(σ )约束,如图 2所示。该优化问题具有一个非线性适应度函数、3个非线性不等式约束和两个连续决策变量,如下所示:

图2

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

     m
    
    
     i
    
    
     n
     
    
     f
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     (
    
    
     2
    
    
     
      2
     
    
    
     
      x
     
     
      1
     
    
    
     +
    
    
     
      x
     
     
      2
     
    
    
     )
    
    
     l
    
   
   
     min\,f(x)=(2\sqrt{2}x_1+x_2)l 
   
  
 minf(x)=(22​x1​+x2​)l

约束条件为:

      g
     
     
      1
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     
      
       
        2
       
      
      
       
        x
       
       
        1
       
      
      
       +
      
      
       
        x
       
       
        2
       
      
     
     
      
       
        2
       
      
      
       
        x
       
       
        1
       
       
        2
       
      
      
       +
      
      
       2
      
      
       
        x
       
       
        1
       
      
      
       
        x
       
       
        2
       
      
     
    
    
     P
    
    
     −
    
    
     σ
    
    
     ≤
    
    
     0
    
   
   
     g_1(x)=\frac{\sqrt{2}x_1+x_2}{\sqrt{2}x_1^2+2x_1x_2}P-\sigma\leq0 
   
  
 g1​(x)=2​x12​+2x1​x2​2​x1​+x2​​P−σ≤0

 
  
   
    
     
      g
     
     
      2
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     
      x
     
     
      2
     
    
    
     /
    
    
     (
    
    
     
      2
     
    
    
     
      x
     
     
      1
     
     
      2
     
    
    
     +
    
    
     2
    
    
     
      x
     
     
      1
     
    
    
     
      x
     
     
      2
     
    
    
     )
    
    
     P
    
    
     −
    
    
     σ
    
    
     ≤
    
    
     0
    
   
   
     g_2(x)=x_2/(\sqrt2x_1^2+2x_1x_2)P-\sigma\leq0 
   
  
 g2​(x)=x2​/(2​x12​+2x1​x2​)P−σ≤0

 
  
   
    
     
      g
     
     
      3
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     
      1
     
     
      
       
        2
       
      
      
       
        x
       
       
        2
       
      
      
       +
      
      
       
        x
       
       
        1
       
      
     
    
    
     P
    
    
     −
    
    
     σ
    
    
     ≤
    
    
     0
    
   
   
     g_3(x)=\frac{1}{\sqrt2x_2+x_1}P-\sigma\leq0 
   
  
 g3​(x)=2​x2​+x1​1​P−σ≤0


 
  
   
    l
   
   
    =
   
   
    100
   
   
    c
   
   
    m
   
   
    ,
   
   
    P
   
   
    =
   
   
    2
   
   
    k
   
   
    N
   
   
    /
   
   
    c
   
   
    
     m
    
    
     2
    
   
   
    ,
   
   
    σ
   
   
    =
   
   
    2
   
   
    k
   
   
    N
   
   
    /
   
   
    c
   
   
    
     m
    
    
     2
    
   
  
  
   l=100cm,P=2kN/cm^2,\sigma=2kN/cm^2
  
 
l=100cm,P=2kN/cm2,σ=2kN/cm2

参数设定:

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

实验结果:

在这里插入图片描述

4.拉压弹簧设计问题

如图 3 所示,拉压弹簧设计问题的目的是在满足最小挠度、震动频率和剪应力的约束下,最小化拉压弹簧的重量。该问题由 3 个连续的决策变量组成,即弹簧线圈直径(

    d
   
  
  
   d
  
 
d或

 
  
   
    
     x
    
    
     1
    
   
  
  
   x_1
  
 
x1​ )、弹簧簧圈直径(

 
  
   
    D
   
  
  
   D
  
 
D 或

 
  
   
    
     x
    
    
     2
    
   
  
  
   x_2
  
 
x2​)和绕线圈数(

 
  
   
    P
   
  
  
   P
  
 
P或

 
  
   
    
     x
    
    
     3
    
   
  
  
   x_3
  
 
x3​​ )。数学模型表示公式如下:

图3

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

     m
    
    
     i
    
    
     n
     
    
     f
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     (
    
    
     
      x
     
     
      3
     
    
    
     +
    
    
     2
    
    
     )
    
    
     
      x
     
     
      2
     
    
    
     
      x
     
     
      1
     
     
      2
     
    
   
   
     min\,f(x)=(x_3+2)x_2x_1^2 
   
  
 minf(x)=(x3​+2)x2​x12​

约束条件为:

      g
     
     
      1
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     1
    
    
     −
    
    
     
      
       
        x
       
       
        2
       
       
        3
       
      
      
       
        x
       
       
        3
       
      
     
     
      
       71785
      
      
       
        x
       
       
        1
       
       
        4
       
      
     
    
    
     ≤
    
    
     0
    
   
   
     g_1(x)=1-\frac{x_2^3x_3}{71785x_1^4}\leq0 
   
  
 g1​(x)=1−71785x14​x23​x3​​≤0

 
  
   
    
     
      g
     
     
      2
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     
      
       4
      
      
       
        x
       
       
        2
       
       
        2
       
      
      
       −
      
      
       
        x
       
       
        1
       
      
      
       
        x
       
       
        2
       
      
     
     
      
       12566
      
      
       (
      
      
       
        x
       
       
        2
       
      
      
       
        x
       
       
        1
       
       
        3
       
      
      
       −
      
      
       
        x
       
       
        1
       
       
        4
       
      
      
       )
      
     
    
    
     +
    
    
     
      1
     
     
      
       5108
      
      
       
        x
       
       
        1
       
       
        2
       
      
     
    
    
     −
    
    
     1
    
    
     ≤
    
    
     0
    
   
   
     g_2(x)=\frac{4x_2^2-x_1x_2}{12566(x_2x_1^3-x_1^4)}+\frac{1}{5108x_1^2}-1\leq0 
   
  
 g2​(x)=12566(x2​x13​−x14​)4x22​−x1​x2​​+5108x12​1​−1≤0

 
  
   
    
     
      g
     
     
      3
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     1
    
    
     −
    
    
     
      
       140.45
      
      
       
        x
       
       
        1
       
      
     
     
      
       
        x
       
       
        2
       
       
        2
       
      
      
       
        x
       
       
        3
       
      
     
    
    
     ≤
    
    
     0
    
   
   
     g_3(x)=1-\frac{140.45x_1}{x_2^2x_3}\leq0 
   
  
 g3​(x)=1−x22​x3​140.45x1​​≤0

 
  
   
    
     
      g
     
     
      4
     
    
    
     (
    
    
     x
    
    
     )
    
    
     =
    
    
     
      
       
        x
       
       
        1
       
      
      
       +
      
      
       
        x
       
       
        2
       
      
     
     
      1.5
     
    
    
     −
    
    
     1
    
    
     ≤
    
    
     0
    
   
   
     g_4(x)=\frac{x_1+x_2}{1.5}-1\leq0 
   
  
 g4​(x)=1.5x1​+x2​​−1≤0


 
  
   
    0.05
   
   
    ≤
   
   
    
     x
    
    
     2
    
   
   
    ≤
   
   
    2
   
   
    ,
   
   
    0.25
   
   
    ≤
   
   
    
     x
    
    
     2
    
   
   
    ≤
   
   
    1.3
   
   
    ,
   
   
    2
   
   
    ≤
   
   
    
     x
    
    
     3
    
   
   
    ≤
   
   
    15
   
  
  
   0.05\leq x_2\leq2,0.25\leq x_2\leq1.3,2\leq x_3\leq15
  
 
0.05≤x2​≤2,0.25≤x2​≤1.3,2≤x3​≤15

参数设定:

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);

实验结果:

在这里插入图片描述

5.Matlab代码

6.Python代码


本文转载自: https://blog.csdn.net/u011835903/article/details/128637234
版权归原作者 智能算法研学社(Jack旭) 所有, 如有侵权,请联系我们删除。

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

还没有评论