线性规划概述

在最优化问题中有一类问题被称作线性规划问题,属于有约束下的优化问题,线性规划是在线性约束条件下(等式或不等式)求解线性目标函数极值的问题。

线性规划问题的标准模型

线性规划的标准模型

minimizecTxsubject to Ax=bx0\begin{align*} minimize\quad c^{T}x\\ subject\ to\ Ax=b\\x\ge0 \end{align*}

所有的线准型,例如某线性规划问题具有以下形式,与标准型不同的是,该形式用了不等式约束

minimizecTxsubject to Axbx0\begin{align*} minimize\quad c^{T}x\\ subject\ to\ Ax\ge b\\x\ge0 \end{align*}

可以通过引入剩余变量yy的方式,将以上问题转化为标准型

minimizecTxsubject to AxImy=[AIm][xy]=bx0,y0\begin{align*} minimize\quad c^{T}x\\ subject\ to\ Ax-I_{m}y=\begin{bmatrix} A & -I_{m}\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix}=b\\x\ge0,y\ge0 \end{align*}

如果约束条件具有以下形式:

Axbx0\begin{align*} Ax\le b\\ x\ge 0 \end{align*}

可以通过引入剩余变量yy,将约束条件转换为

Ax+Imy=[AIm][xy]=bx0,y0Ax+I_{m} y =\begin{bmatrix} A & I_{m}\end{bmatrix}\begin{bmatrix} x \\ y\end{bmatrix}=b\\x\ge0,y\ge0

线性规划问题的基本解

上文提到,任何线性规划问题都可以转换为标准型,即约束条件为线性等式,决策变量非负。

考虑方程Ax=bAx=b,其中rank(A)=mrank(A)=m,为了求解这类问题,通常从矩阵AA的一部分列向量入手。为方便起见,可以将AA中的列向量重新进行排序,将感兴趣的列向量排在前列。具体来说,从AA中选取m个线性无关的向量组成方阵BB,对AA的列向量重新排序,可以使BB中的列向量位于AA的前m列,即AA可以写为分块矩阵A=[B,D]A=[B,D],其中DDm(nm)m*(n-m)矩阵,它由AA中剩余的列向量组成。矩阵BB是非奇异的,因此求解方程BxB=bBx_{B}=b可以得到唯一解xB=B1bx_{B}=B^{-1}b。令xx为n维向量,它的前m个元素等于xBx_B,其余元素为零,即x=[sBT,0T]Tx=[s_{B}^{T},0^{T}]^{T},则xx是方程Ax=bAx=b的一个解。

[xBT,0T]T[x_{B}^{T},0^{T}]^{T}Ax=bAx=bBB下的基本解,向量xBx_{B}中的元素称为基变量,BB中的列向量称为基本列向量。

退化的基本解--->基本解中的某些基变量为0 可行解--->满足Ax=0,x0Ax=0,x\ge 0的向量xx 基本可行解--->某个可行解也是基本解 退化的基本可行解--->某个基本可行解是退化的基本解

在求解线性规划问题时,仅需要考虑基本可行解,因为目标函数的最优解如果存在,那么一定是在某个基本可行解上得到。

线性规划基本定理 1.如果存在可行解,那么一定存在基本可行解2.如果存在最优可行解,那么一定存在最优基本可行解

线性规划基本定理将线性规划问题的求解转换为在有限数量的基本可行解上进行搜索,这极大地缩减了求解的工作量。

几何的角度来看,标准线性规划中的约束Ax=b,x0Ax=b,x\ge 0中的点集是凸集,即对于任何x,yΘx,y\in \Theta和实数α\alpha0<α<10<\alpha <1,有αx+(1α)yΘ\alpha x+(1-\alpha)y\in \Theta,对于凸集内的点xx,如果在Θ\Theta中找不到两个不同的点x1x_{1}x2x_{2}使x=αx1+(1α)x2x=\alpha x_{1}+(1-\alpha)x_{2}成立则称xx是极点,可以通过证明得到,约束集的极点与基本可行解是等价的

从某个极点转移到另一个相邻极点的算法就是单纯性法求解线性规划问题的思路,后面的文章将对单纯形法以及对偶等概念进行详细介绍。

To be continue…