正在加载图片...
第3期 肖辉辉,等:改进的蝙蝠算法在数值积分中的应用研究 ·365· 值积分问题对科学研究和工程实践具有重要参考价 项式而提出的。其设计思想是:应用当前种群个体 值。目前,求解函数的数值积分的方法有许多,常用 的差异来重组得到中间种群,然后再利用后代个体 的传统数值积分方法有Simpson法、Newton法、梯形 与父代个体之间的相互竞争来产生下一代新的种 法、矩形法、Remberg法、Gauss法等ua),但这些传统 群。其优点主要有收敛速度快、需待定的参数较少、 的方法在工程技术和科学研究中都存在一定程度的 不易陷入局部最优、易与其他智能算法融合,并构造 不足,比如积分精度不高、计算量较大、系数和节点 出具有性能更优的群智能优化算法。 的计算比较困难、收敛性得不到保证、求解被积函数 1.2.2DEBA算法的设计思想 的原函数非常困难等问题。近年来,随着智能算法 本文基于基本的BA算法,引入差分进化策略, 的发展,有学者利用智能算法求解函数的数值积分 融合其各自的优点,提出了基于差分进化策略的改 问题,从而克服了传统的数值积分方法的缺陷。如 进BA算法(differential evolution bat algorithm,DE- 2008年,周永权等人提出了基于进化策略求解任意 BA)。考虑到随机初始种群个体会影响算法的计算 函数数值积分),该算法能快速有效地求出任意函 量,另外,R L Haupt等[1s)指出,在基于种群迭代搜 数的数值积分值:2009年,韦杏琼等)提出了一种 索的全局优化算法中,在迭代初期,多样性较好的种 基于粒子群算法的不等距节点数值积分方法,该算 群对提高算法的全局寻优能力很有帮助。因此,本 法能求解任意函数的数值积分值,对被积函数要求 文提出的DEBA算法在算法的迭代初期就把变异等 低,计算精度较高:同年,聂黎明等6提出一种基于 算子融入进来,从而保证了迭代初期种群的多样性。 人工鱼群算法求解任意函数的数值积分方法,该算 对基本的蝙蝠算法的深入剖析得知,由于算法 法对参数选取不敏感且对初始值无要求,计算积分 缺乏相应的变异机制,使得基本的蝙蝠算法具有收 精度较高:2013年陈欢[刀提出了一种基于杂草算法 敛精度低、易陷入局部极小等缺陷。为了克服这些 求解任意函数的数值积分方法,该算法对积分精度 不足,把差分进化策略融入到基本的蝙蝠算法中来, 有所提高。上述智能算法都在一定程度上解决了传 从而形成了本文算法,它跟基本的蝙蝠算法最显著 统数值积分方法的不足,取得了较大的成功,但在积 的区别在于使原来没有变异操作的基本蝙蝠算法具 分精度、鲁棒性、收敛性等方面仍存在不足。同时, 有变异机制。 目前国内外对蝙蝠算法在函数数值积分方面的研究 DEBA算法的设计思想:在基本的蝙蝠算法基 较少。 础上,经过演化后的蝙蝠位置x‘不是直接进入下一 次(t+1)迭代,而是继续对其进行差分进化,通过 1 蝙蝠优化算法 变异机制来获得种群中优秀个体与当前个体之间的 1.1基本蝙蝠优化算法 差异,从而引导个体的演化方向,使其向种群中的优 蝙蝠算法(bat algorithm,BA)[8)是YANG X S 秀个体靠近,在得到新的蝙蝠位置后,再进入下一次 2010年提出的一种新的群智能优化算法。是模拟蝙 迭代,继续利用基本的蝙蝠算法进行搜索和位置更 蝠采用一种声呐来探测猎物、避免障碍物的生物学特 新。这样就增加了种群的多样性,使其避免陷入局 性发展而来的一种新颖的群智能优化算法,具有并行 部最优而获得全局最优解,同时也提高了收敛速度 性、收敛速度快、分布式等特征。目前,BA算法作为 和收敛精度。 一种新的群智能优化算法,已广泛应用于自然科学、 1.2.3DEBA算法实现步骤 工程科学与生产实践中,如PSP调度问题)k均 DEBA算法的具体实施步骤如下: 值聚类优化o、工程优化山、多目标优化]等问题 1)初始化DEBA算法的各个参数。 中。但该算法存在着缺乏变异机制)]、易陷入局部 2)根据目标函数计算种群个体的适应度函数 极小、后期收敛速度慢与收敛精度低等缺点,使其在 值,确定当前的最优值及最优解。 很多领域的应用被严重地制约了,因此在具体的实际 3)利用式(1)~(3)对蝙蝠的搜索脉冲频率」 应用中需要经常对它进行改进。 速度和位置进行更新: 1.2具有差分进化策略的蝙蝠算法 f=fmin+(fax-fn)×B (1)》 1.2.1差分进化算法 =+(x-x)×f (2) 差分进化算法(differential evolution,DE)【i4是 x=x;1+ (3) 一种基于群体差异的启发式全局智能优化算法,它 式中:B∈[0,1]是均匀分布的随机数;f是蝙蝠i 是K Price和R Storn在1997年为求解切比雪夫多 的搜索脉冲频率,f方∈[fmfx];:、:分别表值积分问题对科学研究和工程实践具有重要参考价 值。 目前,求解函数的数值积分的方法有许多,常用 的传统数值积分方法有 Simpson 法、Newton 法、梯形 法、矩形法、Remberg 法、Gauss 法等[1⁃3] ,但这些传统 的方法在工程技术和科学研究中都存在一定程度的 不足,比如积分精度不高、计算量较大、系数和节点 的计算比较困难、收敛性得不到保证、求解被积函数 的原函数非常困难等问题。 近年来,随着智能算法 的发展,有学者利用智能算法求解函数的数值积分 问题,从而克服了传统的数值积分方法的缺陷。 如 2008 年,周永权等人提出了基于进化策略求解任意 函数数值积分[4] ,该算法能快速有效地求出任意函 数的数值积分值;2009 年,韦杏琼等[5] 提出了一种 基于粒子群算法的不等距节点数值积分方法,该算 法能求解任意函数的数值积分值,对被积函数要求 低,计算精度较高;同年,聂黎明等[6] 提出一种基于 人工鱼群算法求解任意函数的数值积分方法,该算 法对参数选取不敏感且对初始值无要求,计算积分 精度较高;2013 年陈欢[7]提出了一种基于杂草算法 求解任意函数的数值积分方法,该算法对积分精度 有所提高。 上述智能算法都在一定程度上解决了传 统数值积分方法的不足,取得了较大的成功,但在积 分精度、鲁棒性、收敛性等方面仍存在不足。 同时, 目前国内外对蝙蝠算法在函数数值积分方面的研究 较少。 1 蝙蝠优化算法 1.1 基本蝙蝠优化算法 蝙蝠算法( bat algorithm, BA) [8] 是 YANG X S 2010 年提出的一种新的群智能优化算法。 是模拟蝙 蝠采用一种声呐来探测猎物、避免障碍物的生物学特 性发展而来的一种新颖的群智能优化算法,具有并行 性、收敛速度快、分布式等特征。 目前,BA 算法作为 一种新的群智能优化算法,已广泛应用于自然科学、 工程科学与生产实践中,如 PFSP 调度问题[9] 、k_均 值聚类优化[10] 、工程优化[11] 、多目标优化[12] 等问题 中。 但该算法存在着缺乏变异机制[13] 、易陷入局部 极小、后期收敛速度慢与收敛精度低等缺点,使其在 很多领域的应用被严重地制约了,因此在具体的实际 应用中需要经常对它进行改进。 1.2 具有差分进化策略的蝙蝠算法 1.2.1 差分进化算法 差分进化算法( differential evolution,DE) [14] 是 一种基于群体差异的启发式全局智能优化算法,它 是 K Price 和 R Storn 在 1997 年为求解切比雪夫多 项式而提出的。 其设计思想是:应用当前种群个体 的差异来重组得到中间种群,然后再利用后代个体 与父代个体之间的相互竞争来产生下一代新的种 群。 其优点主要有收敛速度快、需待定的参数较少、 不易陷入局部最优、易与其他智能算法融合,并构造 出具有性能更优的群智能优化算法。 1.2.2 DEBA 算法的设计思想 本文基于基本的 BA 算法,引入差分进化策略, 融合其各自的优点,提出了基于差分进化策略的改 进 BA 算法( differential evolution bat algorithm, DE⁃ BA)。 考虑到随机初始种群个体会影响算法的计算 量,另外, R L Haupt 等[ 15 ]指出,在基于种群迭代搜 索的全局优化算法中,在迭代初期,多样性较好的种 群对提高算法的全局寻优能力很有帮助。 因此,本 文提出的 DEBA 算法在算法的迭代初期就把变异等 算子融入进来,从而保证了迭代初期种群的多样性。 对基本的蝙蝠算法的深入剖析得知,由于算法 缺乏相应的变异机制,使得基本的蝙蝠算法具有收 敛精度低、易陷入局部极小等缺陷。 为了克服这些 不足,把差分进化策略融入到基本的蝙蝠算法中来, 从而形成了本文算法,它跟基本的蝙蝠算法最显著 的区别在于使原来没有变异操作的基本蝙蝠算法具 有变异机制。 DEBA 算法的设计思想:在基本的蝙蝠算法基 础上,经过演化后的蝙蝠位置 xi t 不是直接进入下一 次( t + 1)迭代,而是继续对其进行差分进化,通过 变异机制来获得种群中优秀个体与当前个体之间的 差异,从而引导个体的演化方向,使其向种群中的优 秀个体靠近,在得到新的蝙蝠位置后,再进入下一次 迭代,继续利用基本的蝙蝠算法进行搜索和位置更 新。 这样就增加了种群的多样性,使其避免陷入局 部最优而获得全局最优解,同时也提高了收敛速度 和收敛精度。 1.2.3 DEBA 算法实现步骤 DEBA 算法的具体实施步骤如下: 1) 初始化 DEBA 算法的各个参数。 2) 根据目标函数计算种群个体的适应度函数 值,确定当前的最优值及最优解。 3) 利用式(1) ~ (3) 对蝙蝠的搜索脉冲频率、 速度和位置进行更新: f i = fmin + (fmax - fmin ) × β (1) vi t = vi t-1 + (xi t - x ∗ ) × f i (2) xi t = xi t-1 + vi t (3) 式中: β ∈[0,1] 是均匀分布的随机数; f i 是蝙蝠 i 的搜索脉冲频率, f i ∈[ fmin ,fmax ]; vi t 、 vi t-1 分别表 第 3 期 肖辉辉,等:改进的蝙蝠算法在数值积分中的应用研究 ·365·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有