APP下载

一种混合社会群体优化算法

2023-04-14王也曲会晨林奕森

电脑知识与技术 2023年6期
关键词:优化

王也 曲会晨 林奕森

摘要:为了提高社会群体优化算法的整体性能,提出一种混合社会群体优化算法。在提高阶段,通过对最差个体进行反向学习,提高种群的搜索空间,从而使得种群整体能够快速的向最优解收敛;在获得阶段,通过Logistic映射产生混沌扰动,增大种群的多样性,从而能够增加算法跳出局部最优解的可能性。基于标准测试函数的实验研究结果表明改进算法整体提升了寻优效果。

关键词:社会群体优化算法;反向学习;混沌搜索;Logistic映射;优化

中图分类号:TP301.6     文献标识码:A

文章编号:1009-3044(2023)06-0047-04

开放科学(资源服务)标识码(OSID)

0 引言

社会群体优化算法(Social Group Optimization,SGO)在2016年,由学者Satapathy等人[1]提出的一种新兴群智能优化算法,该算法通过模拟社会成员在社会群体中学习能力和知识的过程,实现社会群体整体能力的提升。该算法与目前现有的优化算法相比,结构简单易懂、设置参数较少,对处理一些函数优化问题效果较好,Satapathy等人[1]证明了SGO算法在整体性能上优于TLBO算法和GA、PSO、DE、ABC算法及改进算法。Anima Naik等人[2]通过将SGO算法与8种PSO改进算法对比,证明了SGO算法具有较好的解决多模态和数据聚类问题。刘亚军[3]等人通过将量子学习和多子群学习方法共同引入到SGO算法中,提出了基于多子群社会群体学习算法(MPSGO),并与目前热门的TLBO算法及其改进算法进行了比较,证明了其改进算法的有效性。

在算法应用方面,Jiake Fang等人[4]提出了一种改进型社会群体优化算法(ISGO),并将该算法用于变压器故障诊断中。SGO算法目前已经还被应用到求解涂抹加强筋法的解析解[5]、脑MRI缺血性脑损伤分割[6]、皮肤黑色素瘤图像评价[7]、云环境资源有效配置与任务调度[8]等众多领域中,并取得良好的效果。

综上所述,虽然SGO算法从提出之日起就广受学者的欢迎,被广泛应用,并且也提出了一些改进算法,但是该算法在搜索最优解的过程中,算法的收敛精度和稳定性还有待提升。为此,本文提出一种混合社会群体优化算法(Hybrid Improved Social Group Optimization,HISGO)算法来提升算法的整体性能。

在提高阶段,通过加入反向学习机制,扩大了种群搜索最优解的范围,使得算法能够快速收敛。在获得阶段,通过加入Logistic映射,使种群产生扰动策略,从而防止种群因多样性丢失,而陷入局部最优。仿真实验表明,本文提出的算法在算法收敛精度和稳定性方面都有明显提升。

1 社会群体优化算法

基本的社会群体算法的主要步骤分为提高阶段和获得阶段两部分。

1.1 提高阶段

在社会群体优化算法的提高阶段,社会群体成员以最优个体作为学习对象进行学习和提高。该阶段所产生的新个体按照式(1)产生。

[Xnewj i=c*Xoldji+r*(Xjbest-Xoldji)]                   (1)

式中:c通常取值为0~1的随机数,代表每个个体在提高阶段自我反省系数,根据文献[1]可知,其在c取值为0.2时,算法效果达到最佳;r为0~1间的随机数;n和m分别表示种群个数和维数,[j=1,2,...,n,i=1,2,...,m;Xjbest]為目前种群中最优个体的第j维向量;[Xoldji]表示第i个个体第j维向量还未进行提高阶段的值;[Xnewj i]表示进行完提高阶段第i个个体第j维向量。社会群体成员[Xi]的能力值是否获得提升,通过适应度值[函数f(Xi)]来做评判标准;以最大化为标准下,如果[f(Xnewi)]大于[f(Xoldi)]表示社会群体成员[Xi]在经历提高阶段后,其能力值获得提升,则用[Xnewi]更新[Xoldi],否则不更新个体,保留[Xoldi]。

1.2 获得阶段

在社会群体优化算法的获得阶段,社会群体成员,通过目前种群中最优个体的引导,与社会群体其他成员之间进行相互交流学习的方式进行能力的获得和提升。该阶段所产生新个体按照式(2)产生。

[Xnewj i=Xoldji+r1*Xjbest-Xoldji+r2*Xoldjk-Xoldji        fXoldk>fXoldi Xoldji+r1*Xjbest-Xoldji+r2*Xoldji-Xoldjk       fXoldi>fXoldk]   (2)

