英语原文共 4 页
改进的差分进化算法及其在复杂函数优化中的应用
摘 要:
在求解复杂函数优化问题时,差分进化算法(DE算法)可能会遇到收敛速度低的问题。本文提出了一种改进的差分进化算法n-IDE。该算法使用高斯序列动态生成缩放因子,并将改进的混合变异策略应用于个体,以提高整体性能。我们将n-IDE与现有的DE算法进行比较,使用基准函数进行测试,实验结果表明,n-IDE对收敛速度有显著改进。
关键词:函数优化;差分进化;混合变异;高斯序列
1引言
差分进化算法是1997年雷纳·斯通和肯尼思·普莱斯在寻求切比雪夫多项式问题解时提出来的。DE算法是一种全局实数编码优化算法,只需少量的控制参数,易于实现和操作。
然而,由于参数设置的随机性和盲目性,包括种群大小、变异算子和交叉算子等参数,可能出现收敛速度低、精度低的问题,特别是在复杂的函数中,此类问题更加严重。 因此,对DE算法进行改进研究是非常有必要的。
2背景
研究人员已经对原始的DE算法提出了各种改进。参考文献[2]提出了动态差分进化(DDE),通过动态策略提高了算法的优化效率。但是,DDE对处理复杂的函数优化有些难度。在参考文献[3]中提到的第二种变异DE算法由于计算总体适应度方差需要很高的计算开销,因而很难应用。参考文献[4]介绍了一个单一群体的二次突变改进的差分进化算法(IDE)。单种群提高了全局搜索能力,二次突变提高了局部搜索能力。但是,IDE算法的收敛速度仍然需要提高。参考文献[5]提出了一种自适应差分进化算法(自适应DE-SaDE),利用自适应模型的变异算子和控制参数,在参考文献[4]中提到的IDE算法框架的基础上,提高了算法的全局搜索性能。本文通过改进变异策略和缩放因子选择过程,提出了一种新的改进差分进化算法 (n-IDE)。
3基本DE算法
3.1 DE算法的介绍
DE算法是一种基于实数编码的进化算法。DE算法的主要操作包括种群初始化、个体变异、交叉和选择。
- 种群初始化:在D维空间中随机产生NP个受上下边界约束的个体。
- 变异:DE算法的变异操作是指,从父代群体中随机选择两个个体并计算剩余向量,生成新的中间代。最常用的变异策略是DE/rand/1/bin和DE/best/2/bin,他们分别规定如下。
①DE/rand/1/bin:
(1)
②DE/rand/1/bin:
(2)
其中,,DE/rand/1/bin策略有很强的全局搜索能力,而DE/best/2/bin策略有更快的收敛速度。
(3)交叉:交叉操作是指父代种群和中间代的二项式交叉。基本DE算法
通常采用二项式交叉的方式得到候选个体。在此过程中,至少有一个个体从中获得,另一个则通过交叉率(CR)从和中来确定,可由以下公式(3)指定。
(3)
其中是一个均匀分布的随机数;是一个随机整数;指交叉率。
- 选择:DE算法的选择操作采用“贪婪策略”。将交叉操作中获得的和当前种群中的个体,根据目标函数的适应度作比较,确保更好的个体进入下一代种群。选择操作可由以下公式(4)指定。
(4)
3.2 DE算法的分析
在DE算法的进化过程中,变异策略的选择对算法的性能有很大影响,每种变异策略都适用于特定的优化问题,而对于其他类型的问题,算法性能会明显降低。例如,关于3.1中的2个变异策略,DE/best/2/bin变异策略具有很高的收敛速度,但很难保持种群的多样性,因此易于趋向于局部最优[5]。因此,这种突变策略通常是用于处理单峰优化问题的。de/rand/1/bin突变策略具有很强的全局搜索能力,但其收敛速度不是令人满意的。因此,这种突变策略是通常用于处理多模态函数。此外,DE算法的整体表现很容易受到
种群规模(NP)、缩放因子(F)和交叉率(CR)的影响,不同的优化问题需要不同的参数设置。但是,在实际特定的工程问题中选择适当的参数是一件非常困难的事。
4 DE算法的改进
4.1 高斯分布的缩放因子
在DE算法的演化过程中,两个随机向量的差向量将被缩放因子(F)缩放。一个有效的F应从[0.4,1]中选择,在大多数当前改进的DE算法中,F的值固定为0.5。由于DE算法在迭代的初始阶段需要更好的种群多样性,因此在此阶段F参数应该大一些。在迭代的后期,需要一个较小的F值以便于加快收敛速度。显然,F的一个固定值不能满足这些要求,它将影响DE算法的整体性能。为了解决这个问题,本文建议使用高斯分布来产生一个动态的F参数。在这一过程中,首先利用高斯序列产生一个缩放因子,以0.5为变异前的均值和标准差,然后选择绝对值,公式规定如下。
(5)
4.2 混合变异策略
DE算法通过变异操作生成中间个体,DE/rand/1/bin和DE/best/2/bin是最常用的突变策略。如前所述,DE/best/2/bin突变策略具有很高的收敛速度,但很难保持种群的多样性,从而导致局部最优。相反,DE/rand/1/bin突变策略具有较强的整体搜索能力,但其收敛速度不令人满意。本论文采用混合突变策略来解决这一问题,具体定义如下:
(6)
在这个公式中,,是三个随机个体。这种混合变异策略在一定程度上保持了种群的多样性,降低了算法在参数设置中的敏感性,同时避免了收敛速度的严重损失。
4.3 单种群二次突变算法框架
在传统DE算法的演化过程中,在迭代完成之前,当前的种群总体数量保持不变。在这个进化模型中,优秀的中间个体及时参与到当前的进化过程中,会导致一定的收敛速度损失。参考文献[4]中提到的IDE算法采用单种群二次突变的改进策略来弥补DE算法的缺陷。与传统的去噪算法相比,IDE具有更好的整体搜索能力,能够有效地提高算法的收敛速度。因此,为了获得更高的整体搜索能力和更好的收敛速度,我们在IDE框架下构建了n-IDE。
5实验与分析
5.1 测试函数
我们选择参考文献[4]中的四个标准测试功能来评估n-IDE的性能,这四个测试函数定义为公式(7)到(10)。表1显示了测试函数的特点。
(7)
(8)
(9)
(10)
表1 测试函数的特点
函数 |
维数 |
范围 |
最优解 |
解的准确性 |
f1 |
30 |
[-100,100] |
0 |
0.01 |
f2 |
30 |
[-30,30] |
0 |
100 |
f3 |
30 |
[-5.12,5.12] |
0 |
100 |
f4 |
30 |
[-600,600] |
0 |
0.1 |
5.2 实验结果与分析
通过测试n-IDE的性能,将实验结果与标准的DE算法、参考文献[2]中的DDE和参考文献[4]中的IDE进行比较。为了确保比较的公平性,将通过改进的高斯分布序列动态获取缩放因子F,而其他参数将使用与参考文献[4]相同的设置。
在这个实验中,每一个测试函数都将分别运行20次。我们将计算最大迭代次数(max)、最小迭代次数(min)、搜索成功率(sr)和平均迭代次数(avg)。由于本实验所用的硬件平台优于其它目标算法的平台,因此收敛速度不作比较。这个实验的结果 如表2所示 。
表2 实验结果的比较
函数 |
算法 |
Sr/% |
Max |
Min |
Avg |
f1 |
DE |
100 |
512 |
474 |
491.55 |
DDE |
100 |
483 |
435 |
457.00 |
|
IDE |
100 |
220 |
187 |
196.25 |
|
n-IDE |
100 |
78 |
56 |
69.00 |
|
f2 |
DE |
100 |
1033 |
469 |
548.75 |
DDE |
100 |
604 |
417 |
510.95 |
|
IDE |
100 |
430 |
178 |
236.95 |
|
n-IDE |
100 |
52 |
38 |
45.00 |
|
f3 |
DE |
100 |
5809 |
2054 |
4119.40 |
DDE |
100 |
6523 |
1780 |
3707.20 |
|
IDE |
100 |
86 |
55 |
70.25 |
|
n-IDE |
100 |
41 |
21 |
29.00 |
|
f4 |
DE |
100 |
601 |
136 |
488.50 |
DDE |
100 |
567 |
403 |
450.05 |
|
IDE |
100 |
240 |
152 |
182.00 |
|
n-IDE |
100 |
71 资料编号:[5362] |
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。