本文介绍我们在 GECCO 2026 的工作 Advancing CMA-ES with Learning-Based Cooperative Coevolution for Scalable Optimization。论文已被录用为 Oral,详见 ACM Digital Library。
从一个问题开始
大规模黑盒优化问题可能包含数千乃至数万个变量,广泛存在于工程设计、超参数优化和神经进化等任务中。随着问题维度增加,搜索空间快速膨胀,直接同时优化所有变量会变得十分困难。
协同进化(Cooperative Coevolution,CC)采用分而治之的思路缓解这一问题:首先将变量划分为多个规模较小的子组,分别优化各个子组,最后再将局部结果组合成完整解。
这套流程看似直接,但存在一个决定性能的关键问题:变量应该如何分组?
传统 CC 方法通常依赖专家设计的规则或历史统计表来选择分解策略。它们在已知问题上可能有效,却面临两个明显限制:
- 固定规则难以适应具有不同变量交互结构的未知问题;
- 精确检测变量关系往往需要额外的函数评估,而黑盒优化中的一次评估可能非常昂贵。
因此,我们尝试回答一个问题:
分解决策能否像其他序贯决策问题一样,从优化经验中学习,而不是完全依赖人工规则?
LCC:学习型协同进化
我们提出了 Learning-Based Cooperative Coevolution(LCC),将分解策略选择建模为马尔可夫决策过程(MDP),并使用近端策略优化(PPO)训练决策智能体。

在传统 CC-CMAES 中,分解策略由专家构造的历史统计表决定;在 LCC-CMAES 中,智能体读取当前优化状态,并从候选策略池中动态选择更合适的分解方式。
一次完整的决策与优化过程包括:
- 从训练问题集中采样问题并初始化种群;
- 根据当前种群和优化过程计算状态;
- LCC 智能体从策略池中选择分解策略;
- 按照所选策略将变量划分为多个子组;
- 使用 CMA-ES 分别优化各个子组并组合结果;
- 根据优化进展计算奖励,形成下一状态;
- 收集状态、动作和奖励轨迹,并使用 PPO 更新 Actor 与 Critic。
由此,LCC 在“状态观察—变量分解—子组优化—性能反馈”之间形成闭环,让分解方式能够随优化过程动态变化。

如何定义 MDP
强化学习能否有效,首先取决于状态、动作和奖励是否能够准确描述问题。
状态:智能体应该看到什么
LCC 的状态由三类信息组成。
全局优化信息(Global Optimization,GO) 包含 12 个特征,用于描述当前 CMA-ES 和全局搜索状态,例如优化进度与种群变化。
子组分解信息(Subgroup Decomposition,SD) 描述各个子组的统计属性,帮助智能体判断当前变量分组是否适合继续开发,或是否需要采用更具探索性的组合。
动作历史(Action History,AH) 记录各候选策略的选择次数、奖励变化以及全局最优解变化,为当前决策提供必要的时序上下文。
三部分信息最终拼接为一个 58 维决策向量。它既包含全局搜索阶段,也描述当前分组结构和历史策略效果。
动作:选择哪一种分解策略
我们在 LCC-CMAES 中构建了包含三种策略的候选池:
- 随机分解(RD):随机打乱变量并划分子组;
- 最小方差分解(MiVD):依据协方差矩阵对角元素进行排序,形成更偏向开发的分组;
- 最大方差分解(MaVD):采用相反方向的组合,形成更偏向探索的分组。
Actor 接收 58 维状态,输出三种策略的概率分布,并从中采样当前动作。Critic 使用相同状态估计期望累计回报,为 PPO 更新提供价值基线。
我们的目的并不是构造一个庞大的神经网络,而是验证:具有代表性的优化状态配合强化学习,能否替代人工设计的策略调度机制。

