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

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

2 穷举法的特点
要解决的问题只有有限种可能 ,在没有更好算法时 总可以用穷举搜索的办法解决 ,即逐个的检查所有可能 的情况 。可以想象 ,情况较多时这种方法极为费时 。实 际上并不需要机械的检查每一种情况 ,常常是可以提前 判断出某些情况不可能取到最优解 ,从而可以提前舍弃 这些情况 。这样也是隐含的检查了所有可能的情况 ,既 减少了搜索量 ,又保证了不漏掉最优解 。
穷举法的特点是算法简单 ,但是运算量大是他的缺 点 。当问题的规模变大 ,循环的阶数愈大 ,执行的速度愈 慢 。对于许多问题 ,解决问题的算法往往不只一种 ,评价 一个算法的好坏 ,许多时候效率是很重要的 ,但过分追求 效率就会使得程序难以读懂 ,读不懂的程序就不能维护 , 使用这种程序就没有信心保证 ,所以 ,软件工程以程序的 易读性作为重要的指标 ,一般不过分追求效率 。
的信念 ,同时考虑其它同伴的信念 ,当个体察觉同伴的信
念较好时 Hale Waihona Puke Baidu将进行适应性调整 。 PSO 算法根据对环境的
适应度将群体中的个体移动到好的区域 ,将每个个体看
作 D维搜索空间中的一个没有体积的微粒 (点 ) ,在搜索
空间中以一定的速度飞行 ,这个速度根据它本身的飞行
经验以及同伴的飞行经验进行动态调整 。
= 1, 2, …, M ,相应的飞行速度
矢量表示为

vi
=
( vi1 , vi2 …, viD ) , i
= 1, 2, …, M 。开始执
行 PSO 算法时 ,首先随机初始化 M 个粒子的位置和速
度 ,然后通过迭代寻找最优解 ,在每一次迭代中 ,粒子通
过跟踪两个极值来更新自己的速度和位置 : 一个极值是
5 蚁群算法的优点
与传统的优化方法相比 , PSO 具有进化计算用于优 化的很多优点 。首先 ,在优化目标函数的形态上没有特 殊要求 ,甚至可以将传统优化方法无法表达的问题描述 为目标函数 ,使算法应用更具有广泛性 。其次 ,由于 PSO 算法的随机搜索本质 ,使得它更不容易落入局部最优 ,同 时 ,其基于适合度概率进化的特征又保证了算法的快速 性 ,因此 , PSO 算法对于复杂的 ,特别是多峰值的优化计 算问题具有很强的优越性 。
关键词 :穷举法 ;粒子 ;群体 ;搜索 中图分类号 : 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 为非负的
1 穷举法
穷举法也称为枚举法 ,可视为最简单的搜索 :即是在 一个可能存在可行状态 (可行解 )的状态全集中依次遍历 所有的元素 ,并判断是否为可行状态 。他的思路是 ,列举 出所有可能的情况 ,逐个判断有哪些是符合问题所要求 的条件 ,从而得到问题的解答 。
穷举算法模式 : (1)问题解的可能搜索的范围 :用循环或循环嵌套结 构实现 ; (2)写出符合问题解的条件 ; (3)能使程序优化的语句 ,以便缩小搜索范围 ,减少 程序运行时间 。 使用穷举法时 ,要恰当地设计变量 ,并且决定用哪些 变量作为搜索的主线 ,以便穷举出所有可能情况 。穷举 一般使用循环结构 ,要注意循环的起点和终点 ,对可能的 情况不能遗漏 ,一般也不应重复 。编制程序时 ,还应当根 据题目要求准确地写出是否符合条件的判断语句 。
“认知 ”部分 ,表示微粒本身的思考 ; 第三部分为“社会 ”
部分 ,表示微粒间的信息共享与相互合作 。
PSO算法的这些心理学假设是无争议的 。在寻求一
致的认知过程中 ,个体往往记住它们的信念 ,同时考虑同 事们的信念 。当个体察觉同事的信念较好时 ,它将进行
适应性调整 。
粒群算法在解空间搜索的示意图如图 1所示 。
参考文献 : [ 1 ] 曾建潮 ,介婧 ,崔志华. 微粒群算法 [M ]. 科学出版社 , 2004.
4: 63265. [ 2 ] 吴延科 ,徐晨 ,李国. 基于粒子群统计规律的 PSO 算法 [ J ].
郑州大学学报 , 2006, (4) : 45247. [ 3 ] 张彤. 粒子群优化算法的研究和改进 [ D ]. 南京理工大学 ,
学习因子 , r1 , r2 为两个在 [ 0, 1 ]范围内变化的随机数 。
此外 ,微粒的速度 V i被一个最大速度 Vm ax 所限制 。如
果当然对微粒的加速导致它在某维的速度 V id 超过该维
的最大速度 Vm ax, d ,则该维的速度被限制为该维最大速度
。 Vm ax, d
式 (221)的第一部分为微粒先前的速度 ;第二部分为
3 蚁群算法
PSO算法具有鲜明的生物社会背景 :认知行为和社
收稿日期 : 2007211210 作者简介 :王得燕 (1977 - ) ,女 ,甘肃兰州人 ,无锡职业技术学院讲师 ,江南大学高教硕士在读 。
·44·
王得燕 :穷举法与粒子群算法的比较
第 1期
会行为 ,即在寻求一致的认识过程中 ,个体往往记住它们
在 PSO算法中 ,用粒子的位置表示待优化问题的解 ,
每个粒子性能的优劣程度取决于待优化问题目标函数确
定的适应值 ,每个粒子由一个速度矢量决定其飞行方向
和速率大小 。设在一个 D维的目标搜索空间中 ,有 M 个
粒子组成一个群体 ,其中 ,在第 i个粒子的位置矢量表示


xi
=
( xi1 , xi2 , …, xiD ) , i
计算每个粒子的适应值 。 对每个粒子 ,将其适应值与个体极值进行比较 ,如果 较优 ,则更新当前的个体极值 。 对每个粒子 ,将其适应值与全局极值进行比较 ,如果 较优 ,则更新当前的全局极值 。 根据式 (121) 、(122) ,更新每个粒子的位置和飞行速 度。 如未达到预先设定的停止准则 (通常设置为最大迭 代次数 ) ,则返回步骤 2,若达到则停止计算 。 PSO 算法可用伪代码表示如下 : 初始化粒子群 :

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

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

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

xi
代入目标
DO Fo r每个粒子 计算其适应度 ; If(适应度优于粒子历史最佳值 )
用 Xi更新历史最佳个体 Pi;
End 选取当前粒子群中最佳粒子 ; If(当然最佳粒子优于群历史最佳粒子 )
用当前群最佳粒子更新 Pg; Fo r每个粒子
按式 (121)更新粒子速度 ; 按式 (122)更新粒子位置 ;
End W hile最大迭代数未达到或最小误差未达到 。
第 7卷第 1期 2008年 2月
无锡职业技术学院学报
Journal of W uxi Institute of Technology
Vol. 7 No. 1 Feb. 2008
穷举法与粒子群算法的比较
王得燕
(无锡职业技术学院 ,江苏 无锡 214073)
摘 要 :穷举法是一种传统的搜索方法 ,主要思想是列出所有可行解 ,然后找到满足条件的答案 。粒子群优化算法 是一种新型的群体智能算法 。与传统的算法相比较 ,具有算法简捷 ,搜索速度快 ,易于实现等优点 ,该算法利用个体在 解空间的随机速度来调整位置 ,具有很强的随机性 。
2006 , (04).
[责任编辑 :须劲松 ]
·45·
相关文档
最新文档