首页 > 编程知识 正文

差分进化算法python,自适应变异粒子群算法

时间:2023-05-03 19:02:11 阅读:147716 作者:2315

DE算法综述

differentialevolution(DE )由Storn等人于1995年提出,与其他进化算法一样,de是模拟生物进化的随机模型,通过反复操作保存适应环境的个体。 但与进化算法相比,DE保持了基于种群的全局搜索策略,采用了基于实数编码、差分的简单变异操作和一对一竞争生存策略,降低了遗传操作的复杂性。 同时,凭借DE特有的存储能力,可以动态跟踪当前搜索情况和调整搜索策略,具有较强的全局收敛能力和鲁棒性,适用于求解不需要利用问题特征信息,常规数学规划方法无法求解的复杂环境中的优化问题。

DE算法主要用于求解连续变量的全局优化问题,其主要工作步骤与其他进化算法基本一致,主要有变异(Mutation )、交叉(Crossover )、选择(Selection )三种操作算法的基本思想是从某个随机发生的初始群体中,利用从种群中随机选出的两个个体的差向量作为第三个个体的随机变化源,对差向量进行加权并按照一定的规则与第三个个体相加产生变异个体然后,变异个体将某个预先决定的目标个体与参数混合,生成试验个体的过程称为交叉。 当试验个体的适应度值优于目标个体的适应度值时,在下一代中试验个体将被目标个体取代,否则目标个体将被保存,该操作称为选择。 在每一代进化过程中,每个体向量作为目标个体一次,算法通过不断迭代计算,留下优良个体,淘汰劣质个体,引导搜索过程接近全局最优解。

DE和GA的关系

差分进化算法相对于遗传算法,共同点都是随机生成初始种群,以种群中每个个体的适应度值作为选择准则,主要过程也包括变异、交叉、选择三个步骤。 不同的是,遗传算法是基于适应度的值来控制亲杂交,变异后产生的子代被选择的概率的值是,在最大化问题中选择适应度较大的个体的概率相应变大。 另一方面,从母个体的差分向量生成差分进化算法的变异向量,与母个体向量相交生成新的个体向量,直接与母个体选择。 显然差分进化算法对遗传算法的近似效果更明显。

DE算法流程图

算法详细信息

算法伪代码

参考资料

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。