主要区别在于变异操作
1 算法思想不同
遗传算法(Genetic Algorithm),从名字可以直观看出,这是利用群体个体的基因,来进行交叉变异操作,来模拟生物进化演进的算法。
差分演化算法(Differential Evolution),从名字可以直观看出,这是利用种群个体之间的差异,来实行进化演进的算法。
2 算法流程不同
遗传算法流程:
初始化种群(即首先产生一批可行解) —> 从种群中选择部分较优解作为父母 —>父母根据交叉规则产生子辈 —>根据变异原则进行变异操作 —>新的种群生成(即一批新的解) —>循环直到最优解产生
注意:除当代最优解外,其余父母和子辈均参加变异操作
差分算法流程:
随机产生初始种群 —>计算初始种群中每个个体的目标函数值 —>进行变异操作 —>进行交叉操作 —> 对边界条件进行处理 —>进行选择操作 —>产生下一代新的种群 —>循环直到最优解产生
对比可以发现,差分和遗传的选择、交叉、变异操作顺序是不一样的。
3 差分进化引入的意义
遗传算法的变异操作,就是对个体的某个或某段基因进行随机变换,得到新的个体,也就是新的一组解。它的目的是通过生成新的解,