智能优化算法:吉萨金子塔建造优化算法


文章目录

  • 智能优化算法:吉萨金子塔建造优化算法
  • 1.算法原理
  • 2.算法结果
  • 3.参考文献
  • 4.Matlab代码



摘要:吉萨金子塔建造优化算法(Giza Pyramids Construction,GPC)是于2020年提出的一种,新型智能优化算法,其仿照金字塔建造的过程,具有寻优能力强,精度高的特点。

1.算法原理

(1)计算斜坡石块位移。

在这里,我们需要一个恒定加速度下的时间无关的运动方程,可以用下面的方程来计算斜坡上石块的位移,
智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法
其中智能优化算法:吉萨金子塔建造优化算法-附代码_随机数_02是位移的值。智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_03是重力加速度取值9.8。智能优化算法:吉萨金子塔建造优化算法-附代码_机器学习_04为斜坡角度。智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_05为石块的初始速度,算法中每次迭代由一个均匀分布的随机数确定。在这种安排下,如果工人对石块施加力,石块就开始以初始速度移动。根据物理科学,摩擦力使石块在一段时间后停止。于是工人再次对石块施加另一个力,使石块以初始速度再次移动。在算法的每一次迭代中,初始速度被认为是一个随机数,因为每次工人试图移动石块时,施加的力根据工人消耗的功率而变化。智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_05可由式(2)计算。
智能优化算法:吉萨金子塔建造优化算法-附代码_机器学习_07
实际上,智能优化算法:吉萨金子塔建造优化算法-附代码_随机数_08是一个介于0和1之间的随机数,即智能优化算法:吉萨金子塔建造优化算法-附代码_算法_09,同时,智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_10是石砌块之间的动态摩擦系数和斜坡和算法是由均匀分布的随机数。由式(3)计算。
智能优化算法:吉萨金子塔建造优化算法-附代码_机器学习_11
该算法预先确定最小智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_10和最大智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_10,然后在每次迭代中假设这两个值之间的一个随机数。磨擦量随机性的原因是坡道表面没有抛光,由于某些部位可能不均匀,磨擦量可能增加或减少。

该算法的基本思想是推动石块的工人不断地移动或摇动,以获得对石块的最佳支配和最佳控制。这些冲击使工人进行非重复性的动作,以更好地推动石块。

如前所述,公式(1)决定了相对于之前位置的石块位移量。用这个等式来确定工人的新位置,变动不大。对于工人来说,摩擦是不考虑的。因此,工人推石块的新位置可由式(4)求得。
智能优化算法:吉萨金子塔建造优化算法-附代码_算法_14
在这个方程中,智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_15是工人的移动量。工人随着石块向上移动,同时对石块施加力。这里的目标是让工人们用他们的小动作更好地控制岩块。但是工人也有初始速度。所以对于工人来说,摩擦力是不考虑的。

这是算法的规则之一。通过公式(3)和(4)计算出石块位置和工人运动的变化,由这两个公式的结果得到一个新的位置见式(5)。
智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_16
其中,智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_17为当前位置,智能优化算法:吉萨金子塔建造优化算法-附代码_随机数_02为石块的位移值, 智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_15为工人的移动量,智能优化算法:吉萨金子塔建造优化算法-附代码_随机数_20为符合均匀分布、正态分布或Lévy分布的随机向量。这样,将石块的位移与之前的位置相加,再乘以工人的位移量,就得到了新的位置。

有时,在建造金字塔的过程中,工人失去了他的能力或权力,结果,他被另一个人取代。这种替换是为了平衡力量。这样,工人们就可以根据自己的力量和能力自行搬运合适的石块。所以一个工人在他自己的位置上没有效率,也许在其他位置上,效率会来的。这个替换操作在算法中以50%的概率执行(默认情况下)。

因此,在每次迭代中,一个工人被另一个工人替换的概率是50%。替换操作的使用非常类似于统一交叉操作。

假设,如果问题的主要解决方案是智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_21,和由式(5)生成的解决方案智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_22有百分之一百五十的概率,将取代一些的主要解决方案与生成的解决方案。产生的新解为智能优化算法:吉萨金子塔建造优化算法-附代码_概率论_23。因此,由式(6)用于替换乘上这个值就决定了下一次迭代时工作人员在石块周围的位置。
智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_24
算法步骤如下:

步骤1:初始化种群,并评估适应度函数值确定最优工人或石块位置。

步骤2:根据式(1)更新石块移动量。

步骤3:根据式(4)更新工人的移动量。

步骤4:根据式(5)更新种群位置。

步骤5:根据式(6)评估替代工人的可能性。

步骤6:重新评估适应度函数值,并更新最优解位置和最优解。

步骤6:判断是否满足迭代条件,如是满足则输出最优结果否则返回步骤2重新迭代更新计算。

2.算法结果

智能优化算法:吉萨金子塔建造优化算法-附代码_优化算法_25

3.参考文献

[1]Sasan Harifi et al., A Giza Pyramids Construction: an ancient‑inspired metaheuristic algorithm for optimization [J]. Evolutionary Intelligence. 2020.

4.Matlab代码