【智能算法】黄金正弦算法(GSA)原理及实现

在这里插入图片描述

目录

    • 1.背景
    • 2.算法原理
      • 2.1算法思想
      • 2.2算法过程
    • 3.结果展示
    • 4.参考文献


1.背景

2017年,Tanyildizi等人受到正弦函数单位圆内扫描启发,提出了黄金正弦算法(Golden Sine Algorithm, GSA)。

2.算法原理

2.1算法思想

GSA来源于正弦函数单位圆内扫描类似于待优化问题解的空间搜索,并通过黄金分割率缩小搜索空间以逼近算法最优解。
在这里插入图片描述

2.2算法过程

黄金分割系数

GSA在位置更新过程中引入黄金分割系数 x1 、x2 使“搜索”和“开发”达到良好的平衡,这些系数缩小了搜索空间引领个体趋近最优值:
x 1 = a ⋅ ( 1 − τ ) + b ⋅ τ x 2 = a ⋅ ( τ + b ⋅ ( 1 − τ ) (1) \begin{array}{rl}{x_{1}=a\cdot(1-\tau)+b\cdot\tau}\\{x_{2}=a\cdot(\tau+b\cdot(1-\tau)}\end{array}\tag{1} x1=a(1τ)+bτx2=a(τ+b(1τ)(1)
其中,a,b为 黄金分割比率搜索初始值,论文中a = -π、b = π,τ为黄金分割比率:
τ = ( 5 − 1 ) / 2 (2) \tau=( \sqrt{5}-1) /2 \tag{2} τ=(5 1)/2(2)

位置更新

V i t + 1 = V i t ⋅ ∣ sin ⁡ ( r 1 ) ∣ − r 2 ⋅ sin ⁡ ( r 1 ) ⋅ ∣ x 1 ⋅ D i t − x 2 ⋅ V i t ∣ (3) \begin{aligned}V_i^{t+1}&=V_i^t&\cdot\mid\sin(r_1)\mid-r_2&\cdot\sin(r_1)&\cdot\mid x_1&\cdot D_i^t-x_2&\cdot V_i^t\mid\end{aligned}\tag{3} Vit+1=Vitsin(r1)r2sin(r1)x1Ditx2Vit(3)

伪代码

在这里插入图片描述

3.结果展示

在这里插入图片描述

4.参考文献

[1] Tanyildizi E, Demir G. Golden sine algorithm: a novel math-inspired algorithm[J]. Advances in Electrical & Computer Engineering, 2017, 17(2).

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

前端学习<二>CSS基础——14-CSS3属性详解:Web字体

前言 开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体。从此,把特殊字体处理成图片的方式便成为了过去。 支持程度比较好,甚至 IE 低版本的浏览器也能…

C语言内存函数(超详解)

乐观学习,乐观生活,才能不断前进啊!!! 我的主页:optimistic_chen 我的专栏:c语言 点击主页:optimistic_chen和专栏:c语言, 创作不易,大佬们点赞鼓…

安全用电监控系统在工厂的研究与应用论述

摘 要:随着社会时代的发展,人们的安全意识越来越强烈,在人们生活和工作中离不开各种用电设备,用电设备的安全使用是保障人们生命安全的重要内容。工厂因自身厂内工作环境的特殊性,用电设备的种类多且复杂,如…

【数据结构与算法初阶(c语言)】插入排序、希尔排序、选择排序、堆排序、冒泡排序、快速排序、归并排序、计数排序-全梳理(万字详解,干货满满,建议三连收藏)

目录 1.排序的概念及其运用 1.1排序的概念 1.2排序运用 1.3常见的排序算法 2.插入排序 2.1 原理演示:​编辑 2.2 算法实现 2.3 算法的时间复杂度和空间复杂度分析 3.希尔排序 3.1算法思想 3.2原理演示 3.3代码实现 3.4希尔算法的时间复杂度 4.冒泡排序 4.1冒泡排…

二、图的表示和带权图

文章目录 1、图的表示1.1 邻接矩阵1.2 邻接表1.3 关联矩阵 2、带权图2.1 最短路径问题2.2 中国邮递员问题2.3 旅行商问题 THE END 1、图的表示 1.1 邻接矩阵 \qquad 将图的所有顶点分别构成一个二维矩阵的行列,将顶点之间的边关系表示在构成的矩阵之中,…

在CentOS 8.5.2111下安装vncserver

# 参考: 如何在 CentOS 8/RHEL 8 上安装配置 VNC 服务器 安装CentOS 8.5.2111 及 vncserver # 标准安装步骤 安装GNOME桌面环境使用屏幕号:1。安装VNC服务器(tigervnc-server tigervnc)设置VNC密码设置VNC服务器配置文件开启vnc服务。开放防…

FX110网:货币交易5个亏损典型,你有中招吗?

人生百年几今日,今日不为真可惜!若言姑待明朝至,明朝又有明朝事。很多投资朋友总是抱怨,为什么总是看见别人赚钱,自己一进场就亏损,那么在这里投资失败无非两点:一是自身原因,自己没…

SAP 销售分销中的免费货物

销售业务中,免费货物在您与客户协商价格时起着重要作用。在零售、化工或消费品这样的行业部门中,通常以免费货物的形式向客户提供折扣。 作为用户,业务用户希望能自动确定免费货物并将它们归入销售凭证中。同时需要向成本控制部门提供免费货物…

密码算法概论

基本概念 什么是密码学? 简单来说,密码学就是研究编制密码和破译密码的技术科学 例题: 密码学的三个阶段 古代到1949年:具有艺术性的科学1949到1975年:IBM制定了加密标准DES1976至今:1976年开创了公钥密…

盘点那些好用的SAP FIORI App(一) Display Customer/Supplier List

做SAP运维的人可能都知道,SAP标准的菜单里面基本没有好用的report可以用来批量显示并导出客户清单,或者供应商清单。T-code MKVZ 可以导出供应商的采购数据,但仅限于部分字段,客户清单的话系统标准的有这个S_ALR_87012179 - Custo…

电脑端手机配置检测工具推荐与使用指南

摘要 本文介绍了如何使用克魔助手工具在电脑上检测手机的配置信息。通过该工具,用户可以全面了解手机的硬件和操作系统信息,包括电池、CPU、内存、基带信息和销售信息等。 引言 在日常工作中,了解手机的配置信息对于开发和测试人员非常重要…

算法刷题笔记(3.25-3.29)

算法刷题笔记 3.25-3.29 1. 相同的树2. 二叉树的最近公共祖先3. 二叉搜索树中第K小的元素通过双端队列duque 中序遍历 4. 二叉树的锯齿形层序遍历new LinkedList<Integer>(levelList)双端队列复制 数组需要左右顺序&#xff0c;考虑双端队列 5. 岛屿数量6. 字典序排数&am…

【应用浅谈】Odoo的库存计价与产品成本(一)

序言:时间是我们最宝贵的财富,珍惜手上的每个时分 Odoo的库存&#xff08;Stock&#xff09;模块拥有众多功能&#xff0c;其中库存计价是一项非常重要的功能&#xff0c;原生的成本方法分三种&#xff1a;【标准成本】&#xff0c;【平均成本】&#xff0c;【先进先出】&#…

个人博客系统|基于Springboot的个人博客系统设计与实现(源码+数据库+文档)

个人博客系统目录 目录 基于Springboot的个人博客系统设计与实现 一、前言 二、系统功能设计 三、系统实现 1、管理员功能实现 &#xff08;1&#xff09;用户管理 &#xff08;2&#xff09;文章分类管理 &#xff08;3&#xff09;公告信息管理 &#xff08;4&#…

微服务之分布式事务概念

微服务之分布式事务概念 CAP定理和Base理论 CAP定理 CAP定理在1998年被加州大学的计算机科学家 Eric Brewer 提出&#xff0c;分布式系统有三个指标&#xff1a; 一致性&#xff08;Consistency&#xff09;可用性&#xff08;Availability&#xff09;分区容错性&#xff…

Taro 关于微信订阅消息的调用

requestSubscribeMessage 是微信提供的方法 封装的调用requestSubscribeMessage的方法 示例图如下 import {getWechatTemplates,postSubscribeNotice } from /magic-sdk/apis/wechat-service; import {WechatTemplateType,SubscribeNoticeObjTypeOptions,WechatTemplateEvent…

详细分析Mysql中的STR_TO_DATE基本知识(全)

目录 前言1. 基本知识2. Demo3. 实战Demo4. Sql彩蛋4.1 LPAD函数4.2 SUBSTRING_INDEX函数 5. Java彩蛋 前言 对于该知识点&#xff0c;主要因为数据库类型为String&#xff08;类似2024-03-26&#xff09;&#xff0c;放置于后端操作后&#xff0c;需要自定义比较&#xff0c;…

做了盲/埋孔,PCB还有必要做盘中孔吗?

在PCB设计中&#xff0c;过孔类型可分为盲孔、埋孔和盘中孔&#xff0c;它们各自有不同应用场景和优势&#xff0c;盲孔和埋孔主要用于实现多层板之间的电气连接&#xff0c;而盘中孔是元器件的固定及焊接。如果PCB板上做了盲孔和埋孔&#xff0c;那么有必要做盘中孔吗&#xf…

java的Class文件分析

文章目录 1. 简介2. Class文件分析 1. 简介 Java有一个著名的口号一次编译&#xff0c;处处运行&#xff0c;这就凸显出来Java程序的一个特点平台无关性。Java的平台无关性是基于各种不同平台的Java虚拟机&#xff0c;以及所有平台都统一支持的程序存储格式—字节码实现的。在…

B端管理系统:UI设计师为什么没有话语权?

一、六大因素&#xff0c;导致了UI设计师话语权缺失。 专业性差异&#xff1a; UI设计师主要负责界面设计和用户体验&#xff0c;而在B端管理系统中&#xff0c;功能性和操作流程往往更为重要&#xff0c;需要产品经理和开发人员更多的参与&#xff0c;他们对于系统的功能和技…