正弦余弦算法的樽海鞘群算法

文章目录

  • 正弦余弦算法的樽海鞘群算法
    • 1.樽海鞘群算法
    • 2.正弦余弦算法的樽海鞘群算法
      • 2.1 Logistics 映射的种群初始化
      • 2.2 正弦余弦算法(SCA)
      • 2.3差分演化变异策略
    • 3.实验结果
    • 4.参考文献
    • 5.Matlab代码
    • 6.python代码

摘要:针对樽海鞘群算法求解精度不高和收敛速度慢等缺点,提出一种正弦余弦算法的樽海鞘群算法(SCS-SA)。引入 Logistics 混沌序列生成初始种群,增加初始个体的多样性;将正弦余弦算法作为局部因子嵌入到樽海鞘群算法中,对樽海鞘个体进行正弦和余弦优化;对最优樽海鞘的领域空间进行差分演化变异策略,增强局部搜索能力。

1.樽海鞘群算法

基础樽海鞘群优化算法算法的具体原理参考,我的博客:https://blog.csdn.net/u011835903/article/details/107767869

2.正弦余弦算法的樽海鞘群算法

2.1 Logistics 映射的种群初始化

樽海鞘群体的初始化对 SSA 的收敛速度和寻优精度至关重要。在樽海鞘群初始时,由于没有任何先验知识可使用,基本上大部分群智能算法的初始位置都是随机生成的。初始种群均匀分布在搜索空间,对提高算法寻优有很大帮助。混沌序列具有随机性、遍历性和规律性,通过其产生的樽海鞘群体有较好的多样性。其基本思路是:通过映射关系在[0,1]区间产生混沌序列,然后将其转化到个体的搜索空间。产生混沌序列的模型有许多,本文采用 Logistics 映射生成的混沌序列来初始化樽海鞘群算法群体。Logistics 映射的数学表达式为:
yj+1i=μyji(1−yji)yji<0.5(6)y_{j+1}^{i}=\mu y_{j}^{i}\left(1-y_{j}^{i}\right) \quad y_{j}^{i}<0.5 \tag{6} yj+1i​=μyji​(1−yji​)yji​<0.5(6)
式中: μ∈[0,4]μ ∈[0,4]μ∈[0,4]是混沌参数,μμμ 越大,混沌性越好,本文取μ=4;i=1,2,…,Nμ = 4;i = 1,2,…,Nμ=4;i=1,2,…,N表示种群规模;j=1,2,…,dj = 1,2,…,dj=1,2,…,d 表示混沌变量序号。

Logistics 混沌映射对初始值的选取非常敏感,给式(6)选取 ddd 个具有微小差异的初始值,则可得到 ddd 个混沌序列 yjiy^i_jyji​ 。然后再将ddd个混沌序列 yjiy^i_jyji​ 作逆映射到相应的个体搜索空间变量 xjix^i_jxji​ 。
xji=lbi+(ubi−lbi)yji(7)x_{j}^{i}=l b_{i}+\left(u b_{i}-l b_{i}\right) y_{j}^{i} \tag{7} xji​=lbi​+(ubi​−lbi​)yji​(7)
[lbi,ubi][lb_i ,ub_i ][lbi​,ubi​]为 xjix^i_jxji​ 的搜索范围。

2.2 正弦余弦算法(SCA)

