论文研读-元启发式算法的平移、缩放和旋转不变变异算子的设计原则

发布于:2025-02-11 ⋅ 阅读:(92) ⋅ 点赞:(0)

论文研读-元启发式算法的平移、缩放和旋转不变变异算子的设计原则

  • 更多内容请关注许志伟课题组官方中文主页:https://JaywayXu.github.io/zh-cn/
  • 分享一篇由田野老师、张兴义老师、何成老师、KC老师、金耀初老师发表在电子学报英文版上的论文。与大家一起学习,欢迎讨论以及批评指正。
  • Tian Y, Zhang X, He C, Tan K C, Jin Y. CIE, 2023. Principled design of translation, scale, and rotation invariant variation operators for metaheuristics[J]. Chinese Journal of Electronics, 2023, 32(1): 111–129.
  • 仅供学术分享, 相关课题最新进展欢迎访问BIMK-platemo官方主页:https://github.com/BIMK/PlatEMO

1. 引言

1.1 元启发式算法的重要性

元启发式算法(Metaheuristics)广泛应用于复杂优化问题的求解,其性能和搜索行为在很大程度上依赖于核心的变异算子(Variation Operators)。这些算子的设计通常受到自然现象的启发,并在多种优化场景中表现出显著的适应性。例如:

  • 遗传算法(GA)
    基于进化理论和遗传定律设计,主要通过父代个体的交叉操作和后代个体的变异操作生成新解。交叉和变异算子为 GA 提供了强大的探索能力,使其在多模态问题上表现优异【16】【17】。

  • 差分进化(DE)
    利用两个解的加权差分实现变异,对处理复杂变量耦合问题表现出色【18】。

  • 协方差矩阵适应进化策略(CMA-ES)
    基于种群学习多变量正态分布模型,动态采样新解,在众多实际优化问题中展现了卓越性能【19】。

  • 粒子群优化(PSO)
    模拟鸟群行为,将个体历史最佳和全局最佳结合,用于粒子位置更新,从而实现快速收敛【20】。

尽管现有变异算子在各自领域展现了不同的优势,但它们的性能和适应性往往受到优化问题特性或搜索空间特性的限制,这显著影响了算子的鲁棒性和泛化能力。

1.2 当前变异算子面临的问题

