穷举法与粒子群算法的比较_王得燕

合集下载

基于改进粒子群算法的多阈值图像分割_武燕

基于改进粒子群算法的多阈值图像分割_武燕

Microcomputer Applications Vol. 27, No.5, 2011 技术交流 微型电脑应用 2011年第27卷第5期 ·59·文章编号:1007-757X(2011)05-0059-03基于改进粒子群算法的多阈值图像分割武 燕,张 冰摘 要:提出了一种改进的粒子群算法,在初始化种群时采用相对基学习原理,以获得较优的初始候选解;在后期迭代过程中引入扩张模型,使粒子不易陷入局部极小值点,并将其用于多阈值图像分割。

由最大熵阈值法得到所要优化的目标函数,用改进的粒子群算法对其进行优化,使其能够准确并迅速的得到分割的最佳阈值组合,并用该阈值组合对图像进行分割。

将此分割结果与遗传算法的多阈值分割结果相比较可以看出,该算法可更为准确快速的实现图像分割。

关键词:粒子群优化算法;相对基学习;扩张模型;多阈值;图像分割中图法分类号:TP301 文献标志码:A0 引 言图像分割是目标识别的首要和关键步骤,其目的是将背景与目标分离,为计算机视觉的后续处理提供依据。

图像分割的方法主要包括阈值法、边缘检测等[1]。

其中,阈值分割因其快速简单使其成为图像分割中最基本最常用的方法。

常用的阈值法有最大熵阈值法、最大类间方差阈值法及最小误差阈值法等。

最大熵阈值法的原则使得总熵最大。

所以确定阈值是阈值分割的关键,根据阈值的个数,图像阈值分割可以分为单阈值分割和多阈值分割。

多阈值分割问题可转化为一系列单阈值分割问题来进行解决,但此需要在全灰度范围内搜索一个最佳门限的组合,耗时较多,难于实际应用。

为了简化计算,可以利用遗传、免疫等进化算法来搜索最佳阈值[2]。

而在本文中,将改进的粒子群算法引入图像分割中的多阈值选择,对最大熵阈值法(ME)进行了优化,使其能够准确并迅速地找到图像分割的最佳阈值,对图像进行多阈值分割。

1 基于最大熵的多阈值图像分割最大熵阈值法的基本依据是使得图像中目标与背景分布的信息量最大,即通过测量图像灰度直方图的熵,找出最佳阈值。

粒子群算法和遗传算法比较

粒子群算法和遗传算法比较

粒子群算法(PSO)和遗传算法(GA)都是优化算法,都力图在自然特性的基础上模拟个体种群的适应性,它们都采用一定的变换规则通过搜索空间求解。

PSO和GA的相同点:(1)都属于仿生算法。

PSO主要模拟鸟类觅食、人类认知等社会行为而提出;GA主要借用生物进化中“适者生存”的规律。

(2)都属于全局优化方法。

两种算法都是在解空间随机产生初始种群,因而算法在全局的解空间进行搜索,且将搜索重点集中在性能高的部分。

(3)都属于随机搜索算法。

都是通过随机优化方法更新种群和搜索最优点。

PSO 中认知项和社会项前都加有随机数;而GA的遗传操作均属随机操作。

(4)都隐含并行性。

搜索过程是从问题解的一个集合开始的,而不是从单个个体开始,具有隐含并行搜索特性,从而减小了陷入局部极小的可能性。

并且由于这种并行性,易在并行计算机上实现,以提高算法性能和效率。

(5)根据个体的适配信息进行搜索,因此不受函数约束条件的限制,如连续性、可导性等。

(6)对高维复杂问题,往往会遇到早熟收敛和收敛性能差的缺点,都无法保证收敛到最优点。

PSO和GA不同点(1)PSO有记忆,好的解的知识所有粒子都保存,而GA没有记忆,以前的知识随着种群的改变被破坏。

(2)在GA算法中,染色体之间相互共享信息,所以整个种群的移动是比较均匀地向最优区域移动。

PSO中的粒子仅仅通过当前搜索到最优点进行共享信息,所以很大程度上这是一种单项信息共享机制,整个搜索更新过程是跟随当前最优解的过程。

在大多数情况下,所有粒子可能比遗传算法中的进化个体以更快速度收敛于最优解。

(3)GA的编码技术和遗传操作比较简单,而PSO相对于GA,不需要编码,没有交叉和变异操作,粒子只是通过内部速度进行更新,因此原理更简单、参数更少、实现更容易。

(4)在收敛性方面,GA己经有了较成熟的收敛性分析方法,并且可对收敛速度进行估计;而PSO这方面的研究还比较薄弱。

