频道介绍
- 博主简介:科研工作dog
- 编程语言:MATLAB为主、Python为辅
- 研究内容:启发式算法设计与应用
- 主要细分研究领域:物流工程系统优化、工业工程、供应链网络优化等
- 频道主要功能:科研领域知识分享、交流,算法、代码分享。
文章引用
张庭溢,汪弘健. 幼儿园小朋友优化算法 [J]. 计算机工程与应用, 2024, 60 (23): 109-125.
摘要
为提升黑猩猩优化算法开发精度和全局搜索能力,通过观察、总结 4-6 岁幼儿园小朋友行为特点,建立数学模型,提出幼儿园小朋友优化算法(KCOA)。算法设计中,小朋友具有玩具吸引、找伙伴、小红花三种社会行为。玩具吸引策略体现最优个体引领作用,找伙伴策略增强普通个体交流与探索能力,避免局部极值,小红花策略实时评估更新劣解,提升收敛速度和精度。
算法核心策略
1.玩具吸引策略
通过非线性半径系数 R 平衡全局搜索与局部开发,数学模型为:
A
i
t
+
1
=
A
b
e
s
t
t
+
R
×
∣
A
b
e
s
t
t
−
r
1
×
A
i
t
∣
A_i^{t+1}=A_{best}^t+R\times|A_{best}^t-r_1\times A_i^t|
Ait+1=Abestt+R×∣Abestt−r1×Ait∣
R
=
2.5
×
(
1
−
(
t
/
T
m
a
x
)
3
)
4
R=2.5\times(1-(t/T_{max})^3)^4
R=2.5×(1−(t/Tmax)3)4
其中,
A
i
t
A_i^t
Ait为当前个体位置,
A
b
e
s
t
t
A_best^t
Abestt为最优个体位置,
r
1
r_1
r1为[0,1]随机数,
T
m
a
x
T_max
Tmax为最大迭代次数。
2.找伙伴策略
通过混沌参数 M 实现普通个体间交流,数学模型为:
A
i
t
+
1
=
A
i
t
−
M
×
C
1
×
A
r
a
n
d
t
C
1
=
1
−
T
/
T
m
a
x
M
=
C
h
a
o
t
i
c
v
a
l
u
e
\begin{aligned}&A_i^{t+1}=A_i^t-M\times C_1\times A_{rand}^t\\&C_1=1-T/T_{max}\\&M=Chaotic\:value\end{aligned}
Ait+1=Ait−M×C1×ArandtC1=1−T/TmaxM=Chaoticvalue
其中,
A
r
a
n
d
t
A_{rand}^{t}
Arandt为随机个体位置,M 由 logistic 混沌序列生成
3.小红花策略
通过评价因子筛选劣解并更新,数学模型为:
e
v
a
l
u
a
t
e
i
=
F
i
t
n
e
s
s
(
A
m
a
x
)
−
F
i
t
n
e
s
s
(
A
i
)
F
i
t
n
e
s
s
(
A
m
a
x
)
−
m
e
a
n
F
i
t
n
e
s
s
evaluate_i=\frac{Fitness(A_{max})-Fitness(A_i)}{Fitness(A_{max})-mean\:Fitness}
evaluatei=Fitness(Amax)−meanFitnessFitness(Amax)−Fitness(Ai)
当
e
v
a
l
u
a
t
e
i
≤
0.15
当evaluate_i\leq0.15
当evaluatei≤0.15时,触发更新:
A i t + 1 = A b e s t + A r 1 t − ( − 1 ) b × A r 2 t 3 A_i^{t+1}=A_{best}+\frac{A_{r1}^t-(-1)^b\times A_{r2}^t}3 Ait+1=Abest+3Ar1t−(−1)b×Ar2t
其中, A r 1 t A_r1^{t} Ar1t、 A r 2 t A_{r2}^{t} Ar2t为随机个体,b为随机自然数。
4.算法流程
实验验证
测试函数:
CEC2014 测试函数中的单峰和多峰问题,如下:
对比算法:
粒子群算法
横向交叉粒子群优化算法
灰狼优化算法
遗传算法
幼儿园小朋友优化算法(本文算法)
评价次数:维度 * 10000;
种群大小:50;
问题维度:10 (其他维度不测试了)
测试结果