References

  • Speaker: Zhang Jin (Southern University of Science and Technology, China)
  • Date: July 06, 2026

1. Introduction to Bilevel Programming

1.1 Basic Problem Formulation

考虑一般的 Bilevel Programming 问题, 其形式为:

其中

  • 是上层决策变量, 在博弈论中为 leader; 为下层决策变量, 在博弈论中为 follower.
  • 是下层优化问题 , 其可行域为 , 为某种下层约束.
  • 在上层 决策时, 下层的反应是已知的 (数学上即已知下层 的最优解集 ). 并且最终的目标函数 也依赖于下层的决策变量 .
  • 若不加特别说明, 暂时假设 均为光滑的.

1.2 Single-level Reformulation Intuition

若下层问题 的解对于每个给定的 都是唯一的, 则可以将其记为 , 并且此时双层问题可以被简化为一个单层优化问题:

  • 例如考虑如下的双层问题: 这里若假设 对于 是凸且光滑的, 则 唯一且满足 . 因此, 双层问题可以被简化为单层问题:

1.3 Optimistic vs. Pessimistic BP

然而在非凸甚至更一般的情况下, 解的非唯一性会给问题的求解带来麻烦: 当下层问题有多个最优解时, 其对于 的最优性是相等的, 然而对于上层问题来说则可能有很大差别. 因此根据不同的假设, 双层问题可以被分为两类:

  • Optimistic BP: 在下层问题有多个最优解时, 上层决策者假设下层会选择对上层最有利的解 (该假设相对好处理, 这里也主要讨论这种情况), 即:
  • Pessimistic BP: 相当于 worst-case 的假设, 即下层会选择对上层最不利的解, 然后讨论这个 worst-case 下的最优解:

2. Single-level Reformulation: Lower Level Unconstrained

首先考虑下层问题没有约束的情况:

其中 是下层问题 的最优解集, 即:

2.1 First-order Approach and Implicit Function Reformulation

即使 是单点集能够转化为单层问题, 其往往也需要一些进一步的条件才能让问题变得可解.

  • 例如, 通常需要 是 Lipschitz 连续的. 则需要满足以下条件:
    • LICQ: 下层问题的约束 是 LICQ 的. 即在可行点 处, 活跃约束 (即 ) 的梯度向量是线性无关的. 这保证了 KKT 的乘子是唯一的.
    • Strong SOSC: 对于下层问题的 Lagrange 函数 , 若 是给定 处的一个 KKT 点, 则 SOSC 要求: 对所有 的活跃约束的梯度向量 , 其正交的空间上, Hessian 是正定的. 即对任意方向向量 , 若 且 , 则应有 . 这保证了 KKT 方程组关于 的 Jacobian 在 处是非奇异的.
  • 当上述连续性条件满足时, 对于单层优化问题, 可以通过 Implicit Function Theorem 来求外层目标 关于 的导数. 首先根据得到的梯度等式关系, 有 因此可以得到: 故最后有:

2.2 Failure in the Nonconvex Case: Mirrlees’ Example

若在非凸问题上, 仍同样使用 来替代下层问题的最优性条件, 则可能无法得到正确的最优解 (尽管在实践中这一做法往往是十分诱人且常见的).

Example (Mirrlees’ Problem). 考虑如下的具体优化问题

  • 求解这个下层目标函数关于 的一阶导数并令之为零, 得到如下方程:

    • 换言之, 这条曲线上的点都是下层问题的 stationary points.
  • 下图展示的是下层问题 的 contour 图, 其中红色曲线表示 的点. 可以观察到, 在 和 附近有两条 ‘峡谷’, 分别对应着下层问题可能的最优解.

  • 然而, 尽管图中的几个点都是 stationary points, 但 pt1 和 pt2 都不是下层问题的最优解, pt3 和 BP optimal solution 才是下层问题的最优解. 因此, 若直接使用 来替代下层问题的最优性条件, 则可能会得到错误的最优解.

  • 换言之, 如果按照 SP 问题直接用一阶条件来分析, 整条红色曲线都是可行的, 其并不区分局部/全局最小, 甚至局部最大. 然而如果真的考虑原始的 BP 问题, 则可行集只是红色曲线中的子集. 如果真正的答案真的发生在跳变的位置, 则 SP 就会错误地进行光滑化, 甚至可能会得到错误的最优解.

  • 并且这里指出, 即使上文的 LICQ + 强 SOSC 性质得到满足, 其衡量的仍然只是局部的微分几何性质, 并不能保证全局的最优性. 因此在该例中, 仍然无法保证 的点就是下层问题的最优解.