尽管已经有简化确定性版本的收敛性分析,但将确定性向随机性的转化尚需进一步研究。

粒子群算法的研究现状及其应用

粒子群算法的研究现状及其应用

智能控制技术课程论文中文题目: 粒子群算法的研究现状及其应用姓名学号:指导教师:年级与专业:所在学院:XXXX年XX月XX日1 研究的背景优化问题是一个古老的问题,可以将其定义为:在满足一定约束条件下,寻找一组参数值,使系统的某些性能指标达到最大值或最小值。

在我们的日常生活中,我们常常需要解决优化问题,在一定的范围内使我们追求的目标得到最大化。

为了解决我们遇到的最优化问题,科学家,们进行了不懈的努力,发展了诸如牛顿法、共轭梯度法等诸多优化算法,大大推动了优化问题的发展,但由于这些算法的低运行效率,使得在计算复杂度、收敛性等方面都无法满足实际的生产需要。

对此,受达尔文进化论的影响,一批新的智能优化算法相继被提出。

粒子群算法(PSO )就是其中的一项优化技术。

1995 年Eberhart 博士和Kennedy 博士[1]-[3]通过研究鸟群捕食的行为后,提出了粒子群算法。

设想有一群鸟在随机搜索食物,而在这个区域里只有一块食物,所有的鸟都不知道食物在哪里。

那么找到食物最简单有效的办法就是鸟群协同搜寻,鸟群中的每只鸟负责离其最近的周围区域。

粒子群算法是一种基于群体的优化工具,尤其适用于复杂和非线性问题。

系统初始化为一组随机解,通过迭代搜寻最优值,通过采用种群的方式组织搜索,同时搜索空间内的多个区域,所以特别适合大规模并行计算,具有较高的效率和简单、易操作的特性。

目前使用的粒子群算法的数学描述[3]为:设粒子的寻优空间是m 维的,粒子的数目为ps ,算法的最大寻优次数为Iter 。

第i 个粒子的飞行速度为T i i1i2im v [v v ]= ,,,v ,位置为T i i1i2im x [x x x ]= ,,,,粒子的个体极值T i i1i2im Pbest [,]P = ,P ,P ,全局极值为T i i1i2im Gbest [,]g = ,g ,g 。

粒子群算法的寻优过程主要由粒子的速度更新和位置更新两部分组成,其更新方式如下:i+11122v ()()i i i i i v c r Pbest x c r Gbest x =+−+−;i+1i+1i x x v =+,式中:12c c ,为学习因子,一般取2;12r r ,是均与分布着[0,1]上的随机数。

粒子群优化算法的研究及改进

粒子群优化算法的研究及改进
or
optimized function is differentiable,derivative
continuous.The PSO
is
simple in structure,fast in
convergence,few
in parameters and easy in programming.
So it has attracted researchers at home and abroad and applyed in many areas since it is
systematic
study
PSO
on
the aspects of
algorithm modification
and used
and its application.The main
content
is
arranged as
(1)Upon analysing the
capabilities systems is
1 3 benchmark functions.The results indicate that GPSO algorithm have improved
performance
(3)Based
on
of the
convergence
speed and the search accuracy. the
and the algorithm
to‘'premature
convergence”.Finally,the
PSO algorithm is not strong in of the

climbing ability and lack of

粒子群算法

粒子群算法

粒子群算法原理及简单案例[ python ]介绍粒子群算法(Particle swarm optimization,PSO)是模拟群体智能所建立起来的一种优化算法,主要用于解决最优化问题(optimization problems)。

1995年由 Eberhart和Kennedy 提出,是基于对鸟群觅食行为的研究和模拟而来的。

假设一群鸟在觅食,在觅食范围内,只在一个地方有食物,所有鸟儿都看不到食物(即不知道食物的具体位置。

当然不知道了,知道了就不用觅食了),但是能闻到食物的味道(即能知道食物距离自己是远是近。

鸟的嗅觉是很灵敏的)。

假设鸟与鸟之间能共享信息(即互相知道每个鸟离食物多远。

这个是人工假定,实际上鸟们肯定不会也不愿意),那么最好的策略就是结合自己离食物最近的位置和鸟群中其他鸟距离食物最近的位置这2个因素综合考虑找到最好的搜索位置。

粒子群算法与《遗传算法》等进化算法有很多相似之处。

也需要初始化种群,计算适应度值,通过进化进行迭代等。

但是与遗传算法不同,它没有交叉,变异等进化操作。

与遗传算法比较,PSO的优势在于很容易编码,需要调整的参数也很少。

