智能优化算法:探路者优化算法
@[toc]
摘要:探路者算法(Pathfinder Algorithm, PFA)是 2019年由 Yapici 提出的一种新的元启发式算法 。该算法受群体动物的狩猎行为启发,将种群中的个体分为探路者(领导者)和跟随者;算法的寻优过程模拟了种群寻找食物的探索过程,通过探路者、跟随者二种不同种群角色间的交流来实现优化,同时在进化过程中也加强了种群三代间优良信息的保留;PFA 具有容易理解、实现简单、优化性能较好等优点。
1.算法原理
在探路者算法中,种群中的个体分为探路者(pathfinder)和跟随者(follower members),它们共同组成种群团队。探路者个体是团队的领导者,指引算法的全局搜索方向,而种群中的跟随者沿着探路者的方向进行移动。种群中个体的移动使其位置向量发生变化,其对应的工件排列也随之改变,即种群的更新。
在种群的更新过程中,探路者是该种群运动方向的探索者,先于跟随者移动,其更新方式如式(1),(2):
式中, 表示算法当前的迭代代数,为算法的
最大迭代数;表示当代探路者的位置,表示上一代探路者的位置,则表示探路者更新后的位置;为探路者移动的步长因子,在范围[0,1]内服从均匀分布; 表示探路者移动的多向性和随机性:多向性由的取值决定,为[-1,1]范围内的随机数;步长大小的随机性由决定,即与算法迭代的次数有关。
此外,由于探索过程存在多向性和随机性,探路者探索到的位置可能不如原位置。因此,在探路者完成更新后加入保优操作,即更新后位置不如原位置,则探路者回到原位置。
探路者更新完成后,种群中跟随者根据探路者位置进行更新:
式中, 表示算法当前的迭代代数,表示跟随者的当前位置,则表示其更新后的位置;跟随者的移动不仅与探路者有关,而且受到其他跟随者的影响,表示跟随者之间的相互作用系数,表示探路者对跟随者的吸引系数,均在 [1,2]服从均匀分布;分别为与其他跟随者和探路者移动的步长因子均为[0,1]范围内的随机数;同理,与探路者一样,表示跟随者移动的随机性,决定随机运动的方向和步长,为当前跟
随者与其他跟随者之间的距离。由上述可知,无论是探路者还是跟随者,其随机步长的大小都与算法迭代的次数有关,且代数越大步长越小。这是由于算法搜索初期需要在庞大的解空间中探索优质解区域,而在后期对优质解区域进行更细致的搜索,该操作有效地平衡了 PFA 全局搜索与局部搜索的关系。
算法流程
Step1.初始化算法参数,如种群数量等等
Step2.初始化种群,计算适应度,确定探索者和跟随者。
Step3.根据式(1)更新探索者位置
Step4.根据式(3)跟新跟随者位置
Step5.计算适应度值,并更新全局最优值。
Step6.判断是否达到结束条件,如果达到则输出最优值,否则重复步骤Step1-6。
2.实验结果
3.参考文献
[1]胡蓉,董钰明,钱斌.基于探路者算法的绿色有限缓冲区流水线调度[J/OL].系统仿真学报:1-12[2021-01-06].https://doi.org/10.16182/j.issn1004731x.joss.20-0077.
[2] Yapici H, Cetinkaya N. A New Meta-heuristic Optimizer:Pathfinder Algorithm[J]. Applied Soft Computing(S1568-4946), 2019, 78(1):545-568.
4.Matlab代码
https://mianbaoduo.com/o/bread/YZaTm51r
5.Python代码
https://mianbaoduo.com/o/bread/YZqXmJxp