mirrlees_contour

2.3 Value Function Reformulation

从前面的例子可以看到, 即使下层问题解唯一, 通过隐函数的方法也并不总能得到正确的最优解. 因为在非凸等几何复杂的情况下, 上述的最优性条件等通常考虑的都是局部的性质, 并不能保证全局的最优性. 因此, 另一种常用的处理方法是通过引入下层问题的 value function 来 reformulate 双层问题. 这是一种全局的操作.

2.3.1 Definition of Value Function

考虑同样的 BP 问题:

  • 其中 是下层问题的可行域.

定义下层问题的 value function 为:

  • 其中 可以在全空间取值.

则可以根据 value function 定义下面的 BP 问题的等价问题:

  • 其等价性是因为: 根据 的定义, 对于所有 都成立, 因此 等价于 , 即 是下层问题的最优解.
  • VP 方法把全局最小的要求直接通过引入一个新的函数的方式添加到约束中. 区别于前面通过一阶条件来替代下层问题的一阶必要性条件, VP 的刻画是全局的.

为进一步分析 VP 问题, 需考察约束 的梯度.

  • 从简单情况开始. 若 是单点集, 则 . 因此有: 其中第二个等号是因为 是下层问题的最优解, 因此 .
  • 扩展到非单点集, 则 的梯度 (这里是广义 Clarke subgradient) 可以通过 Danskin 定理来计算, 结果为:
    • 其中 表示凸包. 换言之, 的梯度是所有下层最优解的梯度的凸包.
  • 因此最终的梯度为: 若写紧凑些, 则有:
    • 这表示, 把整个梯度向量 的 部分减去 的所有可能的梯度, 而 部分保持不变.

2.3.2 Problems of VP

然而这样的 reformulation 也带来了一些新的问题:

  1. 尽管下层目标函数 本身是光滑的, 然而 并不一定是光滑的. 例如下图是 Mirrlees 问题中 的图像, 可以看到其存在着 kinks, 即不可微的点.

    20260708230728

  2. 即使 以及其余所有的函数都是光滑的, VP 问题对应的 MFCQ 要求仍然不被满足. 换言之, 这里的 KKT 乘子可能是退化的.

    • 回顾 MFCQ 定义. 若其成立, 需要有一个方向 使得 对于所有活跃约束 都成立. 因此立刻得到 .
    • 然而对于 VP 问题的任意可行解 , 其必满足 , 即 是下层问题的最优解. 因此 Clarke subgradient 必然有 , 因此 MFCQ 对于 VP 中任意可行点均不成立.

如果不考虑 MFCQ, 直接形式上写出 VP 问题的 KKT 条件, 则有:

将其按分量展开:

  • 其中第二个等式是因为 是下层问题的最优解, 因此 . 因此在该方向上, 乘子 对于 的影响是消失的. 这也就是 MFCQ 不成立的直观体现.

2.4 Combined Reformulation

综上, Value function 方法和 Implicit function 方法在实践中都会各自遇到问题导致求解困难. 因此考虑将二者结合起来, 得到 combined reformulation. 其形式为:

尽管在约束层面, 对于任意的可行点 , 都是自动成立的, 然而通过额外引入的约束, 会给 KKT 系统带来新的乘子.

  • 对于不等式约束 , 其对应的 KKT 乘子为 ;
  • 对于等式约束 , 其对应的 KKT 乘子为 且无符号限制.

因此标准的 Lagrangian 平稳条件为:

  • 其中 中由于包含非光滑的 , 因此使用了 Clarke subgradient, 也就是刚才提到的 .
  • 可以进一步展开为: .

若将上述平稳条件分别按分量 和 展开, 则有:

  • 这里发现在 分量上, 由于引入了 的约束, 因此 不再消失, 而是对 KKT 系统产生了影响. 这也就是 combined reformulation 的优势所在.

Combined Reformulation with Second-order Condition (CP-SOC)

特别指出, CP 问题的 KKT 平稳条件在 分量上的表达式的成立