一、基本概念与遗传算法类似,PSO也有几个核心概念。

粒子(particle):一只鸟。

类似于遗传算法中的个体。

1.种群(population):一群鸟。

类似于遗传算法中的种群。

2.位置(position):一个粒子(鸟)当前所在的位置。

3.经验(best):一个粒子(鸟)自身曾经离食物最近的位置。

4.速度(velocity ):一个粒子(鸟)飞行的速度。

5.适应度(fitness):一个粒子(鸟)距离食物的远近。

与遗传算法中的适应度类似。

二、粒子群算法的过程可以看出,粒子群算法的过程比遗传算法还要简单。

1)根据问题需要,随机生成粒子,粒子的数量可自行控制。

2)将粒子组成一个种群。

这前2个过程一般合并在一起。

3)计算粒子适应度值。

4)更新种群中每个粒子的位置和速度。

各种群体寻优算法的比较

各种群体寻优算法的比较

各种群体寻优算法的⽐较【蚁群优化算法、粒⼦群优化算法、细菌觅⾷算法、萤⽕⾍算法、⼈⼯鱼群算法】计算机技术不断发展,算法技术也在不断更新。

群体智能 (Swarm Intelligent,SI) 算法始于 20 世纪 90 年代初,主要是受⾃然界⽣物群体智能现象的启发,通过模仿社会性动物的⾏为,⽽提出的⼀种随机优化算法。

群体智能是基于种群⾏为对给定的⽬标进⾏寻优的启发式搜索算法,其的核⼼是由众多简单个体组成的群体能够通过相互之间的简单合作来实现某⼀较复杂的功能。

所以群体智能可以在没有集中控制并且缺少全局信息和模型的前提下,为寻找复杂的分布式问题的解决⽅案提供了基础。

作为计算智能的⼀个重要的学科分⽀,群体智能优化算法是⼀类通过模仿⽣物界的遗传进化机理和群体协作⾏为⽽提出的仿⽣类随机搜索算法。

该算法以其⾼效的寻优速度,⽆需考虑问题的过多初始信息等特点⽽受到⼈们的普遍关注。

群体智能优化算法是⼀类基于概率的随机搜索进化算法,各个算法之间存在结构、研究内容、计算⽅法等具有较⼤的相似性。

因此,群体智能优化算法可以建⽴⼀个基本的理论框架模式:Step1:设置参数,初始化种群;Step2:⽣成⼀组解,计算其适应值;Step3:由个体最有适应着,通过⽐较得到群体最优适应值;Step4:判断终⽌条件⽰否满⾜?如果满⾜,结束迭代;否则,转向Step2;各个群体智能算法之间最⼤不同在于算法更新规则上,有基于模拟群居⽣物运动步长更新的(如PSO,AFSA与SFLA),也有根据某种算法机理设置更新规则(如ACO)。

统⼀框架下的群体智能优化算法,可以根据优化对象的特性只能地选择适合的更新规则,进⾏运算得到理想的优化结果。

蚁群算法(Ant Colony, ACO):是模拟真实的蚁群秘觅⾷过程寻求最短路径的原理,由意⼤利学者Dorigo等在20世纪90年代⾸先提出。

最初的蚁群算法成为蚂蚁系统,对于旅⾏商问题(TSP)及⼆次分配问题(QAP)等取得了较好效果,经过改进后成为蚂蚁算法或蚁群算法。

鸟群算法和粒子群算法

鸟群算法和粒子群算法

鸟群算法和粒子群算法1.引言1.1 概述鸟群算法和粒子群算法是两种基于群体的智能优化算法,都受到了自然界中动物行为的启发。

鸟群算法模拟了鸟类在觅食、迁徙和群体行为中的协同行动,而粒子群算法则模拟了鸟类或昆虫等生物在群体中相互协作的行为。

鸟群算法中,鸟群被抽象为一组代表解空间中候选解的个体,这些个体通过觅食行为来寻找最优解。

每个鸟个体根据自身的经验和邻近鸟个体的信息进行位置的更新和调整,从而逐步优化解的质量。

鸟群算法具有全局搜索的能力,并且能够自适应地调整搜索策略。

粒子群算法则从粒子在解空间中的位置和速度变化角度出发,通过个体最优和群体最优两个方面来指导搜索过程。

每个粒子通过自身的经验以及邻近粒子的信息进行位置的调整,并逐渐趋向于全局最优解。

粒子群算法具有较快的收敛速度和较高的搜索精度。

这两种算法在解空间中的搜索能力和收敛性能方面有着相似之处,都可以用于求解优化问题。

