IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> 智能优化算法:吉萨金子塔建造优化算法-附代码 -> 正文阅读

[人工智能]智能优化算法:吉萨金子塔建造优化算法-附代码

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


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

1.算法原理

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

在这里,我们需要一个恒定加速度下的时间无关的运动方程,可以用下面的方程来计算斜坡上石块的位移,
d = v 0 2 2 g ( s i n ( θ ) + u k c o s ( θ ) ) (1) d=\frac{v_0^2}{2g(sin(\theta)+u_kcos(\theta))}\tag{1} d=2g(sin(θ)+uk?cos(θ))v02??(1)
其中 d d d是位移的值。 g g g是重力加速度取值9.8。 θ \theta θ为斜坡角度。 v 0 v_0 v0??为石块的初始速度,算法中每次迭代由一个均匀分布的随机数确定。在这种安排下,如果工人对石块施加力,石块就开始以初始速度移动。根据物理科学,摩擦力使石块在一段时间后停止。于是工人再次对石块施加另一个力,使石块以初始速度再次移动。在算法的每一次迭代中,初始速度被认为是一个随机数,因为每次工人试图移动石块时,施加的力根据工人消耗的功率而变化。 v 0 v_0 v0?可由式(2)计算。
v 0 = r a n d ( 0 , 1 ) (2) v_0=rand(0,1) \tag{2} v0?=rand(0,1)(2)
实际上, r a n d ( 0 , 1 ) rand(0,1) rand(0,1)是一个介于0和1之间的随机数,即 0 < v 0 = r a n d ( 0 , 1 ) < 1 0<v0=rand(0, 1)<1 0<v0=rand(0,1)<1,同时, u k u_k uk?是石砌块之间的动态摩擦系数和斜坡和算法是由均匀分布的随机数。由式(3)计算。
u k = r a n d [ u k m i n , u k m a x ] (3) u_k=rand[u_{kmin},u_{kmax}]\tag{3} uk?=rand[ukmin?,ukmax?](3)
该算法预先确定最小 u k u_k uk?和最大 u k u_k uk?,然后在每次迭代中假设这两个值之间的一个随机数。磨擦量随机性的原因是坡道表面没有抛光,由于某些部位可能不均匀,磨擦量可能增加或减少。

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

如前所述,公式(1)决定了相对于之前位置的石块位移量。用这个等式来确定工人的新位置,变动不大。对于工人来说,摩擦是不考虑的。因此,工人推石块的新位置可由式(4)求得。
x = v 0 2 2 g s i n ( θ ) (4) x=\frac{v_0^2}{2gsin(\theta)}\tag{4} x=2gsin(θ)v02??(4)
在这个方程中, x x x是工人的移动量。工人随着石块向上移动,同时对石块施加力。这里的目标是让工人们用他们的小动作更好地控制岩块。但是工人也有初始速度。所以对于工人来说,摩擦力是不考虑的。

这是算法的规则之一。通过公式(3)和(4)计算出石块位置和工人运动的变化,由这两个公式的结果得到一个新的位置见式(5)。
p i = ( p i + d ) ? x ξ i (5) p_i=(p_i+d)*x\xi_i\tag{5} pi?=(pi?+d)?xξi?(5)
其中, p i p_i pi??为当前位置, d d d为石块的位移值, x x x为工人的移动量, ξ i \xi_i ξi?为符合均匀分布、正态分布或Lévy分布的随机向量。这样,将石块的位移与之前的位置相加,再乘以工人的位移量,就得到了新的位置。

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

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

假设,如果问题的主要解决方案是 ? = ( ψ 1 , ψ 2 , . . . , ψ n ) \phi = (\psi_1,\psi_2,...,\psi_n) ?=(ψ1?,ψ2?,...,ψn?),和由式(5)生成的解决方案 Φ = ( Φ 1 , Φ 2 , . . . , Φ n ) \Phi = (\Phi_1,\Phi_2,...,\Phi_n) Φ=(Φ1?,Φ2?,...,Φn?)有百分之一百五十的概率,将取代一些的主要解决方案与生成的解决方案。产生的新解为 Z = ( ξ 1 , ξ 2 , . . . , ξ n ) Z=(\xi _1,\xi _2,...,\xi_n) Z=(ξ1?,ξ2?,...,ξn?)。因此,由式(6)用于替换乘上这个值就决定了下一次迭代时工作人员在石块周围的位置。
ξ k = { Φ k , i f ? r a n d ≤ 0.5 ψ k , e l s e (6) \xi_k=\begin{cases} \Phi_k,if\,rand\leq0.5\\ \psi_k,else \end{cases}\tag{6} ξk?={Φk?,ifrand0.5ψk?,else?(6)
算法步骤如下:

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

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

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

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

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

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

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

2.算法结果

请添加图片描述

3.参考文献

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

4.Matlab代码

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-23 11:28:02  更:2021-09-23 11:29:42 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 12:49:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码