一、求解基矩阵示例
求如下线性规划的基矩阵 :
maxZ=4x1−2x2−x3⎩⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎧5x1+x2−x3+x4=3−10x1+6x2+2x3+x5=2xj≥0(i=1,2,3,4,5)
求解过程 :
系数矩阵 : 上述线性规划的约束方程的系数矩阵为 ⎣⎡5−1016−121001⎦⎤ , 这是一个 2×5 矩阵 , 2 行 , 5 列 , 有 2 个约束方程 , 5 个变量 ;
其 2 阶的子矩阵有 C(5,2) 个 , 这是组合计算公式 ; 单纯的从 5 个向量中选出 2 个向量 , 不用进行排列 ;
C(5,2)====2!P(5,2)3!×2!5!3×2×25×4×3×2×110
从上述 10 个 2 阶方阵中 , 将基矩阵挑选出来 ;
基矩阵的条件 : 矩阵是可逆的 ;
其中有一个子矩阵 ⎣⎡5−10−12⎦⎤ 该矩阵是成比例的 , 不是基矩阵 ;
10 个 2 阶子矩阵中 , 有 1 个不是可逆矩阵 , 其余 9 个都是可逆矩阵 , 因此下面的 9 个矩阵是基矩阵 :
B1=⎣⎡5−1016⎦⎤ , B2=⎣⎡16−12⎦⎤ , B3=⎣⎡5−1001⎦⎤ ,
B4=⎣⎡1610⎦⎤ , B5=⎣⎡5−1010⎦⎤ , B6=⎣⎡−1201⎦⎤ ,
B7=⎣⎡−1210⎦⎤ , B8=⎣⎡16101⎦⎤ , B9=⎣⎡1001⎦⎤ ;
二、矩阵的可逆性分析
矩阵的可逆性分析 :
矩阵可逆 :
-
可逆前提 : 分析矩阵是否可逆 , 前提是该矩阵是一个方阵 ;
-
行列式为 0 : 求方阵 B 的行列式 , 只要该行列式不为 0 , 该矩阵就是可逆的 ;
行列式计算 : 使用对角线法 , 或行列余子式进行计算 , 参考以下链接 :
2 阶方阵行列计算方法 : 本篇博客中涉及到 2 阶方阵的行列式 , 其行列式就是对角线乘积相减 ;
如上述矩阵 ⎣⎡5−10−12⎦⎤ , 其对角线乘积相减 :
D====∣∣∣∣5−10−12∣∣∣∣(5×2)−(−1×−10)=10−100
该矩阵行列式计算结果为 0 , 不是可逆矩阵 ;
可逆矩阵都可以写成阶梯型矩阵 ; 进行矩阵变换后 , 就可以变成阶梯矩阵 ;
三、基矩阵、基向量、基变量
上述 9 个矩阵都是可逆矩阵 , 都可以作为基矩阵 , 当选中一个基矩阵时 , 其对应的列向量就是基向量 , 对应的变量 , 就是基变量 , 剩余的变量是非基变量 ;
选中 B1=⎣⎡5−1016⎦⎤ 作为线性规划的基矩阵 , 该基矩阵对应的基向量是 ⎣⎡5−10⎦⎤ 和 ⎣⎡16⎦⎤ , 对应的基变量是 x1 和 x2 , x3,x4,x5 是非基变量 ;
选中 B9=⎣⎡1001⎦⎤ 作为线性规划的基矩阵 , 该基矩阵对应的基向量是 ⎣⎡10⎦⎤ 和 ⎣⎡01⎦⎤ , 对应的基变量是 x4 和 x5 , x1,x2,x3 是非基变量 ;
基是不唯一的 , 基向量不是固定的 , 基变量也不是固定的 , 非基变量也不是固定的 ;
确定基矩阵后 , 才能确定基向量 , 基变量 , 非基变量 ;
不管选哪个矩阵作为基矩阵 , 基变量的个数是不变的 , 始终是 2 个 ;
基变量不固定 , 基变量的个数是固定的 ;
基变量是 2 个 , 非基变量是 3 个 , 这是确定的 ;
线性规划的最终目的是求解 ; 求可行解 , 求最优解 ;
求解就是求 线性规划标准形式 , 约束条件等式的方程组的解 , 只要是等式 , 就可以解除满足条件的解 ;
解方程组的方法就是高斯消元法 , 将系数矩阵变成阶梯形的矩阵 , 只有矩阵是可逆矩阵的情况下 , 才能变成阶梯矩阵 , 就是上述的基矩阵 ;
四、线性规划等式变型
解如下方程 :
AX=b
其中 A 是 m×n 矩阵 , X 是 m×1 向量 , b 是 m×1 向量 ;
如下展开为 :
( P1 P2 ⋯Pm Pm+1 ⋯ Pn)×⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛x1x2⋮xmxm+1⋮xn⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞=b
A 矩阵是由一系列向量组成 , 其一定有可逆的子矩阵 , 即基矩阵 ;
假设前 m 个向量组成的矩阵是可逆矩阵 ,
前 m 个列向量构成可逆矩阵 B , 可逆矩阵 B 中的列向量对应的变量是 m 个基变量 XB ;

后面的 n−m 个列向量后构成矩阵 N , 这是非基矩阵 , 其对应的 n−m 个变量是非基变量 XN ;

整个线性规划表示为 : BXB+NXN=b