当前位置: 首页 > article >正文

【约束优化】一次搞定拉格朗日,对偶问题,弱对偶定理,Slater条件和KKT条件

1. 原问题的拉格朗日等价形式

对一个约束优化问题:
min ⁡ x f ( x ) s.t.  g i ( x ) ≤ 0 , i = 1 , ⋯   , m h i ( x ) = 0 , i = 1 , ⋯   , p \min\limits_{\mathbf{x}} f(\mathbf{x})\\ \text{s.t. } g_i(\mathbf{x})\leq0,i=1,\cdots,m\\ h_i(\mathbf{x})=0,i=1,\cdots,p xminf(x)s.t. gi(x)0,i=1,,mhi(x)=0,i=1,,p

  • 不等式约束: g i : R n ↦ R , i = 1 , ⋯   , m g_i:\R^n\mapsto \R,i=1,\cdots,m gi:RnR,i=1,,m

  • 等式约束: h i : R n ↦ R , i = 1 , ⋯   , p h_i:\R^n\mapsto\R,i=1,\cdots,p hi:RnR,i=1,,p

  • 可行域: Ω = { x ∈ R n : g i ( x ) ≤ 0 , h j ( x ) = 0 , i = 1 , ⋯   , m , j = 1 , ⋯   , p } \Omega=\{\mathbf{x}\in\R^n:g_i(\mathbf{x})\leq0,h_j(\mathbf{x})=0,i=1,\cdots,m,j=1,\cdots,p\} Ω={xRn:gi(x)0,hj(x)=0,i=1,,m,j=1,,p}

  • 拉格朗日函数: L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ j = 1 p μ j h j ( x ) , λ i ≥ 0 L(\mathbf{x},\lambda,\mu)=f(\mathbf{x})+\sum_{i=1}^m\lambda_ig_i(\mathbf{x})+\sum_{j=1}^p\mu_jh_j(\mathbf{x}),\lambda_i\geq0 L(x,λ,μ)=f(x)+i=1mλigi(x)+j=1pμjhj(x),λi0

可以看到:

  • case 1:当 x ∈ Ω \mathbf{x}\in\Omega xΩ 时, L ( x , λ , μ ) = f ( x ) + ∑ λ i g i ⏟ ≤ 0 + ∑ μ j h j ⏟ = 0 ≤ f ( x ) L(\mathbf{x},\lambda,\mu)=f(\mathbf{x})+\underbrace{\sum\lambda_ig_i}_{\leq0}+\underbrace{\sum\mu_jh_j}_{=0}\leq f(\mathbf{x}) L(x,λ,μ)=f(x)+0 λigi+=0 μjhjf(x),因此 max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) = f ( x ) \max\limits_{\lambda\geq0,\mu}L(\mathbf{x},\lambda,\mu)=f(\mathbf{x}) λ0,μmaxL(x,λ,μ)=f(x)
  • case 2:当 x ∉ Ω \mathbf{x}\notin\Omega x/Ω 时, L ( x , λ , μ ) = f ( x ) + ∑ λ i g i ⏟ + ∞ + ∑ μ j h j ⏟ + ∞ = ∞ L(\mathbf{x},\lambda,\mu)=f(\mathbf{x})+\underbrace{\sum\lambda_ig_i}_{+\infin}+\underbrace{\sum\mu_jh_j}_{+\infin}=\infin L(x,λ,μ)=f(x)++ λigi++ μjhj=
  • 综合上述情况:

f ( x ) = { max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) , x ∈ Ω + ∞ , otherwise f(\mathbf{x}) = \begin{cases} \max\limits_{\lambda\geq0,\mu}L(\mathbf{x},\lambda,\mu),\quad \mathbf{x}\in \Omega \\[2ex] +\infin, \quad \text{otherwise}\end{cases} f(x)= λ0,μmaxL(x,λ,μ),xΩ+,otherwise

