2025-12-30
分享到
的高维复杂函数,有无数个极小值,函数很难得到最优值,因此通过对这两个函数的寻优,更能体现出算法在复杂情况下的优化能力。
该函数最优值等于0,位置在在(0,0)。此函数在全局最优值附近大约3.14范围内存在无数多个局部极小将其包围,并且函数强烈震荡,因此算法很难得到最优解。
以上30维函数最优状态和最优值均为:min(f(xid))=f(0,0, ,0)=0。与2维函数相比,30维函数往往更为复杂,通常会有数以千万计,甚至无穷多个极小值。3.2 实验参数设置
从运行结果的平均值、最优值和方差三个方面去考查可以看出:对于相对简单的2维函数f1(x)、f2(x)和f3(x),所有改进算法都可以达到最优;对于复杂的2维函数f4(x),本文的CPSO1和CPSO2结果最好;对于相对简单的30维函数f5(x),算法CFPSO、RWPSO、CPSO1和CPSO2表现都较好;对于非常复杂的30维函数f6(x)和f7(x),本文的CPSO1和CPSO2结果最好。
从平均运行时间考查:使用混沌的算法CRPSO、CWPSO、CPSO1和CPSO2,相对没有使用混沌的算法CFPSO、RWPSO、TVPSO、NLPSO平均时间要多一些,这是由于CPU每次调用混沌函数都需要额外消耗一些内存读写的机器时间。
综上所述:当函数比较容易时,所有改进算法表现均较好;但当函数很复杂的时候,本文提出的CPSO1和CPSO2算法显示出更优的动态搜索性能。
是较为典型的改进算法,且与本文改进算法关系最近;实验过程中,这些被比较的算法w、c1和c2等参数值完全按照文中最好的设置方式。
为保证公平,实验中所有算法粒子数统一设定为较少的20个;循环最多不超过2000次;循环退出条件为循环达到2000次,或者误差小于0.00001;速度最大值Vmax=(Xmax-Xmin)/4,最小值Vmin=-Vmax,其中Xmax和Xmin表示函数所允许搜索的最大值和最小值;粒子初始化为整个函数允许的空间。3.3 实验结果
实验在Matlab7.4.0(R2007a)软件环境下完成,计算机CPU为奔腾双核1.87GHz主频,内存为2GB。实验中将每种算法针对每个函数运行100次,求出运行的平均值、最优值、值的方差、平均运行时间(s),结果如表1所示。
改进的协同粒子群优化算法_专业资料。针对协同粒子群优化算法存在停滞,不能保证收敛到局部或全局最优值的问题,提出一种改进的协同粒子群优化算法(CCPSO-Hk),该算法...
但是这些算法大多着眼于 PSO 的参数选择或某个参数的动态修改策略 ,故难以 克服 PSO算法易陷入局部极小的固有弱点 . 为此本文提出一种多粒子群协同优化( PSCO...
+ + 克服 * -算法易陷入局部极小的固有弱点. 为此本文提出一种多粒子群协同优化* , )( + - 方法. 为使 * + +算法摆脱局部极小, 提出粒子扰动策略...
一种多粒子群的协同优化算法_专业资料。提出了一种多个粒子群优化的协同方法(MPSCO)。该算法用多个粒子群同时进化搜索,各粒子群定期交流信息,每经过若干代后相互...
改进的协同粒子群优化算法的研究与应用_专业资料。为增强现有PSO算法和协同粒子群优化算法的优化性能,提出了一种改进的协同粒子群优化算法及一种新的协同策略。该算...