基础-差分进化算法

全局优化、启发式搜索

同等条件下DE的收敛速度、精度能比遗传算法、粒子群算法好。

可以做什么?搜索极值、搜索超参数、NAS、搜索网络权重。

step1:初始化种群

size,种群大小,越大,搜索到更优解的可能性更高
dimension,个体(解)维度
(min,max)解的搜索区间

step2:变异个体

变异, n = a + F*( b-c)
F,缩放因子,F越大,越不易陷入局部极值;F越小,有利于收敛到局部极值。
得到size个变异个体。

step3:交叉

原size个种群,与size个变异种群进行交叉重组,(eg,原 n=(-0.7,0.7),变异 n= (0.9,-0.6),则-0.7有CR概率变成0.9,0.7有CR概率变成-0.6),得到新变异种群。代码中常随机固定某维数值不发生替换,防止“无效交叉”。

step4:选择

由目标函数值(适应度函数)选出更优的作为下一次迭代的原始种群。

 

posted @ 2022-07-08 22:40  JuneFall  阅读(135)  评论(0)    收藏  举报