因此原问题(Primal) min ⁡ x ∈ Ω f ( x ) ⇔ min ⁡ x ∈ R n max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) \min\limits_{\mathbf{x}\in\Omega}f(\mathbf{x})\Leftrightarrow\min\limits_{\mathbf{x\in\R^n}}\max\limits_{\lambda\geq0,\mu}L(\mathbf{x},\lambda,\mu) xΩminf(x)xRnminλ0,μmaxL(x,λ,μ)

2. 对偶函数和对偶问题

【思考】:现在我们知道了原问题等价于求拉格朗日函数的最大值再求最小值,那么倘若交换 min ⁡ \min min max ⁡ \max max 运算,即 max ⁡ λ ≥ 0 , μ min ⁡ x ∈ R n L ( x , λ , μ ) \max\limits_{\lambda\geq0,\mu}\min\limits_{\mathbf{x\in\R^n}}L(\mathbf{x},\lambda,\mu) λ0,μmaxxRnminL(x,λ,μ) 是否依旧和原问题等价呢?

于是我们定义:

  • 对偶函数(Dual Function): q ( λ , μ ) : = min ⁡ x L ( x , λ , μ ) q(\lambda,\mu):=\min\limits_{\mathbf{x}}L(\mathbf{x},\lambda,\mu) q(λ,μ):=xminL(x,λ,μ)
  • 对偶问题(Dual Problem): max ⁡ λ ≥ 0 , μ q ( λ , μ ) \max\limits_{\lambda\geq0,\mu}q(\lambda,\mu) λ0,μmaxq(λ,μ)

【思考】:我们对原问题和对偶问题是否等价很感兴趣。如果他们不等价,那么原问题和对偶问题有怎样的关系?在某些特殊情况下,原问题和对偶问题等价?

3. 弱对偶定理

【定理】:对任意 x ∈ Ω \mathbf{x}\in\Omega xΩ(原问题可行) 和任意 λ ≥ 0 , μ \lambda\geq0,\mu λ0,μ(对偶问题可行), q ( λ , μ ) ≤ f ( x ) q(\lambda,\mu)\leq f(\mathbf{x}) q(λ,μ)f(x) 恒成立。

【证明】:设 x ∗ \mathbf{x}^* x 是原问题的最优解,则对任意 λ ≥ 0 , μ , x ∈ Ω \lambda\geq0,\mu, \mathbf{x}\in\Omega λ0,μ,xΩ 有如下不等式:
q ( λ , μ ) = min ⁡ x L ( x , λ , μ ) ≤ L ( x ∗ , λ , μ ) ≤ max ⁡ λ ≥ 0 , μ L ( x ∗ , λ , μ ) = f ( x ∗ ) ≤ f ( x ) q(\lambda,\mu)=\min\limits_{\mathbf{x}}L(\mathbf{x},\lambda,\mu)\leq L(\mathbf{x}^*,\lambda,\mu)\\\leq\max\limits_{\lambda\geq0,\mu}L(\mathbf{x}^*,\lambda,\mu)=f(\mathbf{x}^*)\leq f(\mathbf{x}) q(λ,μ)=xminL(x,λ,μ)L(x,λ,μ)λ0,μmaxL(x,λ,μ)=f(x)f(x)

因为在对偶函数中, x ∈ R n \mathbf{x}\in\R^n xRn,而 x ∗ ∈ Ω , Ω ⊂ R n \mathbf{x}^*\in\Omega,\Omega\subset\R^n xΩ,ΩRn,所以 min ⁡ X L ( x , λ , μ ) ≤ L ( x ∗ , λ , μ ) \min\limits_{\mathbf{X}}L(\mathbf{x},\lambda,\mu)\leq L(\mathbf{x}^*,\lambda,\mu) XminL(x,λ,μ)L(x,λ,μ)

