差分进化算法

✍ dations ◷ 2025-04-04 11:03:16 #数学最佳化,进化算法

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

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

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

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

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

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

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

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

相关

  • 马科马科(学名:Equidae)是奇蹄目中的一科,史前种类曾经非常繁盛及多样化,现仅存马属一个属。虽然如此,马科动物依然是现存奇蹄目动物中种类数量最多,分布最广,最为人们所熟悉的。史前马
  • 还原胺化反应还原胺化反应,又称鲍奇还原(Borch reduction,区别于伯奇Birch还原反应),是一种简便的把醛酮转换成胺的方法。首先是胺与羰基加成,缩合,生成羰基的结构类似物西弗碱(Schiff Base),后者
  • 捷克历史捷克历史是位于欧洲中部的内陆国家捷克的历史。旧石器时代中、晚期,捷克地域已有人类定居,也曾产生过新石器时代文化和青铜时代文化。从公元前5世纪左右开始,由凯尔特人定居,其
  • 硫酸肼硫酸肼是联氨与硫酸生成的盐类,指N2H5HSO4和N2H6SO4两种物质,常写作N2H4·H2SO4。N2H6SO4遇水完全水解,产生N2H5HSO4,而N2H5HSO4尚未分离得到固体。N2H6SO4固体在室温下可以以正
  • 印度佛教印度佛教,佛教在其起源地,印度,发展的历史及状况。佛教起源于印度,是古印度诸宗教之一,受到吠陀传统与沙门传统的影响,与耆那教在同时间开始发展。在孔雀王朝时代获得正统地位,开始
  • 溶剂提取溶剂提取(萃取)(英语:solvent extraction)或 液-液提取法(英语:Liquid–liquid extraction)是一种分离过程,用于分离化合物,基于该化合物相对两种不可混溶的液体之间的溶解性。这是提
  • 帝王韵记《帝王韵记》是高丽史家李承休于1287年(高丽末-朝鲜初期)撰写的乐府体汉文咏史诗,范围由檀君至高丽忠烈王为止。《帝王韵记》的内容涵盖中、韩两国历史,表现中韩两国在文化、历史
  • 学院桥学院桥(意大利语:Ponte dell'Accademia)是意大利威尼斯的四座横跨大运河的桥梁之一,位于大运河南部的尾端。学院桥直到1854年才建造完成,原本是由钢所构成的,不过在被破坏之后,学院
  • 小泽佐重喜小泽佐重喜(1898年11月25日-1968年5月8日),日本政治家、律师、前众议院议员。其长子为前民主党党魁小泽一郎。第一次池田内阁 (模板)第一次改造内阁 - 第二次改造内阁 - 第三次改
  • 油柑窝组油柑窝组(英语:Youganwo Fm)的时代属始新世-渐新世,地层分布于广东、广西及海南岛地区。1948年陈国达命名油柑窝层,1963年斐文中等改称为油柑窝组,命名剖面位于广东茂名油柑窝附近