合作协同进化算法概述(Cooperative Coevolution)

合作协同进化(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的值(子成分的大小)提供给算法,缺点较多)

另外用CC算法做大规模优化的论文数量有不少。因此要应用CC算法,关键在分解策略提出。

 

4 评论

  1. UP主您好,这么好的网站,怎么不继续更新了哇?我目前结合课题的应用背景,设计出多目标函数、决策变量及约束条件,适配到了原版的NSGA2算法中,并将帕累托前沿解集用评价算法重新筛选。
    不知道能否有机会跟您探讨一下融合改进算法的相关问题,期待您的回复!谢谢!

    • 您好,欢迎您对我工作的关注。不过现在我已经转了研究方向。欢迎用留言板和我讨论
      我的邮箱是noverfitting@gmail.com

  2. 请问有没有具体怎么实现大规模协同进化PSO问题维数分组的文章学习?

留下评论

您的邮箱地址不会被公开。 必填项已用 * 标注