最优化理论与方法-第十讲-约束优化


老师讲得贼清楚,太厉害了!!!

1. 约束优化的对偶问题

2 概述:

– 1. 约束优化的对偶问题;
– 2. 弱对偶定理/强对偶定理
– 3. 对偶问题的性质和求解方法

2.1 约束优化问题的一般形式

  • 用原问题(Primal Problem)中的P表示原问题,具体如下:
    ( P )      min ⁡    f ( x ) s t .      g i ( x ) ≤ 0 , i = 1 , ⋯   , m ,              h i ( x ) = 0 , i = 1 , ⋯   , l ,              x ∈ X \begin{equation} \begin{aligned} &(P)\; \;\min\; f(x)\\ &st.\;\;g_i(x)\le0,i=1,\cdots,m,\\ &\;\;\;\;\;\;h_i(x)=0,i=1,\cdots,l,\\ &\;\;\;\;\;\;x\in X\\ \end{aligned} \end{equation} (P)minf(x)st.gi(x)0,i=1,,m,hi(x)=0,i=1,,l,xX
  • 合并上面定义域可得:
    min ⁡ x ∈ S    f ( x ) S = { x ∈ X ∣ g i ( x ) ≤ 0 , i = 1 , ⋯   , m ; h i ( x ) = 0 , i = 1 , ⋯   , l } \begin{equation} \begin{aligned} &\min\limits_{x\in S}\;f(x)\\ &S=\{x\in X\big|g_i(x)\le0,i=1,\cdots,m;h_i(x)=0,i=1,\cdots,l\}\\ \end{aligned} \end{equation} xSminf(x)S={xX gi(x)0,i=1,,m;hi(x)=0,i=1,,l}
  • 其中X可能为实数集合 X = R n X=\mathbb{R}^n X=Rn,可能为整数集合 X = Z n X=\mathbb{Z}^n X=Zn,可能为正整数集合 X = Z + n X=\mathbb{Z}_+^n X=Z+n,可能是为0,1组合 X = { 0 , 1 } n X=\{0,1\}^n X={0,1}n,等其他的集合。

2.2 原问题和对偶问题

  • 为什么存在原问题和对偶问题呢?
    因为原问题P是非凸问题,是一个NP-Hard问题,求解起来特别的费劲,那么我们希望用一个差不多的问题来近似处理,对偶不是相等,它们之间是有相关关系的。鲁棒优化,锥优化中,常常用对偶理论来处理相关优化问题。
  • 线性规划中的原问题:P
    P → min ⁡      c T x ; s t :    A x = b , x ≥ 0 \begin{equation} P\to \min \;\;c^Tx;st:\; Ax=b,x\ge0 \end{equation} PmincTx;st:Ax=b,x0
  • 线性规划中的对偶问题:D,常见解法:单纯形法,内点法
    D → max ⁡      b T y ; s t :    A T y ≤ c \begin{equation} D\to \max \;\;b^Ty;st:\; A^Ty\le c \end{equation} DmaxbTy;st:ATyc
  • 求解出来的 y ∗ y^* y就是影子价格shadow price,对偶单纯形法
  • 其中鲁棒优化,锥优化都是要用到"对偶理论"这种工具来进行转换。