不同的是,鸟群算法更侧重于模拟鸟类在现实生活中协同行动的策略,而粒子群算法则更注重于个体之间信息的传递和共享。

在应用场景上,鸟群算法和粒子群算法都可以应用于优化问题的求解,如函数优化、组合优化、机器学习等领域。

鸟群算法主要适用于复杂优化问题,特别是大规模问题,而粒子群算法更适用于连续型和离散型问题。

本文将对鸟群算法和粒子群算法的原理和应用场景进行详细介绍,并对其相似之处和差异之处进行对比分析。

最后,通过总结和展望,提出对这两种算法的进一步研究方向和应用前景的展望。

1.2 文章结构文章结构部分是对整篇文章进行一个简要的概括,提供读者一个清晰的导读,使其能够更好地理解文章的组织架构和内容安排。

在本文中,文章结构部分可以写成如下内容:文章结构:本文主要分为五个部分,即引言、鸟群算法、粒子群算法、对比分析和结论。

引言部分将对本文要讨论的主题进行概述,包括鸟群算法和粒子群算法的概念和应用。

在鸟群算法部分,将详细介绍鸟群算法的原理,包括鸟群算法的基本思想、运行机制以及常用的优化策略。

一种全局优化的两阶段算法

一种全局优化的两阶段算法

