粒子群优化算法的改进
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
常见粒子群优化算法的改进
• 2。压缩因子(constriction factor) 法 • Clerc得出结论: 压缩因子有助于确保PSO 算 法收敛。这种方法的速度更新方程为
k 1 k k k k k k vij vij [wvij c1r1 j ( pij xij ) c2 r2 j ( pgj xij )]
k ij k gj N k 1 k ij
常见粒子群优化算法的改进
• 速度上限选择 • 粒子的最大速度Vmax 控制粒子绝对速度上限,以免 粒子的位置坐标越出搜索空间。标准PSO 算法中, Vmax 取固定值,粒子搜索的区域大小在整个过程中 不变,这不符合普遍的搜索规则———在大范围搜索 之后,应有细致的局部区域搜索过程。因此,较好的 做法应该是,在PSO 算法的开始Vmax 取较大值,以 利于算法的大范围搜索; 在算法的后期Vmax 取较小 值,以利于算法的局部搜索。例如,给Vmax 引入一 个权重λ=(runmax-run)/runmax,λ 从1 到0 线性递 减。应该说明,通常可以设置Vmax 为整个搜索空间 大小, 例如位置矢量分量-5≤xi≤5, 则可取Vmax=10。 有些研究者认为,已经在速度更新公式中使用了收缩 因子或惯性权重, 最大速度的限制是多余的,至少没 有它也能保证算法收敛。但是, 在许多情况下, Vmax 对最优值的搜索仍有改善作用。
常见粒子群优化算法的改进
• 加速系数的修正 • 通常可选择加速系数C1=C2=1.49618,一 般取C1=C2∈[0,4]。Ratnaweera 等 run run c ( c c ) c c ( c c ) c 提出自适应公式: run max run max • 其中,C1i,C1f,C2i,C2f为常数,run 为 当前迭代次数,runmax 为算法迭代总数。 这样的修正可以在优化早期促进对整个搜 索空间的全局搜索,而在搜索末尾鼓励粒 子收敛到全局最优。
常见粒子群优化算法的改进
• 1。模糊惯性权重(fuzzy inertia weight ) 法 • Shi 等提出用模糊控制器来动态自适应地改变惯性权重的 技术 。控制器的输入是当前惯性权重w和当前最好性能评 价值(CBPE) , CBPE 衡量PSO目前找到的最好候选解的 性能; 输出是w 的改变量。由于不同的问题有不同范围的 性能评价值, 因此需要对CBPE 进行如下的规范化NCBPE =(CBPE – CBPEmin)/(CBPEmax – CBPEmin) NCBPE 是规范化后的评价值, CBPEmin和CBPEmax依问 题而定, 且需事先得知或者可估计。模糊w 法与线性下降 w 方法的比较结果显示, 后者不知道应该降低w 的合适时 机, 而自适应模糊控制器能预测使用什么样的w 更合适, 可 以动态地平衡全局和局部搜索能力。但是由于需知道 CBPEmin和CBPEmax等, 使得模糊权重法的实现较为困 难, 因而无法广泛使用。
常见粒子群优化算法的改进
• 通过经验发现惯性权重为0.7298、加速系数 为1.49618 时,总能导致收敛的轨迹。 • 朱小六等人提出的动态自适应惯性权重改变 k k 1 / pij 方法:先引入两个变量粒子进化度 e pij 粒子聚合度 a p * p / p 然后,定义权 重变换公式:w=w0-0.5*e+0.1*a其中,w0 为w 的初始值,一般取0.9;由e、a 的定义 可知0<e≤1、0<a≤1,所以 • w0-0.5<w<w0+0.1。试验证明该方法提高了 粒子群收敛的精度,加强了全局搜索的能力。
1 1f 1i 1i
2
2f
2i
2i
常见粒子群优化算法的改进
• 繁殖(Breeding) 法 • L.vbjerg 等人将遗传算法中的复制和重组这些称为繁殖的操作加入 到全局版PSO 中, 该方法是对按概率Pi 选出的粒子进行如下式 • child1 ( Xi) = p parent1 ( Xi) +(1.0 - pi) parent2 ( Xi) • child2 ( Xi) = pi parent2 ( Xi) +(1.0 - pi) parent1 ( Xi) • child1 ( V i) =parent1 ( V i) + parent2 ( V i)| parent1 ( V i) + parent2 ( V i) |· | parent1 ( V i) | • child2 ( V i) =parent1 ( V i) + parent2 ( V i)| parent1 ( V i) + run c c | )· c parent2 ( (c V i) | parent2 ( V i) | run max • 的代数杂交操作, 产生子代的粒子取代父代。选择父代没有基于适 应值, 防止了基于适应值的选择对那些多局部极值的函数带来潜在 问题。pi 是(0 , 1) 间的随机数(经验值约为0.2) 。理论上讲繁殖法 可以更好地搜索粒子间的空间, 2 个在不同次优峰处的粒子经繁殖 后, 可以从局部最优逃离。结果显示, 对单峰函数, 繁殖法虽略加快 了收敛速度, 却不如基本PSO 和GA 找到的解好, 而对于多局部极 值的函数, 繁殖PSO 不仅加快了收敛速度, 而且找到了同样好或更 好的解。
常见粒子群优化算法的改进
• 4。线性减少权系数法 • Shi Y提出了带有惯性权重的改进PSO 算法,进化方程 k 1 k k k k k 为: vij wvij c1r1 j ( pij xij ) c2 r2 j ( pgj xij )
• 式中w > 0 ,称为惯性因子.它随着迭代次数的增加而 线性递减,使算法在初期具有较强的全局寻优能力,而 晚期具有较强的局部收敛能力,一定程度上提高了算 法的性能. 如w ( t) = ( w1 - w2) ×(itermax –iter)/ itermax+ w2 式中: w1 和w2 是惯性权重的初始值和 最终值,itermax和iter 分别为最大迭代次数和当前迭 代次数.
1 2
• 其中, 为压缩因子, c1 c2 , 且φ > 4 。约束因子法控制系统行为最终收 敛, 且可以有效搜索不同的区域, 该法能得到 高质量的解。
2 / 2 ( 4 )
2
Fra Baidu bibliotek
常见粒子群优化算法的改进
• 3。基于遗传思想改进的PSO 算法——选择( selection) 法 • 主要应用PSO 的基本机制以及演化计算所采用的自然选 择机制。由于PSO 搜索过程依赖pbest 和gbest , 所以搜 索区域有可能被他们限制住了。选择PSO 算法. 在一般粒 子群算法中,每个粒子的最优位置的确定相当于隐含的选 择机制. 为此,Angeline 将选择算子引入进了PSO 算法中 , 选择每次迭代后较好的粒子复制到下一代,以保证每次迭 代的粒子群都具有较好的性能,实验表明这种算法对某些 测试函数具有优越性.自然选择机制的引入将会逐渐减弱 其影响。测试结果显示, 虽然在大多数测试函数中选择法 取得了比基本PSO 更好的效果, 却在Griewank 函数上得 到了较差的结果。因此该法提高了PSO 的局部搜索能力, 但同时削弱了全局搜索能力。