差分进化算法

✍ dations ◷ 2025-11-08 01:23:42 #数学最佳化,进化算法

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

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

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

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

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

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

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

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

相关

  • 弗雷德里克·桑格诺贝尔化学奖(1958年) 皇家奖章(1969年) 盖尔德纳国际奖(1971年) 科普利奖章(1977年)弗雷德里克·桑格,OM,CH,CBE,FRS(英语:Frederick Sanger,1918年8月13日-2013年11月19日),英国生物化学家,曾
  • 花生四烯酸花生四烯酸(英语:Arachidonic acid,简称AA或ARA,全顺二十碳-5,8,11,14-四烯酸,20:4Δ5c,8c,11c,14c)是一种ω-6多不饱和脂肪酸,为花生油中饱和的花生酸的相对物。就化学结构来说,花
  • 凤爪凤爪,等于是鸡爪,广东文化中常用“凤”来代替“鸡”一字,一般是把鸡的爪,经过烹制,作为小吃,可以啃半天,吃的满嘴滋味,但没有吃进多少东西,不至于吸收太多。是嘴馋又怕肥的人的好食品
  • 达启达启,钮祜禄氏,清朝开国功臣额亦都次子。达启年少时有材干武艺,努尔哈赤把他养育在宫中。达启长大后,1608年,努尔哈赤把第五女嫁给了他。1613年,帝女去世。达启势宠而骄,遇到诸皇子
  • 前卫金属前卫金属(Progressive metal,有时简写为Prog Metal)是重金属音乐的一个分支,融合前卫摇滚与重金属的音乐风格。前卫金属结合了强大的、吉他主导的金属音乐、复杂的编曲结构、奇
  • 陨硫铁陨硫铁是罕见的铁硫化物与简单的硫化铁 (FeS)。它是富含铁的端元磁黄铁矿组。磁黄铁矿的形式为Fe(1-x)S (x = 0 to 0.2),这就是缺铁。由于陨硫铁缺乏给出磁黄铁矿磁性的铁质,
  • 苯氧乙醇苯氧乙醇(Phenoxyethanol)是一种经常用于护肤产品的酚醚类有机化合物,可由乙二醇及苯醇醚化而成,常见于护肤霜和防晒霜。苯氧乙醇是一种无色的油状液体,有抗菌及消毒的功效,一般与
  • 鲸向海鲸向海(1976年9月15日-),台湾诗人、精神科医师。毕业于长庚大学医学系。鲸向海是90年代末崛起于田寮别业、山抹微云等BBS站的学生写手,曾以“南山抹北田寮”点出“BBS诗史”的概
  • 陆梦履《沧浪亭五百名贤像》之陆梦履石刻像陆梦履,字元礼,直隶昆山(今江苏)人,明代政治人物,进士出身。万历十七年(1589年)己丑科进士,授刑部主事。万历二十二年(1594年)主试云南,迁荆州府知府
  • 均差均差(Divided differences)是递归除法过程。在数值分析中,可用于计算牛顿多项式形式的多项式插值的系数。在微积分中,均差与导数一起合称差商,是对函数在一个区间内的平均变化率