差分进化算法

✍ dations ◷ 2025-11-26 12:53:41 #数学最佳化,进化算法

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

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

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

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

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

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

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

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

相关

  • 超级单体超级胞(英语:Supercell)是雷暴的一种,拥有深厚、持续旋转上升气流(英语:Vertical draft)的中气旋(英语:Mesocyclone)。由于这个原因,这些雷暴有时被称为旋转雷暴(rotating thunderstorms
  • 日期在日历中,日期是一个在历法中特定的日子。日期可以帮助我们表示一个指定的日子。我们可以计算出两个日期的距离,例如在公历里,"2020年3月24日"在"2020年3月14日"十日后。一个事
  • 阴阳历阴阳合历,又称太阴太阳历,是为许多文化采用的历法,其日期采朔望月以指示月球的相位,年则与太阳相关,且一年的月数必须是整数。大多采用太阳年以回归年定义,也有采用恒星年定义者。
  • 绳(或称绳子或绳索),是通过扭或编等方式加强后,连成一定长度的纤维。其拉伸强度很好但没有压缩强度,可用来做连接、牵引的工具。传统的制绳采用天然纤维作材料,包括:棉、麻、亚麻、
  • 茅利塔尼亚毛里塔尼亚是非洲西部的国家,西濒大西洋,毗邻塞内加尔、西撒哈拉、马里共和国和阿尔及利亚,且为萨赫勒和马格里布的一部分。国内为辽阔而干燥的平原,面积1,030,700平方公里;地势
  • 从未完整统治全台湾土牛界线又称土牛、土牛沟或土牛红线,是由台湾清治时期普遍设置的界线。清朝政府采原汉隔离政策,承认原住民自治土地权,并有种种措施来防止汉人侵垦台湾原住民生活领域,时称“番
  • 埃及镑埃及镑(阿拉伯语:الجنيه المصرى‎)是埃及的流通货币。辅币单位是皮阿斯特及米利姆。1镑=100皮阿斯特=1000米利姆。下面列出了历史上一美圆可以兑换多少埃及镑(Egypt
  • 李 扬李扬可以指:
  • 南苏丹人权南苏丹的人权问题是一个极具争议的问题,部分原因是因为该国有着长期侵犯人权的历史。在2011年7月下旬,即南苏丹获得独立的几周后,总统萨尔瓦·基尔·马亚尔迪特对军队,警察,政府
  • 格列科韦德鲁格坐标:47°39′55″N 29°43′43″E / 47.66528°N 29.72861°E / 47.66528; 29.72861格列科韦德鲁格(乌克兰语:Грекове Друге),是乌克兰的村落,位于该国西南部敖德萨