1、外文原文:http:/ 中文 5340字 差分演化的最新进展:一项调查和实验分析 摘要 差分演化是一种简单而有效的优化 ,尤其是持续优化。因此差分演化经常用于解决各种工程问题。另一方面 ,差分演化结构在搜索逻辑中有一些限制 ,因为它包含了一套有局限的探索方法。这一事实启发许多计算机科学家通过提出对原始算法的修改来改善差分演化。本文介绍了差分演化最近的进展概况。这里提出了差分演化的一个分类,分成两大组:( 1)在差分演化结构中集成附加组件的算法。( 2)采用修改过的差分演化结构的算法。对于每个宏组 ,四个算法代表差分演化中最先进的部分,已经被选 来深入描述它
2、们的工作原理。为了比较他们的性能 ,这八个算法已被用来测试一组基准问题。实验在一个相对低维情况下和一个相对高维的情况下重复进行。这篇论文也突出了最近提出的差分演化算法的工作原理,它们之间的相同点和不同点等。尽管在这两个宏组中尚不清楚是否有一个相对于其他算法更具优势的,但还是能得出一些结论。首先 ,为了改进差分演化的性能,包括一些额外的和替代搜索功能的修改是必要的。这些额外的修改应该帮助差分演化框架检测能为其所用的新的有前途的搜索方向。因此 , 在成功协助差分演化方面,有限的使用这些替代方法似乎是最好的 选择。额外的成功方法是通过两种方式获得:增大开发压力和引入一些随机化。这种随机化不应该过度
3、,因为它会妨碍搜索。为显著改进差分演化的功能适当的增加随机化是至关重要的。数值结果显示 , 在这项研究中设计的算法,在一个差分演化框架中被认为最有效的额外组件似乎是种群规模还原和局部搜索比例因子。最近发表的论文中提出的全局和局部搜索和自适应控制参数方案似乎是最有前途的修改。 关键词:差分演化,调查,比较分析,自适应,持续优化。 1 介绍 差分演化是一个可靠的和多功能的优化器。差分演化 ,像最受欢迎的进化算法,是一个以群体为 基础的工具。差分演化,不像其他的进化算法,它通过一个规模不同的两个随机选择的种群向量来产生扰动的解决方案,而不是重组方案所规定的条件下的
4、概率方案。此外 ,差分演化使用了一个一对一的产卵逻辑在后代优于它的相应的父时允许更换一个个体。 因为它的简单和易于实施,可靠性和高性能,差分演化在其原始定义后立即很受计算机科学家和从业人员欢迎。前者被认可并用来研究差分演化结构 ,而后者把这个简单而强大的工具应用于各种不同的工程问题。 虽然差分演化有很大的潜力,很明显为提高其性能需要科学界对原结构进行必要的修改。为了对它们进行分 析并得出一些有关未来趋势的结论,本文阐述了现代修改差分演化的计划。在本文中我们细分修改版的差分演化为两类: 1.集成一个额外组件的差分演化。这类算法包括那些使用差分演化作为一个进化框
5、架 ,它借助于额外的算法组件,例如 :局部搜索 ,和代理辅助模型。属于这类的算法可以被清楚地分解为差分演化框架和额外的组件。 2. 修改的演化差分结构。这类包括那些对差分演化算法,搜索逻辑,选择逻辑等做出实质性的修改的算法。显然这个修改应该能提高原始差分演化的性能。 本文在第二三节对差分演化进行了研究 , 在四五节进行了深入分析。在我们 看来,有代表性的论文是差分演化发展的基石。 根据我们的判断,最有前景的和成功的算法解决方案已发表在相关论坛,这类算法才能被考虑在内。 更重要的是,第四节对以下类别的算法做出了具体阐述: 三角突变的差
6、分演化 。 简单交叉局部搜索的差分演化 第五节对以下类别的算法做出了具体阐述: 自适应控制参数。 基于相反思路的差分演化 , 全局 和 局部搜索的差分演化 , 自适应协调多个突变规则。 为了分析以上提出的算法的优缺点,从每组中选择了有代表性的算法来测试各种问题。数值结果公布在第六节。最后第七节给出了这 项研究的结论。 2 标准差分演化 为了阐明用在这一章中的符号 ,我们指的是最小化问题的目标函数 f(x),其中 x是一个D维空间中 n的一个向量。根据它的原
7、始定义,差分演化包括以下步骤。一个初始抽样的 SPOP伪随机执行个体与一个 D维决策空间的均匀分布函数。在每一代 ,对于每个个体的 SPOP, xi,三个相互不同的个体 ,xs 和 xt xr 是从群体中提取的伪随机序列。根据差分演化逻辑 ,一个临时的后代 xoff是由以下公式产生的: 其中 F 0 , 1,是一个比例因子来控制向量 (xr xs )的长度 , 因此决定距 xi点的距离。F 0 , 1, 这意味着规模因素应该是不大于 1的正数。虽然理论上没有限制 F,但其有效值很少超过 1。 Eq. (1)中所示的突变方案也被认为是差分演化。 突变规则的变本
8、也在随后的论文中被提出。 其中 xbest是群体中的具有最佳性能个体。 xu和 xr是另外两个伪随序列。在这里值得提及在 Lampinen (1999)中给出的旋转不变量。 其中 K 是组合系数, K 应从 0,1均匀分布和 F_ = K F 中选择。对于这个特殊的突变的解决方案不进行交叉操作。(因为它已经包含了交叉操作)近来,一个新的突 变策略被定义。这个策略包含以下内容: 对于给定的 F,参数 K等于 0.5( F+1)。 当突变产生临时的后代,每个 xoff个体的基因与相应的 xi 互换, 最后的 xoff由以下公式得出: &n
9、bsp;其中 rand 是在 0 与 1 之间的随机数, j 是在检查中的指数。这种交叉策略是众所周知的二进制转换并被看做为 “ 本 ” 。为了完整性 ,我们提到存在一些其他交叉策略 ,例如在 Price et al. (2005)中的指数策略。然而在这篇文章中我们专注于本策略,因为它是最常用的和最有前景 的。 由此产生的后代 xoff 用来评估 ,根据一个一对一的产卵的策 略 , 当且仅当 f (xoff ) f (xi )时, xoff 能代替 xi,否则不能替代。为了清晰 ,伪代码在图 1中突出显示了差分演化的工作原理。 图 1 3 差分演化:一项调查 由第二节看出,差分演化基于很简单的理念, 即通过加入搜索向量和一对一的产卵选择的幸存者。因此,差分演化是很容易实现编码和对包含有限数量的参数进行调整。此外,事实上,差分演化是相当强大的,许多工程师和实践者在很多方面用到它。例如 , 在 Joshi and Sanderson (1999)中 给出了差分演化应用到多传感器融合的问题。在 Rogalsky 和 Derksen (2000)中给出了 差分演化的一个基于混合算法的气动设计的应用。在 Chang and Chang