工程科学学报 Chinese Journal of Engineering 一种基于差分进化的正弦余弦算法 刘小娟王联国 A sine cosine algorithm based on differential evolution LIU Xiao-juan,WANG Lian-guo 引用本文: 刘小娟,王联国.一种基于差分进化的正弦余弦算法.工程科学学报,2020,42(12):1674-1684.doi:10.13374.issn2095- 9389.2020.07.26.002 LIU Xiao-juan,WANG Lian-guo.A sine cosine algorithm based on differential evolution[J].Chinese Journal of Engineering,2020, 42(12:1674-1684.doi:10.13374.issn2095-9389.2020.07.26.002 在线阅读View online::htps:/ldoi.org/10.13374.issn2095-9389.2020.07.26.002 您可能感兴趣的其他文章 Articles you may be interested in 基于自适应搜索的免疫粒子群算法 Immune particle swarm optimization algorithm based on the adaptive search strategy 工程科学学报.2017,391):125htps:1doi.org/10.13374j.issn2095-9389.2017.01.016 一种改进的人工蜂群算法—粒子蜂群算法 An improved artificial bee colony algorithm:particle bee colony 工程科学学报.2018,407):871 https:/1doi.org10.13374j.issn2095-9389.2018.07.014 基于增强学习算法的插电式燃料电池电动汽车能量管理控制策略 Energy management control strategy for plug-in fuel cell electric vehicle based on reinforcement learning algorithm 工程科学学报.2019,41(10):1332htps:1doi.org/10.13374.issn2095-9389.2018.10.15.001 分布式一致性最优化的梯度算法与收敛分析 Distributed gradient-based consensus optimization algorithm and convergence analysis 工程科学学报.2020,42(4:434 https:ldoi.org10.13374j.issn2095-9389.2019.09.05.005 基于逐层演化的群体智能算法优化 Optimization for swarm intelligence based on layer-by-layer evolution 工程科学学报.2017,393:462 https:/doi.org10.13374.issn2095-9389.2017.03.020 基于UWB的地下定位算法和拓扑优化 An underground localization algorithm and topology optimization based on ultra-wideband 工程科学学报.2018.40(6:743htps:/doi.org/10.13374issn2095-9389.2018.06.013
一种基于差分进化的正弦余弦算法 刘小娟 王联国 A sine cosine algorithm based on differential evolution LIU Xiao-juan, WANG Lian-guo 引用本文: 刘小娟, 王联国. 一种基于差分进化的正弦余弦算法[J]. 工程科学学报, 2020, 42(12): 1674-1684. doi: 10.13374/j.issn2095- 9389.2020.07.26.002 LIU Xiao-juan, WANG Lian-guo. A sine cosine algorithm based on differential evolution[J]. Chinese Journal of Engineering, 2020, 42(12): 1674-1684. doi: 10.13374/j.issn2095-9389.2020.07.26.002 在线阅读 View online: https://doi.org/10.13374/j.issn2095-9389.2020.07.26.002 您可能感兴趣的其他文章 Articles you may be interested in 基于自适应搜索的免疫粒子群算法 Immune particle swarm optimization algorithm based on the adaptive search strategy 工程科学学报. 2017, 39(1): 125 https://doi.org/10.13374/j.issn2095-9389.2017.01.016 一种改进的人工蜂群算法——粒子蜂群算法 An improved artificial bee colony algorithm: particle bee colony 工程科学学报. 2018, 40(7): 871 https://doi.org/10.13374/j.issn2095-9389.2018.07.014 基于增强学习算法的插电式燃料电池电动汽车能量管理控制策略 Energy management control strategy for plug-in fuel cell electric vehicle based on reinforcement learning algorithm 工程科学学报. 2019, 41(10): 1332 https://doi.org/10.13374/j.issn2095-9389.2018.10.15.001 分布式一致性最优化的梯度算法与收敛分析 Distributed gradient-based consensus optimization algorithm and convergence analysis 工程科学学报. 2020, 42(4): 434 https://doi.org/10.13374/j.issn2095-9389.2019.09.05.005 基于逐层演化的群体智能算法优化 Optimization for swarm intelligence based on layer-by-layer evolution 工程科学学报. 2017, 39(3): 462 https://doi.org/10.13374/j.issn2095-9389.2017.03.020 基于UWB的地下定位算法和拓扑优化 An underground localization algorithm and topology optimization based on ultra-wideband 工程科学学报. 2018, 40(6): 743 https://doi.org/10.13374/j.issn2095-9389.2018.06.013
工程科学学报.第42卷.第12期:1674-1684.2020年12月 Chinese Journal of Engineering,Vol.42,No.12:1674-1684,December 2020 https://doi.org/10.13374/j.issn2095-9389.2020.07.26.002;http://cje.ustb.edu.cn 一种基于差分进化的正弦余弦算法 刘小娟,王联国⑧ 甘肃农业大学信息科学技术学院.兰州730070 ☒通信作者,E-mail:wanglg@gsau.edu.cn 摘要正弦余弦算法是一种新型仿自然优化算法,利用正余弦数学模型来求解优化问题.为提高正弦余弦算法的优化精度 和收敛速度,提出了一种基于差分进化的正弦余弦算法.该算法通过非线性方式调整参数提高算法的搜索能力、利用差分进 化策略平衡算法的全局探索能力及局部开发能力并加快收敛速度、通过侦察蜂策略增加种群多样性以及利用全局最优个体 变异策略增强算法的局部开发能力等优化策略来改进算法,最后通过仿真实验和结果分析证明了算法的优异性能 关键词智能优化算法:正弦余弦算法:差分进化算法:侦察蜂策略:全局最优个体变异策略 分类号TP18 A sine cosine algorithm based on differential evolution LIU Xiao-juan,WANG Lian-guo College of Information Science and Technology,Gansu Agricultural University,Lanzhou 730070,China Corresponding author,E-mail:wanglg@gsau.edu.cn ABSTRACT In 2016,a novel naturally simulated optimization algorithm,termed the sine cosine algorithm (SCA),was proposed by Seyedali Mirjalili from Australia.This algorithm uses the sine cosine mathematical model to solve optimization problems and has attracted extensive attention from numerous scholars and researchers at home and abroad over the last few years.However,similar to other swarm intelligence optimization algorithms,SCA has numerous shortcomings in optimizing some complex function problems.To address the defects of basic SCA,such as low optimization precision,easy dropping into the local extremum,and slow convergence rate, a sine cosine algorithm based on differential evolution (SCADE)was proposed.First,the search capabilities of the new algorithm was improved by adjusting parameter in a nonlinear manner and ensuring that each individual adopts the same parameters.andr. Then,differential evolution strategies,including crossover,variation,and selection,were adopted to fully utilize the leading role of the globally optimal individual and information of other individuals in the population.This approach balanced the global exploration and local development abilities and accelerated the convergence rate of the algorithm.Next,using the reconnaissance bees'strategy,random initialization was performed on individuals whose fitness values showed no improvement in continuous nlim times,which increased the population diversity and improved the global exploration ability of the algorithm.Moreover,the globally optimal individual variation strategy was used to conduct a fine search near the optimal solution,which enhanced the local development ability and optimization accuracy of the algorithm.Based on the above optimization strategies,the algorithm exhibits improvements and its excellent performance is validated by the result analysis of a simulation experiment. KEY WORDS intelligent optimization algorithm;sine cosine algorithm;differential evolution algorithm;reconnaissance bees' strategy:globally optimal individual variation strategy 收稿日期:2020-07-26 基金项目:甘肃农业大学科技创新基金资助项目(GAU-XKJS-2018-251):甘肃省教育信息化建设专项任务资助项目(2011-02):国家自然科 学基金资助项目(61751313)
一种基于差分进化的正弦余弦算法 刘小娟,王联国苣 甘肃农业大学信息科学技术学院,兰州 730070 苣通信作者,E-mail:wanglg@gsau.edu.cn 摘 要 正弦余弦算法是一种新型仿自然优化算法,利用正余弦数学模型来求解优化问题. 为提高正弦余弦算法的优化精度 和收敛速度,提出了一种基于差分进化的正弦余弦算法. 该算法通过非线性方式调整参数提高算法的搜索能力、利用差分进 化策略平衡算法的全局探索能力及局部开发能力并加快收敛速度、通过侦察蜂策略增加种群多样性以及利用全局最优个体 变异策略增强算法的局部开发能力等优化策略来改进算法,最后通过仿真实验和结果分析证明了算法的优异性能. 关键词 智能优化算法;正弦余弦算法;差分进化算法;侦察蜂策略;全局最优个体变异策略 分类号 TP18 A sine cosine algorithm based on differential evolution LIU Xiao-juan,WANG Lian-guo苣 College of Information Science and Technology, Gansu Agricultural University, Lanzhou 730070, China 苣 Corresponding author, E-mail: wanglg@gsau.edu.cn ABSTRACT In 2016, a novel naturally simulated optimization algorithm, termed the sine cosine algorithm (SCA), was proposed by Seyedali Mirjalili from Australia. This algorithm uses the sine cosine mathematical model to solve optimization problems and has attracted extensive attention from numerous scholars and researchers at home and abroad over the last few years. However, similar to other swarm intelligence optimization algorithms, SCA has numerous shortcomings in optimizing some complex function problems. To address the defects of basic SCA, such as low optimization precision, easy dropping into the local extremum, and slow convergence rate, a sine cosine algorithm based on differential evolution (SCADE) was proposed. First, the search capabilities of the new algorithm was improved by adjusting parameter r1 in a nonlinear manner and ensuring that each individual adopts the same parameters r1 , r2 , r3 , and r4 . Then, differential evolution strategies, including crossover, variation, and selection, were adopted to fully utilize the leading role of the globally optimal individual and information of other individuals in the population. This approach balanced the global exploration and local development abilities and accelerated the convergence rate of the algorithm. Next, using the reconnaissance bees’ strategy, random initialization was performed on individuals whose fitness values showed no improvement in continuous nlim times, which increased the population diversity and improved the global exploration ability of the algorithm. Moreover, the globally optimal individual variation strategy was used to conduct a fine search near the optimal solution, which enhanced the local development ability and optimization accuracy of the algorithm. Based on the above optimization strategies, the algorithm exhibits improvements and its excellent performance is validated by the result analysis of a simulation experiment. KEY WORDS intelligent optimization algorithm; sine cosine algorithm; differential evolution algorithm; reconnaissance bees ’ strategy;globally optimal individual variation strategy 收稿日期: 2020−07−26 基金项目: 甘肃农业大学科技创新基金资助项目(GAU-XKJS-2018-251);甘肃省教育信息化建设专项任务资助项目(2011-02);国家自然科 学基金资助项目(61751313) 工程科学学报,第 42 卷,第 12 期:1674−1684,2020 年 12 月 Chinese Journal of Engineering, Vol. 42, No. 12: 1674−1684, December 2020 https://doi.org/10.13374/j.issn2095-9389.2020.07.26.002; http://cje.ustb.edu.cn
刘小娟等:一种基于差分进化的正弦余弦算法 ·1675· 正弦余弦算法(Sine cosine algorithm,简称SCA) 早熟收敛;文献[15]提出了一种融合最优邻域和 是2016年由澳大利亚学者Seyedali Mirjalili提出 二次插值策略的改进正弦余弦算法,协调了算法 的一种新型仿自然优化算法四.该算法通过创建多 的全局探索与局部开发能力;文献[16提出了一 个随机候选解,利用正余弦数学模型来求解优化 种改进的正余弦算法,利用正交学习、多种群机 问题,具有结构简单、参数少、易于实现的特点, 制和贪婪选择机制,提高了算法的优化性能;文 但也存在优化精度低、容易陷入局部极值、收敛 献[1]提出了一种用于全局优化和约束实际工 速度慢等问题 程问题的多策略正余弦优化算法,将Cauchy 近年以来,许多学者与研究人员对SCA进行 突变算子、混沌局部搜索机制、基于反向学习策 了相关的研究与改进.其中,文献[2]通过分析转 略等多种机制与基于差分进化的两种算子(变异 换参数,设计出转换参数抛物线函数递减和指数 和交叉)相结合,有效避免了算法陷入局部最优; 函数递减两种正弦余弦算法,并以协同过滤推荐 文献「I8]提出了一种基于带Ly飞行的正余弦 算法中相似度函数的计算为应用对象,验证了改 频带选择方法,实验结果表明所提出的频带选择 进指数函数递减正弦余弦算法的可行性和有效 方法在频带子集的选择上优于其它先进的分类 性:文献[3]通过引入惯性权重和反向学习策略, 方法,具有较高的分类精度 在提高算法收敛精度的同时加快了其收敛速度: 为了更好地平衡算法的探索和开发能力,并 文献[4]结合正弦余弦参数和候选解惯性权重提 使SCA既能从局部极值的邻域跳转到全局最优解 出了一种改进的正弦余弦算法,通过仿真实验说 的邻域,又能在全局最优解的邻域内进行高精度 明了改进算法的有效性;文献[5]提出了一种基 搜索,本文借鉴文献[19-21]中智能优化算法的混 于改进正弦余弦算法的光谱特征峰识别定位方 合方法,将差分进化算法与正弦余弦算法进行混 法,实验表明该方法在识别率等多方面均有显著 合,提出了一种基于差分进化的正弦余弦(Sine cos- 提高:文献[6]提出了一种基于精英混沌搜索策 ine algorithm based on differential evolution.SCADE) 略的交替正余弦算法,并将基于该策略的改进算 算法.算法主要做了以下5方面的改进:(1)按非 法与反向学习算法交替执行以增强其探索能力, 线性方式调整参数,并使每个个体采用相同的 降低了算法时间复杂度并提高了收敛速度;文献[) 参数r1、2、”3和r4,提高算法的搜索能力和收敛 通过引入精英反向学习策略,并利用个体的反思 速度:(2)通过差分进化策略(包括交叉、变异、选 学习能力对正弦余弦算法进行改进,提高了算法 择),充分利用全局最优个体的引导作用和种群中 的寻优精度;文献[8]提出了一种基于非线性转 其它个体的信息,平衡算法的全局探索能力和局 换参数和随机差分变异策略的正弦余弦算法,并 部开发能力;(3)利用侦察蜂策略,对个体适应度 利用该算法优化神经网络参数以解决经典分类 值连续nm次没有进步的个体随机初始化,以增加 问题;文献[9)通过混沌策略和反向学习策略提 种群多样性,提高全局探索能力:(4)利用全局最 出了一种基于改进正余弦算法的多阈值图像分 优个体变异策略,在最优解附近进行精细搜索,增 割方法,对比实验结果表明该算法运行时间较 强算法的开发能力,提高优化精度:(5)按固定迭 短,分割精度较高,鲁棒性较强;文献[10]提出了 代间隔,交替执行差分进化策略和全局最优个体 一种以交叉策略改进的全局优化正弦余弦算法, 变异策略.最后,对23个测试函数进行仿真实验, 并应用于图像分割中的多阈值分割;文献[1)]提 将SCADE算法与其它改进算法进行比较,验证 出了一种基于反向学习的自适应混合正弦余弦 SCADE算法的有效性, 算法,并验证了该算法求解实际全局优化问题的 1正弦余弦算法 有效性;文献[12]提出了一种新颖的混合BPSO- SCA特征选择方法并进行聚类分析,与其它竞争 1.1正弦余弦算法原理 方法相比该方法具有更优的性能;文献[13)]提出 SCA利用正弦函数和余弦函数的数学性质, 了一种基于Riesz分数阶导数变异策略的正余弦 通过自适应改变正弦函数和余弦函数的振幅来平 算法,通过拟反向学习策略、反向学习策略和 衡算法在搜索过程中的全局探索和局部开发能 Riesz分数阶变异策略增强种群的全局探索能力 力,并最终找到全局最优解 并提高算法的收敛速度;文献[14]提出了一种用 设X(x,2xN)为第i(=l,2,M个个 于文本分类的改进正弦余弦算法,避免了算法的 体,N表示搜索空间的维度,M为种群规模,P=
正弦余弦算法(Sine cosine algorithm,简称 SCA) 是 2016 年由澳大利亚学者 Seyedali Mirjalili 提出 的一种新型仿自然优化算法[1] . 该算法通过创建多 个随机候选解,利用正余弦数学模型来求解优化 问题,具有结构简单、参数少、易于实现的特点, 但也存在优化精度低、容易陷入局部极值、收敛 速度慢等问题. 近年以来,许多学者与研究人员对 SCA 进行 了相关的研究与改进. 其中,文献 [2] 通过分析转 换参数,设计出转换参数抛物线函数递减和指数 函数递减两种正弦余弦算法,并以协同过滤推荐 算法中相似度函数的计算为应用对象,验证了改 进指数函数递减正弦余弦算法的可行性和有效 性;文献 [3] 通过引入惯性权重和反向学习策略, 在提高算法收敛精度的同时加快了其收敛速度; 文献 [4] 结合正弦余弦参数和候选解惯性权重提 出了一种改进的正弦余弦算法,通过仿真实验说 明了改进算法的有效性;文献 [5] 提出了一种基 于改进正弦余弦算法的光谱特征峰识别定位方 法,实验表明该方法在识别率等多方面均有显著 提高;文献 [6] 提出了一种基于精英混沌搜索策 略的交替正余弦算法,并将基于该策略的改进算 法与反向学习算法交替执行以增强其探索能力, 降低了算法时间复杂度并提高了收敛速度;文献 [7] 通过引入精英反向学习策略,并利用个体的反思 学习能力对正弦余弦算法进行改进,提高了算法 的寻优精度;文献 [8] 提出了一种基于非线性转 换参数和随机差分变异策略的正弦余弦算法,并 利用该算法优化神经网络参数以解决经典分类 问题;文献 [9] 通过混沌策略和反向学习策略提 出了一种基于改进正余弦算法的多阈值图像分 割方法,对比实验结果表明该算法运行时间较 短,分割精度较高,鲁棒性较强;文献 [10] 提出了 一种以交叉策略改进的全局优化正弦余弦算法, 并应用于图像分割中的多阈值分割;文献 [11] 提 出了一种基于反向学习的自适应混合正弦余弦 算法,并验证了该算法求解实际全局优化问题的 有效性;文献 [12] 提出了一种新颖的混合 BPSOSCA 特征选择方法并进行聚类分析,与其它竞争 方法相比该方法具有更优的性能;文献 [13] 提出 了一种基于 Riesz 分数阶导数变异策略的正余弦 算法,通过拟反向学习策略、反向学习策略 和 Riesz 分数阶变异策略增强种群的全局探索能力 并提高算法的收敛速度;文献 [14]提出了一种用 于文本分类的改进正弦余弦算法,避免了算法的 早熟收敛;文献 [15] 提出了一种融合最优邻域和 二次插值策略的改进正弦余弦算法,协调了算法 的全局探索与局部开发能力;文献 [16]提出了一 种改进的正余弦算法,利用正交学习、多种群机 制和贪婪选择机制,提高了算法的优化性能;文 献 [17] 提出了一种用于全局优化和约束实际工 程问题的多策略正余弦优化算法 , 将 Cauchy 突变算子、混沌局部搜索机制、基于反向学习策 略等多种机制与基于差分进化的两种算子(变异 和交叉)相结合,有效避免了算法陷入局部最优; 文献 [18] 提出了一种基于带 Lévy 飞行的正余弦 频带选择方法,实验结果表明所提出的频带选择 方法在频带子集的选择上优于其它先进的分类 方法,具有较高的分类精度. 为了更好地平衡算法的探索和开发能力,并 使 SCA 既能从局部极值的邻域跳转到全局最优解 的邻域,又能在全局最优解的邻域内进行高精度 搜索,本文借鉴文献 [19−21] 中智能优化算法的混 合方法,将差分进化算法与正弦余弦算法进行混 合,提出了一种基于差分进化的正弦余弦(Sine cosine algorithm based on differential evolution,SCADE) 算法. 算法主要做了以下 5 方面的改进:(1)按非 线性方式调整参数 r1,并使每个个体采用相同的 参数 r1、r2、r3 和 r4,提高算法的搜索能力和收敛 速度;(2)通过差分进化策略 (包括交叉、变异、选 择),充分利用全局最优个体的引导作用和种群中 其它个体的信息,平衡算法的全局探索能力和局 部开发能力;(3)利用侦察蜂策略,对个体适应度 值连续 nlim 次没有进步的个体随机初始化,以增加 种群多样性,提高全局探索能力;(4)利用全局最 优个体变异策略,在最优解附近进行精细搜索,增 强算法的开发能力,提高优化精度;(5)按固定迭 代间隔,交替执行差分进化策略和全局最优个体 变异策略. 最后,对 23 个测试函数进行仿真实验, 将 SCADE 算法与其它改进算法进行比较,验证 SCADE 算法的有效性. 1 正弦余弦算法 1.1 正弦余弦算法原理 SCA 利用正弦函数和余弦函数的数学性质, 通过自适应改变正弦函数和余弦函数的振幅来平 衡算法在搜索过程中的全局探索和局部开发能 力,并最终找到全局最优解. 设 X ,··· ,··· i=(xi1 , xi2 , xiN) 为第 i (i=1, 2 , M) 个个 体 ,N 表示搜索空间的维度,M 为种群规模,Pg= 刘小娟等: 一种基于差分进化的正弦余弦算法 · 1675 ·
·1676 工程科学学报,第42卷,第12期 (Pg1,P2,,PgN)为全局最优个体.在搜索过程中, 2基于差分进化的正弦余弦算法 第i个个体的第j维按式(1)进行位置更新 2.1参数调整策略 号+n'sinrrsp,-4<0.5 = (1) 2.1.1按非线性方式调整参数r1 )+ncos3Pg,-4≥0.5 按非线性方式调整参数”1,调整策略见式(3) 通过改变参数”的线性递减方式,使算法在迭代 式中,,表示在第1次迭代中第i个个体在第j维 前期,SCA全局探索能力最强;在迭代中期,算法 的位置,j∈{1,2,,N:2、r3和r4为3个服从均匀 逐步从全局探索向局部开发阶段过渡;到迭代后期, 分布的随机数,2∈[0,2,3∈0,2],r4∈[0,1].此 1非线性递减加快,使算法局部开发能力增强 外,”,为控制参数,主要控制正弦余弦函数的振 幅,并通过式(2)自适应地进行调整 1=ae-30x) (3) n=a-) 2.1.2每个个体采用相同的参数”、2、53和r4 (2) 在每次迭代中,每个个体的所有维度采用相 式中,T为最大迭代次数,a为常数,一般取值为2. 同的参数r、2、r3和r4,使每个个体所有维度以 12正弦余弦算法分析 相同方式与比例进行搜索,降低算法的随机性,提 (1)SCA采用式(1)更新个体位置,其中, 高算法的搜索能力和收敛速度 3P,-表示第i个个体与全局最优个体P之间 2.2差分进化策略 的距离,sin2决定第i个个体向全局最优个体 2.2.1差分变异操作 Pg移动的方向,sinn∈[0,1]和sinn∈[-l,0]的概 差分变异利用父代种群中的多个个体的线下 率均为0.5,表1说明了sinr2的符号对2种分项符 组合生成变异个体'(,'2,v8,vw,在改进算 号的影响,并在表中列出了几种符号的组合情况 法中利用式(4)生成变异个体V (1~4).其中,“+”和“-”分别表示数据项的结果 hj+randO.risinr2.(r3pjxh)r4<0.5 为正与负,由于该算法为随机算法,所以绝对值对 +and0 ri-cosr2(3Pgy-2)4≥0.5 其影响不大,cos2对算法的影响同sin2.因此,去 (4) 掉绝对值符号,降低算法的计算复杂度 式中,rand0为[0,1]上的随机数,i1和i2是在当前 种群中随机选择的2个个体,并且i12执.该变异 表1sin2的符号对2种分项符号的影响 Table 1 Effect of the sign of sin r2 on the signs of two itemized items 操作既利用了全局最优个体P,又利用了种群中 其它个体的信息,较好地平衡了算法的全局探索 Item Case 1 Case 2 Case 3 Case4 能力和局部开发能力,防止算法陷入局部最优 (sP-》 2.2.2交叉操作 p,-动 交叉操作通过变异个体V(y,v2,,vw)和 sin X的各维度分量的随机重组产生交叉个体U(1, sin(Pg,-号) 2,,4w,提高种群多样性,U,按式(5)产生 s血np,-引 r5 <CR or j=jrand = 30 (5) frs≥CR or j≠jrand (2)算法的收敛速度较慢.SCA按式(I)更新 个体后,个体直接进入下一代,因此可以保持种群 式中,CR为交叉概率常数,r5为[O1]上的随机 多样性,有利于全局探索,但算法收敛速度较慢, 数,jad∈{l,2,,N为随机选择的维度索引,它保 因此可以采用贪婪选择策略,使较优个体进入下 证U,至少要从V中获得一个元素,以确保有新的 一代,提高算法的收敛速度.然而,这却增加了算 个体产生 法陷入局部最优的可能性,故可采用侦察蜂算子, 2.2.3选择操作 对较差个体进行随机初始化 采用贪婪选择策略,根据X和交叉个体U,的 (3)第i个个体按式(1)更新时,只利用了全局 适应度值)来选择较优个体进入下一代.对于最 最优个体P。和第i个个体自身的信息,使第i个个 小化问题,其选择操作按式(6)进行 体快速向全局最优个体P。靠拢,容易造成算法陷 X= U f(U)<f(X (6) 入局部最优 XfU≥fX约
(p ,··· g1, pg2 , pgN) 为全局最优个体. 在搜索过程中, 第 i 个个体的第 j 维按式(1)进行位置更新. x t+1 i j = x t i j +r1 ·sinr2 · r3 p t g j − x t i j r4 < 0.5 x t i j +r1 · cosr2 · r3 p t g j − x t i j r4 ⩾ 0.5 (1) x t i j ,··· 式中, 表示在第 t 次迭代中第 i 个个体在第 j 维 的位置,j∈{1, 2 , N};r2、r3 和 r4 为 3 个服从均匀 分布的随机数,r2∈[0, 2π],r3∈[0, 2],r4∈[0, 1]. 此 外 ,r1 为控制参数,主要控制正弦余弦函数的振 幅,并通过式(2)自适应地进行调整. r1 = a · ( 1− t T ) (2) 式中,T 为最大迭代次数,a 为常数,一般取值为 2. 1.2 正弦余弦算法分析 r3 p t g j − x t i j sinr2 sinr2 sinr2 sinr2 cosr2 sinr2 ( 1) SCA 采用式 ( 1)更新个体位置 . 其中 , 表示第 i 个个体与全局最优个体 Pg 之间 的距离 , 决 定 第 i 个个体向全局最优个 体 Pg 移动的方向, ∈[0, 1] 和 ∈[‒1, 0] 的概 率均为 0.5,表 1 说明了 的符号对 2 种分项符 号的影响,并在表中列出了几种符号的组合情况 (1~4). 其中,“+”和“‒”分别表示数据项的结果 为正与负,由于该算法为随机算法,所以绝对值对 其影响不大, 对算法的影响同 . 因此,去 掉绝对值符号,降低算法的计算复杂度. 表 1 sinr2的符号对 2 种分项符号的影响 Table 1 Effect of the sign of sin r2 on the signs of two itemized items Item Case 1 Case 2 Case 3 Case 4 ( r3 p t g j − x t i j) + + − − r3 p t g j − x t i j + + + + sinr2 + − + − sinr2 · ( r3 p t g j − x t i j) + − ‒ + sinr2 · r3 p t g j − x t i j + − + ‒ (2)算法的收敛速度较慢. SCA 按式(1)更新 个体后,个体直接进入下一代,因此可以保持种群 多样性,有利于全局探索,但算法收敛速度较慢, 因此可以采用贪婪选择策略,使较优个体进入下 一代,提高算法的收敛速度. 然而,这却增加了算 法陷入局部最优的可能性,故可采用侦察蜂算子, 对较差个体进行随机初始化. (3)第 i 个个体按式(1)更新时,只利用了全局 最优个体 Pg 和第 i 个个体自身的信息,使第 i 个个 体快速向全局最优个体 Pg 靠拢,容易造成算法陷 入局部最优. 2 基于差分进化的正弦余弦算法 2.1 参数调整策略 2.1.1 按非线性方式调整参数 r1 按非线性方式调整参数 r1,调整策略见式(3). 通过改变参数 r1 的线性递减方式,使算法在迭代 前期,SCA 全局探索能力最强;在迭代中期,算法 逐步从全局探索向局部开发阶段过渡;到迭代后期, r1 非线性递减加快,使算法局部开发能力增强. r1 = a · e −30×( t T ) 5 (3) 2.1.2 每个个体采用相同的参数 r1、r2、r3 和 r4 在每次迭代中,每个个体的所有维度采用相 同的参数 r1、r2、r3 和 r4,使每个个体所有维度以 相同方式与比例进行搜索,降低算法的随机性,提 高算法的搜索能力和收敛速度. 2.2 差分进化策略 2.2.1 差分变异操作 ,··· 差分变异利用父代种群中的多个个体的线下 组合生成变异个体 Vi=(vi1 , vi2 , vi3 , viN),在改进算 法中利用式(4)生成变异个体 Vi . v t+1 i j = x t i1, j +rand()·r1 ·sinr2 · (r3 p t g j − x t i1, j ) r4 < 0.5 x t i1, j +rand()·r1 · cosr2 · (r3 p t g j − x t i2, j ) r4 ⩾ 0.5 (4) 式中,rand() 为 [0, 1] 上的随机数,i1 和 i2 是在当前 种群中随机选择的 2 个个体,并且 i1≠i2≠i. 该变异 操作既利用了全局最优个体 Pg,又利用了种群中 其它个体的信息,较好地平衡了算法的全局探索 能力和局部开发能力,防止算法陷入局部最优. 2.2.2 交叉操作 ,··· ,··· 交叉操作通过变异个体 Vi=(vi1 , vi2 , viN) 和 Xi 的各维度分量的随机重组产生交叉个体 Ui=(ui1 , ui2 , uiN),提高种群多样性,Ui 按式(5)产生. u t+1 i j = v t i j r5 < CR or j = jrand v t i j r5 ⩾ CR or j , jrand (5) ,··· 式中,CR 为交叉概率常数, r5 为 [0, 1] 上的随机 数,j rand∈{1, 2 , N}为随机选择的维度索引,它保 证 Ui 至少要从 Vi 中获得一个元素,以确保有新的 个体产生. 2.2.3 选择操作 采用贪婪选择策略,根据 Xi 和交叉个体 Ui 的 适应度值 f(·) 来选择较优个体进入下一代. 对于最 小化问题,其选择操作按式(6)进行. X t+1 i = U t i f(U t i ) < f(X t i ) X t i f(U t i ) ⩾ f(X t i ) (6) · 1676 · 工程科学学报,第 42 卷,第 12 期
刘小娟等:一种基于差分进化的正弦余弦算法 ·1677 2.3侦察蜂策略 行kmax次小规模的全局最优个体变异策略.一般 采用了贪婪选择策略,加快了算法的收敛速 情况下,满足kmax≤M. 度,但随着迭代的进行,算法收敛于全局最优解和 2.5算法步骤及流程 局部最优解.为了防止算法陷入局部最优,采用人 SCADE算法的步骤如下: 工蜂群(ABC)算法中的侦察蜂算子,对个体适应 步骤1:随机产生种群M个个体,设置当前 度值连续nm次没有进步的个体随机初始化,以增 迭代次数1,最大迭代次数T,交叉概率常数CR, 加种群多样性,提高全局探索能力 方差变化的最大值8max和最小值8min,执行全 2.4全局最优个体变异策略 局最优个体变异策略的迭代间隔h和迭代次数 以提高算法优化精度和收敛速度为目标,对 Kmax 全局最优个体P按式(7)和(8)进行高斯变异操 步骤2:计算每个个体的适应度,并找出全局 作,生成新个体P。,如果P的适应度值优于Pg,则 最优个体Pe; 用P替代Pg 步骤3:计算r1; Pg=Pg(1+N0,62) (7) 步骤4:当t mod h=0时,按式(7)和(8)执行 kmax次小规模的全局最优个体变异策略,转向步 62=6品xe-WT+6n (8) 骤8,否则转向步骤5; 式中,子为方差,按式(8)产生,子max和子min分别为 步骤5:按式(4)~(6)更新每个个体; 方差变化的最大值和最小值.这种处理使算法在 步骤6:更新全局最优个体Pg: 迭代搜索前期注重全局探索,而在迭代搜索后期 步骤7:执行侦察蜂策略: 主要进行局部开发,这在一定程度上提高了算法 步骤8:终止条件是否满足?若满足,停止迭 的优化精度 代并输出全局最优解,否则转向步骤3. 为了减少算法时间复杂度,每隔h次迭代,执 SCADE算法对应的流程图如图I所示. Start Initialize the population and set the algorithm parameters (the current iteration, maximum number of iterations,crossover constant,maximum and minimum of number changes,and interval and number of iterations for executing the global optimal individual mutation strategy) Calculate the fitness of each search individual Select the globally optimal individual Calculate parameter r,using Eq.(3) No Yes Is t mod=0 Update each search individual using Eq.(4)H6 Update the globally optimal individual Update the globally optimal individual obtained so far using Eq.(7(8) Randomly initialize the individuals without progress by adopting the reconnaissance bees'strategy No Yes Return the global optimum (Stop 图1 SCADE算法流程图 Fig.I Flowchart of the proposed SCADE algorithm
2.3 侦察蜂策略 采用了贪婪选择策略,加快了算法的收敛速 度,但随着迭代的进行,算法收敛于全局最优解和 局部最优解. 为了防止算法陷入局部最优,采用人 工蜂群(ABC)算法中的侦察蜂算子,对个体适应 度值连续 nlim 次没有进步的个体随机初始化,以增 加种群多样性,提高全局探索能力. 2.4 全局最优个体变异策略 P ′ g P ′ g P ′ g 以提高算法优化精度和收敛速度为目标,对 全局最优个体 Pg 按式(7)和(8)进行高斯变异操 作,生成新个体 ,如果 的适应度值优于 Pg,则 用 替代 Pg . P ′ g = Pg ·(1+N(0,δ2 )) (7) δ 2 = δ 2 max · e −(t/T) 5 +δ 2 min (8) 式中,δ 2 为方差,按式(8)产生,δ 2 max 和 δ 2 min 分别为 方差变化的最大值和最小值. 这种处理使算法在 迭代搜索前期注重全局探索,而在迭代搜索后期 主要进行局部开发,这在一定程度上提高了算法 的优化精度. 为了减少算法时间复杂度,每隔 h 次迭代,执 行 kmax 次小规模的全局最优个体变异策略. 一般 情况下,满足 kmax≤M. 2.5 算法步骤及流程 SCADE 算法的步骤如下: 步骤 1:随机产生种群 M 个个体,设置当前 迭代次数 t,最大迭代次数 T,交叉概率常数 CR, 方差变化的最大值 δ 2 max 和最小值 δ 2 min,执行全 局最优个体变异策略的迭代间隔 h 和迭代次数 kmax; 步骤 2:计算每个个体的适应度,并找出全局 最优个体 Pg; 步骤 3:计算 r1; 步骤 4:当 t mod h==0 时,按式(7)和(8)执行 kmax 次小规模的全局最优个体变异策略,转向步 骤 8,否则转向步骤 5; 步骤 5:按式(4)~(6)更新每个个体; 步骤 6:更新全局最优个体 Pg; 步骤 7:执行侦察蜂策略; 步骤 8:终止条件是否满足?若满足,停止迭 代并输出全局最优解,否则转向步骤 3. SCADE 算法对应的流程图如图 1 所示. Initialize the population and set the algorithm parameters (the current iteration, maximum number of iterations, crossover constant, maximum and minimum of number changes, and interval and number of iterations for executing the global optimal individual mutation strategy) Calculate the fitness of each search individual Select the globally optimal individual Calculate parameter r1 using Eq.(3) Update each search individual using Eq.(4)−(6) Update the globally optimal individual using Eq.(7)−(8) Is t mod h==0 Update the globally optimal individual obtained so far Randomly initialize the individuals without progress by adopting the reconnaissance bees’ strategy Is t>T Return the global optimum Yes No No Yes Stop Start 图 1 SCADE 算法流程图 Fig.1 Flowchart of the proposed SCADE algorithm 刘小娟等: 一种基于差分进化的正弦余弦算法 · 1677 ·