文章目录
- 一、线性规划示例
- 二、转化成标准形式
- 三、初始基可行解
- 四、列出单纯形表
- 五、计算检验数
- 六、选择入基变量与出基变量
- 七、第一次迭代 : 列出单纯形表
一、线性规划示例
线性规划示例 : 使用单纯形法求解下面的线性规划 ;
maxZ=x1?+2x2?+x3?s.t??????????????????2x1??3x2?+2x3?≤1531?x1?+x2?+5x3?≤20xj?≥0?(j=1,2,3)??
二、转化成标准形式
首先将现行规划转化成标准形式 :
参考 【运筹学】线性规划数学模型标准形式 ( 标准形式 | 目标函数转化 | 决策变量转化 | 约束方程转化 | 固定转化顺序 | 标准形式转化实例 ) 线性规划 普通形式 -> 标准形式 转化顺序说明 博客 , 先处理变量约束 , 再将不等式转为等式 , 最后更新目标函数 ;
1 . 处理约束变量 : 所有的约束变量都大于等于
0 , 这里无需处理 ;
2 . 将不等式转为等式 : 两个不等式都是小于等于不等式 , 在左侧加入松弛变量即可 ;
① 添加松弛变量 : 上述两个不等式
????????2x1??3x2?+2x3?≤1531?x1?+x2?+5x3?≤20? , 在左侧分别添加
x4?,x5? 松弛变量 ;
② 最终结果 : 转化后的结果是
??????????????????2x1??3x2?+2x3?+x4?=1531?x1?+x2?+5x3?+x5?=20xj?≥0(j=1,2,3,4,5)?
3 . 处理目标函数取最大值 : 目标函数就是取最大值 , 无需处理 ;
4 . 最终的标准形结果是 :
maxZ=x1?+2x2?+x3?+0x4?+0x5?s.t??????????????????2x1??3x2?+2x3?+x4?+0x5?=1531?x1?+x2?+5x3?+0x4?+x5?=20xj?≥0(j=1,2,3,4,5)??
三、初始基可行解
找初始基可行解 :
① 查找单位阵 : 该线性规划标准形的系数矩阵中 ,
x4?,x5? 的系数矩阵是
(1001?) , 该矩阵是单位阵 ;
② 可行基 : 选择该矩阵作为可行基 ;
③ 初始基可行解 : 其对应的解是基可行解
???????0001520???????? ;
四、列出单纯形表
maxZ=x1?+2x2?+x3?+0x4?+0x5?s.t??????????????????2x1??3x2?+2x3?+x4?+0x5?=1531?x1?+x2?+5x3?+0x4?+x5?=20xj?≥0(j=1,2,3,4,5)??
cj? |
cj? |
|
1 |
2 |
1 |
0 |
0 |
|
CB? 基变量系数 (目标函数) |
基变量 |
常数
b |
x1? |
x2? |
x3? |
x4? |
x5? |
θi? |
0 ( 目标函数
x4? 系数
c4? ) |
x4? |
15 |
2 |
?1 |
2 |
1 |
0 |
? |
0 ( 目标函数
x5? 系数
c5?) |
x5? |
20 |
31? |
1 |
5 |
0 |
1 |
20 |
σj? ( 检验数 ) |
|
|
1 (
σ1? ) |
2 (
σ2? ) |
1 (
σ3? ) |
0 |
0 |
|
五、计算检验数
计算非基变量的检验数 :
单个检验数计算公式 :
σj?=cj??∑ci?aij? , 其中
cj? 是对应目标函数非基变量系数 ,
ci? 是目标函数中基变量系数 ,
aij? 是系数矩阵中对应的
xj? 非基变量列向量 ;
①
σ1? 检验数计算 :
σ1?=1?(0×2+0×31?)=1
②
σ2? 检验数计算 :
σ2?=2?(0×(?1)+0×1)=2
③
σ1?3 检验数计算 :
σ3?=1?(0×2+0×5)=1
六、选择入基变量与出基变量
入基变量选择 : 选择检验数
σj? 较大的非基变量作为入基变量 , 即
x2? ;
出基变量是根据
θ 值来选择的 , 选择
θ 值较小的值对应的基变量作为出基变量 ;
出基变量选择 : 常数列
b=(1520?) , 分别除以除以入基变量
x2? 大于
0 的系数列
????11???? , 计算过程如下
?????系数小于0不计算120??????? , 得出结果是
???无效值20???? , 如果系数小于等于
0 , 该值就是无效值 , 默认为无穷大 , 不进行比较 , 选择
20 对应的基变量作为出基变量 , 查看该最小值对应的变量是
x5? , 选择该
x5? 变量作为出基变量 ;
七、第一次迭代 : 列出单纯形表
上述已经得到
x2? 作为入基变量 , 由非基变量转为基变量 ,
x5? 作为出基变量 , 由基变量转为非基变量 ; 使用
x2? , 替换基变量中的
x5? 的位置 ;
基变量为
x4?,x2? , 注意顺序不要写反 ;
cj? |
cj? |
|
1 |
2 |
1 |
0 |
0 |
|
CB? 基变量系数 (目标函数) |
基变量 |
常数
b |
x1? |
x2? |
x3? |
x4? |
x5? |
θi? |
0 ( 目标函数
x4? 系数
c4? ) |
x4? |
15 |
2 |
?1 |
2 |
1 |
0 |
? (
θ4?) |
0 ( 目标函数
x5? 系数
c5?) |
x5? |
20 |
31? |
1 |
5 |
0 |
1 |
20 (
θ5? ) |
σj? ( 检验数 ) |
|
|
1 (
σ1? ) |
2 (
σ2? ) |
1 (
σ3? ) |
0 |
0 |
|
第一次迭代 |
– |
– |
– |
– |
– |
– |
– |
– |
0 ( 目标函数
x4? 系数
c4? ) |
x4? |
15 |
? |
1 |
? |
1 |
? |
? (
θ4? ) |
2 ( 目标函数
x2? 系数
c2?) |
x2? |
20 |
? |
0 |
? |
0 |
? |
? (
θ2?) |
σj? ( 检验数 ) |
|
|
1 (
σ1? ) |
0 |
1 (
σ3? ) |
0 |
? (
σ2? ) |
|