【智能算法】吉萨金子塔建造算法(GPC)原理及实现

news2024/11/18 1:30:41

在这里插入图片描述

目录

    • 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 =(p i+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.

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1619635.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

通配符(泛域名)SSL证书在使用上有什么优势?

通配符证书在使用上具有以下显著优势: 1. 安全性: - 统一加密保护:通配符证书基于SSL/TLS协议,为一个主域名及其所有子域名提供相同的高强度数据加密服务。无论用户访问的是mail.example.com、shop.example.com还是其他任何以exam…

jackson.dataformat.xml 反序列化 对象中包含泛型

重点: JacksonXmlProperty localName 指定本地名称 JacksonXmlRootElement localName 指定root的根路径的名称,默认值为类名 JsonIgnoreProperties(ignoreUnknown true) 这个注解写在类上,用来忽略在xml中有的属性但是在类中没有的情况 Jack…

SQL Server指南:从入门到进阶实战

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:「stormsha的主页」…

代码随想录算法训练营DAY36|C++贪心算法Part.5|435.无重叠区间、763.划分字母区间、56. 合并区间

文章目录 435.无重叠区间按右边界排序CPP代码 按左边界排序如何判断相邻区间是否重叠如何判断一下一个区间与当前相邻区间是否重叠总结CPP代码 763.划分字母区间思路伪代码实现CPP代码 56. 合并区间思路CPP代码 435.无重叠区间 力扣题目链接 文章链接:435.无重叠区间…

[笔试训练](五)

013 游游的you__牛客网 (nowcoder.com) 题目&#xff1a; 题解&#xff1a; 组成一个you需要一个o且能得2分&#xff0c;而组成相邻字母oo需要两个o&#xff0c;只能得1分。优先考虑组成尽可能多的you&#xff0c;再考虑剩下的o&#xff0c;放一起。 #include <iostream…

VSCode通过跳板机免密连接远程服务器的解决方案

大家好,我是爱编程的喵喵。双985硕士毕业,现担任全栈工程师一职,热衷于将数据思维应用到工作与生活中。从事机器学习以及相关的前后端开发工作。曾在阿里云、科大讯飞、CCF等比赛获得多次Top名次。现为CSDN博客专家、人工智能领域优质创作者。喜欢通过博客创作的方式对所学的…

JS -正则表达式

正则表达式 关于正则表达式&#xff0c;其实我写过几篇了&#xff0c;但是真正的正则表达式其实主要用于定义一些字符串的规则&#xff0c;计算机根据给出的正则表达式&#xff0c;来检查一个字符串是否符合规则。 我们来看一下&#xff0c;在JS中如何创建正则表达式对象。 语…

北京筑龙当选中招协第二届招标采购数字化专业委员会执行主任单位

4月18-19日&#xff0c;中国招标投标协会&#xff08;以下简称中招协&#xff09;2024年年会在宁波召开&#xff0c;北京筑龙作为中招协理事会员单位受邀出席会议。会议期间举行了“电子招标采购专业委员会换届会议暨第二届第一次工作会议”&#xff0c;北京筑龙当选第二届招标…

JavaScript 计算颜色的相对亮度,并确定相应的文本颜色

JavaScript 计算颜色的相对亮度&#xff0c;并确定相应的颜色 一、需求内容 需求点&#xff1a;给出一组颜色列表&#xff0c;渲染对应的颜色以及颜色值&#xff0c;但是要保证文本颜色和背景色不冲突&#xff0c;文本颜色保持 black 和 white 两种即可 示例如下&#xff1a…

误差的一阶和二阶——MSE/MAE

variance和bias MSE之前&#xff0c;先看两个更为朴素的指标&#xff1a;variance和bias。 在打靶中&#xff0c;有的人所有的子弹都离靶心很远&#xff0c;偏差显然过高&#xff0c;但是很稳定地维持在某一点附近&#xff1b;有的人平均环数更高&#xff0c;但是分布太过分散…

电磁兼容(EMC):静电放电(ESD)抗扰度试验深度解读(六)

目录 1. 静电测试干扰方式 2. 案例一 3. 案例二 4. 案例三 5. 案例四 6. 总结 静电放电测试的复杂性决定了这项测试对产品的主要影响方式也是多样的。标准里介绍了几种常见的影响方式&#xff1a; 1. 静电测试干扰方式 在静电放电试验中&#xff0c;测试了受试设备对于…

自然语言处理 (NLP) 的技术演变史

一、简述 本文的目标是了解自然语言处理 (NLP) 的历史&#xff0c;包括 Transformer 体系结构如何彻底改变该领域并帮助我们创建大型语言模型 (LLM)。 基础模型&#xff08;如 GPT-4&#xff09;是最先进的自然语言处理模型&#xff0c;旨在理解、生成人类语言并与之交互。 要理…

倍思、南卡、Cleer开放式耳机怎么样?三大网红真实数据测评PK

​作为一名在数码产品评测领域耕耘五载的专业人士&#xff0c;我有幸涉足各类蓝牙耳机的深度测评&#xff0c;涉猎范围广泛&#xff0c;从崭露头角的新锐品牌直至业界巨擘的旗舰之作&#xff0c;无一不在我的评测之列。鉴于近期对开放式耳机类咨询热度不减&#xff0c;我决定开…

Kafka 可视化管理工具 CMAK 启动错误 -- 命令行太长 问题解决

一、安装环境描述&#xff1a; Kafka版本&#xff1a;kafka_2.13-2.8.1cmak 版本&#xff1a;cmak-3.0.0.6安装环境&#xff1a;windows 11 二、问题描述 当我们在 命令行启动 cmak.bat 命令时&#xff0c;会报如下错误&#xff1a; 命令行太长三、解决办法 修改 cmak.bat…

C#设计树形程序界面的方法:创建特殊窗体

目录 1.TreeView控件 2.实例 &#xff08;1&#xff09;Resources.Designer.cs &#xff08;2&#xff09;Form1.Designer.cs &#xff08;3&#xff09;Form1.cs &#xff08;4&#xff09;生成效果 以树形来显示程序的菜单&#xff0c;可以更直观、更快捷地对窗体进行…

Python 面向对象——5.多态

本章学习链接如下&#xff1a; Python 面向对象——1.基本概念 Python 面向对象——2.类与对象实例属性补充解释&#xff0c;self的作用等 Python 面向对象——3.实例方法&#xff0c;类方法与静态方法 Python 面向对象——4.继承 1.基本概念 多态是面向对象编程&#x…

【智慧园区、低碳园区】工业园区综合能源管理系统解决方案

安科瑞薛瑶瑶18701709087 ◆行业特点 产业园区是国民经济发展的重要载体, 同时也是重点用能企业聚集地。园区面积大&#xff0c;供电距离远&#xff0c;建筑多且分散&#xff0c;用电负荷种类多&#xff0c;用电负荷不均匀&#xff0c;园区配电结构应整体规划&#xff0c;统一…

Xshell7免费版下载及安装(详细教程)

Xshell7免费版下载及安装&#xff08;详细教程&#xff09; 一、下载及安装 1.打开官网下载 https://www.xshell.com/zh/free-for-home-school/ 2.选择合适的下载路径 点击下载按钮 开始下载 3.下载完成后 我们双击打开.exe文件 点击下一步 4.点击我同意 点击下一步 5.选择合…

第九讲 - Java面向对象

第九讲 - Java面向对象 文章目录 第九讲 - Java面向对象1. 类和对象1.1 类和对象的理解1.2 类的定义1.3 对象的使用1.4 学生对象-练习 2. 对象内存图2.1 单个对象内存图2.2 多个对象内存图 3. 成员变量和局部变量3.1 成员变量和局部变量的区别 4. 封装4.1 封装思想4.2 private关…

IIS中搭建.Net Core项目,步骤详解

一、准备服务器 1&#xff09;安装IIS 这个比较简单&#xff0c;百度一下就行 2&#xff09;安装 .NET Core 运行时 下载地址&#xff1a;下载 .NET(Linux、macOS 和 Windows) 因为我是本地开发&#xff0c;所以我下载的是SDK 安装成功之后显示如下&#xff1a; 检查是否安装…