目录
- 1.背景
- 2.算法原理
- 2.1算法思想
- 2.2算法过程
- 3.结果展示
- 4.参考文献
1.背景
2021年,S Harifi等人受到观古代遗迹构造启发,提出了吉萨金子塔建造算法(Giza Pyramids Construction, GPC)。
2.算法原理
2.1算法思想
GPC模拟了古埃及人通过神奇的运动方式推动石块以搭建金字塔的过程,工人根据其表现在工地上的角色和地位进行分类,表现好的工人得到地位提升作为奖励。通过内部竞争机制,优秀的工人获得提升,而表现差的工人可能被更有活力的工人替换,模拟自然选择,提高劳动效率。工人在完成任务过程中积累经验和专业知识,提升其解决复杂任务的能力。有效管理资源如劳动力和材料,考虑物理因素如坡道坡度和摩擦力,优化石块的运输和安装。
2.2算法过程
工人推动石块时的受力分析,fk为动摩擦力:
f
k
=
μ
k
m
g
cos
θ
(1)
f_k=\mu_kmg\cos\theta \tag{1}
fk=μkmgcosθ(1)
在算法的每次迭代中,初始速度被认为是一个随机数,因为每次工人试图移动石块时,所施加的力都会根据工人消耗的功率而变化:
v
0
=
r
a
n
d
(
0
,
1
)
(2)
v_0=rand(0,1)\tag{2}
v0=rand(0,1)(2)
GPC基本思想是推动石料的工人不断移动或晃动,以获得对石料的最佳支配和最佳控制。这些冲击使工人进行非重复性动作以更好地推动石块,工人的位置更新方式为:
x
=
ν
0
2
2
g
sin
θ
(3)
x=\frac{\nu_0^2}{2g\sin\theta}\tag{3}
x=2gsinθν02(3)
计算石料位移和工人运动:
p
⃗
=
(
p
⃗
i
+
d
)
×
x
ϵ
⃗
i
(4)
\vec{p}=\begin{pmatrix}\vec{p}_i+d\end{pmatrix}\times x\vec{\epsilon}_i\tag{4}
p=(pi+d)×xϵi(4)
ϵ
⃗
\vec{\epsilon}
ϵ是服从均匀、正态或莱维分布,工人们会通过协作而进行位置替换:
ζ
k
=
{
ψ
k
,
i
f
r
a
n
d
[
0
,
1
]
≤
0.5
φ
k
,
o
t
h
e
r
w
i
s
e
(5)
\left.\zeta_k=\left\{\begin{array}{l}\psi_k,ifrand[0,1]\leq0.5\\\varphi_k,otherwise\end{array}\right.\right.\tag{5}
ζk={ψk,ifrand[0,1]≤0.5φk,otherwise(5)
伪代码
3.结果展示
使用测试框架,测试GPC性能 一键run.m
- 【智能算法】省时方便,智能算法统计指标——一键运行~
CEC2017-F7
4.参考文献
[1] Harifi S, Mohammadzadeh J, Khalilian M, et al. Giza Pyramids Construction: an ancient-inspired metaheuristic algorithm for optimization[J]. Evolutionary Intelligence, 2021, 14(4): 1743-1761.