第3期 陈杰,等:粒子群优化方法在动态优化中的研究现状 ·193· 的依赖性很强.其优点是这种方法并不依赖于环境 (gm=0),来让所有机器人能够跟踪到环境的动态 的变化是局部的、或者全局的,都能对动态变化做出 变化进行气味源定位.该文中将“带电粒子”CP 反应 S02]和标准P0相结合,并增加了一个排斥函数 而对环境变化需要进行检测或者监测的方法, 来维持群体多样性平衡.CPS0以及排斥函数的使 额外地增加了计算函数适应值的额外负担.这些对 用也有助于对机器人个体自身体积的考虑,避免发 环境的监测方法,尤其是基于个别粒子或者个别点 生碰撞.但是对于“重置”操作而言,简单的替换操 的监测的方法,都基于一定假设.即动态变化是全局 作也意味着丢失搜索过程中收集的已有信息. 性,或者通过个别的监测粒子可以反映环境的动态 文献[6,9]中采用周期性地对整个或部分种群 变化,或者即使环境的动态变化是局部性的变化,群 或最优g粒子进行重新随机分布,来增加群体多 体也能通过检测点得到触发信息.但如果环境只是 样性,抛弃部分目前已知的信息.重新随机分布 在局部产生动态变化(如第5节中局部适应值峰值 (re-randomization)是另一种典型的途径,但是同“重 变化),尤其是现实生活中的实际问题,就需要进一 置”操作一样,容易过多地失去过去迭代过程中或 步研究对动态环境进行监测的方法, 许有用的信息.而且重新随机分布对信息的丢失更 动态响应策略 加彻底,这也是许多文献中对该方法持怀疑态度的 主要原因.但是其实总体上来说,这种方法依赖于需 与其他计算智能的方法(如EA、EP、GA等)类 要解决的动态问题类型.在很大一部分的动态环境 似,PS0算法的性能很大程度上要依赖于种群在探索 变化问题中,环境的变化是基于上一时刻或空间的 已知与开拓未知能力上二者间的平衡,群体的多样性 环境状态的,而不是完全的全空间内随机变化,过多 对这种平衡的影响至关重要.特别是动态系统中跟踪 丢失过去信息对算法不利;但是如果粒子状态是随 群体的行为,如果失去了多样性,则变得毫无希望了 机的、变化很大或者当前最优状态相关性很小,则这 一般来说,动态系统中多样性问题多通过2种机制来 种重新随机操作可以将群体从过期的信息束缚中解 解决:主动式和响应式).当然,也有一些算法同时 放出来.因此在文献[9,35]中设计的重新随机化的 使用这2种机制,比如一些基于种群的P$0.因此,本 粒子是以一定的比例进行的,而这个比例的大小,直 文主要通过3个方面来分析为解决动态变化的各种 接关系到算法的优化性能,动态环境的变化特性是 调整策略:主动式、响应式以及混合策略 影响其取值大小的原因之一 3.1主动式策略 多群体设计的基本思想就是将整个群体分为一 预处理策略在文中定义为一种不基于对动态变 些子群.每个子群分别关注解空间中不同的潜在可 化进行探测的应对机制,用以实现防止群体收敛过 行解.这种设计本身就是保证群体整体多样性的一 快和保持群体多样性.它可以通过减小选择压力,降 个有效的方法.当环境发生改变时,由于群体中所有 低历史记忆信息的影响,周期性增加系统多样性或 粒子都还没有收敛到一个狭小的区域,从某种意义 采用多种群结构等实现.基于主动式策略的PS0算 上说群体依然能保持着搜索能力.因此第1节中 法能够具有较好的动态寻优效果,尤其是针对动态 PS0基于种群的搜索策略,在动态响应策略意义上, 环境变化小或者缓慢的情况;但是从另一方面来考 多群方法其实也是一种主动式策略.基于种群的 虑,为了保持多样性,群体不能较快地收敛,而且不 S0]没有专门地用以应对动态变化的操作,它通 能充分接近动态的最优值 过重新随机初始化种群中多余的粒子来动态地调整 当系统动态变化时,群体的历史信息就变成了 种群结构和多样性参数.“多带电粒子”PS0[2]的群 相对陈旧的过时信息,在新环境下它有可能就是错 体中,在一个制定半径范围内的最差群体将被重新 误的,这将会导致对其他个体的误导.“重置”(e 随机化处理,使粒子相互之间散开一定的距离.多量 8t)是处理过时信息和保持种群多样性最常用的机 子群算法(muli-QS0)中用量子群体代替了带电粒 制之一,它动态地用一些粒子位置向量或者重新计 子群体以增加多样性,量子群体的位置只依赖于以 算得到的适应值来替代另外一些粒子的位置向量或 群体吸引子为中心的一个概率函数. 适应值.例如每间隔一定迭代周期,就用粒子个体当 为了保持多样性,除了采用多种群的群体结构 前的位置向量代替它们最优个体pP的位置向 设计外,多群体PS0中融合了其他的一些改进方 量p,来减少种群对历史信息的依赖6,4,25,8,列。 法.这些方法中常用的是一些基于环境变化检测的 Jatmiko1]采用重新设定ge4的适应值为初始值 反应式改进操作.这一类的改进方法可以看作是主