上一篇博客 【运筹学】线性规划 人工变量法 ( 单纯形法总结 | 人工变量法引入 | 人工变量法原理分析 | 人工变量法案例 ) 中 , 介绍了人工变量法 , 主要用于解决线性规划标准形式中 , 初始系数矩阵中没有单位阵的情况 , 并给出一个案例 , 本篇博客中继续使用人工变量法解解上述线性规划问题 ;
一、生成初始单纯形表
添加 2 个人工变量后 , 得到 人工变量单纯形法 线性规划模型 :
maxZ=3x1+2x2−x3+0x4+0x5−Mx6−Mx7s.t⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧−4x1+3x2+x3−x4+0x5+x6+0x7=4x1−x2+2x3+0x4+x5+0x6+0x7=102x1−2x2+x3+0x4+0x5+0x6+x7=1xj≥0(j=1,2,3,4,5,6,7)
其中的 M 是一个很大的数值 , 没有具体的值 , 可以理解为正无穷 +∞ , 具体使用单纯形法进行计算时 , 将其理解为大于给出的任意一个确定的数值 ;
生成初始基可行表 :
cj |
cj |
|
3 |
2 |
−1 |
0 |
0 |
−M |
−M |
|
CB 基变量系数 (目标函数) |
XB 基变量 |
常数 b
|
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
θi |
−M ( 目标函数 x6 系数 c6 ) |
x6 |
4 |
−4 |
3 |
1 |
−1 |
0 |
1 |
0 |
? (θ6) |
0 ( 目标函数 x5 系数 c5) |
x5 |
10 |
1 |
−1 |
2 |
0 |
1 |
0 |
0 |
? ( θ5 ) |
−M ( 目标函数 x7 系数 c7) |
x7 |
1 |
2 |
−2 |
1 |
0 |
0 |
0 |
1 |
? ( θ7 ) |
σj ( 检验数 ) |
|
|
? ( σ1 ) |
? ( σ2 ) |
? ( σ3 ) |
? ( σ3 ) |
0 |
0 |
0 |
|
注意基变量顺序 : 初始基可行解的单位阵的顺序 , 是 ⎝⎛100010001⎠⎞ , 对应的基变量顺序是 (x6x5x7)
-
x6 系数是 ⎝⎛100⎠⎞
-
x5 系数是 ⎝⎛010⎠⎞
-
x7 系数是 ⎝⎛001⎠⎞
二、计算非基变量检验数
1 . 计算非基变量 x1 的检验数 σ1 :
σ1=3−(−M0−M)×⎝⎜⎜⎜⎜⎛−412⎠⎟⎟⎟⎟⎞=3−(−M×−4+0×1+−M×2)=3−2M
其中 M 是正无穷 +∞ , 3−2M 是负数 ;
2 . 计算非基变量 x2 的检验数 σ2 :
σ2=2−(−M0−M)×⎝⎜⎜⎜⎜⎛3−1−2⎠⎟⎟⎟⎟⎞=2−(−M×3+0×−1+−M×−2)=2+M
其中 M 是正无穷 +∞ , 2+M 是正数 ;
3 . 计算非基变量 x3 的检验数 σ3 :
σ3=−1−(−M0−M)×⎝⎜⎜⎜⎜⎛121⎠⎟⎟⎟⎟⎞=−1−(−M×1+0×2+−M×1)=−1+2M
其中 M 是正无穷 +∞ , −1+2M 是正数 ;
4 . 计算非基变量 x4 的检验数 σ4 :
σ4=0−(−M0−M)×⎝⎜⎜⎜⎜⎛−100⎠⎟⎟⎟⎟⎞=0−(−M×−1+0×0+−M×0)=−M
其中 M 是正无穷 +∞ , −M 是负数 ;
三、最优解判定
根据上述三个检验数 ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧σ1=3−2M(负数)σ2=2+M(正数)σ3=−1+2M(正数)σ4=−M(负数) 的值 , 其中 σ2,σ3 检验数大于 0 , 该基可行解不是最优解 ;
只有当检验数都小于等于 0 时 , 该基可行解才是最优解 ;
四、选择入基变量
根据上述三个检验数 ⎩⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎨⎪⎪⎪⎪⎪⎪⎪⎪⎪⎪⎧σ1=3−2Mσ2=2+Mσ3=−1+2Mσ4=−M 的值 , 选择检验数最大的非基变量作为入基变量 , σ3=−1+2M 最大 , 这里选择 x3 ;
五、选择出基变量
出基变量选择 : 常数列 b=⎝⎛4101⎠⎞ , 分别除以除以入基变量 x3 大于 0 的系数列 ⎝⎜⎜⎜⎜⎛121⎠⎟⎟⎟⎟⎞ , 计算过程如下 ⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛1421011⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞ , 得出结果是 ⎝⎜⎜⎜⎜⎛451⎠⎟⎟⎟⎟⎞ , 如果系数小于等于 0 , 该值就是无效值 , 默认为无穷大 , 不进行比较 , 选择 1 对应的基变量作为出基变量 , 查看该最小值对应的变量是 x7 , 选择该 x7 变量作为出基变量 ;
六、更新单纯形表
cj |
cj |
|
3 |
2 |
−1 |
0 |
0 |
−M |
−M |
|
CB 基变量系数 (目标函数) |
XB 基变量 |
常数 b
|
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
θi |
−M ( 目标函数 x6 系数 c6 ) |
x6 |
4 |
−4 |
3 |
1 |
−1 |
0 |
1 |
0 |
4 (θ6) |
0 ( 目标函数 x5 系数 c5) |
x5 |
10 |
1 |
−1 |
2 |
0 |
1 |
0 |
0 |
5 ( θ5 ) |
−M ( 目标函数 x7 系数 c7) |
x7 |
1 |
2 |
−2 |
1 |
0 |
0 |
0 |
1 |
1 ( θ7 ) |
σj ( 检验数 ) |
|
|
3−2M ( σ1 ) |
2+M ( σ2 ) |
−1+2M ( σ3 ) |
−M ( σ3 ) |
0 |
0 |
0 |
|