之前整了一篇花朵授粉算法,本来打算最终应用的时候用那个,结果发现花朵授粉算法还是参数比较多的。所以选择了这个正弦余弦优化算法(Sine and Cosine Algorithm)。这个算法具体实现的时候基本上可以认为是没有参数,也就是说除了个群大小,迭代次数之类的这种优化算法必要的参数以外,可以当做是不存在其他参数的。

首先简单介绍一下正弦余弦算法,这个算法是澳大利亚学者Mirjalili提出的。这个人在这类优化算法中真的是很厉害,像鲸鱼优化算法,多元宇宙算法,包括这个正弦余弦算法,都是他提出的。给我的感觉就是,这类算法大部分在寻优的时候,分为两部分,也就是局部挖掘和全局搜索。这两个部分相互促进又相互矛盾,全局搜索用于快速定位最优解的范围,而局部挖掘用于寻找最优解,这两者必须达到一种动态平衡的状态。全局搜索过多的时候,运行会特别慢,尤其是用MATLAB这种不擅长循环的软件;局部挖掘过多的时候,就容易陷入局部最优解,当然实际工程里,全局最优解可能真的不容易找到,尤其在一些非凸问题里,局部最优解也凑合。

现在重点说一点这个正弦余弦算法。算法第一步要定义什么最大迭代次数啊,什么种群大小(或许不是这个名称)什么的。第二步就是可以直接计入迭代了。用下面这个公式

里面X是种群,t是当前迭代次数,X*是上一代最优解。算法的重点是r1到r4这四个参数,这四个参数除了r1,其他都是随机数!!!这一点非常喜欢,不用为算法参数考虑太多不像上次整的花朵授粉算法,需要一堆参数。r2说是范围在[0,2pi],但是看r2在三角函数里面,所以r2可以随机取任何值。r3是[0,2]控制和最优解的距离,保持种群的多样性。r4是转换概率,范围是[0,1]控制迭代是用正弦函数还是余弦函数。r1用下面这个公式来算

a设置个大于0的数就可以了,也忘记了在哪个文献里看的,a=2,可以参考一下。

具体实现流程跟其他类似的算法(遗传算法、粒子群算法、花朵授粉算法)差不多,就是把迭代公式换成这个就行了。具体学生狗搞数学建模的时候用惯了遗传算法或者粒子群算法的话,用这个试试效果差不多,胜在参数比较少。