事实上暗含假设 . 因此正如 combined reformulation 时在做的事情, 我们可以通过引入事实上恒成立的约束显式地添加到约束问题中, 在不改变原问题的可行集的情况下, 引入新的乘子, 避免 KKT 系统的退化.

故定义 CP-SOC 问题为:

通过引入 的约束, 可以引入新的乘子, 给 KKT 系统带来新的自由度. 不难看出, 上述问题有如下推导关系:

3. Single-level Reformulation: Lower Level Constrained

进一步考虑下层问题有约束的情况, 即下层问题 的形式为:

约束的存在会给问题的求解带来进一步的困难.

3.1 MPEC for BP with Lower Level Constraints

  • Mirrlees 例子展示了当下层无约束但非凸, 一阶最优性条件只是必要但不充分时, 若直接使用 来替代下层问题的最优性条件, 则可能无法得到正确的最优解.
  • 在下层问题有约束的情况下, 一阶最优性条件就变成了 KKT 条件. 因此为方便研究, 先做简化假设: 假设下层问题 是凸的, 且满足 Slater 条件. 则 KKT 条件是充分必要的. 这使得我们可以先只处理由于约束带来的困难.

给定 , 写出下层优化问题的 Lagrangian:

对于 在凸且 Slater 满足的条件下, 等价于 KKT 条件成立, 即存在 使得:

上述 KKT 条件可以等价压缩为:

因此既然 等价于 KKT 条件成立, 则 BP 问题可以 reformulate 为如下的 Mathematical Program with Equilibrium Constraints (MPEC):

不过这样的 reformulation 也存在相应的问题: 目前的讨论都是在下层问题凸的基础上的; 若下层非凸, 则会同样出现类似 Mirrlees 例子中的情况. 并且 MPCC 本身也存在例如, LICQ 不成立, 乘子不唯一等问题. 因此在下层问题非凸的情况下, 需要进一步的处理.

3.2 Value Function Reformulation under Constrained Lower Level

再次回到 value function 方法, 考虑在有约束情况下的处理.

Gradient of Value Function under Unique Solution

同样先考虑 是单点集的情况, 且假设 . 故由链式法则:

我们需要获取 的梯度以进行最优性刻画以及算法设计.

  • 由于下层问题约束的存在, 上式中的 不再恒为零, 而是一阶 KKT 条件:

    以及

    • 对 两边对 求导, 得到:
    • 并且注意到, 这里 , 因为根据互补松弛, 对于所有活跃约束 都成立; 对于非活跃约束, , 因此 对应的项也为零. 故有
    • 而这里的下划线部分正是由一阶 KKT 条件 (2) 得到的. 因此最终得到:
  • 最终代入 (1) 式, 得到:

Sensitivity Analysis

上述 的梯度计算依赖于两个假设:

  1. 下层问题的解集 中的元素是唯一的;
  2. 在下层问题最优解 处的 KKT 乘子集合 也是唯一的.
    • 回顾: 这个性质往往需要 LICQ 等 CQ 来保证. 如果有一些约束之间是线性相关的, 则可能会出现多个 KKT 乘子对应同一个最优解的情况.

然而在实际问题中, 这两个假设并不会自动成立. 因此需要进一步的敏感性分析来研究 的性质.

根据 Gauvin (1979) 的结果, 若下层问题 MFCQ 成立 (保证 非空且 compact), 且可行域本身一致有界, 则 在 是 Lipschitz 连续的, 并且其 Clarke subgradient 可以计算为

然而, 在这样良定义的情况下, 将 代入到 VP 问题中, 整个大的 VP 问题的 NNAMCQ 仍然不成立, 因此同样会出现 KKT 退化的问题. 故自然想到类似前文, 尝试通过引入新的约束来避免退化:

然而有近期研究指出, 即使引入了新的约束, 仍然无法保证 KKT 系统的非退化性. 因此需要进一步的处理, 这就引出了 partial calmness 的概念.

4. Partial Calmness

直观上, partial calmness 不再通过引入新的约束来避免 KKT 系统的退化, 而是将约束 作为 penalty 放入到目标函数中:

可以证明, 这样的方法几乎处处成立, 即对于大多数的 BP 问题, 其 KKT 系统是非退化的.

Reference

  • R. Ke, W. Yao, J. Ye and J. Zhang 2022, Generic property of the partial calmness condition for bilevel programming problems, SIOPT 32, 604-634.