Linear Programming问题的数学模型:
使用简单的符号变换,引入松弛变量,将约束变为等式形式,LP问题的标准形式可写作:
max z = ∑ j = 1 n c j x j s.t. { ∑ j = 1 n a i j x j = b i , ( i = 1 , 2 , … , m ) x j ≥ 0 , ( j = 1 , 2 , … , n ) \begin{aligned} \max \ & z=\sum_{j=1}^n c_j x_j \\ \text { s.t. } & \left\{\begin{array}{l} \sum_{j=1}^n a_{i j} x_j=b_i, \quad(i=1,2, \ldots, m) \\ x_j \geq 0, \quad(j=1,2, \ldots, n) \end{array}\right. \end{aligned} max s.t. z=j=1∑ncjxj{
∑j=1naijxj=bi,(i=1,2,…,m)xj≥0,(j=1,2,…,n)
或
max z = c T x s.t. { A x = b x ≥ 0 \begin{aligned} \max \ & z=\mathbf{c}^T \mathbf{x} \\ \text { s.t. } & \left\{\begin{array}{l} \mathbf{A x}=\mathbf{b} \\ \mathbf{x} \geq 0 \end{array}\right. \end{aligned} max s.t. z=cTx{
Ax=bx≥0
LP问题相应术语:
-
超平面 (hyperplane):
约束方程任一等式约東: a i x = b i \mathbf{a}_i \mathbf{x}=b_i aix=bi, 称 H i = { x ∣ a i x = b i } \mathscr{H}_i=\left\{\mathbf{x} \mid \mathbf{a}_i \mathbf{x}=b_i\right\} Hi={ x∣aix=bi} 为超平面 (hyperplane), 其中 a \mathbf{a} a为决定平面的法线.
超平面 H i \mathscr{H}_i Hi 将空间 R n \mathbb{R}^n Rn 分成三个部分: ( a i x = b i ) \left(\mathbf{a}_i \mathbf{x}=b_i\right) (aix=bi)
H i U (开): a i x > b i 上半空间 (Upper halfspace) H i : a i x = b i 超平面 (hyperplane) H i L ( 开): a i x < b i 下半空间 (Lower halfspace) \begin{array}{rll} \mathscr{H}_i^U \text { (开): } & \mathbf{a}_i \mathbf{x}>b_i & \text { 上半空间 (Upper halfspace) } \\ \mathscr{H}_i: & \mathbf{a}_i \mathbf{x}=b_i & \text { 超平面 (hyperplane) } \\ \mathscr{H}_i^L(\text { 开): } & \mathbf{a}_i \mathbf{x}<b_i & \text { 下半空间 (Lower halfspace) } \end{array} HiU (开): Hi:HiL( 开): aix>biaix=biaix<bi 上半空间 (Upper halfspace) 超平面 (hyperplane) 下半空间 (Lower halfspace) -
LP问题解的可能情况:
唯一解;无穷多解;无界解;无解 -
LP问题一些解的概念:
可行解:标准形式的线性规划问题中, 凡满足所有约束条件的解 x \mathbf{x} x 称为问题的可行解,将这些可行解构成的集合称为可行解集或可行域.
基:约束方程的矩阵形式中, 等式约束所对应的系数矩阵 A \mathbf{A} A 中线性独立的列向量称为基.
[ 1 0 1 0 1 1 0 0 0 ] [ x 1 x 2 x 3 ] = [ b 1 b 2 b 3 ] \left[\begin{array}{lll} 1 & 0 & 1 \\ 0 & 1 & 1 \\ 0 & 0 & 0 \end{array}\right]\left[\begin{array}{l} x_1 \\ x_2 \\ x_3 \end{array}\right]=\left[\begin{array}{l} b_1 \\ b_2 \\ b_3 \end{array}\right] 100010110 x1x2x3 = b1b2b3
此时前两列可以被视作基;
基变量:约束方程的矩阵形式中,系数矩阵的列向量与变量一一对应. 当取定基以后, 与基对应的决策变量称为基变量, 其它的决策变量称为非基变量.
对上式而言, x 1 x_1 x1与 x 2 x_2 x2为基变量, x 3 x_3 x3为非基变量;
基解:令非基变量全部取零,由等式约束解出的基变量的唯一解, 称为基解.
基可行解:满足非负约束的基解称为基可行解.
可行基:对应基可行解的基称为可行基.
上述概念的包含关系如下:
-
上述概念In Depth:
设矩阵 A \boldsymbol{A} A 的秩为 m m m, 又假设 A = [ B , N ] \boldsymbol{A}=[\boldsymbol{B}, \boldsymbol{N}] A=[B,N], 其中 B \boldsymbol{B} B 是 m m m 阶可逆矩阵. 如果 A \boldsymbol{A} A 的前 m m m 列是线性相关的, 可以通过列调换, 使前 m m m 列成为线性无关的, 因此关于 B \boldsymbol{B} B 可逆的假设不失一般性. 同时记作
x = [ x B x N ] x=\left[\begin{array}{l} x_B \\ x_N \end{array}\right] x=[xBxN]
故等式约束可进一步写为:
[ B , N ] [ x B x N ] = b , B x B + N x N = b , x B = B − 1 b − B − 1 N x N . \begin{aligned} & [\boldsymbol{B}, \boldsymbol{N}]\left[\begin{array}{l} x_B \\ x_N \end{array}\right]=b, \\ &\boldsymbol{ B} x_B+\boldsymbol{N} x_N=b , \\ &\boldsymbol{x}_{\boldsymbol{B}}=\boldsymbol{B}^{-1} {b}-\boldsymbol{B}^{-1} \boldsymbol{N} {x}_{N}. \end{aligned} [B,N][xBxN]=b,BxB+NxN=b,xB=B−1b−B−1NxN.
进一步地,令 x N = 0 x_N = \bf{0} xN=0,得到的
x = [ x B x N ] = [ B − 1 b 0 ] \boldsymbol{x}=\left[\begin{array}{l} x_B \\ x_N \end{array}\right]=\left[\begin{array}{c} B^{-1} b \\ 0 \end{array}\right] x=[x