基于差分进化的优化方法及应用
上QQ阅读APP看书,第一时间看更新

2.3 测试函数寻优

2.3.1 测试函数

本章采用2005年IEEE进化计算大会上公布的25个标准测试函数[6]中的9个典型函数F2、F3、F4、F8、F13、F14、F15、F21、F24作为测试函数。这些函数的变量维数是可以扩展的,它们都是极具挑战性的问题。在这9个函数中包括3个单模函数F2、F3、F4,一个基本多模函数F8,两个扩展多模函数F13、F14,3个混合组合函数F15、F21、F24。为了表示方便,将F2、F3、F4、F8、F13、F14、F15、F21和F24分别用f1f2,…,f9来表示。由于3个混合组合函数f7f8f9的定义较复杂,在此不进行描述,具体介绍见文献[6]。这里仅给出f1f6的定义。

(1)f1:偏移Schwefel问题

016-1

其中,xD是向量xD维上的值,D是变量的维数,016-1。该函数具有单模、偏移、非独立、可扩展等特征,x∈[−100,100]D,其全局最优解为016-1,全局最优值为016-1

(2)f2:偏移旋转高条件Elliptic函数

016-1

其中,D是变量的维数,016-1M为一个正交矩阵。该函数具有单模、偏移、非独立、可扩展等特征,x∈[−100,100]D,其全局最优解为016-1,全局最优值为016-1

(3)f3:带有噪声的偏移Schwefel’s问题

016-1

其中,D是变量的维数,016-1。该函数具有单模、偏移、非独立、可扩展、带有噪声等特征,x∈[−100,100]D,其全局最优解为016-1,全局最优值为016-1

(4)f4:最优值在边界的偏移旋转Ackley函数

016-1

其中,D是变量的维数,016-1M为线性转换矩阵。该函数具有多模、偏移、旋转、非独立、可扩展的特征,其全局最优解位于边界,x∈[−32,32]D,其全局最优解为016-1,全局最优值为016-1

(5)f5:偏移扩展的Griewank加Rosenbrock函数

016-1

其中,D是变量的维数,016-1。该函数具有多模、偏移、非独立、可扩展等特征,全局最优解位于边界,x∈[−3,1]D,全局最优解为016-1,全局最优值为016-1

(6)f6:偏移旋转扩展的Scaffer’s F6函数

016-1

其中,D是变量的维数,016-1M为线性变换矩阵,条件数为3。该函数具有多模、偏移、旋转、非独立、可扩展等特征,全局最优解位于边界,x∈[−100,100]D,其全局最优解为016-1,全局最优值为016-1

这9个测试函数在二维情况下的函数图像[6]如图2-5所示。

016-1

图2-5 9个测试函数在二维情况下的函数图像

016-1

图2-5 9个测试函数在二维情况下的函数图像(续)

利用这9个测试函数对MCoDE和MCoDE-P的寻优性能进行测试,并与CoDE[4]和EPSDE[3]两种组合算法进行比较。

2.3.2 实验比较

为保证比较结果的公平,在实验中,CoDE和EPSDE两种算法均采用与原始文献完全相同的参数设置。采用Matlab进行编码,并且所有的实验都是在Pentium Dual-Core 2.7 GHz CPU和2 GB内存的电脑上进行的。与文献[4]中的类似,4种算法的种群规模NP都设置为30。将决策变量维数D设置为30,所有函数的f_bias设置为0。当函数评价次数达到300 000次后,算法结束运行。为了分析和比较算法的性能,本章记录了25次独立实验中每种算法获得的函数的最优值、平均值、最差值和标准差。实验结果见表2-1,并分别对单模函数、多模函数和混合组合函数进行分析。

表2-1 4种算法的优化结果

016-1

(1)单模函数f1f2f3

从表2-1可以看出,MCoDE在4种算法中取得了最好的性能,尤其在f2f3两个测试函数上明显优于CoDE、EPSDE和MCoDE-P,而在f1函数上具有与EPSDE相当的性能,但明显优化CoDE和MCoDE-P的性能,这说明对于单模函数而言,在向量产生过程中采用最好的个体信息,可以显著提高CoDE的寻优性能。同时也注意到,对于MCoDE-P来说,其在单模函数上不仅没有改善CoDE的性能,反而在f3上的性能变差了,这说明采用本章提出的控制参数扩展法并不能提高CoDE在单模函数上的寻优性能。

(2)多模函数f4f5f6

对于这3个测试函数,除了MCoDE-P在f5上表现稍逊外,4种算法都表现出相同的优化性能,这说明本章提出的改变向量生成策略方法仍然保留着CoDE在多模函数上良好的寻优性能。

(3)混合组合函数f7f8f9

显然,对于这3个测试函数,EPSDE在f7上取得了最好的优化性能,但在其他两个测试函数上其寻优性能明显要比CoDE、MCoDE和MCoDE-P要差。而CoDE、MCoDE和MCoDE-P这3种算法针对f8f9两个测试函数表现出相似的整体性能。但MCoDE和MCoDE-P算法在f7上的性能要优于CoDE。

总体而言,对于单模函数、多模函数和混合组合函数,MCoDE在4种算法中均表现出优异的性能,尤其是在单模函数优化问题上要明显优于其他几种算法。同时可以看出,采用本章介绍的改变生成策略法,因其采用了最好解的信息,能够在一定程度上提高CoDE方法的寻优性能,而对采用控制参数扩展法却难以改善CoDE算法的性能。为了检验MCoDE在实际应用中的有效性,将在下一节中对其在ANFIS模型优化中的应用进行讨论。