当前位置: 首页 > news >正文

求解大规模优化问题的改进正弦余弦算法

文章目录

  • 一、理论基础
    • 1、SCA
    • 2、基于Lévy飞行的正弦余弦算法
      • (1)Lévy飞行学习机制
      • (2)基于距离的非线性调整策略
  • 二、仿真实验与结果分析
  • 三、参考文献

一、理论基础

1、SCA

请参考这里。

2、基于Lévy飞行的正弦余弦算法

(1)Lévy飞行学习机制

Lévy飞行的具体原理请参考这里。SCA种群中每个个体的位置更新只利用了自身信息 x i t x_i^t xit和全局最优个体 p t p^t pt的信息,就能使种群快速向最优个体靠拢,但这也易导致算法陷入局部最优。因此,本研究让正弦余弦种群每个个体学习都拥有Lévy飞行的飞行能力,利用Lévy飞行在未知大规模空间的较强搜索能力,使改进算法SCAL能够解决大规模优化问题。SCAL使用式(1)计算种群个体的位置更新。 X i j t + 1 = { L ( s ) j t × X i j t + r 1 × sin ⁡ ( r 2 ) × ∣ r 3 P j t − X i j t ∣ r 4 < 0.5 L ( s ) j t × X i j t + r 1 × cos ⁡ ( r 2 ) × ∣ r 3 P j t − X i j t ∣ r 4 ≥ 0.5 (1) X_{ij}^{t+1}=\begin{dcases}L(s)_j^t\times X_{ij}^t+r_1\times\sin(r_2)\times\left|r_3P_j^t-X_{ij}^t\right|\quad r_4<0.5\\[2ex]L(s)_j^t\times X_{ij}^t+r_1\times\cos(r_2)\times\left|r_3P_j^t-X_{ij}^t\right|\quad r_4\geq0.5\end{dcases}\tag{1} Xijt+1=L(s)jt×Xijt+r1×sin(r2)×r3PjtXijtr4<0.5L(s)jt×Xijt+r1×cos(r2)×r3PjtXijtr40.5(1)其中, L ( s ) j t L(s)_j^t L(s)jt为第 t t t次迭代Lévy飞行分布的第 j j j维。将Lévy飞行分布与种群个体的当前位置向量直接进行逐元素相乘计算,把Lévy飞行分布信息和特征融入种群个体中,使种群个体学习具有Lévy飞行的自相似和分形行为,拥有Lévy飞行能力。充分利用Lévy飞行在搜索时频繁的短距离局部游走的特征,使个体在其有限的邻域内随机地进行精细搜索,增加个体局部开发能力;利用Lévy飞行偶尔较长距离的跳跃游走特性,维持种群的多样性,增加种群有效逃离局部最优的概率,同时,又能飞行到更大的搜索空间探索,提高算法的全局搜索能力。

(2)基于距离的非线性调整策略

参数 r 1 r_1 r1对SCA比较重要,大部分变体都是对其进行改进以提高算法性能.在大规模高维度搜索空间中,当个体离全局最优解较远时,需大步长向全局最优解靠拢,以提高算法收敛速度;而当个体离全局最优解较近时,又需在其和最优解之间的小空间内进行精细开发。
鉴于此,本研究提出一种新的 r 1 r_1 r1计算方法,基于个体与全局最优解的空间距离自适应地非线性调整,以提高算法求解大规模优化问题的收敛速度,计算公式为: r 1 = ∣ X i t − p t ∣ = ∑ j = 1 d ( X i j t − p j t ) 2 (2) r_1=\left|X_i^t-p^t\right|=\sqrt{\sum_{j=1}^d\left(X_{ij}^t-p_j^t\right)^2}\tag{2} r1=Xitpt=j=1d(Xijtpjt)2 (2)其中, d d d为维度; p j t p_j^t pjt为到第 t t t次迭代全局最优解的第 j j j维。当个体离全局最优解较近时, r 1 < 1 r_1<1 r1<1,算法进入局部开发;反之, r 1 > 1 r_1>1 r1>1,进入全局搜索。新的策略 r 1 r_1 r1的值包含了全局最优解信息和个体的信息,比基本SCA中单纯给定标量线性递减效果更好。

二、仿真实验与结果分析

将SCAL与SCA、FPA、PSO、SSA(麻雀搜索算法)和WOA进行对比,以文献[1]中提到的F1、F3、F5、F7(单峰函数/100维)、F9、F10、F11、F12(多峰函数/100维)为例,实验设置种群规模为20,最大迭代次数为600,每种算法独立运算30次,结果显示如下:
在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述在这里插入图片描述

函数:F1
SCAL:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
SCA:最差值: 26845.9499, 最优值: 1379.2677, 平均值: 10565.529, 标准差: 7871.8587
FPA:最差值: 7427.5249, 最优值: 4235.3435, 平均值: 6051.9117, 标准差: 905.1181
PSO:最差值: 12579.0353, 最优值: 7052.0874, 平均值: 9538.5475, 标准差: 1370.4711
SSA:最差值: 1.4636e-36, 最优值: 7.2766e-243, 平均值: 4.8793e-38, 标准差: 2.6722e-37
WOA:最差值: 8.8663e-73, 最优值: 6.3288e-89, 平均值: 4.8919e-74, 标准差: 1.8006e-73
函数:F3
SCAL:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
SCA:最差值: 476754.4992, 最优值: 127179.3524, 平均值: 262068.4747, 标准差: 70870.3902
FPA:最差值: 310975.471, 最优值: 99223.1719, 平均值: 223478.4395, 标准差: 47648.8179
PSO:最差值: 116308.5222, 最优值: 28821.7969, 平均值: 62162.1969, 标准差: 19659.9416
SSA:最差值: 5.0817e-30, 最优值: 0, 平均值: 1.6943e-31, 标准差: 9.2778e-31
WOA:最差值: 1646239.4758, 最优值: 666781.8442, 平均值: 1164978.1859, 标准差: 272513.2426
函数:F5
SCAL:最差值: 0.0066744, 最优值: 3.3852e-05, 平均值: 0.0019527, 标准差: 0.0018722
SCA:最差值: 89723946.8607, 最优值: 1589018.452, 平均值: 34261782.9317, 标准差: 17410503.0275
FPA:最差值: 1844183.0329, 最优值: 499010.0766, 平均值: 1015783.407, 标准差: 366686.1678
PSO:最差值: 2974679.9011, 最优值: 915993.0249, 平均值: 1734713.1807, 标准差: 502913.2535
SSA:最差值: 0.0039706, 最优值: 3.5994e-05, 平均值: 0.00067586, 标准差: 0.0008032
WOA:最差值: 0.026804, 最优值: 3.0214e-05, 平均值: 0.0028379, 标准差: 0.0053229
函数:F7
SCAL:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
SCA:最差值: 3567.2602, 最优值: 35.8981, 平均值: 1154.1107, 标准差: 884.2505
FPA:最差值: 839.367, 最优值: 413.1283, 平均值: 608.0426, 标准差: 125.2464
PSO:最差值: 1520.0076, 最优值: 734.6265, 平均值: 1068.5975, 标准差: 182.6087
SSA:最差值: 1.3285e-38, 最优值: 0, 平均值: 4.5593e-40, 标准差: 2.4236e-39
WOA:最差值: 6.8135e-74, 最优值: 1.6347e-89, 平均值: 2.51e-75, 标准差: 1.2458e-74
函数:F9
SCAL:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
SCA:最差值: 46.8577, 最优值: 6.7373, 平均值: 23.1092, 标准差: 10.404
FPA:最差值: 72.9827, 最优值: 37.843, 平均值: 57.6473, 标准差: 8.1026
PSO:最差值: 78.1904, 最优值: 45.2914, 平均值: 58.2693, 标准差: 8.0958
SSA:最差值: 6.6398e-05, 最优值: 0, 平均值: 2.2133e-06, 标准差: 1.2123e-05
WOA:最差值: 4.5847e-55, 最优值: 7.0222e-65, 平均值: 1.9115e-56, 标准差: 8.421e-56
函数:F10
SCAL:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
SCA:最差值: 691.0036, 最优值: 107.0802, 平均值: 287.3478, 标准差: 134.7089
FPA:最差值: 818.9184, 最优值: 723.2619, 平均值: 772.5831, 标准差: 24.3426
PSO:最差值: 708.9732, 最优值: 441.2927, 平均值: 569.7274, 标准差: 59.4548
SSA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
WOA:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
函数:F11
SCAL:最差值: 8.8818e-16, 最优值: 8.8818e-16, 平均值: 8.8818e-16, 标准差: 0
SCA:最差值: 20.6799, 最优值: 4.0271, 平均值: 18.8642, 标准差: 4.1972
FPA:最差值: 19.9656, 最优值: 10.2293, 平均值: 15.7688, 标准差: 2.3516
PSO:最差值: 14.5675, 最优值: 10.9124, 平均值: 13.1711, 标准差: 0.90053
SSA:最差值: 4.4409e-15, 最优值: 8.8818e-16, 平均值: 1.125e-15, 标准差: 9.0135e-16
WOA:最差值: 7.9936e-15, 最优值: 8.8818e-16, 平均值: 3.7303e-15, 标准差: 2.3603e-15
函数:F12
SCAL:最差值: 0, 最优值: 0, 平均值: 0, 标准差: 0
SCA:最差值: 214.5463, 最优值: 64.4918, 平均值: 137.1483, 标准差: 39.0078
FPA:最差值: 300.4145, 最优值: 271.8241, 平均值: 284.1846, 标准差: 7.2081
PSO:最差值: 282.8313, 最优值: 245.1243, 平均值: 271.3589, 标准差: 8.007
SSA:最差值: 8.6008, 最优值: 3.924e-23, 平均值: 0.3388, 标准差: 1.5842
WOA:最差值: 6.2422e-16, 最优值: 1.8905e-19, 平均值: 2.7621e-17, 标准差: 1.1328e-16

实验结果表明:SCAL算法在收敛精度、收敛速度和鲁棒性上较5种群体智能算法优势明显。

三、参考文献

[1] 张超, 杨忆. 求解大规模优化问题的改进正弦余弦算法[J/OL]. 深圳大学学报(理工版): 1-9 [2022-10-14].

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • (附源码)计算机毕业设计ssm基于Internet快递柜管理系统
  • [系统安全] 逆向工程进阶篇之对抗逆向分析
  • 二十三、Hive本地模式安装
  • Spring Cloud Alibaba — 0、服务架构演变
  • 实战 - AES对称加密算法加密和解密设备联动码
  • IDEA统计项目代码量
  • 图像处理:推导五种滤波算法(均值、中值、高斯、双边、引导)
  • 【光学】基于matlab GUI双缝干涉和牛顿环【含Matlab源码 2165期】
  • 合宙AIR32F103CBT6刷回CMSIS-DAP固件以及刷ST-LINK V2-1固件方法
  • 【操作系统】volatile、wait和notify以及“单例模式”基础知识
  • java自定义注解防重提交
  • 4-Arm PEG-Aldehyde,4ARM-PEG-CHO,四臂-聚乙二醇-醛基修饰蛋白质用试剂
  • C语言预处理、宏定义
  • Flink 成长之路专栏 - 导读目录
  • 软考高级系统架构设计师系列论文五十:论SOA在企业集成架构设计中的应用
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • android 一些 utils
  • CAP 一致性协议及应用解析
  • create-react-app项目添加less配置
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • Javascript Math对象和Date对象常用方法详解
  • JS变量作用域
  • React中的“虫洞”——Context
  • Redis学习笔记 - pipline(流水线、管道)
  • Spark in action on Kubernetes - Playground搭建与架构浅析
  • Storybook 5.0正式发布:有史以来变化最大的版本\n
  • vue+element后台管理系统,从后端获取路由表,并正常渲染
  • vue的全局变量和全局拦截请求器
  • Webpack 4x 之路 ( 四 )
  • 浮现式设计
  • 干货 | 以太坊Mist负责人教你建立无服务器应用
  • 关于springcloud Gateway中的限流
  • 基于Dubbo+ZooKeeper的分布式服务的实现
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 前端面试之闭包
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 小程序滚动组件,左边导航栏与右边内容联动效果实现
  • LevelDB 入门 —— 全面了解 LevelDB 的功能特性
  • 积累各种好的链接
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • # Swust 12th acm 邀请赛# [ A ] A+B problem [题解]
  • #stm32驱动外设模块总结w5500模块
  • (007)XHTML文档之标题——h1~h6
  • (java版)排序算法----【冒泡,选择,插入,希尔,快速排序,归并排序,基数排序】超详细~~
  • (SERIES12)DM性能优化
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (二十六)Java 数据结构
  • (附源码)springboot太原学院贫困生申请管理系统 毕业设计 101517
  • (官网安装) 基于CentOS 7安装MangoDB和MangoDB Shell
  • (全部习题答案)研究生英语读写教程基础级教师用书PDF|| 研究生英语读写教程提高级教师用书PDF
  • (算法)N皇后问题
  • (一)插入排序
  • (转载)跟我一起学习VIM - The Life Changing Editor
  • (轉貼) UML中文FAQ (OO) (UML)
  • .bat批处理(五):遍历指定目录下资源文件并更新