帖子 用户 招聘
  • 1882阅读
  • 2回复

[新型肥料]规划求解中影子价格的应用——提高水溶肥配方的容错率 [复制链接]

上一主题 下一主题
离线杨磊_2mfwi

只看楼主 倒序阅读 使用道具 楼主  发表于: 2022-10-12


关于excel规划求解中敏感性报告阴影价格应用
作用

    明确概念

      实际意义

        验证
        参考价格变动1个单位:阴影价格≠目标值改变量

          参考价格和默认价格在范围内变动任意个单位

            提高配方养分含量要求,目标值反而降低

              小结

                不足



                  关于excel规划求解中敏感性报告阴影价格应用



                  目录:

                  关于excel规划求解中敏感性报告阴影价格应用阴影价格获取敏感性报告作用明确概念实际意义验证默认价格变动1个单位:阴影价格=目标值改变量参考价格变动1个单位:阴影价格≠目标值改变量参考价格和默认价格在范围内变动任意个单位提高配方养分含量要求,目标值反而降低小结不足


                  阴影价格



                  获取敏感性报告


                  通过规划求解得到结果时,可选择“报告-敏感性报告”得到敏感性报告
                  在规划求解中获取“敏感性报告”

                  “敏感性报告”和“阴影价格”的位置


                  作用


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


                  明确概念


                  因不同语境下表达需求,相同意思的内容会有不同的名称,因此有必要先明确一些概念:资源约束值(bi)=约束限制值=配方养分含量要求

                  资源约束值(bi)是例线性规划问题方程中的名称
                  约束限制值是在敏感性报告中的名称
                  配方养分含量要求是在excel表格中的名称


                  实际意义


                  在现有约束条件和最优配方结果下,只变动其中一个资源约束值(敏感性报告中约束限制值),资源约束值bi在允许增量和减量上下限内改变一个单位,所导致的目标值结果的改变量=阴影价格。
                  例如,下图中如果将约束限制值(bi) -计算结果N从20改为21,那么最终目标值价格变动为0.02173913;将约束限制值(bi) -计算结果P2O5从20改为21,那么最终目标值价格变动为0.009188236。
                  图1 20-20-20配方中参考价格条件下的敏感性—阴影价格报告


                  验证


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

                  图3,通过目标式系数可知,上图是参考价格条件下20-20-20的敏感性报告


                  默认价格变动1个单位:阴影价格=目标值改变量

                  组别默认价格
                  变动方向20→2120→19
                  N0.02174-0.02174
                  p0.00919-0.00919
                  K0.01536-0.01536
                  表1,默认价格下,只变动NPK其中一个情况下,从20→21,20→19变动后目标值的改变量。

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

                  通过对表1和图4的信息,可知
                  1. 在约束限制值范围内,无论是向上还是向下,只变动1个资源量1个单位时,目标值的改变量的绝对值=阴影价格
                  2. 以肥料配方计算求目标值价格最低而言,一般来说,提高养分含量的要求(增加约束限制值),会增加最终目标值的价格,降低养分含量的要求,会降低最终目标值的价格。但个别养分含量的提高反而会降低最终目标值的价格,大家可以先想想会是那个元素,小编下面会给出示例。


                  参考价格变动1个单位:阴影价格≠目标值改变量

                  组别参考价格
                  变动方向20→2120→19
                  N391.2705238-222.5352
                  p261.6373142-192.8885
                  K353.1441566-250.7042
                  表2,参考价格下,只变动NPK其中一个情况下,从20→21,20→19变动后目标值的改变量。

                  图5,通过目标式系数可知,上图是参考价格条件下20-20-20的敏感性报告

                  通过对表1和图4的信息,可知
                  1. 在最优配方情况,NPK向下变动1个资源量1个单位时,目标值的改变量的绝对值=阴影价格
                  2. 在最优配方情况,NPK向上变动1个资源量1个单位时,目标值的改变量的绝对值≠阴影价格

                  这就是小编在验证过程中所遇到的错误,忽略了参考价格下敏感性报告中约束限制值中允许的增量上限。从图5看,NPK所允许的增量均<1,也就是不满足20→21的调整。

                  参考价格和默认价格在范围内变动任意个单位


                  上文示例了在范围内当资源约束值变动1个单位时,阴影价格=目标值改变量。如果参考价格和默认价格在范围内变动任意个单位,目标值改变量是否等于阴影价格*变动单位数?
                  表3,验证默认价格下,在图2敏感性报告约束限制值变动范围内,只改变1个资源约束值情况下,资源约束值变动任意个单位。目标值改变量=阴影价格*变动单位数

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

                  通过表3和表4结果可知:在敏感性报告约束限制值变动范围内,只改变1个资源约束值情况下,资源约束值变动任意个单位。目标值改变量=阴影价格*变动单位数。
                  以上结果也回应了小编的那个错误尝试

                  提高配方养分含量要求,目标值反而降低


                  细心朋友已经可能已经发现了,阴影价格中绝大部分是正值,但氯cl元素的阴影价格是负数。这意味着,如果在配方养分含量要求中增加氯离子的含量,配方肥的最终价格反而会降低。可以停下来思考一下下这是为什么呢?
                  图6,参考价格下,氯cl的阴影价格为负数

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

                  图8,20-20-20配方中,将氯cl离子限制在4%,规划求解配方价格最低的结果是5423.40

                  通过图6,7,8对比可知:
                  1. 提高配方养分含量中氯cl要求,目标值结果反而会降低(5423.40<5498.58)
                  2. 目标值结果的差值=阴影价格(5423.40-5498.58=-75.18)


                  小结


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


                  图9,参考价格下,敏感性报告中N和P阴影价格的差别


                  不足

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

                  参考价格下,20→21得到的目标值改变量≠阴影价格
                  • 本文首发于vx公众号:农技小石头 欢迎大家关注获取小石头的最新分享和更优质的排版阅读体验。
                   
                  分享到
                  离线蜀芙蓉

                  只看该作者 沙发  发表于: 2022-10-12
                  有一定参考价值
                  离线raulaimar

                  只看该作者 板凳  发表于: 2023-10-30
                  虽然比较复杂,但是确实有点用处,可以参考
                  快速回复
                  限80 字节
                  发帖请遵守“191农资人”电子公告服务规则:https://www.191.cn/read.php?tid=72784
                   
                  上一个 下一个