关于excel规划求解中敏感性报告阴影价格应用
目录:
[toc]
阴影价格
获取敏感性报告
通过规划求解得到结果时,可选择“报告-敏感性报告”得到敏感性报告。

<center>在规划求解中获取“敏感性报告”</center>

<center>“敏感性报告”和“阴影价格”的位置</center>
作用
通过对阴影价格的示例,可以看出阴影价格具备很强的现实意义:
- 在现有原料和约束条件下,可以通过阴影价格直观看到变动单个资源约束值时的目标值改变量;
- 如果有客户对配方具体数值没有要求,只是希望增加NPK总养分的含量,那么从成本最优的角度考虑,可选择在提高阴影价格最低的那个元素。比如20-20-20中,根据图9参考价格的敏感性报告中阴影价格,如果只是要求增加NPK总养分,那么增加P元素含量比增加N元素更划算。
- 通常来说,在以肥料配方总价格为目标值最优的规划求解中,提高配方中养分含量,会导致目标值的增加,也就是说各个约束限制值的值为正值,但也存在极个别元素,比如氯离子,因氯化钾中钾的养分含量高,价格便宜。如果允许在配方中增加氯离子的含量,那么总的配方价格会降低。
明确概念
因不同语境下表达需求,相同意思的内容会有不同的名称,因此有必要先明确一些概念:资源约束值(bi)=约束限制值=配方养分含量要求
资源约束值(bi)是例线性规划问题方程中的名称
约束限制值是在敏感性报告中的名称
配方养分含量要求是在excel表格中的名称
实际意义
在现有约束条件和最优配方结果下,只变动其中一个资源约束值(敏感性报告中约束限制值),资源约束值bi在允许增量和减量上下限内改变一个单位,所导致的目标值结果的改变量=阴影价格。
例如,下图中如果将约束限制值(bi) -计算结果N从20改为21,那么最终目标值价格变动为0.02173913;将约束限制值(bi) -计算结果P2O5从20改为21,那么最终目标值价格变动为0.009188236。

<center>图1 20-20-20配方中参考价格条件下的敏感性—阴影价格报告</center>
验证
首选需要说明的是,不同约束条件背景下,即使是20-20-20配方这条件相同,得到的敏感性报告差别很大。必须明确的是敏感值报告是在特定约束条件下的结果。
小编在初次尝试验证敏感性报告中阴影价格时,因忽略了参考价格下,约束限制值的允许增加值上限,导致得到与阴影价格有偏差的结果。下面在具体的验证中说明。

<center>图2,通过目标式系数可知,上图是默认价格条件下20-20-20的敏感性报告</center>

<center>图3,通过目标式系数可知,上图是参考价格条件下20-20-20的敏感性报告</center>
默认价格变动1个单位:阴影价格=目标值改变量
组别 | 默认价格 | |
---|---|---|
变动方向 | 20→21 | 20→19 |
N | 0.02174 | -0.02174 |
p | 0.00919 | -0.00919 |
K | 0.01536 | -0.01536 |
<center>表1,默认价格下,只变动NPK其中一个情况下,从20→21,20→19变动后目标值的改变量。</center>

<center>图4,通过目标式系数可知,上图是默认价格条件下20-20-20的敏感性报告</center>
通过对表1和图4的信息,可知
- 在约束限制值范围内,无论是向上还是向下,只变动1个资源量1个单位时,目标值的改变量的绝对值=阴影价格。
- 以肥料配方计算求目标值价格最低而言,一般来说,提高养分含量的要求(增加约束限制值),会增加最终目标值的价格,降低养分含量的要求,会降低最终目标值的价格。但个别养分含量的提高反而会降低最终目标值的价格,大家可以先想想会是那个元素,小编下面会给出示例。
参考价格变动1个单位:阴影价格≠目标值改变量
组别 | 参考价格 | |
---|---|---|
变动方向 | 20→21 | 20→19 |
N | 391.2705238 | -222.5352 |
p | 261.6373142 | -192.8885 |
K | 353.1441566 | -250.7042 |
<center>表2,参考价格下,只变动NPK其中一个情况下,从20→21,20→19变动后目标值的改变量。</center>

