📜  探路者优化算法

📅  最后修改于: 2022-05-13 01:58:08.494000             🧑  作者: Mango

探路者优化算法

大自然充满了执行不同任务的社会行为。尽管所有个人和集体行为的最终目标是生存,但生物在群体、畜群、学校、殖民地和羊群中合作和互动有几个原因:狩猎、防御、导航和觅食。为了模仿动物的这些特征,引入了基于群体智能的优化算法。

例如——蚁群优化、猫群优化、粒子群优化

灵感

探路者只是带领一群人的个人。这个实体领导群体,这个实体领导各种行为。此外,该实体将蜂群带到目的地,包括牧场、水域和觅食区。动物群经常通过社会秩序决定成员之间的运动。这样的动物可能不得不与领导者或没有领导者一起决定。然而,领导是暂时的,很少有人知道地点、狩猎区域、路线等。

数学模型

人口基本上跟随探路者进行各种活动。然而,为了做到这一点,我们需要指定探路者和任意种群成员的位置。成员的位置说 X i定义为:

X_{i}^{K+1} = X_i^{K} + \alpha.r_1(X_j^K - X_i^K) +\beta.r_2(X_j^K - X_i^K) + \epsilon

其中Xi是第i个跟随者在k迭代时的位置向量,r 1和r 2是在[0,1]范围内均匀生成的随机变量,α是相互作用系数,β是吸引力系数。 α, ß 的值设置为在相互作用(即任何成员与其邻居一起移动的幅度)和吸引力(即使牛群与领导者大致保持距离的随机距离)之间存在完美平衡. α、ß 的最佳值应在 1 左右。ε 是振动矢量,定义如下:

\epsilon = \bigg(1 - \frac{K}{K_{max}}\bigg). u_1.D_{ij}

在哪里, D_{ij} = |X_i-X_j|    , u 1是 [-1,1] 范围内的随机变量

探路者的位置定义为:

X_p^{K+1} = X_p + 2r_3.(X_p^K-X_P^{K-1}) +A

X p为探路者的位置向量,K 为当前迭代次数,r 3若为[0,1]范围内的随机变量,A为波动率向量。 A 定义如下:

A = u_2.e^{\frac{-2K}{K_{max}}}

其中 u2 是 [-1,1] 范围内的随机变量,K max是最大迭代次数。

ε,A可以为所有成员提供随机运动(行走)。因此,为它们设置不同的值可以确保探索和利用。术语\frac{K}{K_{max}}    在 ε 中,A 确保元启发式技术的探索和开发阶段。首先\frac{K}{K_{max}}  非常小,从而导致构成探索的快速变化。然后在后期,它的价值最终变小甚至为零,构成剥削。

算法

返回最佳位置和适应度,可用于解决优化问题。

参考文献: https://www.sciencedirect.com/science/article/pii/S1568494619301309