探路者优化算法
大自然充满了执行不同任务的社会行为。尽管所有个人和集体行为的最终目标是生存,但生物在群体、畜群、学校、殖民地和羊群中合作和互动有几个原因:狩猎、防御、导航和觅食。为了模仿动物的这些特征,引入了基于群体智能的优化算法。
例如——蚁群优化、猫群优化、粒子群优化
灵感
探路者只是带领一群人的个人。这个实体领导群体,这个实体领导各种行为。此外,该实体将蜂群带到目的地,包括牧场、水域和觅食区。动物群经常通过社会秩序决定成员之间的运动。这样的动物可能不得不与领导者或没有领导者一起决定。然而,领导是暂时的,很少有人知道地点、狩猎区域、路线等。
数学模型
人口基本上跟随探路者进行各种活动。然而,为了做到这一点,我们需要指定探路者和任意种群成员的位置。成员的位置说 X i定义为:
其中Xi是第i个跟随者在k迭代时的位置向量,r 1和r 2是在[0,1]范围内均匀生成的随机变量,α是相互作用系数,β是吸引力系数。 α, ß 的值设置为在相互作用(即任何成员与其邻居一起移动的幅度)和吸引力(即使牛群与领导者大致保持距离的随机距离)之间存在完美平衡. α、ß 的最佳值应在 1 左右。ε 是振动矢量,定义如下:
在哪里, , u 1是 [-1,1] 范围内的随机变量
探路者的位置定义为:
X p为探路者的位置向量,K 为当前迭代次数,r 3若为[0,1]范围内的随机变量,A为波动率向量。 A 定义如下:
其中 u2 是 [-1,1] 范围内的随机变量,K max是最大迭代次数。
ε,A可以为所有成员提供随机运动(行走)。因此,为它们设置不同的值可以确保探索和利用。术语在 ε 中,A 确保元启发式技术的探索和开发阶段。首先非常小,从而导致构成探索的快速变化。然后在后期,它的价值最终变小甚至为零,构成剥削。
算法
- Define the parameters such as r1, r2, ε, A
- Initialize the population and calculate fitness for each member
- Set the best fitness value as the pathfinder
- while iteration condition is not met or till max iteration do
- Generate α, ß in range [0, 1]
- Using the pathfinder equation update the position of pathfinder
- If fitness of current pathfinder is better than old pathfinder Then
- Update fitness of the pathfinder
- For i=1 to population size
- Update position of followers using followers equation.
- Update fitness values of each member
- Find the best fitness
- If best fitness is better than old pathfinder Then
- Update fitness of the pathfinder
- For i=1 to population size
- If new fitness of the member is better than old fitness Then
- Update fitness of member
- Generate ε, A
- End
返回最佳位置和适应度,可用于解决优化问题。
参考文献: https://www.sciencedirect.com/science/article/pii/S1568494619301309