<center>图5,通过目标式系数可知,上图是参考价格条件下20-20-20的敏感性报告</center>
通过对表1和图4的信息,可知
- 在最优配方情况,NPK向下变动1个资源量1个单位时,目标值的改变量的绝对值=阴影价格;
- 在最优配方情况,NPK向上变动1个资源量1个单位时,目标值的改变量的绝对值≠阴影价格;
这就是小编在验证过程中所遇到的错误,忽略了参考价格下敏感性报告中约束限制值中允许的增量上限。从图5看,NPK所允许的增量均<1,也就是不满足20→21的调整。
参考价格和默认价格在范围内变动任意个单位
上文示例了在范围内当资源约束值变动1个单位时,阴影价格=目标值改变量。如果参考价格和默认价格在范围内变动任意个单位,目标值改变量是否等于阴影价格*变动单位数?

<center>表3,验证默认价格下,在图2敏感性报告约束限制值变动范围内,只改变1个资源约束值情况下,资源约束值变动任意个单位。目标值改变量=阴影价格*变动单位数</center>

<center>表4,验证参考价格下,在图3敏感性报告约束限制值变动范围内,只改变1个资源约束值情况下,资源约束值变动任意个单位。目标值改变量=阴影价格*变动单位数</center>
通过表3和表4结果可知:在敏感性报告约束限制值变动范围内,只改变1个资源约束值情况下,资源约束值变动任意个单位。目标值改变量=阴影价格变动单位数。*
以上结果也回应了小编的那个错误尝试
提高配方养分含量要求,目标值反而降低
细心朋友已经可能已经发现了,阴影价格中绝大部分是正值,但氯cl元素的阴影价格是负数。这意味着,如果在配方养分含量要求中增加氯离子的含量,配方肥的最终价格反而会降低。可以停下来思考一下下这是为什么呢?

<center>图6,参考价格下,氯cl的阴影价格为负数</center>

<center>图7,20-20-20配方中,将氯cl离子限制在3%,规划求解配方价格最低的结果是5498.58</center>

<center>图8,20-20-20配方中,将氯cl离子限制在4%,规划求解配方价格最低的结果是5423.40</center>
通过图6,7,8对比可知:
- 提高配方养分含量中氯cl要求,目标值结果反而会降低(5423.40<5498.58)
- 目标值结果的差值=阴影价格(5423.40-5498.58=-75.18)
小结
通过对阴影价格的示例,可以看出阴影价格具备很强的现实意义:
- 在现有原料和约束条件下,可以阴影价格直观看到变动单个资源约束值时的目标值改变量;
- 如果有客户对配方具体数值没有要求,只是希望增加NPK总养分的含量,那么从成本最优的角度考虑,可选择在提高阴影价格最低的那个元素。比如20-20-20中,根据图9参考价格的敏感性报告中阴影价格,增加P元素含量比增加N元素更划算。
- 通常来说,在以肥料配方总价格为目标值最优的规划求解中,提高配方中养分含量,会导致目标值的增加,也就是说各个约束限制值的值为正值,但也存在极个别元素,比如氯离子,因氯化钾中钾的养分含量高,价格便宜。如果允许在配方中增加氯离子的含量,那么总的配方价格会降低。

<center>图9,参考价格下,敏感性报告中N和P阴影价格的差别</center>
不足
-
如小编尝试中所遇到的错误,阴影价格的存在有对应的约束限制值范围(约束限制值-允许的减量,约束限制值+允许的增量)。
-
当超过范围之后,阴影价格不再有效;实际工作中,有超过阴影价格范围的预测需求,比如小编犯错中的一个场景,在参考价格中,尝试将资源限制值20→21,但NPK增加一个单位造成的最终目标值实际改变量≠阴影价格不匹配。

<center>参考价格下,20→21得到的目标值改变量≠阴影价格</center>
- 本文首发于vx公众号:农技小石头 欢迎大家关注获取小石头的最新分享。
本文由mdnice多平台发布
网友评论