2.3 拉格朗日对偶函数

  • 通过原问题转换,我们引入拉格朗日函数:
    L ( x , λ , μ ) = f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) \begin{equation} L(x,\lambda,\mu)=f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x) \end{equation} L(x,λ,μ)=f(x)+i=1mλigi(x)+i=1lμihi(x)
  • 拉格朗日对偶函数(简称对偶函数)
    d ( λ , μ ) = min ⁡ { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) ∣ x ∈ X } \begin{equation} d(\lambda,\mu)=\min \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\big|x\in X\} \end{equation} d(λ,μ)=min{f(x)+i=1mλigi(x)+i=1lμihi(x) xX}
  • 那么我们对偶问题在可行域上的定义如下: x ∈ S x\in S xS,其中S是X上的子集,那么我们知道,如果函数在大集合里面得到最小值 y 1 y_1 y1,在小集合里面的得到的最小值为 y 2 y_2 y2,因为大集合里面的范围更大,那肯定 y 2 ≤ y 1 y_2\le y_1 y2y1
    min ⁡ x ∈ X , λ > 0 d ( λ , μ ) ≤ min ⁡ x ∈ S , λ > 0 d ( λ , μ ) \begin{equation} \min\limits_{x\in X,\lambda>0}d(\lambda,\mu)\le\min\limits_{x\in S,\lambda >0}d(\lambda,\mu) \end{equation} xX,λ>0mind(λ,μ)xS,λ>0mind(λ,μ)
    d ( λ , μ ) = min ⁡ x ∈ S { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation} d(\lambda,\mu)=\min\limits_{x\in S} \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\} \end{equation} d(λ,μ)=xSmin{f(x)+i=1mλigi(x)+i=1lμihi(x)}
  • 对于上述函数来说, λ i g i ( x ) < 0 , μ i h i ( x ) = 0 \lambda_ig_i(x)<0,\mu_ih_i(x)=0 λigi(x)<0,μihi(x)=0可得,如下:
    min ⁡ x ∈ S { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } ≤ min ⁡ x ∈ S { f ( x ) } \begin{equation} \min\limits_{x\in S} \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\}\le\min\limits_{x\in S}\{f(x)\} \end{equation} xSmin{f(x)+i=1mλigi(x)+i=1lμihi(x)}xSmin{f(x)}
  • 也就是说,对于任意的 λ ≥ 0 , μ \lambda\ge0,\mu λ0,μ来说,必有对偶问题的最小值小于等于原问题的最小值:
    d ( λ , μ ) ≤ V ( p ) \begin{equation} d(\lambda,\mu)\le V(p) \end{equation} d(λ,μ)V(p)
  • 也就是说,在我们建模过程中,我们知道原问题 V ( P ) V(P) V(P)是非凸,是NP-Hard问题,所以我们需要转换思路,如果能知道原问题的下界也行,这个下界就是上面对偶问题 d ( λ , μ ) d(\lambda,\mu) d(λ,μ)的上界.
  • 原问题和对偶问题的最小值之间的关系:
    在这里插入图片描述
  • 也就是说原问题的最小值的下限为对偶问题的最小值的中的最大值。因为对偶问题中的每个 λ i \lambda_i λi都会对应一个最小值,那么我们当然希望这个最小值越大越好,原问题的下界越大,这个下界越接近原问题的最小值。
    ∀ ( λ , μ ) , λ ≥ 0 , 必有 d ( λ , μ ) ≤ V ( p ) \begin{equation} \forall (\lambda,\mu),\lambda\ge0,必有 d(\lambda,\mu)\le V(p) \end{equation} (λ,μ),λ0,必有d(λ,μ)V(p)
  • 拉格朗日对偶问题,这里还差一个先求最小,再求最大,写得感觉不规范。
    ( D )      max ⁡    d ( λ , μ ) s t .      λ i ≥ 0 , i = 1 , ⋯   , m , \begin{equation} \begin{aligned} &(D)\; \;\max\; d(\lambda,\mu)\\ &st.\;\;\lambda_i\ge0,i=1,\cdots,m,\\ \end{aligned} \end{equation} (D)maxd(λ,μ)st.λi0,i=1,,m,
  • 整理可得,先求最小,在求最大:
    ( D )      max ⁡ λ ≥ 0 , μ min ⁡ x ∈ X    L ( x , λ , μ ) L ( x , λ , μ ) = { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation} \begin{aligned} &(D)\; \;\max\limits_{\lambda\ge 0,\mu}\min\limits_{x\in X}\; L(x,\lambda,\mu)\\ &L(x,\lambda,\mu)= \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\}\\ \end{aligned} \end{equation} (D)λ0,μmaxxXminL(x,λ,μ)L(x,λ,μ)={f(x)+i=1mλigi(x)+i=1lμihi(x)}

