灵敏度分析问的不是“参数变了以后重算一遍”,而是:旧最优表还能用到什么程度,若不能直接用,怎样从旧表最快恢复最优。
两个总判据
当前基 B 保持最优,当且仅当同时满足
B−1b≥0
和
σT=cBTB−1A−cT≤0.
前者是原可行性,后者是对偶可行性。所有变化都归结为重新检查这两式。
非基变量目标系数变化
若非基变量 xk 的系数从 ck 变为 ck′=ck+Δ,只有它的检验数变化:
σk′=σk−Δ.
要求 σk′≤0,就得到 Δ 的允许范围。若越界,xk 应进基,从原最优表继续做原始单纯形。
基变量目标系数变化
若第 r 个基变量系数增加 Δ,则所有检验数都可能变化:
σj′=σj+Δ(B−1Aj)r
(基变量本身的检验数仍为零)。对每个非基列写 σj′≤0,取这些不等式的交集,就是允许范围。
最优值在基不变时变为
z′=z+Δ(B−1b)r.
右端向量变化
若 b′=b+Δb,检验数不变,新的基本变量为
xB′=B−1b+B−1Δb.
要求每个分量非负。若只改变 bi,令 Δb=δei,逐行解
B−1b+δB−1ei≥0.
越界后若检验数仍满足最优性,可从旧表做对偶单纯形。
技术系数或新增变量变化
新增变量相当于新增一列 a 与目标系数 ca。只需计算它相对当前基的检验数
σa=cBTB−1a−ca.
若 σa≤0,当前解仍最优且新变量取零;若 σa>0,让新变量进基。
新增约束则把当前解代入检查。若违反新约束,将其用当前非基变量表示后追加到表中,常可用对偶单纯形修复。
影子价格与范围
最优对偶解
yT=cBTB−1
给出右端变化的局部价值:
z(b+Δb)=z(b)+yTΔb.
但该式只在当前基保持可行和最优的参数范围内成立。越过临界值后,最优基变化,影子价格也会跳变。
考试要点
- 改 c 主要检查检验数;改 b 主要检查右端。
- “最优基不变”比“最优解不变”更严格:基不变时数值解也可能随 b 连续变化。
- 允许范围的端点通常对应退化或多重最优,应包含还是排除要按题意说明。
- 写出参数不等式的交集,不要只检查其中一个检验数或一个基本变量。