Application of Artificial Electric Field Algorithm in Function Optimization ()
1. 引言
优化是一个重要的研究领域,许多现实问题可以转化为优化问题。近20年来,通过观察自然现象或生物行为特征而提出的智能算法被广泛应用于复杂优化问题的求解,如粒子群优化(PSO) [1]、差分进化(DE) [2]、人工蜂群(ABC) [3]、牛羚群优化(WHO) [4] 以及混沌博弈优化(CGO) [5] 等算法。实践证明,智能算法的性能优越于传统的启发式方法,故而受到了研究者的广泛关注。
受库仑定律和牛顿运动定律启发,印度学者Anita和Anupam Yadav于2019年提出了人工电场(AEF)算法 [6]。在AEF算法中,种群中的每个个体可以看作为一个带电粒子,其位置表示问题的解,而粒子的电荷表示候选解的适应度函数。此外,AEF算法只考虑个体间的吸引力,这意味着具有最大电荷的带电粒子会吸引所有较低电荷的个体,从而使其在搜索空间中缓慢移动。截至目前,AEF算法已成功用于求解燃料电池参数估计 [7]、高阶图匹配 [8]、装配线平衡问题 [9] 以及特征选择 [10] 等。然而,对于这些基于AEF算法的应用案例,它们主要侧重于对某类实际优化问题的求解,往往没有从不同类型的问题出发来综合评估算法的有效性。
有鉴于此,本文将AEF算法用于求解具有不同特性的复杂优化问题。首先,选择国际上流行的几个基准测试函数来调查AEF算法的优化性能。其次,考虑到BP神经网络存在收敛速度慢以及易陷入局部最优等缺陷,采用AEF算法来寻找BP网络的最优初始权值和阈值参数。最后,利用优化后的BP神经网络拟合一个复杂的非线性问题,并通过实验验证AEF算法的优越性。
2. 人工电场算法
人工电场(AEF)算法 [11] 是受库仑定律和牛顿运动定律启发而提出的一种新的智能优化方法。在AEF中,若干个带电粒子组成一个种群,个体的电量越大,所产生的引力越强。此外,为了简化,仅考虑粒子间的引力。此时,携带电荷量小的个体在引力作用下向所带电荷量大的个体移动,从而找到问题的最优解。
在d维搜索空间中,第i个粒子的位置定义为
。在第t次迭代时,第i个与第j个粒子间的作用力描述为:
(1)
式中,
表示第t代时的库伦常数,
和
分别为第i个与第j个粒子的电荷,
为第i个与第j个粒子之间的欧氏距离,
表示一个很小的正数,
为第j个粒子的最优位置。
在AEF算法中,
是一个用于调整个体间作用力的重要参数,其计算方程为:
(2)
式中,
表示库伦常数的初始值,
为一个常数,
为最大的迭代次数。
此外,第i个粒子所携带的电荷定义如下:
(3)
(4)
式中,
表示第i个粒子的适应度,
和
分别为种群中最优个体与最差个体的适应度。
在d次搜索空间中,第i个粒子所受到的总作用力及其加速度分别定义为:
(5)
(6)
式中,r为区间[0, 1]内的随机数,
为第i个粒子的单位质量。
在每次迭代过程中,第i个粒子的速度和位置更新规则表示为:
(7)
(8)
3. 实验研究
3.1. 优化基准函数
为了评估AEF算法的综合性能,采用国际上广泛采用的6个基准函数 [12] 进行验证分析,包含单模问题F1~F3和多模问题F4~F6,表1给出了这些测试函数的表达式、搜索范围以及最优值。其中,单模问题用于测试AEF算法的收敛速度,而多模问题用于评估算法跳出局部最优的能力。实验时,AEF算法的种群规模
,优化问题维数
,函数评价次数为300,000,库伦常数初始值
和调节参数
分别设置为500和30。为了减少统计误差,AEF算法在每个测试函数上均独立运行30次,记录此时适应度的平均值、标准差、最优值以及最差值,并在表2中进行显示。此外,为了进一步直观说明AEF算法的进化过程,图1给出了它在求解这些基准函数时的收敛曲线。
从表2中可以看出,AEF算法在求解这些基准测试函数时表现出良好的收敛性能。具体来说,对于多模问题F5,AEF找到了理论最优值。对于其余的5个测试函数,AEF也产生了较好的结果。如果以所定义的阈值1E−8进
表1. 基准函数
表2. 测试结果
行评估,AEF算法均能发现全局最优解,且搜索过程的成功率为100%。此时,AEF算法运行的终止条件为所产生的平均误差不小于该阈值或达到最大的函数评价次数。此外,依据所获得的标准差,AEF算法在求解这些基准测试函数时表现出良好的鲁棒性。
此外,由图1可知,AEF算法在6个基准函数上的收敛曲线均为单调下降的,且具有较大的斜率,这说明随着迭代的进行,AEF算法能够在搜索空间中继续寻找最优解,并不存在停滞问题。显然,AEF算法具有较快的收敛速度以及较高的搜索精度。
3.2. 优化神经网络
人工神经网络是由大量处理单元互联组成的非线性、自适应信息处理系统,具有自适应、自组织以及自学习能力。在人工神经网络中,BP网络是一种较常采用的网络结构,它包括前向传播和误差反向传播2个环节。在BP神经网络中,其初始权值和阈值由随机初始化的方式产生,再利用误差反向传播环节进行修正。然而,该初始值生成方案往往会增加网络的训练时间、甚至使其陷入局部最优 [13] [14]。为了增强BP神经网络的收敛能力,本文采用AEF算法来设置其最佳的初始权值和阈值参数,随之对一个非线性函数进行数据拟合。该非线性函数描述为:
,
(9)
仿真目的是建立该非线性函数的近似模型,它具有如下形式:
(10)
显然,根据上式,三层BP神经网络输入层和输出层的神经元个数分别为3和1。按照误差最小的原则,经过多次实验后,隐含层的神经元个数设置为5。实践表明,种群规模设置为区间[15, 50]内整数的智能算法可以解决大多数的优化问题 [15]。因此,AEF算法的种群规模定义为30,最大迭代次数为1500,并被重复运行20次以降低统计误差。此外,为了评估AEF算法的抗干扰能力,在实验数据中增加20 db的高斯白噪声。图2给出了AEF算法优化BP神经网络的拟合曲线。
由图2中可以看出,采用AEF算法优化的BP神经网络能够很好地拟合
图1. AEF算法在不同函数上的收敛曲线
图2. 拟合曲线(a)无噪声(b)有噪声
该非线性函数,并获得了较小的误差。根据实验结果,当数据中没有加入高斯白噪声时,拟合模型输出均方误差的平均值和标准差分别为3.66E−002与3.03E−002。当加入20 db的高斯白噪声时,模型输出的平均值和标准差分别为8.64E−002与5.38E−002。显然,在增加高斯白噪声后,AEF算法的寻优能力出现了轻微的弱化,但与无噪声时所产生的均方误差平均值处于同一个数量级,数据之间的差异性较小。因此,AEF算法在优化神经网络时也表现出良好的收敛性能,并具有较好的鲁棒性。
4. 结论
本文详细探讨了AEF算法的工作原理与实现过程,并将其应用于具有不同特性复杂函数的优化过程中。首先,选择国际上流行的6个基准函数作为测试平台来验证AEF算法的收敛性能。此外,为了进一步提升BP神经网络的搜索能力,采用AEF算法来寻找BP网络最佳的初始权值和阈值参数,随之用于一个非线性函数的数据拟合。实验结果表明AEF算法是一种求解函数优化问题的有效方法。
人工电场算法在函数优化中的应用
摘要:人工电场(AEF)算法是一种新近开发的启发式智能优化方法,具有实现过程简单、控制参数较少等优势,并已应用于一些工程和科学研究等领域。有鉴于此,本文首先采用AEF算法来求解6个基准测试函数以评估其搜索能力。然后,将AEF算法与BP神经网络相结合以寻找其最优的初始权值和阈值参数,随之拟合一个多输入单输出的非线性函数。实验结果表明,AEF算法具有良好的收敛性能与鲁棒性。
关键词:人工电场算法,优化,基准函数,神经网络