正弦余弦优化算法[记录]相关推荐

  1. 自学习策略和Levy飞行的正弦余弦优化算法-附代码

    自学习策略和Levy飞行的正弦余弦优化算法 文章目录 自学习策略和Levy飞行的正弦余弦优化算法 1.正余弦算法 2. 改进的正弦余弦优化算法 2.1 自学习策略 2.2 停滞扰动策略 3.实验结果 ...

  2. 自学习策略和Lévy飞行的正弦余弦优化算法

    文章目录 一.理论基础 1.正弦余弦优化算法 2.改进的正弦余弦优化算法 (1)自学习策略 (2)停滞扰动策略 (3)SCASL寻优步骤 二.仿真结果及分析 三.参考文献 一.理论基础 1.正弦余弦优 ...

  3. 智能优化算法:正余弦优化算法-附代码

    智能优化算法:正余弦优化算法-附代码 文章目录 智能优化算法:正余弦优化算法-附代码 1.算法原理 2.算法流程 3.算法结果 4.参考文献 5.MATLAB代码 6.Python代码 摘要:正 余 ...

  4. 智能优化算法——正余弦优化算法(SCA)及其改进策略

    正余弦优化算法(SCA)及其改进策略 一.基本介绍 1. 背景 2. 算法简介 二.基本的SCA算法 1. 算法介绍 2. 算法步骤 三.算法分析 1. 正余弦分布 2. 算法实验结果 3. 算法优缺 ...

  5. 融合多策略的黄金正弦黑猩猩优化算法

    文章目录 一.理论基础 1.基本黑猩猩优化算法 2.改进的黑猩猩优化算法 2.1 Halton序列初始化种群 2.2 非线性收敛因子和自适应权重 2.2.1 非线性收敛因子 2.2.2 自适应权重因子 ...

  6. 正余弦优化算法(SCA)

    正余弦优化算法 (Sine Cosine Algorithm,SCA) 是Seyedali Mirjalili等于2016年提出的一种新型智能优化算法,在算法中会生成多个初始随机候选解,并使它们基于正 ...

  7. 数学建模学习(87):正余弦优化算法(SCA)对多元函数寻优

    本篇教程通过简洁的方式教大家了解SCA算法,轻松搭建代码块实现寻优. 文章目录 算法简介 一.算法原理 二.数学模型 三.算法流程 四.算法优缺点 五.参考文献 六.案例实现(一) 6.1 目标函数处 ...

  8. 混合正弦余弦算法和Lévy飞行的麻雀算法

    文章目录 一.理论基础 1.基本麻雀搜索算法 2.混合正弦余弦算法和Lévy飞行的麻雀算法(ISSA) (1)融合正弦余弦算法(SCA)思想 (2)Lévy飞行策略 二.ISSA算法流程图 三.算法性 ...

  9. 融合改进天牛须和正余弦的双重搜索优化算法

    文章目录 一.理论基础 1.正余弦优化算法 2.天牛须搜索算法 3.融合改进天牛须和正余弦的优化算法 (1)引入自适应权重 (2)递减参数r1r_1r1​的改变 (3)变步长搜索机制 (4)算法流程图 ...

  10. 黄金正弦混合原子搜索优化算法

    文章目录 一.理论基础 1.基本原子搜索优化算法 (1)相互作用力Fid\boldsymbol{F_i^d}Fid​ (2)共价键约束力Gid\boldsymbol{G_i^d}Gid​ (3)原子加 ...

最新文章

  1. 10 行 Python 代码自动清理电脑重复文件,解放双手!
  2. [转]Cookie/Session机制详解
  3. php html class,如何使用HTML span标签的class属性?这里有关于class属性的详解
  4. 服务器网卡的连接速度改成自动检测_ubuntu xftp,ubuntu xftp之间怎么连接,连接步骤...
  5. 201711月04日普及组 Array
  6. 区块链技术解决物联网安全问题
  7. 虚无鸿蒙哪个厉害,【图说鸿蒙】鸿蒙设定之七柱神(五)
  8. linux系统可以用迅雷吗,在Linux系统下使用wine运行迅雷5的方法
  9. 数据库的四大特性以及事务的隔离级别
  10. 【elasticsearch】 Regexes are disabled. Set [script.painless.regex.enabled] to [true]
  11. UI设计师分析用户的常用方法
  12. function core.php is missing,PHP代码
  13. 【测试沉思录】7. 测试左移的一点思考
  14. 二极管介绍及参数选择
  15. 如何使用Python 绘制惊艳众人的瀑布图
  16. 【JavaScript问题】JavaScript 请求后台报错 Invalid character found in the request target
  17. win7无损分区和硬盘分区调整合并
  18. 微信开放平台开发第三方授权登陆(三):Android客户端
  19. php模拟登录QQ空间3.0 2014-11-23
  20. paillier同态加密算法原理及代码实现

热门文章

  1. C - One-dimensional Japanese Crossword CodeForces - 721A
  2. java swing 显示图片_Swing显示图片
  3. python摄像头人脸识别代码_Python3利用Dlib19.7实现摄像头人脸识别的方法
  4. 你想学Python爬虫?看看这篇关于开发者工具神器的博客吧
  5. ubuntu 18.04 安装 wine5.0
  6. 也许你看了一本假的天龙八部
  7. WEB后端服务第22天-Django项目第2天
  8. vue typeScript get set 用法
  9. 2020年Google SEO 8大趋势
  10. Android 中的 ClassLoader 摘抄笔记