3. 鸡头和凤尾问题

  • 感性理解:
    我们上面看到鸡头问题如下,先找最小的,相当于鸡,再求最大,相当于找鸡头:
    ( D 1 )      max ⁡ λ ≥ 0 , μ min ⁡ x ∈ X    L ( x , λ , μ ) L ( x , λ , μ ) = { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation} \begin{aligned} &(D_1)\; \;\max\limits_{\lambda\ge 0,\mu}\min\limits_{x\in X}\; L(x,\lambda,\mu)\\ &L(x,\lambda,\mu)= \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\}\\ \end{aligned} \end{equation} (D1)λ0,μmaxxXminL(x,λ,μ)L(x,λ,μ)={f(x)+i=1mλigi(x)+i=1lμihi(x)}
    现在有一个凤尾问题如下,先找最大的,相当于凤,再求最小,相当于找凤尾:
    ( D 2 )      min ⁡ x ∈ X    max ⁡ λ ≥ 0 , μ    L ( x , λ , μ ) L ( x , λ , μ ) = { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation} \begin{aligned} &(D_2)\; \;\min\limits_{x\in X}\;\max\limits_{\lambda\ge 0,\mu}\; L(x,\lambda,\mu)\\ &L(x,\lambda,\mu)= \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\}\\ \end{aligned}\end{equation} (D2)xXminλ0,μmaxL(x,λ,μ)L(x,λ,μ)={f(x)+i=1mλigi(x)+i=1lμihi(x)}
    我们可以简单这么类比,鸡头再优秀也比不过凤尾,所以原问题的应该用鸡头问题处理。鸡头里面的值永远小于凤尾。而我们又需要求最小值,所以我们选择先最小,后最大。
  • 理性分析,对于上面凤尾来看,我们先看其中部分
    ( D 2 )      min ⁡ x ∈ X    max ⁡ λ ≥ 0 , μ    L ( x , λ , μ ) L ( x , λ , μ ) = { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation}\begin{aligned} &(D_2)\; \;\min\limits_{x\in X}\;\max\limits_{\lambda\ge 0,\mu}\; L(x,\lambda,\mu)\\ &L(x,\lambda,\mu)= \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\}\\ \end{aligned}\end{equation} (D2)xXminλ0,μmaxL(x,λ,μ)L(x,λ,μ)={f(x)+i=1mλigi(x)+i=1lμihi(x)}
  • 但凡 g i ( x ) > 0 g_i(x)>0 gi(x)>0,很容易在求最大中取到 + ∞ +\infty +
    max ⁡ λ ≥ 0 , μ    L ( x , λ , μ ) L ( x , λ , μ ) = { f ( x ) + ∑ i = 1 m λ i g i ( x ) + ∑ i = 1 l μ i h i ( x ) } \begin{equation}\begin{aligned} &\max\limits_{\lambda\ge 0,\mu}\; L(x,\lambda,\mu)\\ &L(x,\lambda,\mu)= \{f(x)+\sum_{i=1}^m \lambda_ig_i(x)+\sum_{i=1}^l \mu_ih_i(x)\}\\ \end{aligned}\end{equation} λ0,μmaxL(x,λ,μ)L(x,λ,μ)={f(x)+i=1mλigi(x)+i=1lμihi(x)}
  • 也只有 g i ( x ) ≤ 0 , h i ( x ) = 0 g_i(x)\le0,h_i(x)=0 gi(x)0,hi(x)=0时候, max ⁡ λ ≥ 0 , μ    L ( x , λ , μ ) ≠ + ∞ \max\limits_{\lambda\ge 0,\mu}\; L(x,\lambda,\mu)\ne +\infty λ0,μmaxL(x,λ,μ)=+
    max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) = { f ( x )      , s t    g i ( x ) ≤ 0 , h i ( x ) = 0 + ∞ = o t h e r v i s e \begin{equation}\max\limits_{\lambda\ge 0,\mu} L(x,\lambda,\mu)=\left\{\begin{aligned} %\nonumber f(x)&\;\;,st\; g_i(x)\le0,h_i(x)=0\\\\ +\infty&=othervise \end{aligned}\right.\end{equation} λ0,μmaxL(x,λ,μ)= f(x)+,stgi(x)0,hi(x)=0=othervise
  • 再求最小值:
    min ⁡ x ∈ X    max ⁡ λ ≥ 0 , μ L ( x , λ , μ ) = { min ⁡    f ( x )      , s t    g i ( x ) ≤ 0 , h i ( x ) = 0 + ∞ = o t h e r v i s e \begin{equation}\min\limits_{x\in X}\;\max\limits_{\lambda\ge 0,\mu} L(x,\lambda,\mu)=\left\{\begin{aligned} %\nonumber \min \;f(x)&\;\;,st\; g_i(x)\le0,h_i(x)=0\\\\ +\infty&=othervise \end{aligned}\right.\end{equation} xXminλ0,μmaxL(x,λ,μ)= minf(x)+,stgi(x)0,hi(x)=0=othervise
  • 我们清晰的看出来了,凤尾问题很容易产生正无穷值,无法求出来,最差情况居然为原问题
  • 小结:对偶问题应该先求最小,再求最大。

4. 构建对偶问题:

假设我们有一个原问题如下:
( P )      min ⁡ x ∈ X    f ( x ) s t :    g i ( x ) ≤ 0 ; \begin{equation}\begin{aligned} &(P)\; \;\min\limits_{x\in X}\;f(x)\\ &st:\;g_i(x)\le0;\\ \end{aligned}\end{equation} (P)xXminf(x)st:gi(x)0;

  • 第一步:转换成拉格朗日对偶函数:引入 λ > 0 \lambda>0 λ>0
    L ( x , λ ) = f ( x ) + λ g ( x ) d ( λ ) = min ⁡ x ∈ X { f ( x ) + λ g ( x ) } ( D ) max ⁡ λ ≥ 0 d ( λ ) \begin{equation}\begin{aligned} &L(x,\lambda)=f(x)+\lambda g(x)\\ &d(\lambda)=\min\limits_{x\in X}\{f(x)+\lambda g(x)\}\\ &(D) \max\limits_{\lambda\ge0}d(\lambda)\\ \end{aligned}\end{equation} L(x,λ)=f(x)+λg(x)d(λ)=xXmin{f(x)+λg(x)}(D)λ0maxd(λ)
  • 第二步:在x为定义域下,求最小值
    d ( λ ) = min ⁡ x ∈ X { f ( x ) + λ g ( x ) } \begin{equation}\begin{aligned} &d(\lambda)=\min\limits_{x\in X}\{f(x)+\lambda g(x)\}\\ \end{aligned}\end{equation} d(λ)=xXmin{f(x)+λg(x)}
  • 第三步:在 λ ≥ 0 \lambda\ge0 λ0 为定义域下,求最大值
    ( D ) max ⁡ λ ≥ 0 d ( λ ) \begin{equation}\begin{aligned} &(D) \max\limits_{\lambda\ge0}d(\lambda)\\ \end{aligned}\end{equation} (D)λ0maxd(λ)
  • 综上所述,对偶函数如下图:
    ( D )      max ⁡ λ ≥ 0 min ⁡ x ∈ X { f ( x ) + λ g ( x ) }   \begin{equation}\begin{aligned} &(D)\;\; \max\limits_{\lambda\ge0}\min\limits_{x\in X}\{f(x)+\lambda g(x)\}\\\ \end{aligned}\end{equation}  (D)λ0maxxXmin{f(x)+λg(x)}

5. 几何关系映射:

为了方便几何图像解释,我们将 f ( x ) , g ( x ) f(x),g(x) f(x),g(x)映射到二维图像上如下:
g ( x ) = y ; x ∈ X f ( x ) = z ; \begin{equation}\begin{aligned} &g(x)=y;x\in X\\ &f(x)=z; \end{aligned}\end{equation} g(x)=y;xXf(x)=z;

  • 原问题可以转换如下:
    G = { ( y , z ) ∣ g ( x ) = y , f ( x ) = z , x ∈ X } ( P )    min ⁡    z ,    s t : y ≤ 0 , ( y , z ) ∈ G ; \begin{equation}\begin{aligned} &G=\{(y,z)\big|g(x)=y,f(x)=z,x\in X\}\\ &(P)\;\min\;z,\;st:y\le0,(y,z)\in G; \end{aligned}\end{equation} G={(y,z) g(x)=y,f(x)=z,xX}(P)minz,st:y0,(y,z)G;
  • 对偶问题如下:
    max ⁡ λ ≥ 0 min ⁡ ( y , z ) ∈ G { z + λ y } \begin{equation}\begin{aligned} &\max \limits_{\lambda\ge 0}\min \limits_{(y,z)\in G}\{z+\lambda y\}\\ \end{aligned}\end{equation} λ0max(y,z)Gmin{z+λy}
  • 2D图如图所示:
    -简单情况
    在这里插入图片描述
  • 复杂情况:
    在这里插入图片描述

6. 线性规划的对偶问题:

  • 给出如下线性规划问题,求其对偶问题:
    min ⁡    c T x s t ; A x = b , x ≥ 0 , 其中, c ∈ R n , A ∈ R m × n , b ∈ R m \begin{equation}\begin{aligned} &\min \;c^Tx\\ &st; Ax=b,x\ge0,其中,c\in R^n,A\in R^{m\times n},b\in R^m \end{aligned}\end{equation} mincTxst;Ax=b,x0,其中,cRn,ARm×n,bRm
  • 拉格朗日函数:
    L ( x , μ ) = c T x + μ T ( b − A x ) \begin{equation} L(x,\mu)=c^Tx+\mu^T(b-Ax) \end{equation} L(x,μ)=cTx+μT(bAx)
  • 对偶问题:
    - max ⁡ μ min ⁡ x ≥ 0 { c T x + μ T ( b − A x ) } \begin{equation} \max\limits_{\mu}\min\limits_{x\ge0}\{c^Tx+\mu^T(b-Ax)\} \end{equation} μmaxx0min{cTx+μT(bAx)}
  • 先求内部最小值:
  • 展开公式可得:
    - min ⁡ x ≥ 0 { c T x + μ T ( b − A x ) } = min ⁡ x ≥ 0 { ( c − A T μ ) T x + b T μ } \begin{equation} \min\limits_{x\ge0}\{c^Tx+\mu^T(b-Ax)\}=\min\limits_{x\ge0}\{(c-A^T\mu )^Tx+ b^T\mu\} \end{equation} x0min{cTx+μT(bAx)}=x0min{(cATμ)Tx+bTμ}
  • 我们知道, x ≥ 0 x\ge0 x0,但凡 { c − A T μ } \{c-A^T\mu\} {cATμ}中有一个负数,那么在求整体最小值的时候,就容易出现 − ∞ -\infty ,所以可得:
    min ⁡ x ≥ 0 { ( c − A T μ ) T x + b T μ } = {        b T μ ,    c − A T μ ≥ 0 − ∞ , o t h e r v i s e \begin{equation}\min\limits_{x\ge0}\{(c-A^T\mu )^Tx+ b^T\mu\}=\left\{\begin{aligned} %\nonumber \;\;\;b^T\mu,\; c-A^T\mu\ge0\\ -\infty,othervise\\ \end{aligned}\right.\end{equation} x0min{(cATμ)Tx+bTμ}={bTμ,cATμ0,othervise
  • 再求最大值,其中负无穷就不用考虑了:
    max ⁡    b T μ s t : A T μ ≤ c \begin{equation}\begin{aligned} &\max \;b^T\mu\\ &st:A^T\mu\le c \end{aligned}\end{equation} maxbTμst:ATμc
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值