合作协同进化(Cooperative Coevolution)是求解大规模优化算法一个有效的方法。将大规模问题分解为一组组较小的子问题。而合作协同进化的关键是分解策略。
分解策略的分类:
①随机分解:随机选择基因的顺序,但是用户要决定组的数量和组的大小。
②扰动:使用若干方法扰动决策变量尝试对变量进行分组。
③模型建构:基于个体数量s的概率模型,在进化过程中迭代更新。
下面是CC算法不同的分解策略体现的论文:
Liu, X. Yao, Q. Zhao, and T. Higuchi, “Scaling up fast evolutionary
programming with cooperative coevolution,” in Proc. IEEE Congr. Evol.
Comput., 2001, pp. 1101–1108.(这是第一次解决1000维的基准问题采用的合作协同进化算法)
van den Bergh and A. P. Engelbrecht, “A cooperative approach to
particle swarm optimization,” IEEE Trans. Evol. Comput., vol. 8, no. 3,225–239, Jun. 2004.(这是第一个应用到PSO算法,将一个n维问题分成k-s维问题,没有在大规模的问题上测试过)
Shi, H. Teng, and Z. Li, “Cooperative co-evolutionary differential
evolution for function optimization,” in Proc. Int. Conf. Natural Comput.,
2005, pp. 1080–1088.(应用在差分进化算法中,决策变量被分成两个同样大小的子成分,不适合高维)
Yang, K. Tang, and X. Yao, “Large scale evolutionary optimization
using cooperative coevolution,” Inf. Sci., vol. 178, pp. 2986–2999,
Aug. 2008.(将问题分成k-s维问题,使用随机分组,在1000维上取得了很好的效果)
N. Omidvar, X. Li, Z. Yang, and X. Yao, “Cooperative coevolution
for large scale optimization through more frequent random
grouping,” in Proc. IEEE Congr. Evol. Comput., Jul. 2010,1754–1761.(修正的CPSO随机分组方案,达到2000维)
N. Omidvar, X. Li, and X. Yao, “Cooperative co-evolution with delta
grouping for large scale non-separable function optimization,” in Proc.
IEEE Congr. Evol. Comput., Jul. 2010, pp. 1762–1769.(增量分组策略,当目标函数存在不可分子成分时性能低)
Yang, K. Tang, and X. Yao, “Multilevel cooperative coevolution
for large scale optimization,” in Proc. IEEE Congr. Evol. Comput.,
Jun. 2008, pp. 1663–1670.(MLCC算法,一组不同s的值(子成分的大小)提供给算法,缺点较多)