由式(5)追随者位置更新公式可知,第 i 只樽海鞘位置会根据第 i 和 i - 1 只樽海鞘位置坐标中点进行更新。在此过程中并没有判别x i 是否优于原来位置,这种单方向根据第 i 只樽海鞘的位置信息机制,樽海鞘个体之间缺少交流,信息利用率较低。为使群体之间拥有更多的交流机会,进一步优化樽海鞘群算法的探索和开发能力,本文引入正弦余弦算法作为局部优化算子嵌入到樽海鞘群算法中,即在更迭后期对全部樽海鞘个体采用正弦余弦操作,指导樽海鞘个体更新樽海鞘位置,更新公式如下:
Xit+1={Xit+r1×sin⁡(r2)×∣r3Fit−Xit∣r4<0.5Xit+r1×cos⁡(r2)×∣r3Fit−Xit∣r4⩾0.5(8)\boldsymbol{X}_{i}^{t+1}=\left\{\begin{array}{ll} \boldsymbol{X}_{i}^{t}+r_{1} \times \sin \left(r_{2}\right) \times\left|r_{3} \boldsymbol{F}_{i}^{t}-\boldsymbol{X}_{i}^{t}\right| & r_{4}<0.5 \\ \boldsymbol{X}_{i}^{t}+r_{1} \times \cos \left(r_{2}\right) \times\left|r_{3} \boldsymbol{F}_{i}^{t}-\boldsymbol{X}_{i}^{t}\right| & r_{4} \geqslant 0.5 \end{array}\right. \tag{8} Xit+1​={Xit​+r1​×sin(r2​)×∣∣​r3​Fit​−Xit​∣∣​Xit​+r1​×cos(r2​)×∣∣​r3​Fit​−Xit​∣∣​​r4​<0.5r4​⩾0.5​(8)
式中: Xit+1=(x1i,x2i,…,xdi)TX^{t+1}_i= (x^i_1 ,x^i_2 ,…,x^i_d )^TXit+1​=(x1i​,x2i​,…,xdi​)T表示ddd 维个体iii的空间位置;Pit=(F1,F2,…,Fd)TP ^t_i= (F_1 ,F_2 ,…,F_d )^TPit​=(F1​,F2​,…,Fd​)T表示每一代最有个体的位置,即食物源位置;$r _1 = a - t × a/T max ,其指导第i个个体的下一代位置区域(或移动方向),该区域可以位于解决方案和目标之间,a为常数,本文取,其指导第 i 个个体的下一代位置区域(或移动方向),该区域可以位于解决方案和目标之间,a 为常数,本文取,其指导第i个个体的下一代位置区域(或移动方向),该区域可以位于解决方案和目标之间,a为常数,本文取a = 2;;;r_2$属于区间[0,2π]之间的一个随机数,其决定了应朝向或远离目标的移动距离。

2.3差分演化变异策略

在 SSA 中,樽海鞘链的领导者位置 xj1x^1_jxj1​至关重要,指引群体朝着最优解方向移动,但如果 xj1x ^1_jxj1​陷入局部最优,则容易使群体整体搜索出现停滞,对其进行变异操作,搜索邻域空间,可增强算法跳出局部最优的能力。本文采用一种差分演化变异策略(Differential Evolu-tionary Mutation,DEM) 。该策略采用差分演化对领导者位置 xj1x ^1_jxj1​进行扰动。更新公式如下:
mj=xj1+F×(xjR1−xjR2)+F×(xjR3−xjR4)(9)m_{j}=x_{j}^{1}+F \times\left(x_{j}^{R_{1}}-x_{j}^{R_{2}}\right)+F \times\left(x_{j}^{R_{3}}-x_{j}^{R_{4}}\right) \tag{9} mj​=xj1​+F×(xjR1​​−xjR2​​)+F×(xjR3​​−xjR4​​)(9)
式中: FFF 是缩放因子;R1、R2、R3、R4R_1 、R_2 、R_3、R_4R1​、R2​、R3​、R4​ 是区间[1,N]上互不相同的随机整数,代表不同樽海鞘个体;j 是维度;mjm_jmj​为扰动后的食物源位置。使用式(10)交叉操作选择新的食物源位置。
xj1∗={mjrand ⩽CR×jrand =jxj1其他 (10)x_{j}^{1^{*}}=\left\{\begin{array}{ll} m_{j} & \text { rand } \leqslant C R \times j_{\text {rand }}=j \\ x_{j}^{1} & \text { 其他 } \end{array}\right. \tag{10} xj1∗​={mj​xj1​​ rand ⩽CR×jrand ​=j 其他 ​(10)
式中: rand 是[0,1]区间均匀分布的随机数,对每一个维度都要重新产生;CRCRCR 为交叉概率;jrandj_{rand}jrand​ 是区间[1,D]上随机生成的一个整数,确保 xj1∗x ^{1*}_jxj1∗​至少有一维不同于 x1x_1x1​ 。本文实验中,F=1,CR=0.1F = 1,CR = 0. 1F=1,CR=0.1 。

正弦余弦算法的樽海鞘群算法步骤如下:
Step 1 初始化个体位置。使用 Logistics 映射生成混沌序列,根据搜索空间的上下限,把混沌序列逆映射为一个 N × d 维的矩阵。
Step 2 计算初始适应度值。根据测试函数计算N 个樽海鞘的适应度值。
Step 3 选定食物源。将 Step2 中计算后的适应度值升序(或降序)排列,适应度值最好的樽海鞘位置选定为食物源位置。
Step 4 更新领导者和追随者位置。确定食物源位置之后,选取种群中一个的樽海鞘个体根据式(2)更新领导者位置,其余的樽海鞘根据式(5)更新追随者位置。
Step 5 正弦余弦指引策略。利用式(8)对 Step4所生成的樽海鞘个体进行正弦或余弦操作,以更新到新的樽海鞘位置。
Step 6 计算适应值。计算更新后种群的适应度值,引入差分演化变异策略,根据式(9)和式(10)更新食物源位置。
Step 7 重复 Step4 - Step6,如果达到设置的精度要求或规定的最大迭代次数,则终止算法,输出全局最优解。

3.实验结果

4.参考文献

[1]陈忠云,张达敏,辛梓芸.正弦余弦算法的樽海鞘群算法[J].计算机应用与软件,2020,37(09):209-214.

5.Matlab代码

6.python代码

正弦余弦算法的樽海鞘群算法相关推荐

  1. MATLAB算法实战应用案例精讲-【优化算法】樽海鞘群算法(SSA)及其算法变种(附matlab代码实现)

    目录 前言 算法原理 算法思想 数学模型 (1)种群初始化

  2. 【单目标优化算法】樽海鞘群算法(Matlab代码实现)

  3. 面向全局搜索的自适应领导者樽海鞘群算法-附代码

    面向全局搜索的自适应领导者樽海鞘群算法 文章目录 面向全局搜索的自适应领导者樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 改进领导者位置更新公式 2.2 引入领导者-跟随者自适应调整策 ...

  4. 混沌映射与动态学习的自适应樽海鞘群算法-附代码

    混沌映射与动态学习的自适应樽海鞘群算法 文章目录 混沌映射与动态学习的自适应樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 基于改进 Tent 映射的种群初始化 2.2 基于 Logis ...

  5. 基于混沌映射的自适应樽海鞘群算法-附代码

    基于混沌映射的自适应樽海鞘群算法 文章目录 基于混沌映射的自适应樽海鞘群算法 1.樽海鞘群算法 2.改进樽海鞘群算法 2.1 混沌映射 2.2 自适应权重变化 2.3 追随者机制变化 3.实验结果 4 ...

  6. 基于疯狂自适应的樽海鞘群算法

    基于疯狂自适应的樽海鞘群算法 文章目录 基于疯狂自适应的樽海鞘群算法 1.樽海鞘群算法 2.基于疯狂自适应樽海鞘群算法 2.1 Tent映射的种群初始化 2.2 疯狂算子 2.3自适应惯性权重 3.实 ...

  7. 基于混沌映射的自适应樽海鞘群算法

    文章目录 一.理论基础 1.基本樽海鞘群算法 2.改进的樽海鞘群算法 (1)混沌映射 (2)自适应权重变化 (3)追随者机制变化 (4)算法伪代码 二.实验仿真及结果分析 三.参考文献 一.理论基础 ...

  8. 基于正交设计的折射反向学习樽海鞘群算法

    文章目录 一.理论基础 1.樽海鞘群算法 2.正交反向学习樽海鞘群算法OOSSA (1)正交反向学习策略 (2)惯性权重策略 (3)OOSSA算法 二.仿真实验与结果分析 三.参考文献 一.理论基础 ...

  9. 基于差异演化的寄生樽海鞘群算法

    文章目录 一.理论基础 1.标准SSA算法 2.PDESSA算法 2.1 改进领导者全局搜索方式 2.1.1 上代领导者位置信息的影响 2.1.2 非线性惯性权重 2.2 寄生和宿主双种群 2.3 P ...

  10. 【WSN】基于樽海鞘群算法实现无线传感器网络WSN节点的部署优化matlab源码

    1 算法介绍 一种基于樽海鞘群算法的无线传感器网络节点定位方法,包括初始化樽海鞘群个体节点,判断节点位置,将节点位置作为食物源对周围环境进行链式搜索,找到其余节点进行确认,并转为食物源变量进行迭代搜索 ...

最新文章

  1. 剑指 Offer 05. 替换空格 简单
  2. 八数码(康拓展开标记)及类似题
  3. python编程计算前30项的和_Python 程序员需要知道的 30 个技巧
  4. vue中v-for指令的使用之Vue知识点归纳(八)
  5. ubuntu安装软件
  6. 刷面经笔记2019.01.30
  7. 七月算法机器学习1 机器学习初识
  8. 如何设置二进制某一位的值_mysql参数设置--max_allowed_packet 值如何调整?
  9. topcoder srm 440 div1
  10. 解除网页百度云自动关联客户端,可通过迅雷或浏览者下载
  11. 计算机网络为什么要分层?
  12. vim command line quick edit
  13. ES9,ES10,ES11知识点
  14. Python Flask,Jinja2模板,模板中使用特殊变量及函数,闪现信息,get_flashed_messages()
  15. FM模型及其在推荐系统中的应用
  16. 黑客入门常用的8种工具
  17. 初学Python之math模块在哪里?
  18. 机器学习笔记(十)——这样推导SMO算法才易理解
  19. 泛微实物档案数字化管理方案,全面优化组织档案管理
  20. Linux连接外网(方式一)

热门文章

  1. 我国中药产业的国际竞争力研究
  2. python 使用 reportlab 生成 pdf
  3. html星星连线特效代码,js实现飞入星星特效代码
  4. 4G标准之争,攘外须先安内
  5. 路由器连接、静态路由配置实例
  6. 关于Connection的一个测试
  7. 面向对象编程实例——句柄类的使用
  8. 图解通信原理与案例分析-11:无线调幅广播电台AM案例--天线以及高频信号的发送
  9. 《数字电子技术基础》6.3 时序逻辑电路——寄存器、计数器及脉冲发生器功能介绍
  10. 复旦大学《高等代数学(第三版)》教材勘误表