蚁群算法学习报告.docVIP

  • 15
  • 0
  • 约1.45千字
  • 约 2页
  • 2015-08-27 发布于安徽
  • 举报
粒子群算法学习报告 在实际生活中,对于群居动物(诸如鸟类、蚂蚁、蜜蜂等)往往存在这样的现象:对于个体而言,只是简单的低级动物,但是由于群体之间的相互协作却表现出惊人的智慧(如蜜蜂的筑巢行为),这种群体所表现出来的“智能”,称之为群体智能。从社会学角度来看,此类群体之间之所以表现出高度的群体智能是由于群体个体之间存在着社会分工和信息协作机制。依照此原理设计出的算法称之为群体智能优化算法,粒子群算法就是其中的典型代表。 粒子群优化算法一般可分为三个主要环节:社会协作、自我适应和竞争环节。其中“社会协作”代表个体在寻优过程中的信息交换和相互学习行为;“自我适应”代表个体主动或被动地调节自身的状态更好的适应环境,在此过程中无需借助其他个体的信息;“竞争”代表种群更新策略,即较好的个体在新种群中获得较大生存机会。 算法原理 粒子群算法主要是基于群体根据对环境的适应度将群体中的个体移动到好的区域,即将每个个体堪称D维搜索空间中的一个没有体积的粒子(点),在搜索空间以一定的速度飞行。这个速度根据它本身的飞行经验以及同伴的飞行经验进行动态调整。第个粒子表示为,它经历过的最好位置(根据适应值来判断)记为,也称为。在群体中所有粒子经历的最好位置的索引号用符号表示,即也称为。粒子的速度用表示。对每一代,其第d()维根据如下方程变化: 其中,为惯性权重(inertia weight),和为加速度常数,rand1和rand2为两个在[0,1]范围内的随机函数。在上式中,M是该种群中粒子的总数,为第k次迭代粒子i飞行速度矢量的第d维分量,为粒子i个体最好位置的第d维分量,为群体最好位置的第d维分量。 (2)算法参数分析 粒子群优化算法的参数包括群体规模M;最大速度Vmax;权重系数,包括惯性 权重,加速常数和;最大迭代次数G_max. 1)群体规模 群体规模M的大小粗略地正比于问题的维数.一般地,待求解问题维数越高,问题越复杂所需的群体规模也就越大。通常群体规模是问题维数的1.5倍左右。 2)最大速度 V_max决定当前位置与最优位置之间区域的分辨率(或精度).如果V_max太高,粒子可能会飞过好解;如果V_max太小,粒子不能对局部最优区间之外进行足够的探索,导致算法陷入局部优值。 设置最大速度的限制有以下三个目的:(1)防止计算溢出;(2)实现人工学习和学习态度的转变;(3)决定问题空间搜索的粒度。 3)权重因子 在粒子群优化算法中有三个权重因子:惯性权重,加速常数和。惯性权重使粒子保持原有运动惯性,是其有扩展搜索空间的趋势,有能力探索新的区域。 加速常数和代表将每个粒子推向和位置的统计加速项的权重。较低的加速常数允许粒子突然冲向或超越目标区域,形成较大的适应值波动。 4)算法优缺点 粒子群算法的基本思想是通过群体中个体之间的协作和信息共享来寻找最优解。它具有概念简单、容易实现、搜索速度快、搜索范围大的优点,且只需要很少的代码和参数,非常易于实现。但是,粒子群算法是随机搜索算法,它的初始种群是随机生成的,因此并不能保证每次搜索都能得到最优解。 同时,粒子群算法仅模拟了个体的认知能力(或称为记忆能力)和社会精英的认知能力,而缺少普通个体之间的信息共享、协作和竞争关系的模拟,这样算法参数的设置就变得非常重要了,特别是对于较为复杂的问题容易产生早熟收敛和停滞现象,这时就需要针对问题本身进行分析,尝试对比不同的参数设置得到的不同结果。

文档评论(0)

1亿VIP精品文档

相关文档