粒子群优化算法 基本粒子群算法 PSO算法起源 粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论在1994正式提出,CAS中的成员被称为主体。例
粒子群优化算法
基本粒子群算法
PSO算法起源
粒子群算法源于复杂适应系统(Complex Adaptive System,CAS)。CAS理论在1994正式提出,CAS中的成员被称为主体。例如,我们研究鸟系统。这个系统中的每一只鸟都被称为主体。这个题目是可以适应的。它可以与环境和其他学科沟通,并在交流过程中根据“学习”或“积累经验”的过程来改变其结构和行为。粒子群优化(PSO)是一种CAS系统鸟类群落社会系统的研究。
PSO算法的灵感来自于不同群居生物的日常活动,能够运用这一算法将优化问题很好的解决,在PSO算法中,对于潜在方案,可以被视为在空间中搜索一只鸟,其可被视作在一个n维空间中,存在一个点,该点暗化成为没有体积与质量的粒子,同时使之在N维空间中不断的向外扩散,其也被叫做“粒子”。对于粒子i在N维空间中,作为一个矢量存在,对于其中每个粒子来讲,由于其在飞行中存在速度,该飞行速度也可以通过一个矢量对其进行表达与描述。
对于其中的每个粒子来讲,是一个基于目标函数的适应值( )。每一个粒子都有确定飞行方向和距离的速度。在对粒子进行识别的过程中,是截止于目前所存在的全部离子群中发现全部粒子的最佳位置,而这可被视为粒子同伴的经验。在这种情况下,粒子凭借自身经验与同伴最好的经验,在该N维空间中进行搜索。
PSO算法中,先是对一群随机粒子实施初始化,对于这些随机粒子,在计算中就是一群随机解,而后粒子在空间范围内,对最优粒子实施搜索,也就是以迭代的方式,将最优解找到,由于在d搜索空间中,对随机的第i个粒子进行描述,其位置处在 ,所具有的速度则为 ,在每次进行迭代的过程中,粒子利用对两个最优解实施跟踪,并以此实现一种自我的更新,而针对其中的首个最优解,其实质上就是粒子自身所发现的一个全局最优解——Pg,也就是全局最优解gbest,P_g。如果能够找到这两个最佳,那么粒子就可以按照基本公式,对其位置、速度等进行更新。
PSO算法原理
PSO算法与遗传算法以及运动智能算法类似,为了能够对环境形成更好的适应,在全体中的个体将会被移动,并处于一个良好的区域内,但相较于遗传算法有所不同,该算法并未使用个体进化控制器,而完全是其中每个个体的独立进化。个人对于空间进行查看,看其中是否存在体积与质量的粒子D维,并且在搜索空间中按照特定速度进行飞行与搜索。由于飞行存在速度,因而在进行调整时,需要遵循个人飞行经验以及团体飞行经验。假如存在一个含有m个微粒群的D维空间,粒子在该空间中飞行,那么假设该粒子i当前的位置与速度分别是 和 ,而在该群体中全微粒经历的最佳位置是 。基于这一定义,针对其中的每一代,在对基本微粒群算法进行计算时,建立相应的方程进行描述,即有:
v_id (t+1)=v_id (t)+c_1 r_1d (t)(p_id (t)-x_id (t))+c_2 r_2d (t)(p_gd (t)-x_id (t))(2.1)
x_id (t+1)=x_id (t)+v_id (t+1) (2.2)
在上述式子中,其下标d的范围处于 的区间内,这表示微粒处于d维空间内,同时i为其中任意选定的微粒i,t为在进化后的第t代,c1和c2分别代表的是自身加速常数与全局加速常数,并且二者通常处于 的区间内;另外, , 则表示的是两个彼此独立的随机变量,并且有 这时若 、 两者已经超出了边界值,那么则选取相应的边界值对v_id (t)、x_id (t)进行替代, 、 二者则是按照相对应的目标函数,在各自的搜索空间内进行搜索,同时对应的常数也不相同。
对于PSO的算法,针对具体的实现过程,首先是对m、c_1、c_2的值进行确定,而后使m个微粒在搜索空间中均匀分布,也就是对 的值进行初始化,这样所得到的这些初值都存在对应的点,分布于空间内,然后再对每个微粒的速度进行设置,即在 的区间内, 为其中的随机数,并以此实现有关的初始工作,而后进入到迭代循环的环节,在规定的有限迭代循环数的范围内,根据相应的迭代公式,对每个微粒搜索空间中所处的下一位置进行搜索,然后基于优化后的目标函数,针对其中的每个微粒所具有的历史最有位置p_1进行确认,并且在微粒群中的全部微粒p_i所处的最佳位置p_g,而这一迭代过程,一直持续到能够满足相应的条件,再对目标函数进行搜索,获得相应的最优解与最优值。