Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Data,Model and Decisions
数据、模型与决策第五章
What-If Analysis for Linear
Programming
线性规划的敏感性分析
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
本章内容( Topics)
What is Sensitivity Analysis 什么是敏感性分析
5.1 The Importance of What-If Analysis to Managers
敏感性分析对管理者的重要性
5.2 Continuing the Wyndor Case Study 继续研究伟恩德公司案例
5.3 Changes in One Objective Function Coefficient
只有一个目标函数系数变动
5.4 Simultaneous Changes in Objective Function Coefficients
目标函数系数同时变动的影响
5.5 Single Changes in a Constraint 单个约束条件变化的影响
5.6 Simultaneous Changes in the Constraints 约束右端值同时变动的情形
5.7 Summary 小结
补充:影子价格应用的例子
P184 案例 5.2 控制大气污染
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
在伟恩德玻璃公司的例子中
如果门 D的利润是 $400(原来是 $300),最优解会怎样变化呢?
如果门和窗的单位利润同时改变,最优解会变化吗?
如果工厂 2每周额外多一个小时,总利润会增加吗? 增加多少? ( P52习题 2.5)
如果工厂可以增加生产能力 ( 小时 ),你愿意付出多大的代价呢? ( P52 习题 2.5)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
What is Sensitivity Analysis
什么是敏感性分析 P146
数学模型只是实际问题的一个粗略的抽象
最优解一般只是针对某一特定的数学模型
管理者要对未来做各种假设,在这些假设下
,测试可能产生的结果,通过对各种结果深入分析来指导决策
通常,在取得最初版本模型的最优解之后,
进行分析才能取得对问题深入的认识这种分析称为 what-if分析或敏感性分析 ( Sensitivity Analysis)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
The Importance of What-If Analysis to Managers
5.1 敏感性分析对管理者的重要性 P147
模型参数是粗略的估计值
获取所需数据必须付出相当多的时间与心血
有些因素只有在研究完成后才能精确测量
what-if分析可以表明改变这些决策对结果的影响,从而有效指导管理者作出最终的决策
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.2 Continuing the Wyndor Case Study
继续研究伟恩德公司案例 P149
what-if 分析之前,最初伟恩德公司问题电子表格模型及最优解
P 43 伟恩德玻璃制品公司产品组合问题
Wyndor Glass Co,Product-Mix Problem
门 D o o r s 窗 W i n d o w s
单位利润 $300 $500
使用时数 每周可得时数工厂 1 1 0 2 <= 4
工厂 2 0 2 12 <= 12
工厂 3 3 2 18 <= 18
门 D o o r s 窗 W i n d o w s 总利润每周生产数量 2 6 $ 3,6 0 0
每个产品所需生产时数
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
想对伟恩德公司进行如下的 What-If 分析 P151
如果门和窗的单位利润,有一个估计不准确,最优解会怎样变化呢? ( 5.3节 )
如果门和窗的单位利润,两个估计都不准确,最优解会怎样变化呢? ( 5.4节 )
如果改变某一工厂的可用时间,总利润会如何变化
? 会对结果产生什么影响? ( 5.5节 )
如果同时改变三个工厂的可用时间,总利润会如何变化? 又会对结果产生什么影响? ( 5.6节 )
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Changes in One Objective Function Coefficient
5.3 只有一个目标函数系数变动 P151
本节重点介绍一个目标函数系数的灵敏度分析 ( 每一个估计值需要精确到何种程度,才能避免得出错误的最优解 )
在伟恩德公司例子中,如果门和窗的单位利润,有一个估计不准确,最优解会怎样变化呢?
方法 1,利用 Excel进行灵敏度分析 ( 改变参数,重新运行规划求解 )
P152的图 5.2 门的单位利润 PD=$300降到 PD=$200,而最优解不变
P153的图 5.3 门的单位利润 PD=$300增加到 PD=$500,而最优解不变
P153的图 5.4 门的单位利润从 PD=$300增加到 PD=$1000,最优解改变
方法 2,运用 Solver Table进行系统的敏感性分析:可以试算多个 PD不同值,看最优解是否改变 。 P155图 5.6 和 P156图 5.7( 一维 Solver Table)
方法 3,运用敏感性报告来寻找允许变化范围 ( 在,规划求解结果,的对话框中,在,报告,下选中,敏感性报告,,即可得到一个,敏感性报告,工作表 。 )
方法 4,光盘提供的互动模型中的线性规划图解进行敏感性分析 。 P157图
5.8( 输入模型后,按 Solve按钮,再按 Sensitivity Analysis按钮,显示敏感性报告
,并可以拖动目标函数的一端,改变其中一个目标函数系数和最优解 )
注意:在 最优解不变的情况下,但由于单位利润变化了,所以总利润还是发生变化了 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P153-155 运用 Solver Table进行系统的敏感性分析
要求加载宏 Solver Table.xla( 双击运行即可加载 )
步骤 ( 一维 Solver Table),
1,布局 Solver Table( 数据标签
Label,要改变的数据-多个试算值,要显示的结果值-在表中的第一行用公式实现 )
2,选中整个数据表区域 ( 不要数据标签 Label ),工 具 - >
Solver Table,在 Solver Table对话框中输入将用行或列形式组织的试算值代替规划求解中的哪个参数所对应的单元格地址
。
3,按 OK按钮,则将显示随着某一参数的变化,规划求解后的结果变化 。
门 D 单位利润 门 D o o r s 窗 W i n d o w s 总利润
2 6 $3,600
$100 2 6 $3,200
$200 2 6 $3,400
$300 2 6 $3,600
$400 2 6 $3,800
$500 2 6 $4,000
$600 2 6 $4,200
$700 2 6 $4,400
$800 4 3 $4,700
$900 4 3 $5,100
$1,000 4 3 $5,500
最优解
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P156 伟恩德公司有关单位利润的敏感性报告
最初伟恩德模型用 Excel“规划求解,产生的,敏感性报告
” 的一部分,其中最后三列分别表示目标函数中每个系数的允许变化范围 。
PD的允许变化范围为,300-300? PD? 300+450,即 0? PD? 750
PW的允许变化范围为,500-300? PW? 500+1E+30,即 PW? 200
说明目标函数的两个系数的允许变化范围都很大 。
可变单元格终 递减 目标式 允许的 允许的单元格 名字 值 成本 系数 增量 减量
$C$12 每周生产数量 门D o o r s 2 0 300 450 300
$D$12 每周生产数量 窗W i n d o w s 6 0 500 1E+30 300
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P158 敏感参数
在一些线性规划模型中,目标函数系数微小的变动都可能会影响最优解,这样的系数称为 敏感参数 。
,敏感性报告,中会直接显示目标函数中哪些系数是敏感的,这些系数允许的变化区域很小,因此,必须格外小心,
尽量取得这些数据的精确值 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.4 目标函数系数同时变动的影响 P158
如何在不重新求解模型的条件下,确定如果目标函数的几个系数同时变化,可能造成对最优解的影响
如果伟恩德公司两种新产品单位利润的估计值都是不精确的,将会对结果产生怎样的影响?
方法 1:利用 Excel进行分析 (改变参数,重新运行规划求解 )
P159的图 5.9 门,窗的单位利润分别被改为 PD=$450,PW= $400,
但是最优解不变
P159的图 5.10 门,窗的单位利润分别被改为 PD=$600,PW= $300
,从而最优解改变
方法 2:使用两维 Solver Table进行分析,可以试算多个 PD和
PW不同值的组合,看最优解是否改变 。 P160图 5.11,P161图
5.12和 P162图 5.13( 步骤类似一维 Solver Table)
方法 3:从,敏感性报告,中获得额外的信息-百分之百法则
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P160使用两维 Solver Table进行分析
步骤类似一维 Solver Table
但布局是两个参数 PD和 PW不同值的组合(行和列)
结果可以是 一个值 (直接用公式),也可以是 多个值 (用符合 &
连接)
如果结果是整数,但由于迭代原因有小数,可以用 ROUND函数取整。但要注意不能乱用 ROUND函数,否则有可能将真正的小数解误成整数解(如果要求结果为整数,需要“整数规划”,具体见第 9章)
最优解
( 2,6 ) $100 $200 $300 $400 $500
$300 (4,3) (4,3) (2,6) (2,6) (2,6)
门 D 单位利润 $400 (4,3) (4,3) (2,6) (2,6) (2,6)
$500 (4,3) (4,3) (4,3) (2,6) (2,6)
$600 (4,3) (4,3) (4,3) (4,3) (2,6)
窗 W 单位利润
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
The 100 percent rule
百分之百法则 P162
目标函数系数同时变动的百分之百法则 (The 100
percent rule for simultaneous changes in objective
function coefficients):
如果目标函数的系数同时变动,计算出每一系数变动量占该系数允许变动范围允许变动量的百分比,而后,
将各个系数的变动百分比相加,如果所得的和不超过
100%,最优解不会改变,如果超过 100%,则 不能确定 最优解是否改变 ( 只好重新运行规划求解了 ) 。
修改:书上 P163和 P164各两处明显错误
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
用图解法进行敏感性分析(允许变动范围) P164
当门,窗的单位利润的估计值分为改为 PD= $525,PW= $350,
刚好处在百分百法则所允许的临界点上,( D,W) = ( 2,6)
还是最优解,但同时,目标函数直线上在 ( 2,6) ( 4,3) 之间的所有点均为最优解
W
D0 2 4 6
2
4
6
8
P r odu c t i on r a t e for do ors
P r odu c t i on r a t e
fo r w i ndo w s
F e a s i bl e
re gi on
10
O bj e c t iv e func t i on li ne now is
P rof it = $3 150 = 5 25 D + 350 W
s inc e PD = $5 25,P W = $3 50.
E nt ir e li ne s e gm e nt i s opt im a l
(4,3)
(2,6)
8
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Role of the 100 percent rule
百分之百法则的作用 P165
可用于确定在保持最优解不变的条件下,
目标函数系数的变动范围
百分百法则通过将允许的增加或减少值在各个系数之间分摊,从而可以直接显示出每个系数的允许变动值
线性规划研究结束以后,如果将来条件变化,致使目标函数中一部分或所有系数都发生变动,百分百法则可以直接表明最初最优解是否保持不变
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
右端项的影子价格分析 P166
分析 函数约束右端值 变动的原因是,在建模时,
不能得到模型的参数的精确值,只能对其作大略的估计 。 因此要知道万一这些估计不准确产生的后果
更主要的理由是因为这些常数往往不是由外界决定的而是 管理层的政策决策 。 在建模并求解后,管理者想要知道如果改变这些决策是否会提高最终收益影子价格分析就是为管理者提供这方面的信息
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Shadow Price
影子价格 P168
在给定线性规划模型的最优解和目标函数相应值的条件下,影子价格 ( shadow price)
就是约束常数增加微小的量 1,使得目标函数值增加的量 。
同样也可以 利用 Excel进行分析 (改变参数,
重新运行规划求解 ),用 Solver Table进行分析 或 从敏感性报告中得到 等 3种 方法
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.5 单个约束条件变化的影响 P166
问题,如果改变一个工厂可用于生产新产品的生产时间
,结果如何?(利润变化是否有规律?)
以改变工厂 2的可用时间为例:
方法 1,利用 Excel进行分析 (改变参数,重新运行规划求解 )
P167的图 5.16 将工厂 2的可用时间从 12小时增加到 13小时 ( 增加 1小时 ),
总利润增加 $150.
P167的图 5.17 将工厂 2的可用时间从 13小时 再增加 到 18小时 ( 再增加 5小时
),总利润再增加 $750( 也就是每小时增加 $150),
方法 2:使用 Solver Table进行分析,可以试算多个工厂 2的可用时间,看总利润的变化情况 ( 是否有规律? ) 。 P169图 5.19( 一维 Solver Table)
方法 3:从,敏感性报告,中获得关键信息 P170 图 5.20
注意:计算对总利润的影响,但由于目标系数 ( 单位利润 ) 不变,而总利润发生变化了,可知最优解是发生变化了的 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
从,敏感性报告,中获得关键信息 P170
最初伟恩德模型用 Excel“规划求解,产生的,敏感性报告,中涉及函数约束的那一部分,其中的第四列给出了影子价格
影子价格显示了 利润 和 工厂可用生产时间 之间的关系 。
特别地,可用生产时间的变动在允许变化范围的情况下
,影子价格保证正确 ( 可用从,敏感性报告,中寻找右端值允许变化范围 ) 。
约束终 阴影 约束 允许的 允许的单元格 名字 值 价格 限制值 增量 减量
$E$7 工厂 1 使 用时数 2 0 4 1E+30 2
$E$8 工厂 2 使 用时数 12 150 12 6 6
$E$9 工厂 3 使 用时数 18 100 18 6 6
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
用图解法进行敏感性分析 P171
工厂 2约束右端值的可行域 6≤RHS 2≤ 18
的图形解释,直线 B
在 2W=6 和 2W=18之间平行移动时,最优解始终保持在直线 B与直线 C的交点上,每次 RHS2增加 (
或减少 )1,交点的移动就使利润增加 (
或减少 )一个影子价格的数量 ( $150)
0 2 4 6
2
4
6
8
2 W = 6? P r ofi t = 300 (4) + 500 ( 3) = $ 2,7 00
2 W = 18? P r ofi t = 300 (0) + 500 ( 9) = $ 4,5 00
2 W = 12? P r ofi t = 300 (2) + 500 ( 6) = $ 3,6 00
(4,3)
(2,6)
F e a s i bl e
re gi on for
or igi na l
pr obl e m
Li n e B
Li n e A (D = 4 )
Li n e C (3 D + 2 W = 18 )
10
(0,9)
D
W
P r odu c t i on r a t e for do ors
P r odu c t i on r a t e
fo r w i ndo w s
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.6 Simultaneous Change in RHS
约束右端值同时变动的情形 P172
如果多个约束右端值同时变动,那么管理层又该如何来评估可能造成的影响呢?
问题,如果同时改变三个工厂可用于生产新产品的生产时间,会造成怎样的影响?(利润变化如何?)
以将 1个小时的工作时间从工厂 3转移到工厂 2为例:
方法 1,利用 Excel进行分析 (改变参数,重新运行规划求解 ),P173的图
5.22,1个小时的工作时间从工厂 3转移到工厂 2,总利润增加( $150-$100)=$50,
方法 2,使用 Solver Table进行分析,可以试算从工厂 3转移到工厂 2
可用时间的不同组合值,看总利润的变化情况 。 P174图 5.23( 巧妙地利用一维 Solver Table)
方法 3:从,敏感性报告,中获得信息 P175
修改:书上 P175一处和 P176的多处明显错误
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P173 用 Solver Table进行分析巧妙地利用一维 Solver Table
步骤类似一维 Solver Table
通过在一个单元格内输入有关另一个单元格的公式,一维 Solver
Table 可以用来解决相关的单元格的试算值。(试算从工厂 3转移到工厂 2可用时间的不同组合值,看最优解和总利润的变化情况)。
注意,工厂 2的约束右端值也是利用公式( =30-工厂 3的约束右端值)
工厂 2 工厂 3 总 利润可得时间 可得时间 门 D o o r s 窗 W i n d o w s 利润 增加值
2 6 $3,600
12 18 2 6 $3,600
13 17 1.333 6.5 $3,650 $50
14 16 0.667 7 $3,700 $50
15 15 0 7.5 $3,750 $50
16 14 0 7 $3,500 -$250
17 13 0 6.5 $3,250 -$250
18 12 0 6 $3,000 -$250
最优解
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P175 The 100 percent rule
约束右端值同时变动的百分之百法则
同时改变几个或所有函数约束的约束右端值,
如果这些变动的幅度不大,那么可以用影子价格预测变动产生的影响 。
为了判别这些变动的幅度是否允许,计算每一变动占所允许的增加值或减少值的百分比 。
如果所有的百分比之和不超过 100%,那么,
影子价格还是有效的,如果所有的百分比之和超过 100%,那就 无法确定 影子价格是否有效
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.7 Summary 小结 P176
what-if 分析是在求得基本模型的最优解之后进行的,这些分析可以为管理层决策提供非常有用的信息;
Excel“规划求解,生成,敏感性报告,数据可以很快计算出每个目标函数系数的允许变动范围;
运用 目标函数系数的百分百法则,可进一步方便地检验所有的目标函数系数同时变动的情况;
通过影子价格分析,发现 改变决策 会产生的影响,
从而为管理层更好的决策提供指导;
可用 约束右端值变动的百分百法则 来判断几个约束右端值同时变动的幅度是否太大 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
补充:影子价格应用的例子
(胡运权:运筹学教程第二版,P75)
某文教用品厂利用原材料白坯纸生产原稿纸,日记本和练习本三种产品 。 该厂现有工人 100人,每天白坯纸的供应量为 30,000千克 。 如果单独生产各种产品时
,每个工人每天可生产原稿纸 30捆,或日记本 30打,
或练习本 30箱 。 已知原材料消耗为:每捆原稿纸用白坯纸 10/3千克,每打日记本用白坯纸 40/3千克,每箱练习本用白坯纸 80/3千克 。 已知生产各种产品的盈利为:每捆原稿纸 1元,每打日记本 2元,每箱练习本 3
元 。 试:
在现有生产条件下使该厂盈利最大的方案;
如白坯纸供应量不变,而工人数量不足时,可从市场上招收临时工,临时工费用为每人每天 15元,问该厂是否招临时工及招收多少人为宜 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
补充:影子价格应用的例子 (解 )
设该厂每天生产原稿纸 x1捆,日记本 x2打,练习本 x3箱 。
用?表示该厂招收的临时工数,则线性规划模型:
净利润 最大化 Max P(?)=x1+2x2+3x3-15? ( 带参数的数学模型 )
约束条件:
白坯纸,10/3*x1+40/3*x2+80/3*x3? 30000
工人,x1/30+x2/30+x3/30? 100+?
非负,x1,x2,x3? 0
解法:当?=0时,求解,并得,敏感性报告,,看第二个函数约束的影子价格,并与临时工每人每天费用 15元相比,如果影子价格大,则即可招 ( 影子价格= 20,所以可招,招的人数在允许的增量 200范围内,则盈利
P=5000+5?,当?>200,盈利 P=9000-15? --解决办法
:将 100+ 200作为工人限制,求解得 P=9000,此时工人函数约束的影子价格为 0) 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
补充:影子价格的经济意义和应用
( 胡运权:运筹学教程第二版,P58-60)
资源的影子价格实际上是一种机会成本 。 在纯市场经济条件下,当资源的市场价格低于影子价格时,可以买进这种资源,反之,可以卖出
。 随着资源的买进卖出,它的影子价格也将随之发生改变,一直到影子价格与市场价格保持同等水平,才处于平衡状态 。
当资源的 影子价格为 0时,表明该种资源 未得到充分利用 。 当资源的 影子价格不为 0时,表明该种资源在生产中 已耗费完毕 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
影子价格的经济意义和应用(续)
可以利用影子价格计算产品的 隐含成本 ( 单位资源消耗量 × 相应的影子价格后求和 ) 。 当产品产值大于隐含成本时,表明生产该产品有利 。 可计划安排生产,
否则用这些资源生产别的产品更为有利 。
一般说,对线性规划问题的求解是确定资源的最优分配方案,所以对资源的估计直接涉及到资源的最有效利用 。 如在大公司内部,可借助资源的影子价格确定一些内部结算价格,以便控制有限资源的使用和考核企业经营的好坏 。 又如在社会上可对一些最紧缺的资源,借助影子价格规定使用这种资源一个单位必须上交的利润额,以控制一些经济效益低的企业自觉地节约使用紧缺资源,使有限资源发挥更大的经济效益 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2 控制大气污染
运用各种降污方法最大限度可减少的每种污染气体的年排放量;
单位成本
(请修改 P185表 )
要求每年排放鼓风炉 反射炉 鼓风炉 反射炉 鼓风炉 反射炉 减少量 ( 百万磅 )
大气微尘 12 9 25 20 17 13 60
氧化硫 35 42 18 31 56 49 150
碳氢化合物 37 53 28 24 29 20 125
污染物增加烟囱高度 加入过滤装置 加入高级燃料降污方法 鼓风炉 反射炉增加烟囱高度 8 10
加入过滤装置 7 6
加入高级燃料 11 9
单位成本(百万美元)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2 控制大气污染
(数学模型)
决策变量,Xi(i=1,2,3,4,5,6),2个炉子,3种降污方法的实施比例目标函数:总成本 最小化 Min C=8X1+10X2+7X3+6X4+11X5+9X6
约束条件:
大气微尘,12X1+9X2+25X3+20X4+17X5+13X6? 60
氧化硫,35X1+42X2+18X3+31X4+56X5+49X6? 150
碳氢化合物,37X1+53X2+28X3+24X4+29X5+20X6? 125
实施比例,Xi? 100% (i=1,2,3,4,5,6)
且非负,Xi? 0 (i=1,2,3,4,5,6)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2控制大气污染 (续 )
电子表格模型鼓风炉 反射炉 鼓风炉 反射炉 鼓风炉 反射炉单位成本 ( 百万 $) 8 10 7 6 11 9
实际减少 要求每年污染物 ( 百万磅 ) 排放减少量大气微尘 12 9 25 20 17 13 60 >= 60
氧化硫 35 42 18 31 56 49 150 >= 150
碳氢化合物 37 53 28 24 29 20 125 >= 125
鼓风炉 反射炉 鼓风炉 反射炉 鼓风炉 反射炉 总成本 ( 百万 $)
使用 比例 100% 6 2,2 7 % 3 4,3 5 % 100% 4,7 6 % 100% $ 3 2,1 5
<= <= <= <= <= <=
100% 100% 100% 100% 100% 100%
加入过滤装置 加入高级燃料增加烟囱高度单位减少年排放量增加烟囱高度 加入过滤装置 加入高级燃料
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2控制大气污染 (续 )
敏感性报告可变单元格终 递减 目标式 允许的 允许的单元格 名字 值 成本 系数 增量 减量
$ C $ 1 5 使用比例 鼓风炉 100% - 3 4 % 8 0,3 3 6 1 E + 3 0
$ D $ 1 5 使用比例 反射炉 6 2,2 7 % 0,0 0 % 10 0,4 2 9 0,6 6 7
$ E $ 1 5 使用比例 鼓风炉 3 4,3 5 % 0,0 0 % 7 0,3 8 2 2,0 1 1
$ F $ 1 5 使用比例 反射炉 100% - 1 8 2 % 6 1,8 1 6 1 E + 3 0
$ G $ 1 5 使用比例 鼓风炉 4,7 6 % 0,0 0 % 11 2,9 7 5 0,0 4 5
$ H $ 1 5 使用比例 反射炉 100% - 4 % 9 0,0 4 4 1 E + 3 0
约束终 阴影 约束 允许的 允许的单元格 名字 值 价格 限制值 增量 减量
$ I $ 9 大气微尘 ( 百万磅 ) 60 0,1 1 1 60 1 4,2 9 7 7,4 8 0
$ I $ 1 0 氧化硫 ( 百万磅 ) 150 0,1 2 7 150 2 0,4 5 3 1,6 9 0
$ I $ 1 1 碳氢化合物 ( 百万磅 ) 125 0,0 6 9 125 2,0 4 2 2 1,6 9 2
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2控制大气污染 (续 )
c,规划求解并产生敏感性报告
d,从,敏感性报告,中可知,右端值的影子价格都不为 0,只要改变
,总成本就改变,所以这三个全是敏感系数,在目标函数系数中,均有一定的变化范围,所以不是那么敏感,但有两个系数的允许变化量较小 (只分别允许减少 0.045和允许增加 0.044),所以也相当敏感,
因此,这 5个参数,如果可能的话,应该作进一步精确的估计,
e,用,敏感性报告,中的信息 分别 计算 6个成本参数 ( 目标函数系数 )
减少或增加 10%后,与允许减少量和允许增加量的比,看是否超过
100%( 注意:是分别计算 ),
f,从,敏感性报告,中得知右端值的影子价格及其变动范围,
g,用影子价格,0.111/0.127=0.874(单位 ) 0.111/0.069=1.609(单位 ),
0.111/(0.127+0.069)=0.566 (单位 )
h,(将,每一张表,改为,第 一张表,) 每次将标准增加一定的百分比后,规划求解,发现在 40%以下,标准每增加 10%所增加的费用均小于 3.5 (降税 ),所以选 40%.
i,将标准提高 40%,规划求解并产生敏感性报告,然后再重复 f和 g的分析,
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Exercise
作业(上机)
P177 习题 5.3、
5.4和 5,14(b.中的 1%改为 1)、
5.6
注意:只要求用规划求解的 敏感性报告 来分析即可,如果超出敏感性报告,只好改变参数,重新运行规划求解 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
案例(二选一)
案例 5.2 控制大气污染 P184
案例 5.3 农场管理 P185
改,1,P186 一年之后,,每头牛会增值 10%,而鸡由于老化会贬值 25%”,
改为,由于老化,每头牛会贬值 10%,而鸡会贬值 25%”( 注意:包括原来的和新购买的牛和鸡均要贬值 ) 。
2,P186 他们讨论的目的是为了每年年底能够拥有最多的现金 (牲畜的收入 +农作物的收入 +年底拥有的牲畜的价值 +购买牲畜剩下的资金 +打工收入 -明年 40,000元的生活费 )
提示,1,将,购买的牛和鸡,作为决策变量 ( 2个 ) ;
2,将,到邻近的农场打工时数,作为决策变量 ( 2个 ),这样,敏感性报告,才能对 。
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Data,Model and Decisions
数据、模型与决策第五章
What-If Analysis for Linear
Programming
线性规划的敏感性分析
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
本章内容( Topics)
What is Sensitivity Analysis 什么是敏感性分析
5.1 The Importance of What-If Analysis to Managers
敏感性分析对管理者的重要性
5.2 Continuing the Wyndor Case Study 继续研究伟恩德公司案例
5.3 Changes in One Objective Function Coefficient
只有一个目标函数系数变动
5.4 Simultaneous Changes in Objective Function Coefficients
目标函数系数同时变动的影响
5.5 Single Changes in a Constraint 单个约束条件变化的影响
5.6 Simultaneous Changes in the Constraints 约束右端值同时变动的情形
5.7 Summary 小结
补充:影子价格应用的例子
P184 案例 5.2 控制大气污染
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
在伟恩德玻璃公司的例子中
如果门 D的利润是 $400(原来是 $300),最优解会怎样变化呢?
如果门和窗的单位利润同时改变,最优解会变化吗?
如果工厂 2每周额外多一个小时,总利润会增加吗? 增加多少? ( P52习题 2.5)
如果工厂可以增加生产能力 ( 小时 ),你愿意付出多大的代价呢? ( P52 习题 2.5)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
What is Sensitivity Analysis
什么是敏感性分析 P146
数学模型只是实际问题的一个粗略的抽象
最优解一般只是针对某一特定的数学模型
管理者要对未来做各种假设,在这些假设下
,测试可能产生的结果,通过对各种结果深入分析来指导决策
通常,在取得最初版本模型的最优解之后,
进行分析才能取得对问题深入的认识这种分析称为 what-if分析或敏感性分析 ( Sensitivity Analysis)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
The Importance of What-If Analysis to Managers
5.1 敏感性分析对管理者的重要性 P147
模型参数是粗略的估计值
获取所需数据必须付出相当多的时间与心血
有些因素只有在研究完成后才能精确测量
what-if分析可以表明改变这些决策对结果的影响,从而有效指导管理者作出最终的决策
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.2 Continuing the Wyndor Case Study
继续研究伟恩德公司案例 P149
what-if 分析之前,最初伟恩德公司问题电子表格模型及最优解
P 43 伟恩德玻璃制品公司产品组合问题
Wyndor Glass Co,Product-Mix Problem
门 D o o r s 窗 W i n d o w s
单位利润 $300 $500
使用时数 每周可得时数工厂 1 1 0 2 <= 4
工厂 2 0 2 12 <= 12
工厂 3 3 2 18 <= 18
门 D o o r s 窗 W i n d o w s 总利润每周生产数量 2 6 $ 3,6 0 0
每个产品所需生产时数
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
想对伟恩德公司进行如下的 What-If 分析 P151
如果门和窗的单位利润,有一个估计不准确,最优解会怎样变化呢? ( 5.3节 )
如果门和窗的单位利润,两个估计都不准确,最优解会怎样变化呢? ( 5.4节 )
如果改变某一工厂的可用时间,总利润会如何变化
? 会对结果产生什么影响? ( 5.5节 )
如果同时改变三个工厂的可用时间,总利润会如何变化? 又会对结果产生什么影响? ( 5.6节 )
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Changes in One Objective Function Coefficient
5.3 只有一个目标函数系数变动 P151
本节重点介绍一个目标函数系数的灵敏度分析 ( 每一个估计值需要精确到何种程度,才能避免得出错误的最优解 )
在伟恩德公司例子中,如果门和窗的单位利润,有一个估计不准确,最优解会怎样变化呢?
方法 1,利用 Excel进行灵敏度分析 ( 改变参数,重新运行规划求解 )
P152的图 5.2 门的单位利润 PD=$300降到 PD=$200,而最优解不变
P153的图 5.3 门的单位利润 PD=$300增加到 PD=$500,而最优解不变
P153的图 5.4 门的单位利润从 PD=$300增加到 PD=$1000,最优解改变
方法 2,运用 Solver Table进行系统的敏感性分析:可以试算多个 PD不同值,看最优解是否改变 。 P155图 5.6 和 P156图 5.7( 一维 Solver Table)
方法 3,运用敏感性报告来寻找允许变化范围 ( 在,规划求解结果,的对话框中,在,报告,下选中,敏感性报告,,即可得到一个,敏感性报告,工作表 。 )
方法 4,光盘提供的互动模型中的线性规划图解进行敏感性分析 。 P157图
5.8( 输入模型后,按 Solve按钮,再按 Sensitivity Analysis按钮,显示敏感性报告
,并可以拖动目标函数的一端,改变其中一个目标函数系数和最优解 )
注意:在 最优解不变的情况下,但由于单位利润变化了,所以总利润还是发生变化了 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P153-155 运用 Solver Table进行系统的敏感性分析
要求加载宏 Solver Table.xla( 双击运行即可加载 )
步骤 ( 一维 Solver Table),
1,布局 Solver Table( 数据标签
Label,要改变的数据-多个试算值,要显示的结果值-在表中的第一行用公式实现 )
2,选中整个数据表区域 ( 不要数据标签 Label ),工 具 - >
Solver Table,在 Solver Table对话框中输入将用行或列形式组织的试算值代替规划求解中的哪个参数所对应的单元格地址
。
3,按 OK按钮,则将显示随着某一参数的变化,规划求解后的结果变化 。
门 D 单位利润 门 D o o r s 窗 W i n d o w s 总利润
2 6 $3,600
$100 2 6 $3,200
$200 2 6 $3,400
$300 2 6 $3,600
$400 2 6 $3,800
$500 2 6 $4,000
$600 2 6 $4,200
$700 2 6 $4,400
$800 4 3 $4,700
$900 4 3 $5,100
$1,000 4 3 $5,500
最优解
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P156 伟恩德公司有关单位利润的敏感性报告
最初伟恩德模型用 Excel“规划求解,产生的,敏感性报告
” 的一部分,其中最后三列分别表示目标函数中每个系数的允许变化范围 。
PD的允许变化范围为,300-300? PD? 300+450,即 0? PD? 750
PW的允许变化范围为,500-300? PW? 500+1E+30,即 PW? 200
说明目标函数的两个系数的允许变化范围都很大 。
可变单元格终 递减 目标式 允许的 允许的单元格 名字 值 成本 系数 增量 减量
$C$12 每周生产数量 门D o o r s 2 0 300 450 300
$D$12 每周生产数量 窗W i n d o w s 6 0 500 1E+30 300
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P158 敏感参数
在一些线性规划模型中,目标函数系数微小的变动都可能会影响最优解,这样的系数称为 敏感参数 。
,敏感性报告,中会直接显示目标函数中哪些系数是敏感的,这些系数允许的变化区域很小,因此,必须格外小心,
尽量取得这些数据的精确值 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.4 目标函数系数同时变动的影响 P158
如何在不重新求解模型的条件下,确定如果目标函数的几个系数同时变化,可能造成对最优解的影响
如果伟恩德公司两种新产品单位利润的估计值都是不精确的,将会对结果产生怎样的影响?
方法 1:利用 Excel进行分析 (改变参数,重新运行规划求解 )
P159的图 5.9 门,窗的单位利润分别被改为 PD=$450,PW= $400,
但是最优解不变
P159的图 5.10 门,窗的单位利润分别被改为 PD=$600,PW= $300
,从而最优解改变
方法 2:使用两维 Solver Table进行分析,可以试算多个 PD和
PW不同值的组合,看最优解是否改变 。 P160图 5.11,P161图
5.12和 P162图 5.13( 步骤类似一维 Solver Table)
方法 3:从,敏感性报告,中获得额外的信息-百分之百法则
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P160使用两维 Solver Table进行分析
步骤类似一维 Solver Table
但布局是两个参数 PD和 PW不同值的组合(行和列)
结果可以是 一个值 (直接用公式),也可以是 多个值 (用符合 &
连接)
如果结果是整数,但由于迭代原因有小数,可以用 ROUND函数取整。但要注意不能乱用 ROUND函数,否则有可能将真正的小数解误成整数解(如果要求结果为整数,需要“整数规划”,具体见第 9章)
最优解
( 2,6 ) $100 $200 $300 $400 $500
$300 (4,3) (4,3) (2,6) (2,6) (2,6)
门 D 单位利润 $400 (4,3) (4,3) (2,6) (2,6) (2,6)
$500 (4,3) (4,3) (4,3) (2,6) (2,6)
$600 (4,3) (4,3) (4,3) (4,3) (2,6)
窗 W 单位利润
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
The 100 percent rule
百分之百法则 P162
目标函数系数同时变动的百分之百法则 (The 100
percent rule for simultaneous changes in objective
function coefficients):
如果目标函数的系数同时变动,计算出每一系数变动量占该系数允许变动范围允许变动量的百分比,而后,
将各个系数的变动百分比相加,如果所得的和不超过
100%,最优解不会改变,如果超过 100%,则 不能确定 最优解是否改变 ( 只好重新运行规划求解了 ) 。
修改:书上 P163和 P164各两处明显错误
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
用图解法进行敏感性分析(允许变动范围) P164
当门,窗的单位利润的估计值分为改为 PD= $525,PW= $350,
刚好处在百分百法则所允许的临界点上,( D,W) = ( 2,6)
还是最优解,但同时,目标函数直线上在 ( 2,6) ( 4,3) 之间的所有点均为最优解
W
D0 2 4 6
2
4
6
8
P r odu c t i on r a t e for do ors
P r odu c t i on r a t e
fo r w i ndo w s
F e a s i bl e
re gi on
10
O bj e c t iv e func t i on li ne now is
P rof it = $3 150 = 5 25 D + 350 W
s inc e PD = $5 25,P W = $3 50.
E nt ir e li ne s e gm e nt i s opt im a l
(4,3)
(2,6)
8
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Role of the 100 percent rule
百分之百法则的作用 P165
可用于确定在保持最优解不变的条件下,
目标函数系数的变动范围
百分百法则通过将允许的增加或减少值在各个系数之间分摊,从而可以直接显示出每个系数的允许变动值
线性规划研究结束以后,如果将来条件变化,致使目标函数中一部分或所有系数都发生变动,百分百法则可以直接表明最初最优解是否保持不变
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
右端项的影子价格分析 P166
分析 函数约束右端值 变动的原因是,在建模时,
不能得到模型的参数的精确值,只能对其作大略的估计 。 因此要知道万一这些估计不准确产生的后果
更主要的理由是因为这些常数往往不是由外界决定的而是 管理层的政策决策 。 在建模并求解后,管理者想要知道如果改变这些决策是否会提高最终收益影子价格分析就是为管理者提供这方面的信息
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Shadow Price
影子价格 P168
在给定线性规划模型的最优解和目标函数相应值的条件下,影子价格 ( shadow price)
就是约束常数增加微小的量 1,使得目标函数值增加的量 。
同样也可以 利用 Excel进行分析 (改变参数,
重新运行规划求解 ),用 Solver Table进行分析 或 从敏感性报告中得到 等 3种 方法
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.5 单个约束条件变化的影响 P166
问题,如果改变一个工厂可用于生产新产品的生产时间
,结果如何?(利润变化是否有规律?)
以改变工厂 2的可用时间为例:
方法 1,利用 Excel进行分析 (改变参数,重新运行规划求解 )
P167的图 5.16 将工厂 2的可用时间从 12小时增加到 13小时 ( 增加 1小时 ),
总利润增加 $150.
P167的图 5.17 将工厂 2的可用时间从 13小时 再增加 到 18小时 ( 再增加 5小时
),总利润再增加 $750( 也就是每小时增加 $150),
方法 2:使用 Solver Table进行分析,可以试算多个工厂 2的可用时间,看总利润的变化情况 ( 是否有规律? ) 。 P169图 5.19( 一维 Solver Table)
方法 3:从,敏感性报告,中获得关键信息 P170 图 5.20
注意:计算对总利润的影响,但由于目标系数 ( 单位利润 ) 不变,而总利润发生变化了,可知最优解是发生变化了的 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
从,敏感性报告,中获得关键信息 P170
最初伟恩德模型用 Excel“规划求解,产生的,敏感性报告,中涉及函数约束的那一部分,其中的第四列给出了影子价格
影子价格显示了 利润 和 工厂可用生产时间 之间的关系 。
特别地,可用生产时间的变动在允许变化范围的情况下
,影子价格保证正确 ( 可用从,敏感性报告,中寻找右端值允许变化范围 ) 。
约束终 阴影 约束 允许的 允许的单元格 名字 值 价格 限制值 增量 减量
$E$7 工厂 1 使 用时数 2 0 4 1E+30 2
$E$8 工厂 2 使 用时数 12 150 12 6 6
$E$9 工厂 3 使 用时数 18 100 18 6 6
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
用图解法进行敏感性分析 P171
工厂 2约束右端值的可行域 6≤RHS 2≤ 18
的图形解释,直线 B
在 2W=6 和 2W=18之间平行移动时,最优解始终保持在直线 B与直线 C的交点上,每次 RHS2增加 (
或减少 )1,交点的移动就使利润增加 (
或减少 )一个影子价格的数量 ( $150)
0 2 4 6
2
4
6
8
2 W = 6? P r ofi t = 300 (4) + 500 ( 3) = $ 2,7 00
2 W = 18? P r ofi t = 300 (0) + 500 ( 9) = $ 4,5 00
2 W = 12? P r ofi t = 300 (2) + 500 ( 6) = $ 3,6 00
(4,3)
(2,6)
F e a s i bl e
re gi on for
or igi na l
pr obl e m
Li n e B
Li n e A (D = 4 )
Li n e C (3 D + 2 W = 18 )
10
(0,9)
D
W
P r odu c t i on r a t e for do ors
P r odu c t i on r a t e
fo r w i ndo w s
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.6 Simultaneous Change in RHS
约束右端值同时变动的情形 P172
如果多个约束右端值同时变动,那么管理层又该如何来评估可能造成的影响呢?
问题,如果同时改变三个工厂可用于生产新产品的生产时间,会造成怎样的影响?(利润变化如何?)
以将 1个小时的工作时间从工厂 3转移到工厂 2为例:
方法 1,利用 Excel进行分析 (改变参数,重新运行规划求解 ),P173的图
5.22,1个小时的工作时间从工厂 3转移到工厂 2,总利润增加( $150-$100)=$50,
方法 2,使用 Solver Table进行分析,可以试算从工厂 3转移到工厂 2
可用时间的不同组合值,看总利润的变化情况 。 P174图 5.23( 巧妙地利用一维 Solver Table)
方法 3:从,敏感性报告,中获得信息 P175
修改:书上 P175一处和 P176的多处明显错误
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P173 用 Solver Table进行分析巧妙地利用一维 Solver Table
步骤类似一维 Solver Table
通过在一个单元格内输入有关另一个单元格的公式,一维 Solver
Table 可以用来解决相关的单元格的试算值。(试算从工厂 3转移到工厂 2可用时间的不同组合值,看最优解和总利润的变化情况)。
注意,工厂 2的约束右端值也是利用公式( =30-工厂 3的约束右端值)
工厂 2 工厂 3 总 利润可得时间 可得时间 门 D o o r s 窗 W i n d o w s 利润 增加值
2 6 $3,600
12 18 2 6 $3,600
13 17 1.333 6.5 $3,650 $50
14 16 0.667 7 $3,700 $50
15 15 0 7.5 $3,750 $50
16 14 0 7 $3,500 -$250
17 13 0 6.5 $3,250 -$250
18 12 0 6 $3,000 -$250
最优解
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P175 The 100 percent rule
约束右端值同时变动的百分之百法则
同时改变几个或所有函数约束的约束右端值,
如果这些变动的幅度不大,那么可以用影子价格预测变动产生的影响 。
为了判别这些变动的幅度是否允许,计算每一变动占所允许的增加值或减少值的百分比 。
如果所有的百分比之和不超过 100%,那么,
影子价格还是有效的,如果所有的百分比之和超过 100%,那就 无法确定 影子价格是否有效
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
5.7 Summary 小结 P176
what-if 分析是在求得基本模型的最优解之后进行的,这些分析可以为管理层决策提供非常有用的信息;
Excel“规划求解,生成,敏感性报告,数据可以很快计算出每个目标函数系数的允许变动范围;
运用 目标函数系数的百分百法则,可进一步方便地检验所有的目标函数系数同时变动的情况;
通过影子价格分析,发现 改变决策 会产生的影响,
从而为管理层更好的决策提供指导;
可用 约束右端值变动的百分百法则 来判断几个约束右端值同时变动的幅度是否太大 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
补充:影子价格应用的例子
(胡运权:运筹学教程第二版,P75)
某文教用品厂利用原材料白坯纸生产原稿纸,日记本和练习本三种产品 。 该厂现有工人 100人,每天白坯纸的供应量为 30,000千克 。 如果单独生产各种产品时
,每个工人每天可生产原稿纸 30捆,或日记本 30打,
或练习本 30箱 。 已知原材料消耗为:每捆原稿纸用白坯纸 10/3千克,每打日记本用白坯纸 40/3千克,每箱练习本用白坯纸 80/3千克 。 已知生产各种产品的盈利为:每捆原稿纸 1元,每打日记本 2元,每箱练习本 3
元 。 试:
在现有生产条件下使该厂盈利最大的方案;
如白坯纸供应量不变,而工人数量不足时,可从市场上招收临时工,临时工费用为每人每天 15元,问该厂是否招临时工及招收多少人为宜 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
补充:影子价格应用的例子 (解 )
设该厂每天生产原稿纸 x1捆,日记本 x2打,练习本 x3箱 。
用?表示该厂招收的临时工数,则线性规划模型:
净利润 最大化 Max P(?)=x1+2x2+3x3-15? ( 带参数的数学模型 )
约束条件:
白坯纸,10/3*x1+40/3*x2+80/3*x3? 30000
工人,x1/30+x2/30+x3/30? 100+?
非负,x1,x2,x3? 0
解法:当?=0时,求解,并得,敏感性报告,,看第二个函数约束的影子价格,并与临时工每人每天费用 15元相比,如果影子价格大,则即可招 ( 影子价格= 20,所以可招,招的人数在允许的增量 200范围内,则盈利
P=5000+5?,当?>200,盈利 P=9000-15? --解决办法
:将 100+ 200作为工人限制,求解得 P=9000,此时工人函数约束的影子价格为 0) 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
补充:影子价格的经济意义和应用
( 胡运权:运筹学教程第二版,P58-60)
资源的影子价格实际上是一种机会成本 。 在纯市场经济条件下,当资源的市场价格低于影子价格时,可以买进这种资源,反之,可以卖出
。 随着资源的买进卖出,它的影子价格也将随之发生改变,一直到影子价格与市场价格保持同等水平,才处于平衡状态 。
当资源的 影子价格为 0时,表明该种资源 未得到充分利用 。 当资源的 影子价格不为 0时,表明该种资源在生产中 已耗费完毕 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
影子价格的经济意义和应用(续)
可以利用影子价格计算产品的 隐含成本 ( 单位资源消耗量 × 相应的影子价格后求和 ) 。 当产品产值大于隐含成本时,表明生产该产品有利 。 可计划安排生产,
否则用这些资源生产别的产品更为有利 。
一般说,对线性规划问题的求解是确定资源的最优分配方案,所以对资源的估计直接涉及到资源的最有效利用 。 如在大公司内部,可借助资源的影子价格确定一些内部结算价格,以便控制有限资源的使用和考核企业经营的好坏 。 又如在社会上可对一些最紧缺的资源,借助影子价格规定使用这种资源一个单位必须上交的利润额,以控制一些经济效益低的企业自觉地节约使用紧缺资源,使有限资源发挥更大的经济效益 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2 控制大气污染
运用各种降污方法最大限度可减少的每种污染气体的年排放量;
单位成本
(请修改 P185表 )
要求每年排放鼓风炉 反射炉 鼓风炉 反射炉 鼓风炉 反射炉 减少量 ( 百万磅 )
大气微尘 12 9 25 20 17 13 60
氧化硫 35 42 18 31 56 49 150
碳氢化合物 37 53 28 24 29 20 125
污染物增加烟囱高度 加入过滤装置 加入高级燃料降污方法 鼓风炉 反射炉增加烟囱高度 8 10
加入过滤装置 7 6
加入高级燃料 11 9
单位成本(百万美元)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2 控制大气污染
(数学模型)
决策变量,Xi(i=1,2,3,4,5,6),2个炉子,3种降污方法的实施比例目标函数:总成本 最小化 Min C=8X1+10X2+7X3+6X4+11X5+9X6
约束条件:
大气微尘,12X1+9X2+25X3+20X4+17X5+13X6? 60
氧化硫,35X1+42X2+18X3+31X4+56X5+49X6? 150
碳氢化合物,37X1+53X2+28X3+24X4+29X5+20X6? 125
实施比例,Xi? 100% (i=1,2,3,4,5,6)
且非负,Xi? 0 (i=1,2,3,4,5,6)
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2控制大气污染 (续 )
电子表格模型鼓风炉 反射炉 鼓风炉 反射炉 鼓风炉 反射炉单位成本 ( 百万 $) 8 10 7 6 11 9
实际减少 要求每年污染物 ( 百万磅 ) 排放减少量大气微尘 12 9 25 20 17 13 60 >= 60
氧化硫 35 42 18 31 56 49 150 >= 150
碳氢化合物 37 53 28 24 29 20 125 >= 125
鼓风炉 反射炉 鼓风炉 反射炉 鼓风炉 反射炉 总成本 ( 百万 $)
使用 比例 100% 6 2,2 7 % 3 4,3 5 % 100% 4,7 6 % 100% $ 3 2,1 5
<= <= <= <= <= <=
100% 100% 100% 100% 100% 100%
加入过滤装置 加入高级燃料增加烟囱高度单位减少年排放量增加烟囱高度 加入过滤装置 加入高级燃料
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2控制大气污染 (续 )
敏感性报告可变单元格终 递减 目标式 允许的 允许的单元格 名字 值 成本 系数 增量 减量
$ C $ 1 5 使用比例 鼓风炉 100% - 3 4 % 8 0,3 3 6 1 E + 3 0
$ D $ 1 5 使用比例 反射炉 6 2,2 7 % 0,0 0 % 10 0,4 2 9 0,6 6 7
$ E $ 1 5 使用比例 鼓风炉 3 4,3 5 % 0,0 0 % 7 0,3 8 2 2,0 1 1
$ F $ 1 5 使用比例 反射炉 100% - 1 8 2 % 6 1,8 1 6 1 E + 3 0
$ G $ 1 5 使用比例 鼓风炉 4,7 6 % 0,0 0 % 11 2,9 7 5 0,0 4 5
$ H $ 1 5 使用比例 反射炉 100% - 4 % 9 0,0 4 4 1 E + 3 0
约束终 阴影 约束 允许的 允许的单元格 名字 值 价格 限制值 增量 减量
$ I $ 9 大气微尘 ( 百万磅 ) 60 0,1 1 1 60 1 4,2 9 7 7,4 8 0
$ I $ 1 0 氧化硫 ( 百万磅 ) 150 0,1 2 7 150 2 0,4 5 3 1,6 9 0
$ I $ 1 1 碳氢化合物 ( 百万磅 ) 125 0,0 6 9 125 2,0 4 2 2 1,6 9 2
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
P184 案例 5.2控制大气污染 (续 )
c,规划求解并产生敏感性报告
d,从,敏感性报告,中可知,右端值的影子价格都不为 0,只要改变
,总成本就改变,所以这三个全是敏感系数,在目标函数系数中,均有一定的变化范围,所以不是那么敏感,但有两个系数的允许变化量较小 (只分别允许减少 0.045和允许增加 0.044),所以也相当敏感,
因此,这 5个参数,如果可能的话,应该作进一步精确的估计,
e,用,敏感性报告,中的信息 分别 计算 6个成本参数 ( 目标函数系数 )
减少或增加 10%后,与允许减少量和允许增加量的比,看是否超过
100%( 注意:是分别计算 ),
f,从,敏感性报告,中得知右端值的影子价格及其变动范围,
g,用影子价格,0.111/0.127=0.874(单位 ) 0.111/0.069=1.609(单位 ),
0.111/(0.127+0.069)=0.566 (单位 )
h,(将,每一张表,改为,第 一张表,) 每次将标准增加一定的百分比后,规划求解,发现在 40%以下,标准每增加 10%所增加的费用均小于 3.5 (降税 ),所以选 40%.
i,将标准提高 40%,规划求解并产生敏感性报告,然后再重复 f和 g的分析,
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
Exercise
作业(上机)
P177 习题 5.3、
5.4和 5,14(b.中的 1%改为 1)、
5.6
注意:只要求用规划求解的 敏感性报告 来分析即可,如果超出敏感性报告,只好改变参数,重新运行规划求解 。
Chapter 5
What-If Analysis for Linear Programming
线性规划的敏感性分析
RUC Information School,Ye Xiang,2007
案例(二选一)
案例 5.2 控制大气污染 P184
案例 5.3 农场管理 P185
改,1,P186 一年之后,,每头牛会增值 10%,而鸡由于老化会贬值 25%”,
改为,由于老化,每头牛会贬值 10%,而鸡会贬值 25%”( 注意:包括原来的和新购买的牛和鸡均要贬值 ) 。
2,P186 他们讨论的目的是为了每年年底能够拥有最多的现金 (牲畜的收入 +农作物的收入 +年底拥有的牲畜的价值 +购买牲畜剩下的资金 +打工收入 -明年 40,000元的生活费 )
提示,1,将,购买的牛和鸡,作为决策变量 ( 2个 ) ;
2,将,到邻近的农场打工时数,作为决策变量 ( 2个 ),这样,敏感性报告,才能对 。