奖励:一次分解是否带来了进展
奖励衡量当前决策产生的适应度改进。我们计算前一步全局最优值到当前全局最优值的下降量,并使用初始最优值与已知最优值之间的差距进行归一化。
$$ r_t = \frac{f_{t-1}^{\ast} - f_t^{\ast}}{f_0^{\ast} - f^{\ast}} $$
其中,$f_{t-1}^{\ast}$ 和 $f_t^{\ast}$ 分别表示第 $t-1$ 步与第 $t$ 步的全局最优适应度,$f_0^{\ast}$ 是初始种群的全局最优适应度,$f^{\ast}$ 是该问题的已知最优值。对于最小化问题,若当前步骤取得改进,则分子为正;分母则将改进量归一化到相对于初始优化差距的尺度上。
这一设计减少了不同训练问题数值尺度的影响,使智能体能够在多个问题之间学习相对一致的“有效进展”。PPO 的目标则是在训练问题集合上最大化期望累计奖励。
实验:性能提升是否来自额外预算
我们首先在 CEC 2013 大规模全局优化基准上评估 LCC-CMAES。实验包含 15 个函数,并与 CC 类方法、CMA-ES 变体、MetaBBO 方法和 L-BFGS 等基线进行比较。每种算法独立运行 25 次,统计检验采用显著性水平为 0.05 的 Wilcoxon 秩和检验。
CEC 2013 LSGO 主实验结果。点击表格可查看完整尺寸。
相较于 CC-CMAES,LCC-CMAES 在 12 个函数上显著更优,在其余 3 个函数上没有显著差异。它在复杂重叠函数上的优势更加明显:面对更复杂的变量交互关系,动态调整分组策略比固定选择机制更具适应性。
更重要的是,这一性能并非来自额外的分解预算。LCC-CMAES 不需要为分解消耗额外函数评估;作为对比,CSG 和 FII 分别需要约 4.86 万次和 4520 次额外评估。LCC-CMAES 的时间开销也与 CC-CMAES 接近,并低于多种对比方法。
分解与优化过程的资源消耗对比。
这说明学习型调度能够更有效地利用已有优化预算,而不是简单地用更多评估换取更好结果。
迁移:策略是否只记住了训练问题
仅在训练基准上表现良好还不够。我们进一步关注学习到的策略能否迁移到未见问题。
未见的 BNS 基准
BNS 使用 4 个非加性可分基础函数构造 12 个具有不同可分程度的问题,用于模拟更复杂的变量关系。相较于 CC-CMAES,LCC-CMAES 在这一基准上取得 9 胜、2 平、1 负。
BNS 迁移实验结果。点击表格可查看完整尺寸。
神经进化任务
我们还在不进行额外训练的情况下,将策略应用于 4 个机器人控制神经进化任务。这些任务需要优化神经网络参数,维度从 800 多维到 2000 多维。相较于 CC-CMAES,LCC-CMAES 取得 3 次显著胜出和 1 次无显著差异。
四个机器人控制 Neuroevolution 任务的迁移结果。点击表格可查看完整尺寸。
这些结果说明,策略并非为每个训练函数记忆一张查询表,而是学习了根据当前优化状态选择分解方式的可复用知识。
消融实验告诉了我们什么

我们分别移除 GO、SD 和 AH 特征,性能均出现明显下降。这说明有效的分解决策同时依赖三个层面的信息:
- 当前全局搜索处于什么阶段;
- 变量子组呈现怎样的统计结构;
- 不同策略此前产生了怎样的效果。
奖励消融也表明,经过归一化的改进奖励比两个替代设计更加有效。换言之,LCC 的效果不仅来自使用 PPO,还来自对优化过程进行合理的状态和反馈建模。
局限与下一步
LCC 仍然是一次早期探索。当前候选策略池由人工预先给定,智能体学习的是策略调度,而非从零发现新的分解算子。未来值得继续研究两个方向。
第一,从“选择已有策略”进一步走向“从优化数据中发现问题结构”。如果智能体能够主动挖掘变量关系,分解过程将不再受限于固定策略池。
第二,在保持分解质量的同时降低结构识别成本。对于评估昂贵的黑盒问题,即使少量额外函数调用也可能不可接受,因此无评估或低评估成本的结构感知机制仍然非常重要。
总结
LCC 的核心想法可以概括为一句话:
学习如何分解问题,可以让协同进化更加自适应、更加节省评估资源,也更容易迁移到未知任务。
这项工作将协同进化中的分解策略从固定专家规则转化为数据驱动、依赖状态的序贯决策,为强化学习与大规模黑盒优化的结合提供了一个可行方向。
论文信息
- Title: Advancing CMA-ES with Learning-Based Cooperative Coevolution for Scalable Optimization
- Venue: GECCO 2026 Oral
- Official page: ACM Digital Library