【推论】:设 λ ∗ , μ ∗ = arg ⁡ max ⁡ λ ≥ 0 , μ q ( λ , μ ) \lambda^*,\mu^*=\arg\max\limits_{\lambda\geq0,\mu}q(\lambda,\mu) λ,μ=argλ0,μmaxq(λ,μ),并且 x ∗ = arg ⁡ max ⁡ x ∈ Ω f ( x ) \mathbf{x}^*=\arg\max\limits_{\mathbf{x}\in\Omega}f(\mathbf{x}) x=argxΩmaxf(x),则由弱对偶定理,我们可以得到:
q ( λ ∗ , μ ∗ ) ≤ f ( x ∗ ) ⇔ max ⁡ λ ≥ 0 , μ min ⁡ x L ≤ min ⁡ x ∈ Ω max ⁡ λ ≥ 0 , μ L q(\lambda^*,\mu^*)\leq f(\mathbf{x}^*)\Leftrightarrow\max\limits_{\lambda\geq0,\mu}\min\limits_{\mathbf{x}}L\leq\min\limits_{\mathbf{x}\in\Omega}\max\limits_{\lambda\geq0,\mu}L q(λ,μ)f(x)λ0,μmaxxminLxΩminλ0,μmaxL

4. 强对偶定理

在约束优化问题中,强对偶定理是指原问题的最优值与其对偶问题的最优值相等的情况。然而,强对偶定理成立的条件依赖于问题的具体结构和性质。以下是针对不同类型的优化问题,强对偶定理成立的常见条件:

  • 线性规划问题(LP):只要原问题有一个可行解并且最优解存在,那么强对偶定理总是成立。在这种情况下,强对偶性条件非常宽松。
  • 凸(Convex)优化问题:对于凸优化问题,强对偶定理的成立通常需要满足Slater 条件。该条件是针对凸优化问题中强对偶性成立的充分条件,Slater 条件要求:
    • 凸性:目标函数 f ( x ) f(\mathbf{x}) f(x) 和不等式约束函数 g i ( x ) g_i(\mathbf{x}) gi(x) 必须是凸函数,等式约束函数 h j ( x ) h_j(\mathbf{x}) hj(x) 必须是仿射函数(即线性函数)。
    • 严格可行性 ∃ x 0  s.t.  ∀ i   g i ( x 0 ) < 0 , h ( x ) = 0 \exist\mathbf{x}_0\ \text{s.t.}\ \forall i\ g_i(\mathbf{x}_0)<0,h(\mathbf{x})=0 x0 s.t. i gi(x0)<0,h(x)=0

由弱对偶定理我们有: q ( λ ∗ , μ ∗ ) ≤ L ( x ∗ , λ ∗ , μ ∗ ) ≤ f ( x ∗ ) q(\lambda^*,\mu^*)\leq L(\mathbf{x}^*,\lambda^*,\mu^*)\leq f(\mathbf{x}^*) q(λ,μ)L(x,λ,μ)f(x),所以当 q ( λ ∗ , μ ∗ ) = f ( x ∗ ) q(\lambda^*,\mu^*)= f(\mathbf{x}^*) q(λ,μ)=f(x) 时,
L ( x ∗ , λ ∗ , μ ∗ ) = f ( x ∗ ) ⇒ ∑ i = 1 m λ i ∗ g i ( x ∗ ) + ∑ j = 1 p μ i ∗ h i ( x ∗ ) ⏟ = 0 = 0 ⇒ ∑ i = 1 m λ i ∗ g i ( x ∗ ) = 0 ⇒ λ i ∗ g i ( x ∗ ) = 0 ⇒ KKT:   互补松弛条件 \begin{aligned} &L(\mathbf{x}^*,\lambda^*,\mu^*)= f(\mathbf{x}^*)\\ &\Rightarrow\sum_{i=1}^m\lambda_i^*g_i(\mathbf{x}^*)+\underbrace{\sum_{j=1}^p\mu_i^*h_i(\mathbf{x}^*)}_{=0}=0\\ &\Rightarrow\sum_{i=1}^m\lambda_i^*g_i(\mathbf{x}^*)=0\\ &\Rightarrow\lambda_i^*g_i(\mathbf{x}^*)=0 \Rightarrow\textbf{KKT: 互补松弛条件} \end{aligned} L(x,λ,μ)=f(x)i=1mλigi(x)+=0 j=1pμihi(x)=0i=1mλigi(x)=0λigi(x)=0KKT: 互补松弛条件

