线性规划:标准形、基本解与极点

Views: --

线性规划的难点不在“线性”二字,而在于把几何图形、矩阵中的基和算法中的换基看成同一件事。

标准形

课程采用的一个标准形式是

mincTx,Ax=b,x0,\min c^Tx,\qquad Ax=b,\qquad x\ge0,

其中 ARm×nA\in\mathbb R^{m\times n} 且通常假设 rank(A)=m\operatorname{rank}(A)=m

常见转换:

  • aTxba^Tx\le b 加松弛变量 s0s\ge0,变为 aTx+s=ba^Tx+s=b
  • aTxba^Tx\ge b 减剩余变量,再视需要加人工变量;
  • 自由变量写成 x=x+xx=x^+-x^-,其中 x+,x0x^+,x^-\ge0
  • 最大化 cTxc^Tx 等价于最小化 cTx-c^Tx

转换之后不要忘记:新变量只是算法工具,最终答案要还原到原变量。

基本解

AA 中选取 mm 个线性无关列构成基矩阵 BB,其余列为 NN。把变量相应分成 xB,xNx_B,x_N

BxB+NxN=b.Bx_B+Nx_N=b.

令非基变量 xN=0x_N=0,得到基本解

xB=B1b.x_B=B^{-1}b.

xB0x_B\ge0,它是基本可行解。若某个基本变量也为零,称为退化基本可行解;退化时多个基可能对应同一个几何点。

基本可行解为什么对应极点

极点不能写成集合中两个不同点的严格凸组合。对

S={x:Ax=b,x0},S=\{x:Ax=b,x\ge0\},

基本可行解的正分量对应列线性无关,因此无法同时沿某个非零方向正反移动还保持非负与等式,这正是“没有穿过该点的可行线段”。反过来,若正分量对应列相关,就存在 Ad=0Ad=0 的非零方向,并能在小范围内同时走 x±εdx\pm\varepsilon d,该点便不是极点。

于是得到核心对应:

基本可行解可行域极点.\boxed{\text{基本可行解}\Longleftrightarrow\text{可行域极点}}.

为什么只搜极点

对本节标准形

S={x:Ax=b, x0},S=\{x:Ax=b,\ x\ge0\},

SS 非空且线性目标的有限最优值能够达到,则至少存在一个最优基本可行解,也就是最优极点。更一般地说这个结论时,必须补上“可行域(或最优面)含有极点”的前提;带直线、根本没有极点的多面体不能套用它。

直觉上,线性函数的等值面平行移动,最后接触标准形多面体时会碰到一个最优面,而这个最优面至少含一个极点。

注意结论不是“最优解一定唯一”或“所有最优解都是极点”。若等值面与一条边重合,整条边都最优,但端点仍是最优极点。

小例子

x1+x2+s1=4,2x1+x2+s2=5,x0.x_1+x_2+s_1=4,\qquad 2x_1+x_2+s_2=5,\qquad x\ge0.

B=(s1,s2)B=(s_1,s_2)x1=x2=0,s=(4,5)x_1=x_2=0,s=(4,5),是基本可行解。取 B=(x1,x2)B=(x_1,x_2),解

[1121][x1x2]=[45],\begin{bmatrix}1&1\\2&1\end{bmatrix} \begin{bmatrix}x_1\\x_2\end{bmatrix} =\begin{bmatrix}4\\5\end{bmatrix},

得到 (x1,x2)=(1,3)(x_1,x_2)=(1,3),仍为基本可行解。单纯形法就是在这些相邻极点之间移动。

考试要点

  • 给定基后会算 B1bB^{-1}b 并判断是否可行。
  • “基本解”不自动非负;只有基本可行解才对应可行极点。
  • 退化是基本变量为零,不等于问题无解。
  • 证明极点时可用“活跃约束法向量满秩”或“正分量对应列线性无关”。

评论