优化理论之线性规划

min  j=1ncjxjs.t.  j=1nαijxj=bi, i=1,,mxj0, j=1,,n(1.1) \begin{aligned} \min \; &\sum_{j=1}^n c_jx_j\\ \mathop{s.t.}\; &\sum_{j=1}^n \alpha_{ij}x_j=b_i,\ &i=1,\dotsb,m\\ &x_j\geq 0,\ &j=1,\dotsb,n\\ \end{aligned}\tag{1.1} 用矩阵表示为: min  cTxs.t.  Ax=bx0(1.2) \begin{aligned} \min \; &\boldsymbol c^T \boldsymbol x\\ \mathop{s.t.}\; &\boldsymbol A \boldsymbol x = \boldsymbol b\\ &\boldsymbol x \geq \boldsymbol 0\\ \end{aligned}\tag{1.2} 其中A\boldsymbol{A}m×nm\times n矩阵,cT\boldsymbol c^T是n维行向量,b\boldsymbol b是m维列向量,且b0\boldsymbol b \geq 0(每个分量都大于等于0)

  1. 如果存在b\boldsymbol b的某一分量小于0,可以把方程两端都乘以-1
  2. 在标准形式中,xjx_j都是非负的,这在实际生活中有着现实意义,但是处理数据时,难免有负数变量,因此可以令xj=xjxjx_j=x_j'-x_j'',其中xj0,xj0x_j'\geq 0,x_j''\geq 0。即用非负变量替换xjx_j
  3. 当变量有上下界,不符合标准形式的要求时,也可做变量替换。当xjljx_j\geq l_j,可令xj=xjljx_j'=x_j-l_j,则取xj0x_j'\geq 0。当xjujx_j\leq u_j时,可令xj=ujxjx_j'=u_j-x_j,则取xj0x_j'\geq 0
  4. 当存在小于等于时,使用正松弛法;当存在大于等于号时用负松弛法。 min  j=1ncjxjs.t.  j=1nαijxj=bi, i=1,,mxj0, j=1,,n小于等于限制转化为(松弛变量)j=1nαijxj+xn+i=bi, i=1,,mxn+1,xn+2,,xn+m0(1.3) \begin{aligned} \min \; &\sum_{j=1}^n c_jx_j\\ \mathop{s.t.}\; &\sum_{j=1}^n \alpha_{ij}x_j=b_i,\ &i=1,\dotsb,m\\ &x_j\geq 0,\ &j=1,\dotsb,n\\ & 小于等于限制转化为(松弛变量)\Rightarrow\\ &\sum_{j=1}^n \alpha_{ij}x_j + x_{n+i}= b_i,\ &i=1,\dotsb,m\\ & x_{n+1},x_{n+2},\dotsb,x_{n+m}\geq 0 \end{aligned}\tag{1.3}

用单纯性方法计算线性规划时,必须要用标准形。

线性规划中,所有约束条件均为线性等式及不等式,满足这些条件的点的集合时凸集。即可行域是凸集

线性规划如果存在最优解,那么最优解一定能够在某个极点上达到。下面简要证明:根据表示定理(见附录),任何可行点x\boldsymbol{x}可以表示为极点和极方向的组合: x=j=1kλjxj+j=1lμjdj.j=1kλj=1.λj0, j=1,2,,k.μj0, j=1,2,,l.(2.1) \begin{aligned} &\boldsymbol x=\sum_{j=1}^k \lambda_j\boldsymbol x^j + \sum_{j=1}^l \mu_j \boldsymbol{d}^j.\\ &\sum_{j=1}^k \lambda_j = 1.\\ &\lambda_j \geq 0,\ j=1,2,\dotsb,k.\\ &\mu_j \geq 0,\ j=1,2,\dotsb,l. \end{aligned}\tag{2.1} x\boldsymbol x的表达式代入(1.2)(1.2)式,得到以λj,μj\lambda_j, \mu_j为变量的等价的线性规划 min x=j=1kλjcTxj+j=1lμjcTdj.s.t. j=1kλj=1.λj0, j=1,2,,k.μj0, j=1,2,,l.(2.2) \begin{aligned} \min\ &\boldsymbol x=\sum_{j=1}^k \lambda_j\boldsymbol c^T\boldsymbol x^j + \sum_{j=1}^l \mu_j \boldsymbol c^T\boldsymbol{d}^j.\\ \mathop{s.t.}\ &\sum_{j=1}^k \lambda_j = 1.\\ &\lambda_j \geq 0,\ j=1,2,\dotsb,k.\\ &\mu_j \geq 0,\ j=1,2,\dotsb,l. \end{aligned}\tag{2.2} 注意,我们之前设过cT\boldsymbol c^T是一个行向量。由于μj\mu_j没有上限,因此若对于某个jj,有cTdj<0\boldsymbol c^T \boldsymbol d^j<0,则μjcTdj\mu_j \boldsymbol c^T\boldsymbol{d}^j可以随着μj\mu_j的无限增大而无限减小,从而使目标函数趋向-\infty。对于这种情形,我们称该问题无界,或不存在有限最优值。