元启发式算法的鲁棒性和广泛适应性依赖于变异算子对 搜索空间的独立性(Search Space Independence)。搜索空间独立性要求算子在以下搜索空间变换下保持一致的性能:

  • 平移变换 ( x ′ = x + b x' = x + b x=x+b):算子在问题空间平移时性能不受影响。
  • 尺度变换 ( x ′ = a x x' = ax x=ax):算子在问题空间尺度变化时保持一致性。
  • 旋转变换 ( x ′ = x M x' = xM x=xM):算子在问题空间旋转时保持稳定性。

当前的研究对如何实现这些不变性特性提供了一定的理论支持:

  • CMA-ES 通过步长与当前最优解的距离成比例实现了平移不变性【21】。
  • DE 的变异算子采用多父代加权求和,因此满足旋转不变性【22】。

然而,这些研究依然存在以下关键痛点:

  1. 缺乏系统性理论定义
    尚未有数学上严格的定义来描述算子如何实现平移、尺度和旋转不变性。

  2. 缺乏充分必要条件
    当前研究未能明确提出实现这些不变性特性的充分和必要条件,导致无法从理论上分析算子是否具备这些属性。

  3. 设计依赖于经验
    当前变异算子的设计多基于领域专家的经验,缺乏系统性和自动化的方法。这种设计方式限制了算子的鲁棒性和泛化能力。

1.3 研究目标

为了解决上述挑战,本文提出了一种系统化的框架 AutoV,以理论和实践相结合的方式克服现有变异算子设计中的局限性:

理论目标

  1. 系统性地定义变异算子在平移、尺度和旋转变换下不变性的数学表达。
  2. 提出实现这些不变性特性的充分必要条件,为算子设计提供理论依据。

实践目标

  1. 构建一个自动化算子设计框架 AutoV,将算子设计问题转化为参数优化问题,通过进化算法生成高性能的变异算子。
  2. 在设计过程中显式地融入不变性要求,确保生成的算子在多种搜索空间变换下表现稳定。

验证目标

  1. 通过实验验证所生成算子在多模态、大规模优化问题上的适应性和鲁棒性。
  2. 比较 AutoV 生成的算子与经典变异算子的性能,证明其有效性和广泛适用性。

2. 理论背景与不变性条件

在第二节中,作者通过数学推导给出了变异算子满足平移、缩放和旋转不变性所需的条件,并定义了这些不变性属性的数学形式。这为后续算子设计提供了理论基础。

2.1 平移不变性

平移不变性解释

根据定义 1,平移不变性要求:
h ( x 1 d + b , x 2 d + b , … ) = h ( x 1 d , x 2 d , … ) + b h(x_{1d} + b, x_{2d} + b, \ldots) = h(x_{1d}, x_{2d}, \ldots) + b h(x1d+b,x2d+b,)=h(x1d,x2d,)+b
即,当搜索空间发生平移(所有父代解加上一个常数偏移量 b b b)时,变异算子的输出也只受到 b b b的平移影响,而保持不变的相对差异。这一性质确保了算子对解的绝对位置不敏感。

现有算子的平移不变性

以下算子具有平移不变性:

  • SBX(Simulated Binary Crossover)
    通过模拟二元交叉的方式生成后代,不依赖解的绝对位置,因此满足平移不变性。

  • DE(Differential Evolution,差分进化)
    DE 的变异算子依赖于父代解的差分进行操作(如 x 1 d + F ⋅ ( x 2 d − x 3 d ) x_{1d} + F \cdot (x_{2d} - x_{3d}) x1d+F(x2dx3d)),完全消除了绝对位置的影响。

  • CMA-ES(Covariance Matrix Adaptation Evolution Strategy)
    CMA-ES 的步长调整和种群更新基于分布中心,独立于搜索空间的绝对位置。

  • FEP(Fast Evolutionary Programming)
    FEP 通过分布采样和变异机制生成后代解,不依赖父代解的绝对位置,因此满足平移不变性。

2.2 缩放不变性

缩放不变性解释

根据定义 2,缩放不变性要求:
h ( a ⋅ x 1 d , a ⋅ x 2 d , … ) = a ⋅ h ( x 1 d , x 2 d , … ) h(a \cdot x_{1d}, a \cdot x_{2d}, \ldots) = a \cdot h(x_{1d}, x_{2d}, \ldots) h(ax1d,ax2d,)=ah(x1d,x2d,)
其中, a a a为任意非零常数。这意味着,当搜索空间的尺度发生变化(所有决策变量被乘以相同的比例 a a a)时,变异算子的输出应当同比例缩放,而不会受到其他影响。这一特性确保算子在不同尺度的搜索空间中具有一致的表现。

现有算子的缩放不变性

以下算子具有缩放不变性:

  • SBX(Simulated Binary Crossover)
    SBX 的变异过程基于父代解的相对差异,比例缩放不影响其结果。

  • DE(Differential Evolution,差分进化)
    DE 的变异算子通过父代解的差分计算变异,比例系数 F F F是常数,因此具有缩放不变性。

  • CMA-ES(Covariance Matrix Adaptation Evolution Strategy)
    CMA-ES 中的步长调整与当前种群分布的尺度成正比,且均值向量更新基于归一化权重,从而满足缩放不变性。

不具有缩放不变性的算子
  • FEP(Fast Evolutionary Programming)
    FEP 的步长未与决策空间的尺度成比例关联,因此其变异算子不满足缩放不变性。

2.3 旋转不变性

旋转不变性解释

根据定义 3,旋转不变性要求:
h ( x 1 M , x 2 M , … ) = h ( x 1 , x 2 , … ) M h(x_1M, x_2M, \ldots) = h(x_1, x_2, \ldots)M h(x1M,x2M,)=h(x1,x2,)M
其中, M M M为任意正交矩阵。这意味着,当搜索空间发生旋转变换(每个决策向量与正交矩阵 M M M相乘)时,变异算子的输出会同步旋转,但其内在关系保持不变。这一特性确保算子在旋转搜索空间时的表现一致性。

现有算子的旋转不变性

以下算子具有旋转不变性:

  • DE(Differential Evolution,差分进化)
    DE 的变异算子依赖父代解之间的差分项(如 x 2 − x 3 x_2 - x_3 x2x3),这一差分项在旋转后仍然保持正确的方向关系。根据公式(17)和(18),DE 的变异算子满足:
    h de ( x 1 M , x 2 M , x 3 M ) = h de ( x 1 , x 2 , x 3 ) M h_{\text{de}}(x_1M, x_2M, x_3M) = h_{\text{de}}(x_1, x_2, x_3)M hde(x1M,x2M,x3M)=hde(x1,x2,x3)M
    因此,DE 是 旋转不变 的。
不具有旋转不变性的算子

以下算子不具有旋转不变性:

  • SBX(Simulated Binary Crossover)
    SBX 的变异算子形式为:
    h sbx ( x 1 , x 2 ) = x 1 + ( x 2 − x 1 ) B h_{\text{sbx}}(x_1, x_2) = x_1 + (x_2 - x_1)B hsbx(x1,x2)=x1+(x2x1)B
    其中 B B B为一个标量,因此其更新仅依赖于特定方向上的差分,不能保持旋转后的差分关系。

  • CMA-ES(Covariance Matrix Adaptation Evolution Strategy)FEP(Fast Evolutionary Programming)
    CMA-ES 和 FEP 的更新方式均依赖于种群或决策空间的具体方向分布,而非决策变量间的内在相对关系,因此不满足旋转不变性。

3. 旋转-缩放-平移 不变算子的一般范式

平移、缩放和旋转不变性算子的条件

根据定理 3,一个连续可微的变异算子同时具有 平移不变性缩放不变性旋转不变性 的充要条件为其满足以下形式:
h ( x 1 d , x 2 d , … ) = r 1 x 1 d + r 2 x 2 d + r 3 x 3 d + … h(x_{1d}, x_{2d}, \ldots) = r_1 x_{1d} + r_2 x_{2d} + r_3 x_{3d} + \ldots h(x1d,x2d,)=r1x1d+r2x2d+r3x3d+
其中:
- r 1 , r 2 , r 3 , … r_1, r_2, r_3, \ldots r1,r2,r3,为任意实数常数。

  • 权重 r 1 + r 2 + r 3 + … = 1 r_1 + r_2 + r_3 + \ldots = 1 r1+r2+r3+=1

这一公式体现了算子的线性组合形式,同时约束了权重的归一化性质,从而确保其在不同搜索空间变换下的鲁棒性。

结论与推论

根据定理 3,可以推导出以下结论:

  1. 缩放不变性
    任意满足公式 (61) 的算子都具有缩放不变性。

    • 原因:算子输出是父代解的加权和,权重满足归一化条件,输出与输入的尺度变化成正比。
  2. 缩放和平移不变性
    如果权重满足 r 1 + r 2 + r 3 + … = 1 r_1 + r_2 + r_3 + \ldots = 1 r1+r2+r3+=1,则算子同时具有缩放和平移不变性。

    • 原因:加权和的归一化消除了偏移对算子的影响。
  3. 缩放和旋转不变性
    如果 r 1 , r 2 , r 3 , … r_1, r_2, r_3, \ldots r1,r2,r3,为常数(即不依赖于搜索空间的方向或位置),则算子同时具有缩放和旋转不变性。

    • 原因:权重的常数性质确保算子在旋转变换后的输出与原始方向一致。

4. 旋转-缩放-平移 不变算子的设计原则

4.1 变异算子参数化

在第 4.1 节中,作者系统地提出了参数化变异算子的设计方法,并结合公式 (69) 和公式 (70) 详细说明了如何通过优化随机化的权重参数和引入多参数集,生成鲁棒性强、性能优越的变异算子。以下是该节的核心内容分析。

公式 (69):随机化变异算子

公式 (69) 是 AutoV 提出的核心变异算子的随机化表达形式:

h ( x 1 d , … , x t d ) = ∑ i = 1 t r i x i d , s.t. ∑ i = 1 t r i = 1 , r i ∼ N ( μ i , σ i 2 ) h(x_{1d}, \ldots, x_{td}) = \sum_{i=1}^{t} r_i x_{id}, \quad \text{s.t.} \quad \sum_{i=1}^{t} r_i = 1, \quad r_i \sim \mathcal{N}(\mu_i, \sigma_i^2) h(x1d,,xtd)=i=1trixid,s.t.i=1tri=1,riN(μi,σi2)

公式 (69) 的设计思想
  1. 随机化权重分布

    • 权重 r i r_i ri被定义为服从正态分布的随机变量:
      r i ∼ N ( μ i , σ i 2 ) r_i \sim \mathcal{N}(\mu_i, \sigma_i^2) riN(μi,σi2)
      - μ i \mu_i μi:权重的均值,表示变异算子的主要方向。
      - σ i \sigma_i σi:权重的标准差,表示随机化程度。
    • 随机化引入了变异算子的多样性,使其能够在搜索过程中生成多样化的解,提升搜索效率并增强跳出局部最优的能力。
  2. 约束条件

    • 权重 r i r_i ri满足归一化约束:
      ∑ i = 1 t r i = 1 \sum_{i=1}^{t} r_i = 1 i=1tri=1
      这一条件保证了变异算子符合公式 (61) 的理论要求,从而满足 平移不变性缩放不变性旋转不变性
  3. 优化目标

    • 算子的设计被转化为优化正态分布参数 μ i \mu_i μi σ i \sigma_i σi的问题。
    • 通过优化这些参数,公式 (69) 能够生成符合不同搜索场景需求的变异算子。
公式 (69) 的意义
  • 提升鲁棒性:随机化权重分布允许算法适应不同的优化问题,特别是在复杂和多模态搜索空间中。
  • 性能平衡:通过随机采样,公式 (69) 能够在理论不变性要求和实际性能需求之间找到平衡点。
  • 理论与实践结合:在数学上满足公式 (61) 的充分必要条件,同时在实践中通过优化参数实现灵活性。
公式 (70):多参数集矩阵表示

公式 (70) 进一步扩展了公式 (69),通过引入 多参数集 的二维矩阵表示,提升算法的多样性与性能适应性:

[ μ 11 , σ 11 , μ 12 , σ 12 , … , μ 1 t , σ 1 t , p 1 μ 21 , σ 21 , μ 22 , σ 22 , … , μ 2 t , σ 2 t , p 2 ⋮ μ k 1 , σ k 1 , μ k 2 , σ k 2 , … , μ k t , σ k t , p k ] \begin{bmatrix} \mu_{11}, \sigma_{11}, \mu_{12}, \sigma_{12}, \ldots, \mu_{1t}, \sigma_{1t}, p_1 \\ \mu_{21}, \sigma_{21}, \mu_{22}, \sigma_{22}, \ldots, \mu_{2t}, \sigma_{2t}, p_2 \\ \vdots \\ \mu_{k1}, \sigma_{k1}, \mu_{k2}, \sigma_{k2}, \ldots, \mu_{kt}, \sigma_{kt}, p_k \end{bmatrix} μ11,σ11,μ12,σ12,,μ1t,σ1t,p1μ21,σ21,μ22,σ22,,μ2t,σ2t,p2μk1,σk1,μk2,σk2,,μkt,σkt,pk

矩阵设计的核心思想
  1. 参数集的多样性

    • 矩阵中的每一行代表一个参数集(parameter set),即一组用于生成变异算子的正态分布参数。
      - μ j i \mu_{ji} μji σ j i \sigma_{ji} σji:分别表示第 j j j个参数集第 i i i个权重的均值和标准差。
      - p j p_j pj:表示选择第 j j j个参数集的概率。
  2. 动态选择机制

    • 通过轮盘赌选择方法(roulette-wheel selection)按 p j p_j pj概率选择一个参数集。
    • 选定的参数集决定变异算子权重的分布,从而动态适应不同优化需求。
  3. 多样化搜索行为

    • 每个参数集对应不同的搜索行为(如全局搜索、局部搜索或特定方向性搜索),从而提升算法的灵活性与适应性。
矩阵设计的意义
  • 旋转不变性与性能平衡

    • 在某些场景下,严格的旋转不变性可能限制搜索灵活性。
    • 多参数集设计允许算法在不同权重配置之间切换,实现不变性与性能的平衡。
  • 增强鲁棒性

    • 通过动态选择不同参数集,减少算法陷入局部最优的风险。
  • 优化问题的转化

    • 算子设计问题被转化为矩阵中所有参数( μ j i , σ j i , p j \mu_{ji}, \sigma_{ji}, p_j μji,σji,pj)的优化问题,通过进化算法优化这些参数,生成高性能算子。
公式 (69) 和 (70) 的协同作用
  • 公式 (69) 提供了随机化的变异算子模型,通过优化正态分布的参数生成具有理论不变性要求的算子。
  • 公式 (70) 将随机化模型扩展为多参数集矩阵,进一步增强了算法在复杂优化问题中的适应性与鲁棒性。

4.2 AutoV算法流程

算法流程

算法伪代码

  • 进化算子的搜索整体遵循遗传算子。比较有趣的是图中标红的区域,即 “如何评价进化算子”,“如何生成新的进化算子”

评价生成的进化算子

  • 重复运行优化算法多次,其中优化算法中的个体变异算子使用算法1中的进化算子。取多次运行的最佳个体的适应度函数值的中位数作为进化算子的评价指标。具体伪代码如算法2所示。
    生成进化算子评价方法

如何生成进化算子

  • 由于本文提出的就是一种进化变异算子,因此其中的参数矩阵-公式(70)所示,可以由当前的,进化得到的最佳的进化算子-即当前世代的公式(70)中的矩阵按照公式(71)中的进化方式代入到公式(69)中对当前进化算子进行进化-即 自己进化自己
    参数矩阵

五种进化方式

代入生成公式


网站公告

今日签到

点亮在社区的每一天
去签到