线性规划(Linear Programming):导论

基本思想

有限得资源获得最大收益。

不等式转等式

剩余变量

假设存在不等式

x1+x2bx_1 + x_2 ≤ b

现新增一个变量x3x_3,将不等式转化为等式

x1+x2+x3=bx_1 + x_2 + x_3 = b

x3x_3即称为剩余变量

松弛变量

同理,若有

x1+x2bx_1 + x_2 ≥ b

则转换为

x1+x2x3=bx_1 + x_2 - x_3 = b

此时x3x_3称为松弛变量

表示形式

一般形式

{maxmin}z=c1x1+c2x2++cnxn\{\max | \min \} \,\,\, z = c_1x_1 + c_2x_2 + \cdots + c_nx_n
{a11x1++a1nxn{=}b1am1x1++amnxn{=}bmx1,x2,,xn0\begin{cases} a_{11}x_1 + \cdots + a_{1n}x_n \,\,\, \{ ≤ | = | ≥ \} \,\,\, b_1 \\ \cdots \\ a_{m1}x_1 + \cdots + a_{mn}x_n \,\,\, \{ ≤ | = | ≥ \} \,\,\, b_m \\ x_1, x_2, \cdots, x_n ≥ 0 \end{cases}

标准型

maxz=cTx\max \,\,\, z = c^Tx
{Ax=bxj0\begin{cases} Ax = b \\ x_j ≥ 0 \end{cases}

每个约束条件都不可缺省,所以矩阵Am×nA_{m×n}应该是行满秩矩阵,即r(A)=mnr(A)=m ≤ n

Example

有一般形

maxz=2x1+3x2\max \,\,\, z = 2x_1 + 3x_2
{x1+2x2804x11604x2120x1,x20\begin{cases} x_1 + 2x_2 ≤ 80 \\ 4x_1 ≤ 160 \\ 4x_2 ≤ 120 \\ x_1, x_2 ≥ 0 \end{cases}

转化为标准型得

maxz=2x1+3x2+0x3+0x4+0x5\max \,\,\, z = 2x_1 + 3x_2 + 0x_3 + 0x_4 + 0x_5
{x1+2x2+x3=804x1+x4=1604x2+x5=120x1,x2,x3,x4,x50\begin{cases} x_1 + 2x_2 + x_3 = 80 \\ 4x_1 + x_4 = 160 \\ 4x_2 + x_5 = 120 \\ x_1, x_2, x_3, x_4, x_5 ≥ 0 \end{cases}

解的概念

Bm×mB_{m×m}是约束方程Am×nA_{m×n}的非奇异子矩阵(即r(B)=mr(B)=mB0|B|≠0),称BB是线性规划的一个基,最多有CnmC_n^m个基。

基解

Ax=bAx=b
[BN][xBxN]=b\,\,\, ⇒ \,\,\, \left[\begin{array}{c} B & N \end{array}\right] \left[\begin{array}{c} x_B \\ x_N \end{array}\right] =b
BxB+NxN=b\,\,\, ⇒ \,\,\, Bx_B + Nx_N = b
xB=B1bB1NxN\,\,\, ⇒ \,\,\, x_B = B^{-1}b - B^{-1}Nx_N

xBx_B即为基解

基可行解

满足非负约束条件(xj0x_j ≥ 0)的基解,称为基可行解,此时的基称为可行基

解的状况

st=>start: 线性规划问题 sub1=>condition: 是否有可行解 op1=>operation: 无可行解 sub2=>condition: 是否有最优解 op2=>operation: 无最优解 sub3=>condition: 唯一最优解 op31=>operation: 唯一解 op32=>operation: 无穷解 ed=>end: 结束 st->sub1 sub1(no)->op1->ed sub1(yes)->sub2 sub2(no)->op2->ed sub2(yes)->sub3 sub3(no)->op32->ed sub3(yes)->op31->ed

几何意义

线性规划问题的可行域是一个凸集。

凸集

从直观上将,凸集没有凹入部分,其内部没有空洞。

(a)、(b)是凸集,(c)不是凸集,任何两个凸集的交集是凸集(d)。