当前位置: 代码迷 >> 综合 >> An Improved Differential Evolution Algorithm for Unconstrained Optimization Problems
  详细解决方案

An Improved Differential Evolution Algorithm for Unconstrained Optimization Problems

热度:104   发布时间:2023-11-14 00:00:39.0

An Improved Differential Evolution Algorithm for Unconstrained Optimization Problems (用于无约束优化问题改进的差分进化算法 )

1.算法背景及策略:

传统差分演化(DE)算法具有过早收敛的倾向。 本算法提出了一种基于动态变异算子和反对学习策略的改进型DE。 这些机制可以扩大搜索范围,有助于平衡DE的探索和开发。

2.算法步骤:

(1)初始化随机生成种群,执行经典DE算法中的变异,交叉,选择操作

(2)动态变异算子:

高斯分布和柯西分布是随机变量的主要分布函数。当n趋于无穷大时,t分布趋于高斯分布。当n为1时,t分布变化为Cauchy分布。 T分布和柯西分布将平衡算法中的探索和利用。

构建以下变异算子:

kXij(t)=Xij(t)+1kρ,Xij(t)=Xij(t)+1kη,=2dj+NPi=1D(G(t)?Xi(t))NPXji(t)=Xji(t)+1kρ,Xji(t)=Xji(t)+1kη,k=2dj+∑i=1NPD(G(t)?Xi(t))NP

其中djdj是第j维间隔的长度,DGt?XitD(G(t)?Xi(t))是全局最优位置和第i个个体位置的欧几里德距离。 NPi=1D(G(t)?Xi(t))∑i=1NPD(G(t)?Xi(t))表示群体聚集水平,显然变异算子是动态的,随机选择三个个体适应性较差,经过变异算子更新,可以保持种群多样性,深入发展搜索区域,避免陷入局部最优。

(3)反向学习:

反向学习(OBL)经常被应用于许多最优算法。 OBL的主要思想是计算和评估可行解及其相反方向解。 选择更好的解决方案进入下一代。

XI=(xi1,xi2,?,xiND)XI=(x1i,x2i,?,xNDi)是搜索区域中的一个可行解,其中xj[aj,bj]xj∈[aj,bj],则反向点可以定义如下

x?ij=aj+bj?xij.x?ji=aj+bj?xji.

Xi=(xi1,xi2,?,xiND)Xi=(x1i,x2i,?,xNDi)是种群中的一个个体,Xi?=(xi?1,xi?2,?,xi?ND)Xi?=(x1i?,x2i?,?,xNDi?)是这个个体的优化值,反向解定义如下:

xi?j=k(daj+dbj)?xi?j,xji?=k(daj+dbj)?xji?,

k是随机数,[daj,dbj][daj,dbj]是第j维搜索区域的动态边界,daj=min(xij),dbj=max(xij).daj=min(xij),dbj=max(xij).

如果反向解超过搜索区域:xij=rand(aj,bj)  if  xij<aj  or  xij>bj,xji=rand(aj,bj)ifxji<ajorxji>bj,

这里写图片描述

(3)结论:1997年以来,提出了许多新的提出的DE算法。然而,其中大多数集中在选择适当的控制参数。 在本算法中提出了两种不同的方法来平衡DE算法的探索和利用。 动态变异算子和基于对立的学习与DE结合。实验执行效果比DE要好。

  相关解决方案