差分进化算法
差分进化算法(Differential Evolution Algorithm,DE)是一种高效的全局优化算法。它也是基于群体的启发式搜索算法,群中的每个个体对应一个解向量。
简单来说DE算法可用于求函数的极值点,例如:函数 的最小值点在,最小值为0。
差分进化算法对于不可导或者不连续也可以进行求解。
原理
这里只讲一下算法的思路,具体的细节可以在这里查看。
算法的主体分成4个步骤,下面以优化目标函数 求得最小值点为例:
1.初始化种群
这里需要确定的参数有:
种群大小,这表示种群中个体的个数,一般来说越大的值搜索到更优化的解的可能性更高,这里选取
每个个体(解)的维度,这是由目标函数决定的, 的输入有x1与x2两个参数,因此维度为2
以及解的搜索区间,这里限定