基于亨利气体溶解度优化算法的函数寻优算法

一、理论基础

1、亨利气体溶解度优化算法

文献[1]提出了一种新的元启发式算法——亨利气体溶解度优化(Henry gas solubility optimization, HGSO)算法,该算法模拟在亨利定律约束下的行为来解决具有挑战性的优化问题。亨利定律是一个基本气体定律,它与在固定温度下溶解的特定气体的数量与特定类型和体积的液体有关。HGSO算法模拟气体的聚集行为,在搜索空间内平衡开发和探索,避免算法陷入局部最优。
HGSO的数学模型如下所示:

(1)步骤1:初始化过程

气体的数量(种群大小 N N N)和气体的位置根据以下公式初始化: X i ( t + 1 ) = X min ⁡ + r × ( X max ⁡ − X min ⁡ ) (1) X_i(t+1)=X_{\min}+r\times(X_{\max}-X_{\min})\tag{1} Xi(t+1)=Xmin+r×(XmaxXmin)(1)其中, X ( i ) X_{(i)} X(i)表示 N N N个个体中第 i i i个气体的位置, r r r是0到1之间的随机数, X min ⁡ X_{\min} Xmin X max ⁡ X_{\max} Xmax是问题的边界, t t t是当前迭代次数。气体 i i i的数量、亨利常数 j ( H j ( t ) ) j(H_j(t)) j(Hj(t))的值、 j j j簇中气体 i i i的分压为 P i , j P_{i,j} Pi,j ∇ s o l E / R \nabla_{sol}E/R solE/R常数 j ( C i ) j(C_i) j(Ci)的值用以下公式初始化: H j ( t ) = l 1 × r a n d ( 0 , 1 ) , P i , j = l 2 × r a n d ( 0 , 1 ) , C j = l 3 × r a n d ( 0 , 1 ) (2) H_j(t)=l_1\times rand(0,1),P_{i,j}=l_2\times rand(0,1),C_j=l_3\times rand(0,1)\tag{2} Hj(t)=l1×rand(0,1),Pi,j=l2×rand(0,1),Cj=l3×rand(0,1)(2)其中, l 1 , l 2 , l 3 l_1, l_2, l_3 l1,l2,l3分别为 ( 5 E − 02 , 100 , 1 E − 02 ) (5E−02,100,1E−02) (5E02,100,1E02)的常数。

(2)步骤2:分簇

根据气体类型的数量,将种群代理划分为相等的簇。每个簇都有相似的气体,因此有相同的亨利常数值( H j H_j Hj)。

(3)步骤3:评价

对每个簇 j j j进行评价,以确定从同类型的其他气体中获得最高平衡状态的最佳气体。然后对气体进行排序,得到整个种群中的最优气体。

(4)步骤4:更新亨利系数

亨利系数按下式更新: H j ( t + 1 ) = H j ( t ) × exp ⁡ ( − C j × ( 1 / T ( t ) − 1 / T θ ) ) , T ( t ) = exp ⁡ ( − t / i t e r ) (3) H_j(t+1)=H_j(t)\times\exp\left(-C_j\times(1/T(t)-1/T^\theta)\right),T(t)=\exp(-t/iter)\tag{3} Hj(t+1)=Hj(t)×exp(Cj×(1/T(t)1/Tθ)),T(t)=exp(t/iter)(3)其中, H j H_j Hj为簇 j j j的亨利系数, T T T为温度, T θ T^\theta Tθ为等于298.15的常数, i t e r iter iter为最大迭代次数。

(5)步骤5:更新溶解度

溶解度按下式更新: S i , j ( t ) = K × H j ( t + 1 ) × P i , j ( t ) (4) S_{i,j}(t)=K\times H_j(t+1)\times P_{i,j}(t)\tag{4} Si,j(t)=K×Hj(t+1)×Pi,j(t)(4)其中, S i , j S_{i,j} Si,j为气体 i i i在簇 j j j中的溶解度, P i , j P_{i,j} Pi,j为气体 i i i在簇 j j j中的分压, K K K为常数。

(6)步骤6:更新位置

