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

  • 3
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
协同进化算法(Cooperative Coevolutionary Algorithm,简称CCEA)是一种解决问题的计算方法,其主要思想是将一个问题分成多个子问题,然后将每一个子问题分配给不同的个体去求解。CCEA在解决一些复杂问题的时候有着很好的效果,然而,在传统的CCEA中,每个个体所处理的子问题是相对独立的,这种处理方式可能会导致全局最优解的丢失,因此引入基于协同进化的优化方法可以避免这种情况的发生。 Matlab(Matrix Laboratory)是一种数学软件,主要用于科学计算、数据可视化以及数值分析等领域。Matlab可以对矩阵进行计算,可以进行图形绘制和数据分析,并且可以开发自己的程序。由于Matlab有着丰富的函数库和大量的工具箱,因此在科学计算和数据分析方面有着广泛的应用。 基于Matlab的协同进化算法(Cooperative Coevolutionary Algorithm based on Matlab,简称MATLAB-CCEA)可以将Matlab和CCEA技术结合起来,来解决一些复杂的问题,在MATLAB-CCEA中,每个个体可以通过传递信息来协同进化,这样可以避免出现子问题之间相互独立的情况,从而使得总体的性能有所提升并且有可能突破瓶颈。 总之,MATLAB-CCEA 是一种高效的计算方法,可以用来解决一些复杂的问题,如多目标优化问题及带约束问题,它的应用范围非常广泛,例如自动控制、电力系统、机械制造、通信工程等领域。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值