文献[1]提出了一种新的优化算法,称为野马优化算法(Wild horse optimizer, WHO),其灵感来自野马的社会生活行为。
野马优化算法主要包括以下5个步骤:
所有优化算法的种群结构基本相同。将初始种群随机设置为
(
x
→
)
=
{
x
→
1
,
x
→
2
,
⋯
,
x
→
n
}
(\overrightarrow x)=\{\overrightarrow x_1,\overrightarrow x_2,\cdots,\overrightarrow x_n\}
(x)={x1,x2,⋯,xn},目标函数用来重复评价种群,并确定目标值为
(
O
→
)
=
{
O
1
,
O
2
,
⋯
,
O
n
}
(\overrightarrow O)=\{O_1,O_2,\cdots,O_n\}
(O)={O1,O2,⋯,On}。它还通过一组作为优化技术核心的规则进行了改进。基于种群的优化技术寻找最优数量的优化问题无法保证在一次运行中找到最优解,然而,如果有足够数量的随机解和优化步骤(迭代),找到最优全局的概率会增加。
首先,将这个初始种群分成几个小组。如果
N
N
N是种群数量,则分组数目为
G
=
⌈
N
×
PS
⌉
G=\lceil{N\times\text{PS}}\rceil
G=⌈N×PS⌉,其中
P
S
\rm PS
PS是种马在总种群中的百分比,将其视为所提出算法的控制参数。根据种群的数量,可以得到
G
G
G个领导者(种马),剩下的
(
N
−
G
)
(N-G)
(N−G)个成员平均分配。在算法开始时随机选择组的领导者,在后续阶段,根据组成员之间的适应度(最佳适应度)选择领导者。
如前一节所述,小马驹通常大部分时间都在群体周围吃草。为了实施放牧行为,将种马视为放牧区的中心,群体成员在中心周围搜索(放牧)。式(1)用来模拟放牧行为。式(1)使组成员在具有不同半径的领导者周围移动和搜索。
X
ˉ
i
,
G
j
=
2
Z
cos
(
2
π
R
Z
)
×
(
Stallion
j
−
X
i
,
G
j
)
+
Stallion
j
(1)
\bar X_{i,G}^j=2Z\cos(2\pi RZ)\times\left(\text{Stallion}^j-X_{i,G}^j\right)+\text{Stallion}^j\tag{1}
Xˉi,Gj=2Zcos(2πRZ)×(Stallionj−Xi,Gj)+Stallionj(1)其中,
X
i
,
G
j
X_{i,G}^j
Xi,Gj是组内成员(小马驹或母马)的当前位置,
Stallion
j
\text{Stallion}^j
Stallionj是种马(组内领导者)的位置,
Z
Z
Z是由式(2)计算的自适应结构,
R
R
R是
[
−
2
,
2
]
[−2,2]
[−2,2]范围内的均匀随机数并使得马群在领队的不同角度(360度)放牧,
π
=
3.14
\pi=3.14
π=3.14,
cos
\cos
cos函数通过
π
\pi
π和
R
R
R使得个体以不同半径进行移动,
X
ˉ
i
,
G
j
\bar X_{i,G}^j
Xˉi,Gj是放牧时组成员的新位置。
P
=
R
→
1
<
TDR
;
I
D
X
=
(
P
=
=
0
)
;
Z
=
R
2
⊗
I
D
X
+
R
→
3
⊗
(
∼
I
D
X
)
(2)
一只小马驹离开组
i
i
i并加入临时组,另一只小马驹离开组
j
j
j并加入临时组。假设这两只小马驹分别是雄性和雌性,由于这两只小马驹没有家庭关系,它们可以在青春期后交配。由此产生的孩子必须离开临时群体,加入另一个群体,如
k
k
k。所有不同的马群都会重复这种离开、交配和繁殖的循环。
为了模拟马的出走和交配行为,提出了与平均型交叉算子相同的式(4)。
X
G
,
K
p
=
Crossover
(
X
G
,
i
q
,
X
G
,
j
z
)
i
≠
j
≠
k
,
p
=
q
=
end
Crossover
=
Mean
(4)
领导者主要带领成员前往更合适的栖息地,如果当前组占主导地位,那么就使用这个地区;如果另一个小组占主导地位,他们必须离开该地。使用式(5)来表示该操作。
Stallion
G
i
‾
=
{
2
Z
cos
(
2
π
R
Z
)
×
(
WH
−
Stallion
G
i
)
+
WH
if
R
3
>
0.5
2
Z
cos
(
2
π
R
Z
)
×
(
WH
−
Stallion
G
i
)
−
WH
if
R
3
≤
0.5
(5)
\overline{\text{Stallion}_{G_i}}=
首先,随机选择领导者以保持算法的随机性。在算法的后期阶段,根据适应度选择领导者。如果其中一名组员的适应度优于组长,则组长和相应组员的位置将根据式(6)进行更改。
Stallion
G
i
=
{
X
G
,
i
if
cost
(
X
G
,
i
)
<
cost
(
Stallion
G
i
)
Stallion
G
i
if
cost
(
X
G
,
i
)
>
cost
(
Stallion
G
i
)
(6)
\text{Stallion}_{G_i}=
WHO算法伪代码如图1所示。

将WHO与PSO、TSA、LFD、GWO、SSA和MVO进行对比,实验设置种群规模为30,最大迭代次数为500,每种算法独立运行30次,以文献[1]中表1的F1、F3、F5、F7、F9、F10、F12、F13为例,结果显示如下:








函数:F1
PSO:最差值: 199.1251, 最优值: 24.0567, 平均值: 75.7259, 标准差: 37.5952, 秩和检验: 3.0199e-11
TSA:最差值: 3.7977e-20, 最优值: 8.6391e-25, 平均值: 2.1915e-21, 标准差: 7.0584e-21, 秩和检验: 3.0199e-11
LFD:最差值: 3.1771e-07, 最优值: 1.1855e-09, 平均值: 5.4427e-08, 标准差: 5.9442e-08, 秩和检验: 3.0199e-11
GWO:最差值: 5.1374e-26, 最优值: 1.4975e-29, 平均值: 2.5845e-27, 标准差: 9.3252e-27, 秩和检验: 3.0199e-11
SSA:最差值: 1.08e-06, 最优值: 2.0513e-08, 平均值: 1.8143e-07, 标准差: 2.5705e-07, 秩和检验: 3.0199e-11
MVO:最差值: 2.306, 最优值: 0.58476, 平均值: 1.3243, 标准差: 0.3795, 秩和检验: 3.0199e-11
WHO:最差值: 1.363e-48, 最优值: 3.1047e-75, 平均值: 5.7368e-50, 标准差: 2.5114e-49, 秩和检验: 1
函数:F3
PSO:最差值: 6501.7979, 最优值: 644.7392, 平均值: 1755.9489, 标准差: 1088.3267, 秩和检验: 3.0199e-11
TSA:最差值: 0.0024963, 最优值: 2.9686e-11, 平均值: 0.00025468, 标准差: 0.00054569, 秩和检验: 3.0199e-11
LFD:最差值: 4.357e-05, 最优值: 3.031e-06, 平均值: 1.3031e-05, 标准差: 8.9484e-06, 秩和检验: 3.0199e-11
GWO:最差值: 0.00018711, 最优值: 1.441e-08, 平均值: 2.3424e-05, 标准差: 4.1959e-05, 秩和检验: 3.0199e-11
SSA:最差值: 3320.1181, 最优值: 307.5603, 平均值: 1531.5274, 标准差: 855.6987, 秩和检验: 3.0199e-11
MVO:最差值: 339.5385, 最优值: 59.8682, 平均值: 187.385, 标准差: 73.1819, 秩和检验: 3.0199e-11
WHO:最差值: 6.1482e-17, 最优值: 1.9869e-33, 平均值: 2.2884e-18, 标准差: 1.1255e-17, 秩和检验: 1
函数:F5
PSO:最差值: 6991.7408, 最优值: 673.2313, 平均值: 2285.0014, 标准差: 1571.2605, 秩和检验: 3.0199e-11
TSA:最差值: 28.8936, 最优值: 26.2275, 平均值: 28.4178, 标准差: 0.75775, 秩和检验: 0.0090688
LFD:最差值: 28.3319, 最优值: 27.5325, 平均值: 28.0587, 标准差: 0.19061, 秩和检验: 2.4327e-05
GWO:最差值: 28.7589, 最优值: 25.9846, 平均值: 26.9463, 标准差: 0.83872, 秩和检验: 7.1186e-09
SSA:最差值: 2317.2236, 最优值: 25.7294, 平均值: 400.3655, 标准差: 672.3949, 秩和检验: 0.079782
MVO:最差值: 2986.4213, 最优值: 39.8747, 平均值: 469.0106, 标准差: 719.5935, 秩和检验: 1.2493e-05
WHO:最差值: 653.8461, 最优值: 26.2248, 平均值: 84.793, 标准差: 117.7462, 秩和检验: 1
函数:F7
PSO:最差值: 0.15303, 最优值: 0.01823, 平均值: 0.089016, 标准差: 0.0328, 秩和检验: 3.0199e-11
TSA:最差值: 0.018604, 最优值: 0.0044661, 平均值: 0.0090726, 标准差: 0.0034464, 秩和检验: 3.3384e-11
LFD:最差值: 0.016183, 最优值: 9.7898e-05, 平均值: 0.0048318, 标准差: 0.0035134, 秩和检验: 1.7479e-05
GWO:最差值: 0.005813, 最优值: 0.00048736, 平均值: 0.0020928, 标准差: 0.0011359, 秩和检验: 0.0036709
SSA:最差值: 0.32644, 最优值: 0.08041, 平均值: 0.18594, 标准差: 0.08038, 秩和检验: 3.0199e-11
MVO:最差值: 0.08076, 最优值: 0.015694, 平均值: 0.035094, 标准差: 0.014154, 秩和检验: 3.0199e-11
WHO:最差值: 0.0049114, 最优值: 0.00018323, 平均值: 0.0013566, 标准差: 0.0011078, 秩和检验: 1
函数:F9
PSO:最差值: 103.3937, 最优值: 31.2312, 平均值: 62.6386, 标准差: 16.9607, 秩和检验: 5.219e-12
TSA:最差值: 293.7311, 最优值: 94.1994, 平均值: 183.8828, 标准差: 41.8096, 秩和检验: 5.219e-12
LFD:最差值: 77.6847, 最优值: 5.916e-07, 平均值: 5.8816, 标准差: 15.9689, 秩和检验: 4.7954e-11
GWO:最差值: 14.2111, 最优值: 0, 平均值: 2.6653, 标准差: 3.6335, 秩和检验: 3.4057e-08
SSA:最差值: 104.4705, 最优值: 16.9143, 平均值: 56.5136, 标准差: 20.9998, 秩和检验: 5.219e-12
MVO:最差值: 194.7681, 最优值: 65.3839, 平均值: 115.8211, 标准差: 29.6424, 秩和检验: 5.219e-12
WHO:最差值: 1.8061e-05, 最优值: 0, 平均值: 6.0361e-07, 标准差: 3.2973e-06, 秩和检验: 1
函数:F10
PSO:最差值: 8.4792, 最优值: 3.7706, 平均值: 5.4217, 标准差: 0.96807, 秩和检验: 4.0806e-12
TSA:最差值: 3.5645, 最优值: 5.9064e-13, 平均值: 1.8462, 标准差: 1.5549, 秩和检验: 4.0806e-12
LFD:最差值: 0.00037869, 最优值: 0.00019293, 平均值: 0.00028003, 标准差: 5.6587e-05, 秩和检验: 4.0806e-12
GWO:最差值: 1.4655e-13, 最优值: 6.4837e-14, 平均值: 1.0569e-13, 标准差: 1.8419e-14, 秩和检验: 3.6599e-12
SSA:最差值: 6.7779, 最优值: 0.93132, 平均值: 2.6784, 标准差: 1.0741, 秩和检验: 4.0806e-12
MVO:最差值: 3.6277, 最优值: 0.54685, 平均值: 1.9589, 标准差: 0.74627, 秩和检验: 4.0806e-12
WHO:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 1.3619e-15, 标准差: 1.2283e-15, 秩和检验: 1
函数:F12
PSO:最差值: 26.7013, 最优值: 3.2241, 平均值: 9.657, 标准差: 4.8842, 秩和检验: 3.0199e-11
TSA:最差值: 16.0828, 最优值: 0.32228, 平均值: 6.7402, 标准差: 4.1039, 秩和检验: 3.0199e-11
LFD:最差值: 0.11261, 最优值: 0.00093971, 平均值: 0.0089741, 标准差: 0.019759, 秩和检验: 3.0103e-07
GWO:最差值: 0.11999, 最优值: 0.013308, 平均值: 0.048264, 标准差: 0.028335, 秩和检验: 5.0723e-10
SSA:最差值: 18.1717, 最优值: 2.5074, 平均值: 6.7631, 标准差: 3.4416, 秩和检验: 3.0199e-11
MVO:最差值: 7.0241, 最优值: 0.25126, 平均值: 2.1715, 标准差: 1.4852, 秩和检验: 3.0199e-11
WHO:最差值: 0.10376, 最优值: 1.1283e-06, 平均值: 0.004366, 标准差: 0.018958, 秩和检验: 1
函数:F13
PSO:最差值: 202.2304, 最优值: 2.2319, 平均值: 44.4746, 标准差: 34.606, 秩和检验: 3.0199e-11
TSA:最差值: 4.7606, 最优值: 1.5567, 平均值: 3.1375, 标准差: 0.73333, 秩和检验: 3.0199e-11
LFD:最差值: 2.9661, 最优值: 0.063501, 平均值: 1.3717, 标准差: 1.347, 秩和检验: 3.0199e-11
GWO:最差值: 1.1281, 最优值: 0.22017, 平均值: 0.60756, 标准差: 0.23178, 秩和检验: 3.0199e-11
SSA:最差值: 45.7042, 最优值: 0.39328, 平均值: 16.2438, 标准差: 14.4898, 秩和检验: 3.0199e-11
MVO:最差值: 0.71334, 最优值: 0.076974, 平均值: 0.21566, 标准差: 0.13623, 秩和检验: 3.0199e-11
WHO:最差值: 0.011969, 最优值: 2.0758e-05, 平均值: 0.0021005, 标准差: 0.004265, 秩和检验: 1
实验结果表明:与其他算法相比,该算法具有很强的竞争力。
[1] Naruei, I., Keynia, F. Wild horse optimizer: a new meta-heuristic algorithm for solving engineering optimization problems[J]. Engineering with Computers, 2021: 1-32.