5. KKT条件

KKT(Karush-Kuhn-Tucker)条件是用于解决非线性优化问题的一个重要工具,特别是带有约束的优化问题。它为寻找局部最优解提供了必要条件和充分条件(在某些情况下)。

  • 凸优化问题中,如果目标函数和不等式约束函数都是凸的,KKT条件不仅是局部最优解的必要条件,还是全局最优解的充分条件。这种情况下,满足KKT条件的解就是最优解。
  • 非凸优化问题中,KKT条件仍然是局部最优解的必要条件,但不再是充分条件。也就是说,即使一个解满足KKT条件,它也不一定是全局最优解。只有在特定问题结构下(如凸性条件),KKT条件才是充分条件。

【KKT条件】:设 x ∗ , λ ∗ , μ ∗ \mathbf{x}^*,\lambda^*,\mu^* x,λ,μ 分别是原问题和对偶问题的最优解,则满足如下条件:

  • 原问题可行: g i ( x ∗ ) ≤ 0 , ∀ i = 1 , ⋯   , m g_i(\mathbf{x}^*)\leq0,\forall i=1,\cdots,m gi(x)0,i=1,,m h j ( x ∗ ) = 0 , ∀ j = 1 , ⋯   , p h_j(\mathbf{x}^*)=0,\forall j=1,\cdots,p hj(x)=0,j=1,,p
  • 对偶问题可行: λ i ∗ ≥ 0 , ∀ i = 1 , ⋯   , m \lambda_i^*\geq0,\forall i=1,\cdots,m λi0,i=1,,m
  • 互补松弛条件: λ i ∗ g i ( x ) = 0 , ∀ i = 1 , ⋯   , m \lambda_i^*g_i(\mathbf{x})=0,\forall i=1,\cdots,m λigi(x)=0,i=1,,m
  • 稳定点: ∇ x L ( x ∗ , λ ∗ , μ ∗ ) = 0 \nabla_{\mathbf{x}}L(\mathbf{x}^*,\lambda^*,\mu^*)=0 xL(x,λ,μ)=0

下一节将介绍支持向量机SVM的数学原理


http://www.kler.cn/a/371907.html

相关文章:

  • OpenCV基本操作(python开发)——(7)实现图像校正
  • net mvc中使用vue自定义组件遇到的坑
  • 精准测试在基金团队应用实践
  • Mount Image Pro,在取证安全的环境中挂载和访问镜像文件内容
  • Xss_less靶场攻略(1-18)
  • 安全芯片 OPTIGA TRUST M 使用介绍与示例(基于STM32裸机)
  • 画思维导图的app有哪些?5个软件让你轻松画思维导图不求人
  • PostgreSQL 不同模式之间的数据迁移
  • Python小游戏18——中国象棋
  • 安卓13 连接usb设备后不更新ui
  • Android 应用权限管理详解
  • 【Linux】线程锁同步互斥生产消费模型
  • Windows: 如何实现CLIPTokenizer.from_pretrained`本地加载`stable-diffusion-2-1-base`
  • 网络爬虫的基本原理是什么?
  • 初始Docker
  • NVR设备ONVIF接入平台EasyCVR视频分析设备平台视频质量诊断技术与能力
  • 深入解析 MySQL 数据库:数据类型
  • Rust精简核心笔记:第二波,语法精髓部分解锁
  • 十六:Python学习笔记-- 爬虫(2)requests 模块详解
  • 装饰器怎样实现
  • LeetCode --- 420周赛
  • 大数据新视界 -- 大数据大厂之大数据重塑影视娱乐产业的未来(4 - 3)
  • linux查看系统负载情况
  • STM32--I2C外设
  • Java AQS Semaphore 源码
  • Jenkins面试整理-什么是 Jenkins?