作者:康慎吾
地点:北华航天工业学院
- 粒子群优化算法流程图
- 粒子i的第d维速度更新公式:
- 粒子i的第d维位置更新公式:
- 粒子速度更新公式包含三部分:
第一部分为粒子先前的速度
第二部分为“认知"部分,表示粒子本身的思考,可理解为粒子i当前位置与自己最好位置之间的距离。代表粒子有向自身历史最佳位置逼近的趋势;
第三部分为"社会”部分,表示粒子间的信息共享与合作,可理解为粒子i当前位置与群体最好位置之间的距离。代表粒子有向群体或邻域历史最佳位置逼近的趋势; - 粒子群算法的构成因素-权重因子
- 粒子群算法的构成因素-邻域的拓扑结构
粒子群算法的邻域拓扑结构包括两种,一种是将群体内所有个体都作为粒子的邻域,另一种是只将群体中的部分个体作为粒子的邻域。
邻域拓扑结构 决定 群体历史最优位置
由此,将粒子群算法分为全局粒子群算法和局部粒子群算法。 - 粒子群算法的构成要素 - 边界条件处理
当某一维或若干维的位置或速度超过设定值时,采用边界条件处理策略可将粒子的位置限制在可行搜索空间内,这样能避免种群的膨胀与发散,也能避免粒子大范围地盲目搜索,从而提高了搜索效率。具体的方法有很多种,比如通过设置最大位置限制xmax和最大速度限制vmax,当超过最大位置或最大速度时,在范围内随机产生一个数值代替,或者将其设置为最大值,即边界吸收。 - 线性递减权值
较大的w有较好的全局收敛能力,较小的w则有较强的局部收敛能力。因此,随着迭代次数的增加,惯性权重w应不断减少,从而使得粒子群算法在初期具有较强的全局收敛能力,而晚期具有较强的局部收敛能力。 - 算法应用——背包问题
假设存在五类物品,每类物品中又包含四种具体物品,现要求从这五种类别物品中分别选择一种物品放入背包中,使得背包内物品的总价值最大,总体积最小,并且背包的总质量不超过92kg。