进化计算(Evolutionary Computation, EC)
传统优化方法利用确定性的规则(如,求导)进行优秀解的搜寻,容易达到局部最优;而EC算法利用一个分布在解空间各处的点群(其中,每个点都是原问题的一个候选解)进行搜索,每一代都会产生新的点,这些不同的点的搜索可以搜寻更大的空间,降低了陷入局部最优的可能性,交叉、变异这些遗传操作有效提升了并行搜索能力,使得搜索点可以直接从一个高维空间区域跳转到另一个区域。事实上,EC使用的是基于概率的转换规则而并非完全随机的转换规则,例如,复制、选择操作通常选择的是群体中适应度值高的个体。对于问题参数的编码,经常是将其编码为固定长度的二进制串,串长度决定着参数变化的范围和需求的解精度。
EC和传统搜索方法和优化方法的不同之处主要在于:
- EC在潜在解的点群中进行搜索;
- EC使用直接的**“适应度”信息**来替代传统方法中的导数或其他相关信息;
- EC使用随机性而并非确定性的转换规则;
- EC对问题参数进行编码,而不是直接使用参数本身等。
EC的主要步骤
1.种群初始化;
2.计算种群中每个个体的适应度值;
3.选择个体进行复制产生下一代种群;
4.执行进化操作(如交叉、变异等);
5.跳转到第 2 步直到达到终止条件。