未建英(1989-),女,硕士生,研究领域:智能计算及其应用;
张丽娜(1993-),女,硕士生,研究领域:智能计算及其应用;
付 发(1993-),男,硕士生,研究领域:人工智能与机器学习。
群智能算法是人们模拟生物群体行为而提出的一种新型启发式算法。近年来,群智能算法已经成功地应用在生产调度、人工智能和求解优化等问题中。群智能算法主要包括蚁群算法、粒子群优化算法和人工蜂群算法。群智能算法都是模拟动物的行为,研究个体和群体之间的协同作用,从而解决实际问题,且都属于随机搜索算法。
鸽群优化算法(Pigeon Inspired Optimization,PIO)[1]是2014年段海滨根据鸽子归巢的行为提出的一种新型群体智能优化算法,该算法是利用地图、指南针和地标算子完成导航过程。目前,鸽群优化算法已经成功地应用在无人机编队和图像处理上等多个领域[2]。
鸽群优化算法前期收敛速度比较快,所需要的参数较少,但后期容易陷入局部最优且求解精度较低。同时,在执行地标算子时,鸽群数量迅速减少,造成多样性丢失。针对以上存在的不足,本文提出了一种混合模拟退火和教与学的鸽群优化算法(TLSAPIO)。
1 标准鸽群优化算法
鸽群优化算法是群智能算法的一种,Guilford[3]指出在不同的飞行阶段,鸽子会使用不同的导航工具。在前期会依赖于类似于指南针的导航工具;在后期会依赖于地标算子,同时重新规划自己的飞行路线,并进行必要的修正。
1.1 地图和指南针算子
鸽子本身存在磁力,在飞行的过程中,能够通过磁感来感受磁场,并把太阳当作指南针来调整飞行的方向。在飞行接近目的地时,磁场和太阳的指向作用减小。在D维搜索空间中,第i只鸽子的速度和位置根据公式进行迭代更新:
式中gbestx 为全局最优位置,R为地图和指南针因数,t为当前迭代次数,rand为随机值。
1.2 地标算子
在接近目的地时,会根据地标算子进行导航飞行目的地。在每次迭代更新时,先对鸽子的适应度值进行排序,舍弃适应度值较低的鸽子。然后,在剩下的鸽子中选取中心位置的鸽子当作飞行的参考方向,熟悉地标的鸽子会直接飞行目的地,不熟悉地标和远离目的地的鸽子会跟随熟悉地标的鸽子飞向目的地[1]。对鸽子的位置进行迭代更新,公式如下:
式中,)(·f为适应度函数,即为目标函数。
2 混合模拟退火和教与学的鸽群优化算法
2.1 模拟退火鸽群优化算法
模拟退火[4]是模拟物体从高温降为低温的过程,根据Metropolis准则,由于降温操作,物体从状态i变为状态j,能量也从E(i)变为E(j),能量的变化量为ΔE=E(i)-E(j),当ΔE>0,接受变化的新状态;当<0,以一定的概率接受当前的新状态。当概率 p =exp(E (i)-E(j)T)>rand 时,接受当前的新状态,否则保留旧的状态。其中, T = T·de c ayscale,decayscale为退火系数。
模拟退火鸽群优化算法(SAPIO)是以鸽群优化算法为主流程,加入了模拟退火机制,对每个鸽子的位置进行局部寻优,使算法在接受较优解的同时,以一定的概率接受较差解,能够使算法跳出局部最优。随着物体的降温,能量逐渐趋于稳定状态,算法达到全局最优。
2.2 线性递减的惯性权重和速度更新
在鸽群优化算法中,前期需要较大的速度,有利于全局搜索,能较快地定位最优解的大致位置。随着惯性权重的减小,速度减小,能够进行精细的局部搜索和得到更精确的解,该方法加快了算法的收敛速度,提高了算法性能[5]。惯性权重的调节和速度公式如下:
2.3 教与学优化算法
教与学优化算法(TLBO)[6]包括教师阶段和学习阶段。在教师阶段,选择种群中最好的个体作为教师,通过教行为提高学生的平均成绩。设 xteacher是教师,α是学习因子,且, xmean种群内所有个体的平均值。教师阶段的更新公式如下:
在学习阶段,从种群中随机选出两个不同的个体 xp和 xq,比较两个个体之间的差异。令 xi向其中优秀的个体进行学习。学生阶段的更新公式如下:
2.4 TLSAPIO算法实现
输入:种群规模N,最大迭代次数T1+T2。
输出:最优个体 xgbest。
Step1:初始化鸽群算法相关的参数,包括速度和位置。
Step2:计算鸽子的适应度值,找出个体极值 xp和全局极值xgbest。
文章来源:《化学教与学》 网址: http://www.hxjyxzz.cn/qikandaodu/2020/1010/601.html