PSO粒子群优化算法摘自:(PSO)是一种进化计算技术(putation),有Eberhart博士和kennedy博士发明。源于对鸟群捕食的行为研究PSO同遗传算法类似,是一种基于叠代的优化工具。系统初始化为一组随机解,通过叠代搜寻最优值。但是并没有遗传算法用的交叉(crossover)以及变异(mutation)。而是粒子在解空间追随最优的粒子进行搜索。详细的步骤以后的章节介绍同遗传算法比较,PSO的优势在于简单容易实现并且没有许多参数需要调整。目前已广泛应用于函数优化,神经网络训练,:人工生命"人工生命",-,"群智能"(swarmintelligence).这些模拟系统利用局部信息从而可能产生不可预测的群体行为例如floys和boids,他们都用来模拟鱼群和鸟群的运动规律,)(antcolonyoptimization)和粒子群算法(particleswarmoptimization).(PSO),PSO模拟鸟群的捕食行为。设想这样一个场景:一群鸟在随机搜索食物。在这个区域里只有一块食物。所有的鸟都不知道食物在那里。但是他们知道当前的位置离食物还有多远。那么找到食物的最优策略是什么呢。最简单有效的就是搜寻目前离食物最近的鸟的周围区域。PSO从这种模型中得到启示并用于解决优化问题。PSO中,每个优化问题的解都是搜索空间中的一只鸟。我们称之为“粒子”。所有的例子都有一个由被优化的函数决定的适应值(fitnessvalue),每个粒子还有一个速度决定他们飞翔的方向和距离。然后粒子们就追随当前的最优粒子在解空间中搜索PSO初始化为一群随机粒子(随机解)。然后通过叠代找到最优解。在每一次叠代中,粒子通过跟踪两个"极值"来更新自己。第一个就是粒子本身所找到的最优解。。这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最为粒子的邻居,那么在所有邻居中的极值就是局部极值。在找到这两个最优值时,粒子根据如下的公式来更新自己的速度和新的位置v[]=v[]+c1*rand()*(pbest[]-present[])+c2*rand()*(gbest[]-present[])(a)present[]=persent[]+v[](b)v[]是粒子的速度,persent[][]andgbest[]如前定义rand()是介于(0,1),=c2=(pBest)ordingequation(a)ordingequation(b)____EndWhilemaximumiterationsorminimumerrorcriteriaisnotattained在每一维粒子的速度都会被限制在一个最大速度Vmax,如果某一维更新后的速度超过用户设定的Vmax,(fitnessvalue).,就停止,否则转步骤2从以上步骤,我们可以看到PSO和GA有很多共同之处。两者都随机初始化种群,而且都使用适应值来评价系统,而且都根据适应值来进行一定的随机搜索。两个系统都不是保证一定找到最优解但是,PSO没有遗传操作如交叉(crossove
PSO粒子群优化算法 来自淘豆网m.daumloan.com转载请标明出处.