引入局部搜索策略的差分进化算法

局部搜索算法是从一个初始解X出发,然后不断地在X的领域内搜索比X更好的解X’。如果找到比X更好的解,就用X’代替X,继续局部搜索;否则搜索结束。

引入局部搜索策略的差分进化算法的基本原理是在每一代中用DE搜索到的最佳个体Xbest,在Xbest的附近再进行k次局部搜索,得到k个个体,找到这k个个体中适应度最佳的个体Xkbest,若Xkbest适应度比Xbest更优,则用Xkbest替代Xbest,否则直接返回。在Xbest附近进行局部搜索用公式表示如下:

Xk = Xbest + NormalRand(0,1)

式中NormalRand(0,1)为均值为0,方差为1的正态分布随机数。

除了采用上式来进行局部搜索的方式外,我们还可以使用选择群体中最优的3个个体进行单纯形局部搜索,当然执行这种局部搜索的方式除了用在每个进化代都执行k次的方式还可以增加了个局部搜索策略执行概率pLS,只有当rand() < pLS时搜索局部搜索策略。

通常情况下引入局部搜索策略的差分进化算法有更佳的收敛速度。



前一篇:自由搜索算法

后一篇:遗传算法介绍

发表评论

You must be logged in to post a comment.