差分进化算法

✍ dations ◷ 2025-12-10 07:51:49 #数学最佳化,进化算法

差分进化算法(英语:Differential Evolution)又称微分进化算法,是一种求解最优化问题的进化算法。因为进化算法对于最优化问题的要求极少,所以被视为一种后设启发式算法(英语:metaheuristic)。虽然后设启发式算法适用于多种最优化问题,但是并不保证可以找到全局最优解。

差分进化算法被使用在多维度实数编码的最优化问题。因为此算法不使用问题的梯度信息,故可解不可微分的最优化问题。也因此,差分进化算法可用于不连续的,噪声的,随着时间改变的最优化问题。

差分进化算法类似遗传算法,包含变异,交叉操作,淘汰机制。本质上说,它是一种基于实数编码的具有保优思想的贪婪遗传算法。而差分进化算法与遗传算法不同之处,在于变异的部分是随选两个解成员变量的差异,经过伸缩后加入当前解成员的变量上,因此差分进化算法无须使用几率分布产生下一代解成员。

算法的原理采用对个体进行方向扰动,以达到对个体的函数值进行下降的目的,同其他进化算法一样,差分进化算法不利用函数的梯度信息,因此对函数的可导性甚至连续性没有要求,适用性很强。同时,算法与粒子群优化有相通之处,但因为差分进化算法在一定程度上考虑了多变量间的相关性,因此相较于粒子群优化在变量耦合问题上有很大的优势。由于差分进化算法在连续域优化问题的优势已获得广泛应用,并引发进化算法研究领域的热潮。算法的实现参考实现代码部分

差分进化算法之目的为求解最优化问题,使用突变、交叉、选择计算以演化多个可能的解。首先,产生足量的随机变量,做为初始的可能解。接着,依序进行突变、交叉、选择计算,做完一轮后,检查某个终止条件。若终止条件尚未满足,则回到突变、交叉、选择计算,否则终止差分进化算法,输出最后一轮的最佳解。

在进化计算中,突变是用于产生随机解的计算方法。

在突变之后,差分进化算法使用交叉计算以增强随机解的多样性。

在交叉之后,差分进化算法对随机解做选择,移除演化失败的解,留下演化成功的解。选择之后,进行突变计算,直到满足某个终止条件。

相关

  • 向毒品说不“选择说不”(Just Say No),又译为“向毒品说不”,直译为“说不就好”,是美国毒品战争期间的宣传活动,流行于1980至1990年代,旨在劝阻孩童远离违法的娱乐性药物。这也是前美国第一
  • 约翰·詹姆斯·奥杜邦约翰·詹姆斯·奥杜邦(John James Audubon,1785年4月26日-1851年1月27日),美国画家、博物学家,法裔美国人,他绘制的鸟类图鉴《美国鸟类》被称作“美国国宝”。奥杜邦出生于海地,是一
  • 弗莱·奥托弗赖·保罗·奥托(德语:Frei Paul Otto,德语发音:.mw-parser-output .IPA{font-family:"Charis SIL","Doulos SIL","Linux Libertine","Segoe UI","Lucida Sans Unicode","Code2
  • 地出地出(英语:Earthrise,或译地球上升),为美国国家航空航天局的照片。这张编号“AS8-14-2383HR”的照片由正在阿波罗8号太空船上执行前往月球任务的宇航员威廉·安德斯在1968年12月2
  • 金石滩国家旅游度假区金石滩国家旅游度假区位于辽宁省大连市金州区,是国家5A级旅游景区。金石滩原名满家滩,在大连以“满家滩,凉水湾,海参螃蟹成筐搬”知名。滩上有数亿年前形成的海滨地貌与沉积岩石
  • 新华区新华区是中华人民共和国河南省平顶山市的一个市辖区。面积157平方公里,2002年人口36万。2020年1月获评中国曲艺之乡。现辖:曙光街街道、光明路街道、中兴路街道、矿工路街道、
  • 史神星史神星 ,IPA: /ˈklaɪoʊ/)是第84颗被人类发现的小行星,于1865年8月25日发现。史神星的直径为79.2千米,质量为5.2×1017千克,公转周期为1325.961天。它是一颗巨大且异常暗的主
  • 2008年苏拉威西岛地震2008年苏拉威西岛地震是指2008年11月17日发生于印度尼西亚苏拉威西岛近海的强烈地震。该次地震震中位于北纬1.271度、东经112.091度,震级为MW 7.4级、Ms 7.1级,震源深度约为30
  • 伊尔茨河伊尔茨河是德国的河流,属于多瑙河的支流,河道全长65公里,流域面积约850平方公里,河口处在帕绍,河畔城镇有菲尔斯特内克。
  • 亚伦氏猿头蛤亚伦氏猿头蛤(学名:)是偏口蛤科偏口蛤属之下的一个海洋双壳纲软体动物的物种。本物种的种小名是用来纪念以色列的业余贝类学家以撒·亚伦(Isaac (Jitzchak) Yaron;1934-1985)。