式中:[r1]和[r2]为0~1的随机数;[Xoldji]和[Xoldjk]分别为未进行获得阶段的第i和第k个个体的第j维向量;[Xjbest]为目前种群中最优个体的第j维向量;[Xnewj i]表示进行完获得阶段第i个个体第j维向量。社会群体成员[Xi]的能力值是否获得提升,通过适应度值[函数f(Xi)]来做评判标准;以最大化为标准下,如果[f(Xnewi)]大于[f(Xoldi)],表示社会群体成员[Xi]在经历获得阶段后,其能力值获得提升,则用[Xnewi]更新[Xoldi],否则不更新个体,保留[Xoldi]。

2 HISGO

社会群体优化算法存在设置参数较少、结构简单易懂、收敛能力强等优点;但根据文献[1-4]的仿真实验结果可知,算法还存在收敛精度、已陷入局部最优解等问题。为此本文通过在算法的提高阶段和获得阶段,分别加入反向学习机制和Logistic映射产生的混沌搜索,来扩大最优解的搜索范围,并保持算法的种群多样性,避免算法陷入局部最优解,提升算法的精度和稳定性。从而整体上使社会群体优化算法的性能获得提升。

2.1 反向学习策略

反向学习(Opposition-Based Learning, OBL)是Tizhoosh [9] 于2005年提出了一种通过同时比较当前解和其反向解,并从中择优选择的一种策略[9]。

假设n维空间上一个解[X=(x1,x2,...,xn)],并且[x1,x2,...,xn∈R,xi∈[ai,bi]],则解X的反向解[X*=(x*1,x*2,...,x*n)],可由式(3)获得。

[x*i=ai+bi-xi]                              (3)

为保证社会群体优化算法种群的整体性能,提高搜索空间,在算法提高阶段更新种群后,根据式(3)对种群最差个体进行反向学习,产生反向学习个体,并用反向学习个体替代最差个体,从而扩大搜索最优解的范围,提升算法搜索到最优解的可能性。

2.2 混沌搜索

在社会群体优化算法搜索最优解的过程中,存在陷入局部最优解的现象。在算法寻优的过程中,通过增加种群的多样性的方式,有利于算法跳出局部最优解[10]。为此,本文通过产生相应的随机解的方式,对种群进行扰动,从而达到增加种群的多样性的目的,增加算法跳出局部最优解的可能性。

本文采用Logistic映射产生混沌序列来对种群进行扰动。Logistic映射公式如式(4)所示。

[zk+1=μzk(1-zk)]                           (4)

式中:[ k=1,2,...,n]表示混沌的序列的序列号,[zk]为区间(0,1)上的数,混沌序列z的第k+1个个体用[zk+1]表示,[μ]是可调参数,取值范围为[0,4]。

2.3 算法实现流程

综上所述,本文提出的HISGO算法的具体实现步骤如下:

步骤一:初始化,设置社会群体中社会成员人数即种群个体数目m,社会成员需提升的能力个数即种群的维度n,算法最大迭代次数[Tmax],并产生[m×n]的初始种群;

步驟二:按照式(1)产生经过提高阶段后的新个体,并计算适应度值,当新个体适应度值优于旧个体时,则用新个体更新旧个体,反之不更新个体;

步骤三:对提高阶段进行更新后的个体,按照式(3)对最差个体进行反向学习,产生相对应的反向学习个体,用反向个体替代最差个体;

步骤四:按照式(2)产生经过获得阶段后的新个体,并计算适应度值,当新个体适应度值优于旧个体时,则用新个体更新旧个体,反之不更新个体;

步骤五:对获得阶段进行更新后的个体,按照式(4)进行Logistic映射扰动,产生相对应的扰动个体,并计算适应度值,当新个体(扰动个体)适应度值优于旧个体时,则用新个体更新旧个体,反之不更新个体;

步骤六:直到满足终止条件为止(一般为满足算法最大迭代次数[Tmax]),算法结束,并输出当前最优个体。

3 实验仿真与结果分析

为验证本文提出的改进算法的整体性能,选取CEC2005测试函数集中[10]9个标准函数作为测试函数,对算法的整体性能进行验证,并与SGO算法[1-2]、目前SGO算法改进效果较好的MPSGO算法[3]和ISGO算法[4],进行对比。

3.1 测试函数选取

本文所选取测试函数的表达式、取值范围和理论最优值如表1所示。

在表1中,D表示待优化的函数的决策变量的维数,设置维数D为30进行实验。本文仿真实验在Intel(R) Core(TM) i7-8550U CPU@1.8GHZ,8G内存,操作系统为window10家庭版的计算机上进行,仿真软件环境为Matlab 2018a。

3.2 算法实验结果与分析

