敏感性分析是找出我们可以改变输入数据多少,以便我们的线性规划模型的输出保持相对不变。这有助于我们确定我们为问题提供的数据的敏感性。如果输入的微小变化(例如某些原材料可用性的变化)会对某个模型的最优解产生较大变化,而另一个模型的输入的相应微小变化却不会对其最优解产生那么大的影响,我们可以得出结论,第二个问题比第一个问题更稳健。第二个模型对输入数据的变化不太敏感。
我们将考虑最优解对资源可用性变化的敏感性情况。(约束的右侧。)
如果在任何线性规划问题中,有 n 个变量和 m 个约束,我们可以认为右侧是资源数量的代表。例如,考虑我们之前的化工厂模型
最大化 z =
受制于,
,
,
,
,
.
右侧代表各种资源:原材料 1 和 2 的数量、市场限制和每日需求。现在,如果这些右侧发生变化,整个问题都会发生变化。假设我们想知道任何特定资源的价值。更准确地说,我们想知道第一种原材料可获得 24 个单位实际上有多重要。如果我们将数量从 24 提高到 25,我们的最优值将变为 21.75,而之前为 21。因此,第一种资源数量的单位增加使最优值(即总利润)变化了 0.75。因此,这可以被认为是第一种资源的“单位价值”。这个技术术语是第一种资源的“影子价格”。
通过逐个增加资源并求解相关的线性模型来单独确定资源的影子价格非常低效。让我们研究另一种计算影子价格的方法。
考虑以下线性系统
最大化 z =
受制于,
,
,
,
.
带有松弛变量的最优单纯形表 是
基本 |
|
|
|
|
|
|
广度优先搜索(BFS) |
z |
4
|
0
|
0
|
1
|
2
|
0
|
1350
|
|
|
1
|
0
|
|
|
0
|
100
|
|
|
0
|
1
|
0
|
|
0
|
230
|
|
2
|
0
|
0
|
-2
|
1
|
1
|
20
|
现在,为了找到影子价格,我们将上述模型的标准形式写成如下形式
,
,
.
如果资源 1 增加一个单位,这意味着第一个松弛变量减少一个单位,以便左右两边的相等性保持不变。所有其他资源也是如此。
从最优单纯形表中,我们有以下约束
.
这可以改写为
.
鉴于松弛变量值的减少等同于其资源的增加,我们得到
+1(资源 1 的增加)+2(资源 2 的增加)+0(资源 3 的增加)=1350
因此,我们可以看到
- 资源 1 增加一个单位,z 增加 1
- 资源 2 增加一个单位,z 增加 2
- 资源 3 增加一个单位,z 增加 0
因此,影子价格分别为 1、2 和 0。