目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
- 5.代码获取
1.背景
2023年,I Matoušová受到母亲与孩子之间的人际互动启发,提出了母亲优化算法(Mother Optimization Algorithm, MOA)。
2.算法原理
2.1算法思想
MOA模拟了母亲与孩子之间的人际互动,其灵感是模拟母亲在教育、建议和养育三个阶段对孩子的照顾。
2.2算法过程
教育(探索阶段)
第一阶段称为“教育”,是受到儿童教育的启发。它旨在通过对种群成员位置进行显著改变,增强探索能力。在MOA中,母亲被视为种群中的最佳成员,她培养孩子的行为被模拟为教育阶段:
x
i
,
j
P
1
=
x
i
,
j
+
r
a
n
d
(
0
,
1
)
⋅
(
M
j
−
r
a
n
d
(
2
)
⋅
x
i
,
j
)
(1)
x_{i,j}^{P1}=x_{i,j}+\mathrm{rand}(0,1)\cdot(M_j-\mathrm{rand}(2)\cdot x_{i,j})\tag{1}
xi,jP1=xi,j+rand(0,1)⋅(Mj−rand(2)⋅xi,j)(1)
建议(探索阶段)
在养育孩子中,母亲的一项主要职责是对孩子进行指导。建议阶段通过显著改变种群成员的位置,增加了MOA在探索阶段的能力:
B
B
i
=
{
X
k
,
F
k
>
F
i
∧
k
∈
{
1
,
2
,
…
,
N
}
}
,
where
i
=
1
,
2
,
…
,
N
x
i
j
P
2
=
x
i
,
j
+
rand
(
0
,
1
)
⋅
(
x
i
,
j
−
rand
(
2
)
⋅
S
B
B
i
,
j
)
(2)
\begin{aligned}BB_i&=\{X_k,F_k>F_i\wedge k\in\{1,2,\ldots,N\}\},\quad\text{where}~i=1,2,\ldots,N\\\\x_{ij}^{P2}&=x_{i,j}+\text{rand}(0,1)\cdot(x_{i,j}-\text{rand}(2)\cdot SBB_{i,j})\end{aligned}\tag{2}
BBixijP2={Xk,Fk>Fi∧k∈{1,2,…,N}},where i=1,2,…,N=xi,j+rand(0,1)⋅(xi,j−rand(2)⋅SBBi,j)(2)
成长(开发阶段)
在教育过程中,母亲使用各种形式鼓励孩子提高他们的技能。养育导致MOA阶段中局部搜索和开发能力的增强:
x
i
,
j
P
3
=
x
i
,
j
+
(
1
−
2
⋅
r
a
n
d
(
0
,
1
)
)
⋅
u
b
j
−
l
b
j
t
(3)
x_{i,j}^{P3}=x_{i,j}+(1-2\cdot\mathrm{rand}(0,1))\cdot\frac{ub_j-lb_j}{t}\tag{3}
xi,jP3=xi,j+(1−2⋅rand(0,1))⋅tubj−lbj(3)
流程图
伪代码
3.结果展示
4.参考文献
[1] Matoušová I, Trojovský P, Dehghani M, et al. Mother optimization algorithm: A new human-based metaheuristic approach for solving engineering optimization[J]. Scientific Reports, 2023, 13(1): 10312.
5.代码获取
【资源清单】代码资源清单导航~