为了验证本文算法的有效性,通过对比每个算法的平局值、最优值、最差值、方差来验证算法的性能,并且为了避免特殊情况的影响,本文每种算法对于每一个测试函数都独立运行30次。算法的性能对比如表2所示。

从表2可以看出,本文提出的HISGO算法在总共9个测试函数中与对比算法进行测试,对于测试函数[f1~f4]和[f7],4种算法都能收敛到测试函数的理论最优值0,表明在3个对比算法已经能够获得理论最优值的情况下,HISGO算法能够保持原有的收敛精度。

对于测试函数[f5]、[f6]、[f8和f9],HISGO算法和3个对比算法未能收敛到理论最优值0。但从平均值、最优值和最差值3方面上看,本文的HISGO算法都优于3个对比算法,并且除了测试函数[f6]以外,HISGO算法获得的最差值都要远远优于其他3种算法的最优值,因此可以得出,本文提出的HISGO算法在收敛精度上,对于现有的SGO及其改进算法MPSGO和ISGO,都获得了较大的提升。方差上看,HISGO算法也要远优于其他3个对比算法,尤其是测试函数[f5]、[f8和f9],相对于3种对比算法都要高出数十几个数量级,这也进一步证明了本文算法在稳定性方面,对于现有算法存在稳定性差的方面进行了较大幅度的提升。

4 结束语

本文基于反向学习策略和Logistic映射混沌扰动思想,在SGO算法的提高阶段结束后,将最差个体进行反向学习,在获得阶段结束后加入Logistic映射对种群进行扰动,提出了HISGO算法。通过将本文算法与3个对比算法在典型标准测试函数上进行测试表明,通过加入反向学习策略,增大了最优解搜索空间,使得本文算法相对于对比算法具有较好的收敛精度;通过加入混沌扰动策略,增加了种群的多样性,使得本文算法相对于对比算法具有较好的收敛精度和稳定性;从而整体提升了算法的性能。

参考文献:

[2] Naik A,Satapathy S C,Ashour A S,et al.Social group optimization for global optimization of multimodal functions and data clustering problems[J].Neural Computing and Applications,2018,30(1):271-287.

[1] Satapathy S,Naik A.Social group optimization (SGO):a new population evolutionary optimization technique[J].Complex & Intelligent Systems,2016,2(3):173-203.

[2] Naik A,Satapathy S C,Ashour A S,et al.Social group optimization for global optimization of multimodal functions and data clustering problems[J].Neural Computing and Applications,2018,30(1):271-287.

[3] 劉亚军,陈得宝,邹锋,等.基于多子群的社会群体优化算法[J].计算机应用研究,2019,36(5):80-85.

[4] Fang J K,Zheng H B,Liu J F,et al.A transformer fault diagnosis model using an optimal hybrid dissolved gas analysis features subset with improved social group optimization-support vector machine classifier[J].Energies,2018,11(8):1922.

[5] Minh-Tu.Optimisation of stiffeners for maximum fundamental frequency of cross-ply laminated cylindrical panels using social group optimisation and smeared stiffener method[J].Thin-Walled Structures,2017,120:172-179.

[6] Rajinikanth V,Satapathy S C.Segmentation of ischemic stroke lesion in brain MRI based on social group optimization and fuzzy-tsallis entropy[J].Arabian Journal for Science and Engineering,2018,43(8):4365-4378.

[7] Dey N,Rajinikanth V,Ashour A,et al.Social group optimization supported segmentation and evaluation of skin melanoma images[J].Symmetry,2018,10(2):51.

[8],Janakiramaiah B.Effective allocation of resources and task scheduling in cloud environment using social group optimization[J].Arabian Journal for Science and Engineering,2018,43(8):4265-4272.

[9] Tizhoosh H R.Opposition-based learning:a new scheme for machine intelligence[C]//International Conference on Computational Intelligence for Modelling,Control and Automation and International Conference on Intelligent Agents,Web Technologies and Internet Commerce (CIMCA-IAWTIC'06).November 28-30,2005,Vienna,Austria.IEEE,2006:695-701.

[10] 肖婧,许小可,张永建.差分进化算法及其高维多目标优化应用[M].北京:人民邮电出版社,2018:31-32.

【通联编辑:谢媛媛】

猜你喜欢

优化
超限高层建筑结构设计与优化思考
PEMFC流道的多目标优化
一道优化题的几何解法
由“形”启“数”优化运算——以2021年解析几何高考题为例
围绕“地、业、人”优化产业扶贫
事业单位中固定资产会计处理的优化
4K HDR性能大幅度优化 JVC DLA-X8 18 BC
几种常见的负载均衡算法的优化
LEACH算法的创新优化