基于重心法的粒子群优化算法

时间:2022-10-10 12:51:12

基于重心法的粒子群优化算法

【摘要】针对函数优化问题,提出了一种基于重心法的粒子优化算法。该算法利用混沌序列产生粒子的位置和速度,并通过重心法和分类方式更新粒子的速度。最后将算法应用到函数优化问题中,并与其它改进的粒子群算法进行比较。数值结果表明,提高了算法局域搜索能力,全局最优解的精度。

【关键词】粒子群优化算法;混沌;重心法

1.引言

1995年,粒子群优化算法被美国的Kennedy和Eberhart首次提出,并在各个领域得到广泛的应用。由于混沌具有遍历性等特点,许多学者提出了嵌入混沌序列的混合粒子群优化算法[1]。本文将使混沌序列遍历性得以充分利用。同时引入重心法和由粒子的目标函数适应值分类进行速度更新。提出了一种基于重心法的粒子群优化算法(简称CPSOC)。

2.基于重心法的粒子群优化算法

本文所要解决的全局连续优化问题是:[2]

(1)

其中f(x)是一个实函数,在有界空间中x是一个实数向量。

2.1 充分运用混沌序列遍历性质

本文采用的混沌序列迭代公式是Logistic方程:=4,∈(0,1)随机数。

(2)

2.2 重心法

重心法定义[3]:设有n个元素,用表示元素i和j的距离,用表示初始类。规定类与类之间为距离为两类最近的元素的距离,用表示与的距离,则。每一类用重心代表,类与类间的距离就是重心间的距离。。其中,分别表示与的重心。

2.3 分类过程[4]

第一步:当局域搜索更新的粒子的目标函数适应值不如先前粒子最好个体的目标函数适应值时,pbesti:个体极值点。gbesti:全局极值点。

(5)

第二步:当局域搜索更新的粒子的目标函数适应值好于先前粒子最好个体的目标函数适应值,但是不如整个粒子群迄今为止搜索到的最优解的目标函数值时。

(6)

其中:第k代这个类中最优解的位置。

第三步:当局域搜索更新的粒子的目标函数适应值好于整个粒子群迄今为止搜索到的最优解的目标函数适应值时,:第k代这个类中最优解的位置。

(7)

3.CPSOC算法流程

Step1 初始化N粒子的位置(,i=1,2…N)和速度(,i=1,2…N)

Step2 利用公式(1)计算每个粒子的目标函数值f()。

Step3 初始化粒子的各自最好位置,=和f()=f(),寻找

=min{f(),…f(),…f()} (8)

Step4 优化过程。

Step5 继续计算初始化的混沌序列,执行重心法和分类更新速度过程。

Step6 根据公式来更新粒子位置,更新个体最好目标函数值,k=k+1。

Step7 停止迭代的条件被满足。

4.算法仿真实验与比较研究

文中将基于重心法的粒子群优化算法与标准粒子群优化算法(SPSO)、混沌粒子群优化算法(CPSO)、惯性权重线性递减粒子群优化算法(LDIWPSO)进行比较[5]。表1中粗体数值表示同类别数据中最好者。

5.实验结果分析

在表中CPSOC算法最优解的精度已达到10-1,说明算法的搜索能力强。CPSOC算法最优解的标准差已达到10-2,说明算法波动性小、稳定性强。在最优解的平均值比较中,在重心法的作用下粒子会聚成为类,根据函数值采用不同速度更新公式,以此获得全局最优解,这说明CPSOC算法最优解始终保持最好是充分利用混沌序列的均匀性和遍历性,为粒子发现全局最优解提供重要的信息。

参考文献

[1]高鹰,谢胜利.混沌粒子群优化算法[J].计算机科学,2004,31(8):13-15.

[2]宁必锋.粒子群优化算法的改进及其应用研究[D].辽宁:渤海大学,2010.

[3]高回旋.应用多元统计分析[M].北京:北京大学出版社,2005.

[4]钱伟懿,宁必锋.基于混沌的聚类粒子群优化算法[J].计算机工程与设计,2011.Feb.vol.32 No.2.

[5]纪震,廖惠连,吴青华.粒子群算法及应用[M].北京:科学出版社,2009.

作者简介:宁必锋(1977—),男,吉林人,硕士,讲师,现供职于吉林化工学院理学院,研究方向:智能优化算法、最优化理论与应用、统计分析。

上一篇:基于云计算的数据挖掘系统架构研究 下一篇:跨国CEO眼中的投资环境