位置更新如下: X i , j ( t + 1 ) = X i , j ( t ) + F × r × γ × ( X i , b e s t ( t ) − X i , j ( t ) ) + F × r × α × ( S i , j ( t ) × X b e s t ( t ) − X i , j ( t ) ) (5) X_{i,j}(t+1)=X_{i,j}(t)+F\times r\times\gamma\times(X_{i,best}(t)-X_{i,j}(t))\\[2ex]+F\times r\times\alpha\times(S_{i,j}(t)\times X_{best}(t)-X_{i,j}(t))\tag{5} Xi,j(t+1)=Xi,j(t)+F×r×γ×(Xi,best(t)Xi,j(t))+F×r×α×(Si,j(t)×Xbest(t)Xi,j(t))(5) γ = β × exp ⁡ ( − F b e s t ( t ) + ε F i , j ( t ) + ε ) , ε = 0.05 (6) \gamma=\beta\times\exp\left(-\frac{F_{best}(t)+\varepsilon}{F_{i,j}(t)+\varepsilon}\right),\varepsilon=0.05\tag{6} γ=β×exp(Fi,j(t)+εFbest(t)+ε),ε=0.05(6)其中, X ( i , j ) X_{(i,j)} X(i,j)为气体 i i i在簇 j j j中得位置, r r r t t t分别为随机常数和当前迭代次数, X ( i , b e s t ) X_{(i,best)} X(i,best)为簇 j j j中气体 i i i的最佳位置,而 X b e s t X_{best} Xbest为种群的最佳位置。此外, γ \gamma γ是簇 i i i中气体 j j j与气体 j j j的相互作用力, α \alpha α是其他气体对簇 j j j中气体 i i i的等于1的影响值, β \beta β是常数。 F ( i , j ) F_{(i,j)} F(i,j)为簇 j j j中气体 i i i的适应度, F b e s t F_{best} Fbest为整个种群中最佳气体的适应度。 F F F是改变搜索代理方向的标志,提供多样性 = ± =± =±
X ( i , b e s t ) X_{(i,best)} X(i,best) X b e s t X_{best} Xbest是负责平衡探索和开发能力的两个参数。其中 X ( i , b e s t ) X_{(i,best)} X(i,best)为簇 j j j中气体 i i i的最佳值, X b e s t X_{best} Xbest为种群中气体 i i i的最佳值。

(7)步骤7:摆脱局部最优

这一步用于摆脱局部最优。使用下列公式对最差的代理( N w N_w Nw)进行排序和选择: N w = N × ( r a n d ( c 2 − c 1 ) + c 1 ) , c 1 = 0.1 , c 2 = 0.2 (7) N_w=N\times(rand(c_2-c_1)+c_1),c_1=0.1,c_2=0.2\tag{7} Nw=N×(rand(c2c1)+c1),c1=0.1,c2=0.2(7)其中 N N N为搜索代理的数量。

(8)步骤8:更新最差个体的位置

G ( i , j ) = G min ⁡ ( i , j ) + r × ( G max ⁡ ( i , j ) − G min ⁡ ( i , j ) ) (8) G_{(i,j)}=G_{\min(i,j)}+r\times(G_{\max(i,j)}-G_{\min(i,j)})\tag{8} G(i,j)=Gmin(i,j)+r×(Gmax(i,j)Gmin(i,j))(8)其中, G ( i , j ) G_{(i,j)} G(i,j)为气体 i i i在簇 j j j中的位置, r r r为随机数, G min ⁡ G_{\min} Gmin G max ⁡ G_{\max} Gmax为问题的下界和上界。

2、HGSO算法伪代码

HGSO算法伪代码如图1所示。
在这里插入图片描述

图1 HGSO算法伪代码

二、仿真实验与结果分析