如果j,cTdj0\forall j, 有\boldsymbol c^T\boldsymbol{d}^j\geq 0,这时为了极小化目标函数,需令 j{1,2,,l}, μj=0,(2.3)\forall j∈\{1,2,\dotsb,l\},\ \mu_j=0, \tag{2.3}(2.2)(2.2)可以简写为极点的凸组合: min j=1kλjcTxjs.t. j=1kλj=1,λj0, j=1,2,,k(2.4) \begin{aligned} \min \ & \sum_{j=1}^k \lambda_j\boldsymbol c^T\boldsymbol x^j\\ \mathop{s.t.}\ &\sum_{j=1}^k \lambda_j=1,\\ &\lambda_j\geq 0,\ j=1,2,\dotsb,k \end{aligned}\tag{2.4} 在所有cTxj\boldsymbol c^T\boldsymbol x^j中,必然有一个最小的值,令其为 cTxp=min1jkcTxj(2.5) \boldsymbol c^T\boldsymbol x^p = \min_{1\leq j \leq k} \boldsymbol c^T\boldsymbol x^j \tag{2.5} 显然当 λp=1 且λj=0, jp(2.6) \lambda_p=1\ 且 \lambda_j = 0,\ j\neq p\tag{2.6} 时,目标函数取最小值,即(2.3)(2.3)(2.6)(2.6)式组合到一起时线性规划(2.2)(2.2)的最优解。此时必有 cTx=j=1kλjcTxj+j=1lμjcTdjj=1kλjcTxjj=1kλjcTxp=cTxp \begin{aligned} \boldsymbol c^T\boldsymbol x &= \sum_{j=1}^k \lambda_j\boldsymbol c^T\boldsymbol x^j + \sum_{j=1}^l \mu_j \boldsymbol c^T\boldsymbol{d}^j\\ &\geq \sum_{j=1}^k \lambda_j\boldsymbol c^T\boldsymbol x^j\\ &\geq \sum_{j=1}^k \lambda_j\boldsymbol c^T\boldsymbol x^p=\boldsymbol c^T\boldsymbol x^p \end{aligned} 因此,极点xp\boldsymbol x^p是线性规划的解。

定理1:设线性规划(1.2)(1.2)的可行域非空,则有下列结论:

  1. 线性规划(1.2)(1.2)存在有限最优解的充要条件是所有cTdj\boldsymbol c^T\boldsymbol d^j为非负数。其中,dj\boldsymbol d^j是可行域的极方向。
  2. 若线性规划(1.2)(1.2)存在优先最优解,则目标函数的最优值可在某个极点上达到。

一般情况下,把无界问题也归为不存在最优解,只讨论存在有限最优解的情形

基矩阵、基(本)解(基矩阵的解)(基解vs可行解)--》

基解由xb\boldsymbol{x_b}的基变量与非基变量xn\boldsymbol{x_n}组成--》

不是所有基解都是满足非负条件。满足非负条件的基解为基本可行解(=基解 && 可行解)(解的所有分量大于等于0)--》

退化(某个基变量取值为0)与非退化(基变量取值全部大于0)--》

基本可行解与极点有着对应关系--》

线性规化最优解为最优基本可行解

定理2:令K={xAx=b,x0},Am×nK=\{\boldsymbol x|\boldsymbol A \boldsymbol x=\boldsymbol b,\boldsymbol x\geq 0 \}, \boldsymbol A 为 m\times n矩阵。A\boldsymbol A的秩为mm,则KK的极点集和Ax=b,x0\boldsymbol A \boldsymbol x = \boldsymbol b, \boldsymbol x\geq 0的基本可行解集等价

证明:可见最优化理论与算法(第2版)定理2.2.3的证明。

根据定理1和定理2,我们可知线性规划的求解问题归结为求最优基本可行解

在什么条件下存在最优解呢?其实表示定理的第一点已经明示了答案。

S={xAx=b,x0}S=\{\boldsymbol x \vert \boldsymbol A \boldsymbol x= \boldsymbol b, \boldsymbol x \geq 0\}为非空多面集,则有:

  1. 极点集非空,且存在有限个极点x1,x2,,xk\boldsymbol x^1,\boldsymbol x^2,\dotsb,\boldsymbol x^k

而有限的极点集必存在一个使目标函数最小的极点。如果从方程求解的角度来看,可以等价为以下定理:

定理3: 如果Ax=b,x0\boldsymbol A \boldsymbol x= \boldsymbol b, \boldsymbol x \geq 0有可行解,则一定存在基本可行解。其中A\boldsymbol Am×nm \times n维矩阵,且rank(A)=mrank(\boldsymbol A)=m

表示定理:设S={xAx=b,x0}S=\{\boldsymbol x \vert \boldsymbol A \boldsymbol x= \boldsymbol b, \boldsymbol x \geq 0\}为非空多面集,则有:

  1. 极点集非空,且存在有限个极点x1,x2,,xk\boldsymbol x^1,\boldsymbol x^2,\dotsb,\boldsymbol x^k
  2. 极方向集合为空集的充要条件是SS有界。若SS无界,则存在有限个极方向d1,d2,,dl\boldsymbol d^1,\boldsymbol d^2,\dotsb,\boldsymbol d^l
  3. xS\boldsymbol x\in S的充要条件是式(2.1)(2.1)

关于上述定理的证明可见文章

[1] Bazaraa M S, Jarvis J J. Linear programming and Network flows, New York: Wiley 1977