融合多策略的黄金正弦黑猩猩优化算法
2023-11-28刘成汉
刘成汉 何 庆
在过去的20 年中,元启发式算法由于其简单性、灵活性和较高的鲁棒性被广泛关注.常见的元启发式算法有遗传算法(Genetic algorithm,GA)[1]、粒子群优化(Particle swarm optimization,PSO)算法[2]、灰狼优化(Grey wolf optimization,GWO)算法[3]和蝴蝶优化算法[4]等.随着技术不断发展和更新,元启发式算法在复杂优化问题上表现卓越,如路径规划[5]、电力系统控制[6]等工程设计问题.
2020 年,Khishe 等[7]提出黑猩猩优化算法(Chimp optimization algorithm,ChOA),该算法是一种基于黑猩猩种群社会行为的启发式智能优化算法,ChOA 与其他智能优化算法相比,具有参数少、易实现、稳定性高等优点.尽管不同的智能优化算法存在不同的搜索方式,但其目标大多都是探索种群多样性和搜索能力之间的平衡,在保证收敛精度和速度的同时,避免早熟现象的发生[8].针对上述思想,众多学者对其研究的智能优化算法做了改进,例如王坚浩等[9]提出一种基于混沌搜索策略的鲸鱼优化算法,采用混沌反向学习策略初始化种群,保证了初始化种群的质量;宁杰琼等[10]利用混沌映射初始化蝴蝶个体的位置,以此增加算法初期种群的多样性;王秋萍等[11]引入基于余弦规律变化的收敛因子和基于欧氏距离的比例权重因子,平衡算法的探索和开发能力;Ewees 等[12]通过将蝗虫优化算法与对立学习策略相结合,同时引入深度探索搜索域策略,从而加快了算法的收敛速度;Dinkar 等[13]提出一种基于对立的拉普拉斯蚁狮搜索算法,采用对立的学习模型确保在搜索空间的同时,探索原始和相反的候选解,从而在进化过程中评估更好的候选解;吕鑫等[14]提出一种混沌麻雀搜索算法,通过产生混沌序列扰动陷入局部最优的解,促使其跳出局部最优值;Sayed 等[15]提出一种二进制克隆花授粉算法,通过将克隆选择算法和花授粉算法相结合,构成二元克隆花授粉算法,以解决原始花粉克隆算法易陷入局部最优解的问题.
综上所述,智能优化算法和改进机制层出不穷、各具优势,适用于解决一些优化问题,但在另外一些问题的求解上,会显露出不足.因此,为了提高ChOA 的寻优性能和适用性,探索更适合解决实际优化问题的方法,本文提出一种融合多策略的黄金正弦黑猩猩优化算法(Multi-strategy golden sine chimp optimization algorithm,IChOA).该算法采用Halton 序列初始化种群,生成更加均匀个体,保证算法初期的多样性,提高算法收敛速度和精度;同时,引入非线性收敛因子和自适应权重因子,平衡算法的搜索能力,加快算法收敛速度;最后,根据黄金正弦算法的相关思想更新个体位置,避免算法过早收敛.仿真实验采用23 个标准测试函数以及部分CEC2014 测试函数进行寻优测试,并采用Wilcoxon 秩和检验进行统计分析,验证了算法的优越性.通过2 个工程设计优化问题的实验对比结果表明,IChOA 相较于其他算法,更具优势.
1 基本黑猩猩搜索算法
ChOA 算法是根据黑猩猩种群的捕猎行为提出的一种群智能优化算法,一般黑猩猩的狩猎过程分为探索和开发两个阶段.探索阶段即驱动、阻挡和追逐猎物,开发阶段即攻击猎物.黑猩猩捕猎行为的仿生学原理描述如下.
为了用数学模型模拟黑猩猩的行为,假设第1个攻击者(最佳解决方案)、驱赶者、阻碍者和追赶者能发现潜在猎物的位置,其他黑猩猩被迫根据最佳黑猩猩的位置更新自己的位置.黑猩猩驱赶和追逐猎物的数学模型为:
式中,d(t)为猎物与黑猩猩间的距离,t为当前迭代次数,a和c为系数向量,m是由混沌映射产生的混沌向量,XP为猎物的位置向量,XC为黑猩猩的位置向量.a和c向量表示如下:
式中,f为线性衰减因子,随着迭代次数的增加,f值由2.5 线性衰减到0,r1和r2是取值为[0,1]的随机数.
参数a为 [-2f,2f] 的随机变量,假设a的值为[-1,1]时,猎物停止移动,此时黑猩猩必须攻击猎物结束捕猎.因此,采取降低f值的方式迫使黑猩猩结束捕猎,黑猩猩的下一个位置可以在当前位置与猎物位置之间的任意位置.
黑猩猩攻击猎物数学模型为:
由式(5)~(7)可知,黑猩猩个体最终的位置是随机分布在一个由攻击者、阻碍者、追逐者和驱赶者黑猩猩位置所确定的圆圈中,即猎物位置是由4个最好的个体来估计的,而其他黑猩猩则随机更新它们在附近的位置.
种群在捕猎的最后阶段个体获得食物满足,随后的社会动机会使黑猩猩释放它们的天性,此时,黑猩猩个体试图强行混乱地获得食物.黑猩猩在最后阶段的混乱行为,有助于进一步缓解解决高维问题时的局部最优陷阱和收敛速度慢这两个问题.
原始黑猩猩算法使用了6 种具有随机行为的确定性混沌过程映射,为了模拟这种社会行为,假设有50%的概率在正常的位置更新机制或混沌模型中选择其一更新黑猩猩的位置,社会性刺激行为数学模型为:
式中,µ是取值[0,1]的随机数,Chaotic是混沌映射,用来更新解的位置.
2 改进的黑猩猩搜索算法
在基本ChOA 中,种群初始化处理采用随机分布方式,这种随机方式导致算法多样性降低,个体寻优存在一定的盲目性;其次,算法用来平衡局部搜索和全局搜索能力的收敛因子f采用线性规律下降因子,并不符合算法迭代过程中的非线性寻优规律;最后,对于加强算法跳出局部极值能力的混沌扰动Chaotic,其只有50%概率随机触发,具有很大的不稳定性,虽然有一定的概率带领个体跳出局部最优值点,但是并没有考虑寻优过程中个体位置信息的变化.
综上所述,本文针对上述算法原理上的缺陷,引入相应策略进行改善,具体策略如下.
2.1 Halton 序列初始化种群
原始黑猩猩优化算法采用rand 函数随机初始化种群,所得到的种群随机性高,但是不一定均匀地分布在整个解空间,导致种群搜索速度慢,算法多样性不足.针对上述问题,本文引入Halton 序列产生伪随机数来初始化种群,伪随机数的遍历性使个体更加均匀地分布在整个解空间[16],提高初始化时算法的多样性,个体能快速发现优质解的位置,从而加快算法收敛,提高算法收敛精度.
对于二维Halton 序列,其实现过程为: 选取两个质数作为基础量,通过对两个基础量不断切分,从而组合成一系列均匀分布且不重复的点,其切分过程数学模型为:
式中,n∈[1,N] 为任意整数,p是大于等于2 的质数,bi ∈{0,1,···,p-1}为常数,p表示Halton 序列基础量,θ(n)是定义的序列函数,H(n)为最后得到的二维均匀Halton 序列.
图1 为基本黑猩猩算法产生的种群随机初始化个体分布图.图2 为使用Halton 序列产生的初始种群分布图,其中Halton 序列基础量为base1=2,base2=3.
图2 使用Halton 序列产生的初始种群分布图Fig.2 Halton sequence initialized population distribution map
由图1 和图2 的对比分析可知,Halton 序列产生的种群分布虽然随机性并不高,但是分布更为均匀,并没有出现个体重叠现象.由此可知,Halton序列产生的种群质量更高,算法多样性更好.
2.2 非线性收敛因子和自适应权重因子
2.2.1 非线性收敛因子
评价启发式算法性能好坏的重要环节之一是能否平衡算法的全局搜索能力和局部开发能力.由前面的分析可知,随机变量a=[-2f,2f],当|a|≤1时,个体攻击猎物收敛;当 |a|>1 时,个体分散搜寻猎物,因此收敛因子f的变化决定了算法局部和全局搜索能力的平衡.基本ChOA 算法的收敛因子f由2.5 线性下降到0,这种线性变化并不能适应算法对于复杂多峰函数的寻优,导致算法寻优速度缓慢,甚至陷入局部最优值.因此,本文引入一种非线性变化的收敛因子,在算法迭代前期种群大范围搜索时,缓慢衰减的收敛因子能让种群更好地搜索全局最优解;在算法迭代后期种群收敛,此时快速衰减的收敛因子有利于算法局部寻找最优解.同时,加入控制因子k,能控制衰减的幅度,非线性收敛因子的数学模型描述如下:
式中,t为当前迭代次数,Maxiter为最大迭代次数,fm为收敛因子的初始值.k∈[1,10] 为控制因子,k能控制f衰减幅度,k越大时,收敛因子衰减越慢;反之,收敛因子衰减越快.线性收敛因子f和控制因子k,取k=1,5,10 的非线性收敛因子,对比如图3所示.
图3 收敛因子对比图Fig.3 Contrast diagram of convergence factors
2.2.2 自适应权重因子
权重因子在目标函数优化中起着重要的作用,合适的权重能够加快算法收敛,提高算法收敛精度.针对ChOA 算法寻优过程中收敛速度慢、精度不高问题,引入一种自适应调整的权重因子ω: 在算法迭代初期,给予一个较大的权重使种群以大步长遍历整个搜索空间,有利于算法快速搜寻全局最优位置,加快算法收敛;在算法迭代中/后期,算法逐渐收敛,个体局部搜寻最优解,此时给予一个较小的权重,有利于算法以小步长精细探索最优位置,提高算法收敛精度;最后,在算法迭代末期,针对ChOA算法易陷入局部最优问题,给予个体位置一个相对较大的扰动,有利于算法跳出局部最优解.自适应权重因子ω数学模型如下:
式中,δ1、δ2、δ3、ρ1、ρ2、ρ3为常数系数,t为当前迭代次数,t=(1,2,···,Maxiter),ε为指定迭代次数.自适应权重因子ω曲线见图4.
图4 自适应权重因子 ω 曲线Fig.4 Adaptive weighting factor ω curve
2.3 黄金正弦策略更新位置
2017 年,Tanyildizi 等[17]根据正弦函数相关思想,提出黄金正弦算法,该新型智能算法具有寻优速度快,调参简单、鲁棒性好等优点.黄金正弦算法使用正弦函数与单位圆的特殊关系结合黄金分割系数进行迭代搜索,通过正弦函数扫描单位圆模拟算法探索搜索空间的过程.
公元前4 世纪,古希腊数学家Eudoxus 首次提出黄金分割系数概念,黄金分割系数不需要梯度信息,每个步骤仅需要迭代一次,同时,黄金分割系数的收缩步骤是固定的.因此,将正弦函数与黄金分割率组合,可以更快地找到函数的最大值或最小值.同时,黄金正弦搜索策略的遍历性能有效防止算法陷入局部最优值.黄金正弦算法数学模型如下:
式中,t为当前迭代次数;R1和R2分别为取值 [0,2π] 和 [0,π] 的随机数,表示下一代个体移动的距离和方向;x1和x2为黄金分割系数,用来缩小搜索空间,引导个体向最优值收敛;是当前最优个体的位置.黄金分割系数x1和x2数学模型如下:
式中,α和β是搜索间隔;τ是黄金分割比,取值约为0.618033.
2.4 IChOA 实现流程和伪代码
IChOA 算法的具体实现步骤如下:
步骤1.利用Halton 序列初始化种群,包括种群个体数N,最大迭代次数Maxiter,维度d,种群搜索边界lb、ub等,并设置相关参数.
步骤2.计算当前种群的搜索空间,返回超出搜索空间的个体.
步骤3.计算种群中每个个体的适应度fit并排序,记录当前最好个体Pbest和最差个体Pworst.
步骤4.更新攻击者、追赶者、追逐者和阻碍者位置.
步骤5.更新非线性扰动因子f和自适应权重因子ω,以及参数A和C.
步骤6.随机选取部分个体根据式(12)更新位置,其他个体按照式(5)~(7)更新位置.
步骤7.根据式(8)引入混沌算子.
步骤8.重复步骤3~7,直到达到最大迭代次数或者算法收敛.
算法1.IChOA 算法伪代码
初始化.Halton 序列种群并设置相关参数.
2.5 IChOA 算法时间复杂度分析
基本ChOA 算法的时间复杂度为O(N×d×Maxiter),其中N为种群规模,d为维度,Maxiter为最大迭代次数.IChOA 算法时间复杂度分析如下:
1)引入Halton 序列初始化种群的时间复杂度为 O (N×d),则引入Halton 序列初始化种群的ChOA (HChOA)的时间复杂度为O(N×d×Maxiter+N×d)=O(N×d×Maxiter);
2)假设引入自适应权重和非线性收敛因子所需的时间分别为t1和t2,因此引入自适应权重和非线性收敛因子的ChOA 算法(WChOA)的时间复杂度为O(N×d×Maxiter+t1+t2)=O(N×d×Maxiter);
3)引入黄金正弦算法的时间复杂度为 O (N×d),因此引入黄金正弦算法更新位置的ChOA 算法(GChOA)的时间复杂度为O(N×d×Maxiter+N×d)=O(N×d×Maxiter).
综上所述,IChOA 算法的时间复杂度为O(N×d×Maxiter).由此可知,本文提出的IChOA 算法时间复杂度与ChOA 算法时间复杂度一致.
3 实验仿真与结果分析
3.1 参数设置
仿真实验使用的计算机配置为Intel Core i5-7500U,主频为3.40 GHz,内存32 GB,操作系统64 bit,计算环境为Matlab2016(a).本文选取基本黑猩猩算法(ChOA)、粒子群优化算法(PSO)[18]、灰狼优化算法(GWO)[19]和鲸鱼优化算法(Whale optimization algorithm,WOA)与IChOA 算法进行对比,基本参数统一设置为: 种群规模N=30,最大迭代次数Maxiter=500,维度分为低维d=30、高维d=500.各算法参数设置见表1.
表1 算法参数设置Table 1 Parameter setting of algorithm
3.2 测试函数介绍
为了测试IChOA 算法的寻优性能,采用文献[20]使用的23 个基准测试函数进行函数寻优测试,其中,f1~f7为单峰函数,f8~f13为复杂多峰函数,f14~f23为固定维度多峰函数,基准测试函数相关信息如表2 所示.
表2 基准测试函数介绍Table 2 Introduction to benchmark functions
3.3 各改进策略寻优性能对比
3.3.1 Halton 序列初始化种群性能分析
为了提高种群初始化的均匀性,提高种群多样性,本文引入Halton 序列相关思想初始化种群.取Halton 序列基础量为base1=2、base2=3,种群规模N=30,最大迭代次数Maxiter=500,基本ChOA与加入Halton 序列的ChOA (HChOA)在单峰测试函数f1、f3和多峰测试函数f9、f12上的寻优对比如图5 所示.
图5 ChOA 与HChOA 收敛对比图Fig.5 Convergence curve of ChOA and HChOA
由图5 可知,对于单峰测试函数f1和多峰测试函数f9,HChOA 能收敛到更接近于理论最优值,说明引入Halton 序列的ChOA 算法在基本函数寻优精度上有一定的优势;对于单峰测试函数f3和多峰测试函数f12,HChOA 收敛速度比ChOA 更快,说明Halton 序列初始化种群提高了种群初期多样性,对于提高算法收敛速度和精度都有一定帮助,虽然这种优势并不明显,但是对于后期引入其他策略寻优有较大帮助.
3.3.2 引入自适应权重因子和非线性收敛因子性能分析
由第2.2 节的分析可知,自适应权重因子和非线性收敛因子对于算法全局搜索和局部开发能力的平衡起着至关重要的作用.为了平衡算法的勘探和开发能力,本文引入自适应权重因子ω和改进的非线性收敛因子f.取维度d=30,最大迭代次数Maxiter=500,种群规模N=30,其中权重因子ω公式中的相关参数已在第3.1 节给出,基本ChOA与引入自适应权重因子和非线性收敛因子的ChOA(WChOA)对于单峰测试函数f2、f7和多峰测试函数f10、f11寻优结果对比如图6 所示.
图6 ChOA 与WChOA 收敛对比图Fig.6 Convergence curve of ChOA and WChOA
由图6 可以看出,对于单峰函数f2和多峰函数f11,WChOA 能够直接收敛到理论最优值0;对于单峰函数f7,WChOA 不管是在收敛速度还是在收敛精度上都优于ChOA;对于多峰函数f10,WChOA能收敛到更接近于全局最优解.综上所述,引入自适应权重因子和非线性收敛因子对算法寻优速度和精度有一定帮助.
3.3.3 引入黄金正弦策略性能分析
黄金正弦算法以正弦函数为基础,结合了黄金分割算子进行迭代寻优.为了加快ChOA 收敛,提高算法跳出局部最优值的能力,本文引入黄金正弦策略更新种群位置.取维度d=30,最大迭代次数Maxiter=500,种群规模N=30,搜索间隔α=π,β=-π,基本ChOA 与引入黄金正弦策略算法更新位置的ChOA (GChOA)对单峰测试函数f4、f6和多峰测试函数f8、f13寻优结果对比如图7 所示.
图7 ChOA 与GChOA 收敛对比图Fig.7 Convergence curve of ChOA and GChOA
由图7 可知,对单峰函数f4、f6和多峰函数f13,GChOA 的收敛速度明显快于ChOA,并且在收敛精度上也有很大提升;对复杂多峰函数f8,GChOA能够跳出局部最优值,收敛到理论最优值 -12 569.48附近,说明引入黄金正弦算法相关思想更新种群位置,对于算法跳出局部最优解有一定帮助,同时能加快算法收敛,提高收敛精度.
3.4 IChOA 算法与其他算法性能对比
为了验证IChOA 对于基本测试函数的寻优性能,选取基本黑猩猩算法(ChOA)、粒子群优化算法(PSO)[18]、灰狼优化算法(GWO)[19]和正弦余弦黑猩猩优化算法(Sine cosine ChOA,SChOA)[21]进行寻优对比,各算法统一取维度d=30,最大迭代次数Maxiter=500,种群规模N=30,各算法其他相关参数由表1 给出,利用表2 给出的23 个基本测试函数进行算法寻优对比测试,各算法分别运行50 次,取平均值,对比结果如表3 所示.
表3 各算法寻优结果对比(30 维)Table 3 Comparison of optimization results of each algorithm (30 dim)
由表3 对比结果可知,对于单峰函数,除了f6函数效果比PSO 算法差外,IChOA 在其他函数上的寻优结果都优于其他智能算法,其中f1~f6能找到理论最优值.对于复杂多峰函数,IChOA 表现同样出色,其中f9和f11能找到最优值.对于f8函数,IChOA 能跳出局部最优解,更接近于理论最优值-12 369.49.对于固定维度测试函数,IChOA 基本上都能收敛到最优值附近,其中f14、f16、f18和f21函数能直接收敛到理论最优值,说明IChOA 相比于其他算法,在基础函数寻优上,有明显优势.
3.5 IChOA 算法与其他算法高维性能对比
为了测试IChOA 对于高维函数的寻优能力,选取基本黑猩猩算法(ChOA)、粒子群优化算法(PSO)、灰狼优化算法(GWO)和鲸鱼优化算法(WOA)与IChOA 进行高维函数寻优对比,取维度d=500,最大迭代次数Maxiter=500,各算法其他相关参数由表1 给出,寻优对比结果如图8 所示.
图8 各算法500 维寻优对比曲线Fig.8 Comparison curves of 500-dimensional optimization of each algorithm
由图8 可知,对于单峰函数f1、f2、f3、f4和多峰函数f9、f11,IChOA 在500 维时,仍然能找到最优值0;对于单峰函数f6,虽然IChOA 寻优效果并不是最好的,但是其收敛速度是最快的;对于500维复杂多峰函数f8,IChOA 仍然能跳出局部最优值,收敛到最优值 -12 569.49.由图8 可以看出,对于高维测试函数,IChOA 同样具有很大的优势.
3.6 Wilcoxon 秩和检测
Wilcoxon 秩和检验是一种非参数统计检验方法,能够检测更为复杂的数据分布,一般的数据分析只是针对当前数据的平均值和标准差,并没有与算法多次运行的数据进行对比,因此这种数据对比分析是不科学的.为了全面体现IChOA 的优越性,采用统计分析方法对每一次仿真结果进行分析,从统计学角度分析IChOA 与其他算法的性能差异.选取IChOA 在12 个测试函数的运行结果与PSO、GWO、WOA、ChOA 和GChOA 运行结果进行Wilcoxon 秩和检验并计算p值,当p小于5% 时,可以被认为是拒绝零假设的有力验证[22].NaN 表示没有数据与算法对比,“+”、“=”和 “-”分别表示IChOA寻优性能好于、等于和差于其他算法,Wilcoxon 秩和检验结果如表4 所示.
表4 Wilcoxon 秩和检验结果Table 4 Wilcoxon rank sum test results
由表4 可知,IChOA 的Wilcoxon 秩和检验结果p值基本上都小于5%,从统计学上说明,IChOA对于基本函数的寻优性能优势明显,从而进一步体现了IChOA 的鲁棒性.
3.7 CEC2014 测试函数实验分析
CEC2014 测试函数[23]是由多个基本优化测试函数的权值组合而成,这种基函数的权值组合使测试函数的特征更为复杂,利用这些特征复杂的测试函数对本文IChOA 方法进行测试,一方面体现IChOA 对于复杂函数优化的优越性能;另一方面,多测试函数的组合优化可以体现IChOA 对于不同复杂优化问题的适用性.因此,为了进一步测试IChOA的鲁棒性,本文选取部分CEC2014 单目标优化函数进行求解分析,其中包括单峰、多峰、混合和复合类型函数,函数相关信息如表5 所示.本文将IChOA与标准PSO 算法[24]、标准正弦余弦算法(Sine cosine algorithm,SCA)[25]、线性自适应差分进化算法(Linear success-history based adaptive differential evolution,L-SHADE)[26]、引入Halton 序列初始化种群的黑猩猩优化算法(HChOA)和引入黄金正弦优化算法更新个体位置的黑猩猩优化算法(GChOA)进行对比.其中,L-SHADE 算法在CEC2014测试函数中表现卓越,常用来作为对比.实验参数取种群规模为N=50,维度d=30,最大迭代次数Maxiter=2 000,每个函数独立运行50 次,取平均值和标准差.优化对比结果见表6.
表5 部分CEC2014 函数介绍Table 5 Introduction of part CEC2014 function
表6 CEC2014 函数优化对比Table 6 CEC2014 function optimization comparison
由表6 可知,L-SHADE 算法在单峰函数上表现良好,但是对于多峰、混合和复合函数,IChOA 具有明显优势,例如对于多峰测试函数CEC05,IChOA能够收敛到理论值500 附近,而PSO 算法等其他算法性能相对表现较差;对于混合和复合测试函数,IChOA 以及其变体优势也比较明显,在CEC19 和CEC22 测试函数上,IChOA 寻优结果更接近理论最优值,比PSO 算法、L-SHADE 算法和SCA 算法更具优势.此外,除了CEC27 函数以外,IChOA 稳定性普遍更高,验证了IChOA 的稳定性.
3.8 IChOA 平均运行时间和成功率分析
为了验证IChOA 处理优化问题的速度和成功率,选取基本ChOA、HChOA、WChOA 和GChOA,与IChOA 进行基准测试函数平均寻优时间和寻优成功率对比,实验数据统一设置为: 维度d=30,种群规模N=30,最大迭代次数Maxiter=500,各算法运行30 次,取运行时间平均值和标准差,定义算法寻优成功率如下[27].
设适应度误差为F(u):
式中,u为算法运行次数,X(u)为算法运行第u次的实际寻优结果,X′为理论最优值,定义变量δ(u):
式中,ε为适应度误差精度,具体取值见表2.算法寻优成功率P为:
各算法对于23 个基准测试函数的平均寻优时间以及寻优成功率对比结果见表7.
表7 基准函数寻优平均时间及成功率对比Table 7 Comparison of average time and success rate for optimization of benchmark function
由表7 可知,HChOA、WChOA、GChOA 和IChOA 在优化问题的处理速度上,相比于ChOA都具有一定优势,除了f9和f14函数外,IChOA的寻优速度都是最快的,说明本文提出的改进策略在一定程度上加快了算法收敛速度,而本文将3 个策略融合后得到的IChOA 寻优速度最快;其次,IChOA 在16 个基准函数上寻优成功率达到100%且在23 个函数上的寻优成功率相比其他对比算法都是最高的,说明IChOA 对于优化问题的处理稳定性较高.综上所述,本文提出的IChOA 在优化问题处理上兼顾速度和稳定性,具有较高的鲁棒性.
4 IChOA 算法工程算例应用分析
近年来,工程算例应用作为优化问题中的一个热门领域,受到广泛关注.为了进一步验证IChOA在处理实际工程应用案例的优越性,选取文献[21]中的罚函数作为非线性约束条件,对焊接梁设计问题与拉力/压力弹簧优化设计问题进行优化处理,并将IChOA 优化结果与基本遗传算法(GA)、粒子群优化算法(PSO)、鲸鱼优化算法(WOA)、灰狼优化算法(GWO)、黑猩猩优化算法(ChOA)和文献[21]中其他算法进行对比.
4.1 焊接梁设计问题
焊接梁设计问题目的在于降低焊接梁制造成本,数学模型如式(21)、式(22)所示:
式中,x1、x2、x3和x4分别表示焊接梁的焊缝宽度h、横梁宽度d、长度l和厚度b四个基本属性.约束条件包括剪切应力τ、横梁弯曲应力δ、屈曲载荷J、横梁挠度δ和其他内部参数约束.图9为焊接梁模型的基本构造.
图9 焊接梁模型Fig.9 Welding beam model
表8 为各算法求解焊接梁设计问题的寻优结果的平均值,包括射线优化算法(Ray optimization,RO)[21]、多元宇宙算法(Multi-verse optimizer,MVO)[21]、正余弦哈里斯鹰算法(An efficient hybrid sine-cosine Harris hawks optimization,HSSAHHO)[21]和SChOA 算法[21].各算法独立运行50 次,取平均值.
表8 焊接梁设计问题结果对比Table 8 Comparative results of welding beam design problems
由表8 可以看出,IChOA 对于焊接梁设计问题的优化效果明显高于其他算法,虽然IChOA 对于单个焊接梁属性的优化结果不都是最优的,但其总体造价相比于其他算法优化效果最佳.
4.2 拉力/压力弹簧优化设计问题
拉力/压力弹簧优化设计问题的目的是减小弹簧压力/拉力的质量,该优化设计包含的约束条件有剪应力、振动频率和最小振动挠度,变量分别用x1、x2和x3表示,分别代表弹簧线圈直径d、弹簧圈直径D和绕圈数量P.弹簧优化设计问题模型如图10 所示.
图10 拉力/压力弹簧优化设计问题模型Fig.10 The model of tension/pressure spring optimization design
拉力/压力弹簧优化设计问题表示如下:
表9 为各算法求解焊接梁设计问题的寻优结果的平均值,包括RO 算法[21]、飞蛾火焰优化(Mothflame optimization,MFO)算法[21]、HSSAHHO 算法[21]和SChOA 算法[21].各算法独立运行50 次,取平均值.
表9 拉力/压力弹簧优化设计问题结果对比Table 9 Comparison of tension/compression spring design
由表9 可知,虽然IChOA 对于弹簧的绕圈数量要求略高于SChOA,但是对于弹簧线圈直径和弹簧圈直径优化结果都低于SChOA,并且总体优化结果略低于SChOA,说明IChOA 对于工程设计问题的优化效果具有优势.
综上所述,通过以上两个工程设计优化问题实验对比结果可以看出,本文提出的IChOA 对于实际工程设计问题的优化,同样具有一定的优越性,进一步体现了IChOA 的鲁棒性.
5 结束语
本文在原始ChOA 基础上,提出一种融合多策略的黄金正弦黑猩猩优化算法,通过分析种群初始化分布,引入Halton 序列,提高了算法初期的种群多样性,引入改进的非线性收敛因子和自适应权重因子,提高了算法的搜索能力,结合黄金正弦算法思想更新个体位置,防止算法过早收敛.通过对23个基本测试函数和部分CEC2014 测试函数进行寻优测试以及Wilcoxon 秩和统计检验,验证了该算法的优越性.最后通过两个实际工程设计优化问题,进一步验证了IChOA 在实际工程应用中的有效性.通过对本文改进策略的分析可以看出,改进算法所需参数量较多且算法的寻优性能受非线性收敛因子影响较大,对于收敛因子的选取依然存在改进的空间.因此,今后工作将继续研究改进的优化策略,以提高ChOA 的可操作性和适用性,并将其应用到更为复杂的优化问题中.