一种全局优化的两阶段算法张玉芬;王永军【摘要】为了提高算法的有效性,利用梯度算法和粒子群算法独立的运行机制,采用驱赶技术和重新初始化部分群体的技术,提出了一种基于梯度下降法和粒子群算法的两阶段优化算法,并对新算法进行了理论分析和数值仿真.数值结果显示新算法比单纯梯度算法有更好的全局优化能力,比单纯粒子群算法有更快的收敛速度和更高的精度.新算法求解质量更高,运行更稳定.%To enhance effectiveness of algorithm, on the basis of analyzing the independent operating mechanism of both gradient algorithm and particle swarm algorithm, a two-phase optimization algorithm based on gradient descent and particle swarm algorithm is presented; it adopts the driving technique and the re-initialization technique of part of population. Then, the theoretical analysis and numerical simulation about the new algorithm are made. The numerical simulation shows this new algorithm has better global optimization ability than the gradient algorithm, and it has faster convergences speed and lighter solution accuracy than particle swarm algorithm. This new algorithm produces a lighter quality solution and has more stable operation.【期刊名称】《河北大学学报(自然科学版)》【年(卷),期】2012(032)002【总页数】5页(P207-211)【关键词】全局优化;两阶段算法;梯度算法;粒子群算法【作者】张玉芬;王永军【作者单位】河北大学数学与计算机学院,河北保定071002;东方地球物理公司研究院数据处理中心,河北涿州 072751【正文语种】中文【中图分类】O241.3全局优化问题广泛应用于金融模型、网络交通、图像处理、集成电路设计、分子生物学、数据库、物流配送系统设计中.因为这些优化问题存在多个不同于全局最优解的局部最优解,所以传统的非线性规划中的局部优化方法不能有效地处理这类问题.而且,随着科学的发展,工程中遇到的优化问题的规模越来越大、复杂性越来越高,这使得全局优化问题的求解变得更加困难.全局优化问题的难以解决阻滞了许多学科的发展,因而全局优化方法的研究显得尤为重要.梯度类算法是一种确定性的局部优化方法,它能够快速高效地找到临近初始点的局部最优值.常见的算法有最速下降法、牛顿法、拟牛顿法、共轭梯度方法等.它们已经广泛地应用于许多领域[1-5].此类算法的主要缺点是对初始点的严重依赖性、目标函数和约束区域的拓扑结构的严格要求性.粒子群算法是一种群体智能优化方法[1],在粒子群算法中,群体中的一个粒子根据它本身找到的最优位置以及整个群体当前为止找到的最优位置,来不断地调整它本身的位置.算法的核心思想是用当前最好的已知的位置来引导群体朝搜索空间的最优位置移动.粒子群算法设计简单,参数少,容易实现,且表现出了较好的局部跳跃性,已经被应用到许多领域.但算法有时搜索到的只是局部解,找到高精度的解需要较长的运行时间,解决大规模优化问题至今还没有涉及.文献[2]提出了一种把梯度信息混合到粒子的速度更新公式中加快算法收敛的方法.这种方法没有使用现存的梯度算法的有效性和群体搜索中找到的最优信息.过于强调启发,而改变了传统粒子群算法的核心思想.文献[6]提出了一种基于梯度方法和动态隧道法的混合技术(用GRDT表示)来解决全局优化问题.在GRDT方法中,梯度用来加快局部搜索,动态方程用来寻找好的初始点.但是,该方法需要多次积分动态方程,对高维函数耗时较多,填充函数法和隧道法中的参数较难调节. 1.1 算法原理不同于一般意义下的进化算法,即局部搜索限制在进化算法的框架内,本文设计了一种新的混和算法.在新算法中,粒子群按照其独有的进化机制演化,而梯度算法使用目标函数的梯度信息进行独立的搜索.粒子群算法起着全局搜索的作用,而梯度搜索起着局部探测的作用.从而把2种算法混合为一个两阶段方法,发挥出它们各自的优点以解决复杂函数的优化问题是本文的核心思想所在.具体而言,第1步,从可行域中随机产生的一点出发,使用梯度算法得到目标函数的一个局部最优点.其次,以得到的最优点为均值,使用高斯分布函数初始化粒子群.然后,在最大的迭代次数内,运用粒子群算法找到一个更好的点.以找到的点作为初始点,回到第1步,重新开始梯度搜索.另外,为了利用算法已经得到的最优值信息(所有已经找到的局部最优点)防止群体早熟现象,把一种驱赶群体技巧[7]以及部分初始化群体方法加入到新算法中.驱赶技术利用当前点与已经找到的局部最优点之间的距离,建立起一种屏障,使得新产生的点不要落到已经找到的局部最优点太近的范围内,这可以使粒子向着更有希望的区域飞行,同时避免重复搜索.文献[7]已经证明了此方法可以有效地加快群智能算法的收敛.部分初始化群体方法是在群体搜索不能取得全局进展时,使用均匀分布函数产生的部分群体代替当前群体中同等规模的较差个体的一种做法.1.2 算法步骤假设群体规模是NP,n是问题的规模,M是一个随机生成的数值,M∈{1,2,…,NP}.本文使用的驱赶技术见算法1,更多的信息可以参考文献[5].本文使用的部分初始化群体技术执行如下:根据当前群体的适应值进行排序,在可行域中按均匀分布随机产生M个样本点,执行驱赶技术,然后代替当前群体中M个较差的个体,其余NP-M个个体保留在群体中,进而形成同等规模的新群体.新群体继续执行粒子群算法搜索.新算法记做GRPSO(gradient based particle swarm optimization method),见算法2.算法1 驱赶技术[5]步骤0.输入算法找到的极小点集S*={X*j(j=1,2,…,m)},这里的m 是找到的极小点的个数.给定小生境的半径rij与驱赶因子mij.步骤1.对群体中的每一个粒子Xi,i=1,2,…,NP.步骤1a.计算距离d ij=|X i-X*j|j=1,2,m.步骤1b.对集合S*中的每一个元素X*j,j=1,2,…,m.如果d ij<rij,那么令Zij=(X i-X*j)/d ij.然后置X i=Xi+Pij Z ij.步骤2.输出群体Xi,i=1,2,…,NP.算法2 提出的新算法(GRPSO)步骤0.随机生成可行域中的初始点X0,并置局部搜索计数器k=0.给定粒子群内部的最大迭代次数Smax和计数器Npso=1、调用粒子群算法的最大次数SSmax.设最优点集合S*=Φ.步骤1.(局部搜索)从Xk出发,应用梯度下降法找到可行域中的1个极小点X*k,同时保留到集合S*中.步骤2.(使用粒子群算法的全局搜索)步骤2a.根据高斯分布,以X*k为均值,在可行域中初始化群体,并找出最好个体gbest.若f(X*k)<f(gbest),令gbest=X*k,k=1转步骤1.否则,令gbest=X*k,计数器SS=1,转入步骤2b.步骤2b.当最大迭代次数Smax没有达到时1)更新pbest,如果当前个体适应值好于f(pbest),i=1,2,…,NP.2)更新gbest,如果当前群体中的最优个体适应值好于f(gbest).3)如果f(gbest)<f(X*k),令X*k=gbest,结束循环.4)根据速度更新公式(1)和位置更新公式(2)更新群体的速度和位置.5)把当前群体和极小点集S*作为输入集,执行算法1的驱赶技术(Algorithm 1).然后,令Npso=Npso+1.步骤2c.如果gbest=X*k,SS=SS+1.如果SS>SSmax,停止计算并输出gbest=X*k.否则,重新初始化M∈{1,2,…,NP}个粒子,并执行算法1的驱赶技术,保证此M个粒子远离找到的局部最优点.令Npso=+1,转入步骤2b.否则,令X*k+1=gbest,k=k+1,转入步骤1.2.1 实验结果用文献[3]中已经被GRDT测试过的10个函数来检验新算法的优化性能.首先,把函数值的计算次数设定为2 100,比较最终解的质量,数值结果见表1.用新算法GRPSO对10个标准测试函数进行优化,把运算的结果与其他的算法,如GRDT (梯度算法和动态隧道法的混合方法[3])、HGPSO(混合粒子群算法[6])和专门设计处理高维函数的GRADSA(混合梯度和模拟退火技术的算法[4])做比较.由于解的质量、收敛速度(计算机的CPU时间或目标函数值的计算次数)、算法的寻优成功率是衡量算法优劣的主要标准,对10个复杂函数[3]的20次独立运行后这几个指标的平均结果总结如表1.然后,在给定的最大函数值计算次数下,比较算法找到给定精度的解的成功率,数值结果见表2和3.2.2 结果分析从表1可以看出,GRPSO可以找到所有测试函数的最优值,其结果接近理论上的分析值.与GRDT和其他文献报道的结果相比,新算法找到的结果更好一些,比如函数H3和SH是2个典型的例子.从表2和3可以看到,新算法HGPSO运行效果更好,尽管它们都是基于梯度搜索的混PSO算法.同时,数值结果意味着在同样给定的计算时间内,新算法可以得到比GRPSO更高精度的解.说明两阶段的独立搜索更有助于各个算法发挥其基本功能.从表2可以看出,根据函数值的计算次数,新算法优化性能高于GRDT和HGPSO方法,尤其对于GP和H3函数的优化效果更明显.与其他典型方法如PRS (纯随机搜索)、MS(多起点方法)、SA1(基于微分方程的模拟退火方法)、SA2(基本模拟退火方法)、TS(禁忌搜索)、TA(树退火)和TT(信赖方法TRUST)相比,新算法的计算量大大降低.总之,梯度算法帮助新算法加快局部收敛,并找到高精度的解.加入了驱赶技术和部分初始化群体的粒子群算法增加了群体多样性,防止了群体早熟,进而使新算法能有效地跳出局部最优.所有这些显示新算法对低维的复杂函数优化效果好.提出了一种基于梯度算法和粒子群算法的两阶段混和算法.从有效的局部搜索(使用梯度算法)开始,然后借助进化算法(采用粒子群算法)的全局跳跃性质探索更有希望区域,为局部搜索找到更好的出发点.寻找高精度的解由局部搜索完成,因而省却了演化算法的进化时间,粒子群算法的全局搜索信息得以利用.不同于一般框架下的演化算法,该算法有效地利用了梯度算法和粒子群算法独立的运行机制.另外,新算法中采用了驱赶技术和重新初始化部分群体的技术.数值结果显示新算法比单纯梯度算法有更好的全局优化能力,比单纯粒子群算法有更快的收敛速度、解的精度.【相关文献】[1]KENNEDY J,EBERHART R C.Particle swarm optimization[Z].Proceedings of IEEE International Conference on Neural Networks,Perth Australia,1995.[2]ROY C P,SINGH Y P,CHANSARKAR R A.Hybridization of gradient descent algorithms with dynamic tunneling methods for global optimization[J].IEEE T Syst Man Cy,2000,30(3):384-390.[3]NOEL M M,JANNETT T C.Simulation of a new hybrid particle swarm optimization algorithm[J].System Symposium,2004,32(4):150-153.[4]SUGANTHAN P N.Particle swarm optimiser with neighbourhood operator[Z].Proceedings of the IEEE Congress on Evolutionary Computation,Piscataway,NJ,1999.[5]PARSOPOULOS K E,VRAHATIS M N.On the computation of all global optimizers through particles warm optimization[J].IEEE Trans on Evolutionary Computation,2004,8(3):211-224.[6]刘星宝,蔡自兴,王勇.用于全局优化问题的混合免疫进化算法[J].西安电子科技大学学报,2010,37(5):971-980.LIU Xingbao,CAI Zixing,WANG Yong.Hybrid immune evolutionary algorithm for global optimization problems[J].Journal of Xidian University,2010,37(5):971-980. [7]路克中,王汝传,章家顺.最优化问题全局寻优的PSO-BFGS混合算法[J].计算机应用研究,2007,24(5):17-19.LU Kezhong,WANG Ruchuan,ZHANG Jiashun.PSO-BFGS algorithm of global optimum for optimization problems[J].Application Research of Computers,2007,24(5):17-19.。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学习因子 , r1 , r2 为两个在 [ 0, 1 ]范围内变化的随机数 。
此外 ,微粒的速度 V i被一个最大速度 Vm ax 所限制 。如
果当然对微粒的加速导致它在某维的速度 V id 超过该维
的最大速度 Vm ax, d ,则该维的速度被限制为该维最大速度
。 Vm ax, d
式 (221)的第一部分为微粒先前的速度 ;第二部分为

