一般对偶问题、KKT条件、线性规划对偶问题
这篇文章是对 pluski和 Kevin_Duan 的读后感。看完这两位的文章后,对线性规划对偶问题的来龙去脉有了更深的理解。
这是我CSDN上的第一篇分享,肯定不会是最后一篇,希望能激励自己好好学习,赚钱养猫 ~
1. 拉格朗日函数和对偶问题
1.1 拉格朗日函数
优化问题一般都能转化为如下的形式:
min f ( x ) s . t . h i ( x ) ≤ 0 , i = 1 , . . . , m g i ( x ) = 0 , i = 1 , . . . , n \begin{aligned} \min \quad & f(x)\\ s.t. \quad & h_i(x)\leq0, i=1,...,m\\ & g_i(x)=0, i=1,...,n \end{aligned} mins.t.f(x)hi(x)≤0,i=1,...,mgi(x)=0,i=1,...,n 这里面要求 g i ( x ) g_i(x) gi(x)是仿射的,也就是形如 g i ( x ) = A x + b g_i(x)=Ax+b gi(x)=Ax+b.
那么对应的拉格朗日函数是:
L ( x , λ , v ) = f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ i = 1 n v i g i ( x ) L(x,\lambda,v)=f(x)+\sum_{i=1}^m\lambda_ih_i(x)+\sum_{i=1}^n v_ig_i(x) L(x,λ,v)=f(x)+i=1∑mλihi(x)+i=1∑nvigi(x)
其中 λ i ≥ 0 \lambda_i\geq0 λi≥0.
这里面 λ i , v i \lambda_i,v_i λi,vi都是向量,它们的维度分别由 h i ( x ) , g i ( x ) h_i(x),g_i(x) hi(x),gi(x)确定,反正就是要保证矩阵相乘之后, λ i h i ( x ) , v i g i ( x ) \lambda_ih_i(x),v_ig_i(x) λihi(x),vigi(x) 都是一个数。 比方说,如果 g i ( x ) g_i(x) gi(x) 将 x x x 映射成一个 p × 1 p×1 p×1 的向量的话, 那么 v i v_i vi 就是一个 1 × p 1×p 1×p 的向量。
可以看到拉格朗日函数把约束和目标函数融合在了一起。那为什么要引入拉格朗日函数呢? 神奇的地方就在于,从拉格朗日函数出发,我们能构造出原问题和对偶问题。
1.2 原问题
首先来看看
Z ( x ) = max λ ≥ 0 , v L ( x , λ , v ) = max λ ≥ 0 , v f ( x ) + ∑ i = 1 m λ i h i ( x ) + ∑ i = 1 n v i g i ( x ) \begin{aligned} Z(x)=&\max \limits_{\lambda\geq0,v}L(x,\lambda,v)\\ =& \max \limits_{\lambda\geq0,v}f(x)+\sum_{i=1}^m\lambda_ih_i(x)+\sum_{i=1}^n v_ig_i(x) \end{aligned} Z(x)==λ≥0,vmaxL(x,λ,v)λ≥0,vmaxf(x)+i=1∑mλihi(x)+i=1∑nvigi(x) 这一小节想说的事情就是: min Z ( x ) \min Z(x) minZ(x) 的最优解 x ∗ x^* x∗,其实是原问题的最优解。
首先,如果 x ∗ x^* x∗ 是 min Z ( x ) \min Z(x) minZ(x) 的最优解,那肯定有 h i ( x ∗ ) ≤ 0 h_i(x^*)\leq0 hi(x∗)≤0 和 g i ( x ∗ ) = 0 g_i(x^*)=0 gi(x∗)=</