先回顾一下基础的遗传算法:
用种群中的个体代表每个解,搜索空间代表当前解集。由适应度函数恒量解的优劣在亲代和子代之间进行选择得到新的解集,子代解的产生来自于双亲并有概率发生变异。一直迭代下去直到满足符合条件的解产生(一般在实现过程中,我们会限制迭代上限)。
差分进化算法:在基础的遗传算法的参数NP(population size)、CR(crossover rate)上多了F(differential rate)
区别在于产生子代个体的mutation strategy,选择三个亲代a,b,c通过给定的方程得出子代y:
SHADE 基于成功历史的适应性差分遗传:基于成功历史:有一个archive A来保存被替换的亲代(降低算法的完全随机性,使其向着成功案例进化,个人理解),适应性指的是参数自适应,同样的对于参数CR,F也有一系列的生成和存储方式,使得结果比固定参数更好。
SHADEILS:结合局部搜索,利用其exploitation的特性结合DE算法的exploration特性以求在更少的迭代次数更短的时间内达到最优解。(DE负责大范围搜索,LS负责小范围查找)
根据参数对子代更新的贡献来更新参数