图 1 PSO 优化搜索示意图
4 蚁群算法流程
标准 PSO 算法流程如下 :
随机初始化粒子群体的位置和速度 。通常是在允许 的范围内随机产生的 ,每个粒子的 pbest坐标设置为其当前 位置 ,且计算出其相应的个体极值 (即个体的适应度值 ) , 且全局极值 (即全局的适应度值 )就是个体极值中最好 的 ,记录该最好值的粒子序号 ,并将 gbest设置为该最好粒 子的当然位置 。
= 1, 2, …, M ,相应的飞行速度
矢量表示为

vi
=
( vi1 , vi2 …, viD ) , i
= 1, 2, …, M 。开始执
行 PSO 算法时 ,首先随机初始化 M 个粒子的位置和速
度 ,然后通过迭代寻找最优解 ,在每一次迭代中 ,粒子通
过跟踪两个极值来更新自己的速度和位置 : 一个极值是
参考文献 : [ 1 ] 曾建潮 ,介婧 ,崔志华. 微粒群算法 [M ]. 科学出版社 , 2004.
4: 63265. [ 2 ] 吴延科 ,徐晨 ,李国. 基于粒子群统计规律的 PSO 算法 [ J ].
郑州大学学报 , 2006, (4) : 45247. [ 3 ] 张彤. 粒子群优化算法的研究和改进 [ D ]. 南京理工大学 ,
2006 , (04).
[责任编辑 :须劲松 ]
·45·
第 7卷第 1期 2008年 2月
无锡职业技术学院学报
Journal of W uxi Institute of Technology
Vol. 7 No. 1 Feb. 2008
穷举法与粒子群算法的比较
王得燕
(无锡职业技术学院 ,江苏 无锡 214073)
摘 要 :穷举法是一种传统的搜索方法 ,主要思想是列出所有可行解 ,然后找到满足条件的答案 。粒子群优化算法 是一种新型的群体智能算法 。与传统的算法相比较 ,具有算法简捷 ,搜索速度快 ,易于实现等优点 ,该算法利用个体在 解空间的随机速度来调整位置 ,具有很强的随机性 。
DO Fo r每个粒子 计算其适应度 ; If(适应度优于粒子历史最佳值 )
用 Xi更新历史最佳个体 Pi;
End 选取当前粒子群中最佳粒子 ; If(当然最佳粒子优于群历史最佳粒子 )
用当前群最佳粒子更新 Pg; Fo r每个粒子
按式 (121)更新粒子速度 ; 按式 (122)更新粒子位置 ;
End W hile最大迭代数未达到或最小误差未达到 。
计算每个粒子的适应值 。 对每个粒子 ,将其适应值与个体极值进行比较 ,如果 较优 ,则更新当前的个体极值 。 对每个粒子 ,将其适应值与全局极值进行比较 ,如果 较优 ,则更新当前的全局极值 。 根据式 (121) 、(122) ,更新每个粒子的位置和飞行速 度。 如未达到预先设定的停止准则 (通常设置为最大迭 代次数 ) ,则返回步骤 2,若达到则停止计算 。 PSO 算法可用伪代码表示如下 : 初始化粒子群 :
粒子本身迄今搜索到的最优解 ,称为个体极值 ,表示为

