【单纯形表法详细讲解】单纯形表法(Simplex Method)是解决线性规划问题的一种经典算法,广泛应用于生产计划、资源分配、成本控制等领域。该方法通过迭代逐步优化目标函数值,最终找到最优解。本文将对单纯形表法的原理和步骤进行详细讲解,并以表格形式辅助说明。
一、单纯形表法的基本思想
单纯形表法的核心在于通过构造一个增广矩阵(即单纯形表),在保持约束条件不变的前提下,逐步调整变量的取值,使目标函数达到最大或最小值。其基本步骤包括:
1. 建立初始单纯形表
2. 选择入基变量(进入基的变量)
3. 选择出基变量(离开基的变量)
4. 进行行变换,更新单纯形表
5. 判断是否达到最优解
6. 重复步骤2至5,直到得到最优解
二、单纯形表的结构与内容
单纯形表通常包含以下几部分:
| 基变量 | 系数列(Cj) | x₁ | x₂ | ... | xn | b(常数项) |
其中:
- 基变量:当前处于基中的变量(如松弛变量或人工变量)
- Cj:目标函数中对应变量的系数
- x₁, x₂,..., xn:决策变量及其系数
- b:约束条件的右侧常数项
- Zj - Cj:检验数,用于判断是否继续迭代
三、单纯形表法的执行步骤(以最大化为例)
下面以一个简单的线性规划问题为例,展示单纯形表法的具体操作过程。
问题描述:
最大化:
$$ Z = 3x_1 + 5x_2 $$
约束条件:
$$ x_1 \leq 4 $$
$$ 2x_2 \leq 12 $$
$$ 3x_1 + 2x_2 \leq 18 $$
$$ x_1, x_2 \geq 0 $$
步骤1:引入松弛变量并建立初始单纯形表
将不等式转换为等式:
$$ x_1 + s_1 = 4 $$
$$ 2x_2 + s_2 = 12 $$
$$ 3x_1 + 2x_2 + s_3 = 18 $$
初始单纯形表如下:
| 基变量 | Cj | x₁ | x₂ | s₁ | s₂ | s₃ | b |
| s₁ | 0 | 1 | 0 | 1 | 0 | 0 | 4 |
| s₂ | 0 | 0 | 2 | 0 | 1 | 0 | 12 |
| s₃ | 0 | 3 | 2 | 0 | 0 | 1 | 18 |
| Zj | 0 | 0 | 0 | 0 | 0 | 0 | |
| Cj-Zj | 3 | 5 | 0 | 0 | 0 |
步骤2:选择入基变量
根据 Cj - Zj 行,选择正值最大的变量作为入基变量。这里,x₂ 的 Cj-Zj = 5 是最大的,因此选择 x₂ 入基。
步骤3:选择出基变量
计算各约束行中 x₂ 的系数与 b 的比值:
- s₁ 行:4 / 0 → 不可选
- s₂ 行:12 / 2 = 6
- s₃ 行:18 / 2 = 9
选择最小的比值,即 s₂ 出基。
步骤4:进行行变换,更新单纯形表
用 x₂ 替换 s₂,进行行变换,使得 x₂ 在新表中为基变量,且其系数列为单位向量。
更新后的单纯形表如下:
| 基变量 | Cj | x₁ | x₂ | s₁ | s₂ | s₃ | b |
| s₁ | 0 | 1 | 0 | 1 | 0 | 0 | 4 |
| x₂ | 5 | 0 | 1 | 0 | 0.5 | 0 | 6 |
| s₃ | 0 | 3 | 2 | 0 | 0 | 1 | 18 |
| Zj | 0 | 5 | 0 | 2.5 | 0 | 30 | |
| Cj-Zj | 3 | 0 | 0 | -2.5 | 0 |
步骤5:判断是否最优
检查 Cj-Zj 行是否有正数。当前只有 x₁ 的 Cj-Zj = 3 > 0,因此还需继续迭代。
步骤6:重复步骤2-5
再次选择入基变量(x₁),出基变量(s₃):
更新后单纯形表如下:
| 基变量 | Cj | x₁ | x₂ | s₁ | s₂ | s₃ | b |
| s₁ | 0 | 1 | 0 | 1 | 0 | 0 | 4 |
| x₂ | 5 | 0 | 1 | 0 | 0.5 | 0 | 6 |
| x₁ | 3 | 1 | 0 | 0 | -0.33 | 0.33 | 4 |
| Zj | 3 | 5 | 0 | 1.67 | 1 | 32 | |
| Cj-Zj | 0 | 0 | 0 | -1.67 | -1 |
此时,所有 Cj-Zj 均小于等于 0,说明已达到最优解。
四、最终结果
最优解为:
- $ x_1 = 4 $
- $ x_2 = 6 $
- 最大值 $ Z = 32 $
五、总结
| 步骤 | 内容 |
| 1 | 引入松弛变量,建立初始单纯形表 |
| 2 | 选择 Cj-Zj 最大的变量作为入基变量 |
| 3 | 计算比值,选择最小比值对应的变量作为出基变量 |
| 4 | 进行行变换,更新单纯形表 |
| 5 | 检查 Cj-Zj 行,判断是否达到最优解 |
| 6 | 重复上述步骤,直至达到最优解 |
通过以上步骤,可以系统地应用单纯形表法求解线性规划问题,实现资源的最优配置。


