差分进化算法

✍ dations ◷ 2025-11-30 14:34:57 #数学最佳化,进化算法

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

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

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

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

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

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

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

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

相关

  • 隔离在医疗保健设施(英语:health care facilitiess)中的隔离是指为了达到感染控制(英语:infection control)的目的,需进行的多个方法之一:预防感染性疾病(英语:contagious disease)由患者身
  • 爱沙尼亚语爱沙尼亚语(eesti keel),中文也称爱沙尼亚文,是爱沙尼亚的国语,2012年约有120万人日常使用,属于乌拉尔语系的芬兰-乌戈尔语族,最接近芬兰语,这两种语言近似到可以相通的地步——至少
  • 林杰梁林杰樑(1958年6月30日-2013年8月5日)是台湾著名的肾脏科和毒理学医生,有“毒物科权威”之称,并且曾经在长庚大学医学院担任教授、于行政院卫生署担任顾问。林杰樑出生于中华民国
  • 华西街夜市坐标:25°02′19″N 121°29′55″E / 25.0385873°N 121.4985012°E / 25.0385873; 121.4985012华西街观光夜市位于台湾台北市万华区华西街,邻近香火鼎盛的艋舺龙山寺,被桂林
  • 约书亚·沃伦约书亚·沃伦(Josiah Warren,1798年-1874年)是美国的个人无政府主义者、发明家、和作家。他被广泛视为是美国的第一名无政府主义者,而他在1833年开始出版的期刊《The Peaceful Re
  • 评论员文章报刊的评论员文章是新闻评论中仅次于社论的重要评论,体现编辑部的立场、观点和态度。规格介于社论和短评之间,可分为署名“本报评论员”的“本报评论员文章”和署名“本报特约
  • 温妮·奥克塔温纳·坎道温妮·奥克塔温纳·坎道(印尼语:Winny Oktavina Kandow,1998年10月14日-),印尼女子羽毛球运动员。2017年4月,温妮·奥克塔温纳·坎道与里诺夫·里瓦尔迪出战大阪羽毛球国际挑战赛,在
  • 马齐马齐(满语:ᠮᠠᠴᡳ,穆麟德:,太清:;1652年-1739年),字秀水,富察氏,满洲镶黄旗人,清初重臣米思翰之子,荫生出身,清朝政治人物。康熙八年初任工部员外郎,历任山西巡抚、左都御史、兵部尚书、户
  • 太拉兆(英语:tera-),在大陆称作太拉,在台湾称作兆,是国际单位制词头,表示因数1012(1000000000000),符号为T。英语Tera源自古希腊语τέρας(teras),意为“怪兽”。
  • 物理学杂志A物理学杂志A:数学物理与理论物理(英语:),是由英国物理学会出版发行的一个学术性期刊,为《物理学杂志》系列中的一辑,主要领域为数学物理及理论物理学。