pi
= ( pi1 , pi2 , …, piD ) ,也称为 pbest ;另一个极值是整个粒子
群到目前为止找到的最优解 ,称为全局极值 ,表示为

pg
=
( pg1 , pg2 ,
…,
pgD ) ,也称为
gbest 。则将每个粒子

xi
代入目标
3 蚁群算法
PSO算法具有鲜明的生物社会背景 :认知行为和社
收稿日期 : 2007211210 作者简介 :王得燕 (1977 - ) ,女 ,甘肃兰州人 ,无锡职业技术学院讲师 ,江南大学高教硕士在读 。
·44·
王得燕 :穷举法与粒子群算法的比较
第 1期
会行为 ,即在寻求一致的认识过程中 ,个体往往记住它们
2 穷举法的特点
要解决的问题只有有限种可能 ,在没有更好算法时 总可以用穷举搜索的办法解决 ,即逐个的检查所有可能 的情况 。可以想象 ,情况较多时这种方法极为费时 。实 际上并不需要机械的检查每一种情况 ,常常是可以提前 判断出某些情况不可能取到最优解 ,从而可以提前舍弃 这些情况 。这样也是隐含的检查了所有可能的情况 ,既 减少了搜索量 ,又保证了不漏掉最优解 。
“认知 ”部分 ,表示微粒本身的思考 ; 第三部分为“社会 ”
部分 ,表示微粒间的信息共享与相互合作 。
PSO算法的这些心理学假设是无争议的 。在寻求一
致的认知过程中 ,个体往往记住它们的信念 ,同时考虑同 事们的信念 。当个体察觉同事的信念较好时 ,它将进行
适应性调整 。
粒群算法在解空间搜索的示意图如图 1所示 。
穷举法的特点是算法简单 ,但是运算量大是他的缺 点 。当问题的规模变大 ,循环的阶数愈大 ,执行的速度愈 慢 。对于许多问题 ,解决问题的算法往往不只一种 ,评价 一个算法的好坏 ,许多时候效率是很重要的 ,但过分追求 效率就会使得程序难以读懂 ,读不懂的程序就不能维护 , 使用这种程序就没有信心保证 ,所以 ,软件工程以程序的 易读性作为重要的指标 ,一般不过分追求效率 。
关键词 :穷举法 ;粒子 ;群体 ;搜索 中图分类号 : TP301. 6 文献标识码 : A 文章编号 : 167127880 (2008) 0120044202
D iscusses the Exhaustion M ethod and PSO A lgor ithm
W ang Deyan Abstract: Exhaustive method is a traditional search methods, the m ain idea is to set out all possible solu2 tions, and then find the answer to meet the conditions. PSO op tim ized algorithm is a new type of group intelli2 gence algorithm. Compared w ith traditional algorithm , the PSO algorithm is a simp le, quick search speed and easy to realize. The PSO algorithm uses the solution space of individual random speed to adjust positions, w ith strong randomness. Key W ords: exhaustion method; particles; group s; search
函数计算其适应值