将HGSO与WOA、GSA、GWO、CS和PSO进行对比,以常用23个测试函数中的F3、F4(单峰函数/30维)、F9、F10(多峰函数/30维)、F17、F21(固定维度多峰函数/2维、4维)为例,实验设置种群规模为50,最大迭代次数为1000,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F3
HGSO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
WOA:最差值: 26721.2896, 最优值: 869.6367, 平均值: 10028.754, 标准差: 6375.9941, 秩和检验: 1.2118e-12
GSA:最差值: 491.6764, 最优值: 146.2229, 平均值: 268.2075, 标准差: 92.1835, 秩和检验: 1.2118e-12
GWO:最差值: 1.4314e-17, 最优值: 1.9516e-24, 平均值: 5.1558e-19, 标准差: 2.6079e-18, 秩和检验: 1.2118e-12
CS:最差值: 810.0449, 最优值: 218.9368, 平均值: 505.5444, 标准差: 121.9258, 秩和检验: 1.2118e-12
PSO:最差值: 69061.5976, 最优值: 5871.4103, 平均值: 25972.9332, 标准差: 13939.9381, 秩和检验: 1.2118e-12
函数:F4
HGSO:最差值: 7.2527e-166, 最优值: 1.6784e-221, 平均值: 2.4176e-167, 标准差: 0, 秩和检验: 1
WOA:最差值: 86.3704, 最优值: 0.059864, 平均值: 32.6374, 标准差: 29.0349, 秩和检验: 3.0199e-11
GSA:最差值: 0.17874, 最优值: 2.5469e-09, 平均值: 0.005958, 标准差: 0.032633, 秩和检验: 3.0199e-11
GWO:最差值: 1.7808e-16, 最优值: 2.4925e-19, 平均值: 1.7082e-17, 标准差: 3.5018e-17, 秩和检验: 3.0199e-11
CS:最差值: 5.2226, 最优值: 2.3663, 平均值: 3.1258, 标准差: 0.61415, 秩和检验: 3.0199e-11
PSO:最差值: 6.4504, 最优值: 0, 平均值: 0.9519, 标准差: 1.8834, 秩和检验: 0.0014908
函数:F9
HGSO:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0, 秩和检验: NaN
GSA:最差值: 24.874, 最优值: 10.9445, 平均值: 16.2842, 标准差: 3.8444, 秩和检验: 1.1805e-12
GWO:最差值: 5.6843e-14, 最优值: 0, 平均值: 7.5791e-15, 标准差: 1.9653e-14, 秩和检验: 0.041774
CS:最差值: 106.7827, 最优值: 65.4057, 平均值: 83.9938, 标准差: 10.8179, 秩和检验: 1.2118e-12
PSO:最差值: 248.884, 最优值: 20.8577, 平均值: 148.6197, 标准差: 61.0108, 秩和检验: 1.2108e-12
函数:F10
HGSO:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0, 秩和检验: NaN
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 4.7962e-15, 标准差: 2.696e-15, 秩和检验: 4.162e-09
GSA:最差值: 4.1973e-09, 最优值: 2.9739e-09, 平均值: 3.4605e-09, 标准差: 3.1288e-10, 秩和检验: 1.2118e-12
GWO:最差值: 1.8652e-14, 最优值: 7.9936e-15, 平均值: 1.3678e-14, 标准差: 2.3969e-15, 秩和检验: 4.8215e-13
CS:最差值: 7.4115, 最优值: 2.2361, 平均值: 3.937, 标准差: 1.5095, 秩和检验: 1.2118e-12
PSO:最差值: 19.9668, 最优值: 8.8818e-16, 平均值: 13.87, 标准差: 7.1982, 秩和检验: 1.9088e-10
函数:F17
HGSO:最差值: 0.39928, 最优值: 0.39792, 平均值: 0.39837, 标准差: 0.00041578, 秩和检验: 1
WOA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 5.7341e-07, 秩和检验: 3.0199e-11
GSA:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: 1.2118e-12
GWO:最差值: 0.39812, 最优值: 0.39789, 平均值: 0.3979, 标准差: 4.3059e-05, 秩和检验: 8.1527e-11
CS:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: 1.2118e-12
PSO:最差值: 0.39789, 最优值: 0.39789, 平均值: 0.39789, 标准差: 0, 秩和检验: 1.2118e-12
函数:F21
HGSO:最差值: -4.5874, 最优值: -6.0631, 平均值: -4.9206, 标准差: 0.24896, 秩和检验: 1
WOA:最差值: -5.0518, 最优值: -10.1532, 平均值: -9.6427, 标准差: 1.5557, 秩和检验: 5.4941e-11
GSA:最差值: -3.1137, 最优值: -10.1532, 平均值: -5.2384, 标准差: 1.0726, 秩和检验: 1.7238e-08
GWO:最差值: -5.0552, 最优值: -10.1531, 平均值: -9.4777, 标准差: 1.7508, 秩和检验: 6.6955e-11
CS:最差值: -10.1532, 最优值: -10.1532, 平均值: -10.1532, 标准差: 3.5272e-13, 秩和检验: 1.9105e-11
PSO:最差值: -2.6305, 最优值: -10.1532, 平均值: -8.7159, 标准差: 2.4609, 秩和检验: 1.4588e-09

实验结果表明:在求解具有挑战性的优化问题时,HGSO算法的结果优于其他算法。

三、参考文献

[1] Fatma A. Hashim, Essam H. Houssein, Mai S. Mabrouk, et al. Henry gas solubility optimization: A novel physics-based algorithm[J]. Future Generation Computer Systems, 2019, 101: 646-667.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

心️升明月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值