f ( xi )
,并按如下公式更新粒子的状态 :
vid = w vid + c1 r1 ( pid - xid ) + c2 r2 ( pgd - xid ) ( 121)
xid = xid + vid
( 122)
其中 : i = 1, 2, …, M ,ω为惯性权重 , c1 和 c2 为非负的
5 蚁群算法的优点
与传统的优化方法相比 , PSO 具有进化计算用于优 化的很多优点 。首先 ,在优化目标函数的形态上没有特 殊要求 ,甚至可以将传统优化方法无法表达的问题描述 为目标函数 ,使算法应用更具有广泛性 。其次 ,由于 PSO 算法的随机搜索本质 ,使得它更不容易落入局部最优 ,同 时 ,其基于适合度概率进化的特征又保证了算法的快速 性 ,因此 , PSO 算法对于复杂的 ,特别是多峰值的优化计 算问题具有很强的优越性 。
的信念 ,同时考虑其它同伴的信念 ,当个体察觉同伴的信
念较好时 ,将进行适应性调整 。 PSO 算法根据对环境的
适应度将群体中的个体移动到好的区域 ,将每个个体看
作 D维搜索空间中的一个没有体积的微粒 (点 ) ,在搜索
空间中以一定的速度飞行 ,这个速度根据它本身的飞行
经验以及同伴的飞行经验进行动态调整 。
1 穷举法
穷举法也称为枚举法 ,可视为最简单的搜索 :即是在 一个可能存在可行状态 (可行解 )的状态全集中依次遍历 所有的元素 ,并判断是否为可行状态 。他的思路是 ,列举 出所有可能的情况 ,逐个判断有哪些是符合问题所要求 的条件 ,从而得到问题的解答 。
穷举算法模式 : (1)问题解的可能搜索的范围 :用循环或循环嵌套结 构实现 ; (2)写出符合问题解的条件 ; (3)能使程序优化的语句 ,以便缩小搜索范围 ,减少 程序运行时间 。 使用穷举法时 ,要恰当地设计变量 ,并且决定用哪些 变量作为搜索的主线 ,以便穷举出所有可能情况 。穷举 一般使用循环结构 ,要注意循环的起点和终点 ,对可能的 情况不能遗漏 ,一般也不应重复 。编制程序时 ,还应当根 据题目要求准确地写出是否符合条件的判断语句 。
在 PSO算法中 ,用粒子的位置表示待优化问题的解 ,
每个粒子性能的优劣程度取决于待优化问题目标函数确
定的适应值 ,每个粒子由一个速度矢量决定其飞行方向
和速率大小 。设在一个 D维的目标搜索空间中 ,有 M 个
粒子组成一个群体 ,其中 ,在( xi1 , xi2 , …, xiD ) , i
相关文档
最新文档