灵敏度分析可谓是线性规划中的重难点了,不仅将之前的知识汇总起来,更是考试必考的大题(出题人基本都是先让用单纯形法解出线性规划问题后,紧接着剩下的2,3小问均是灵敏度分析解题)。博主写这一篇博文也是走走停停耽误了很久,前前后后复习了多次QaQ。

接下来我们还是提出几个问题:

1. 灵敏度分析对应的是怎样的问题?
2. 灵敏度分析法解决问题有怎样的优点?不用该方法还有其他方法吗?
3. 灵敏度分析类的问题有哪几类?相应的要如何解决?


针对问题一: 灵敏度分析类问题用流程图来解释的话大致是这样的:


判断最优解是否发生变化是这类问题最常用的提问方式 。比如说:(这里可以随便用个线性规划问题想象,就不再找例子了)1. 将目标函数中的X1对应的系数由a化为b,最优解是否发生变化? 2. 第一个约束条件中右端的b值(常量)由c化成d最优解是否会发生改变?等等这类的问题。那么这类问题一般要怎样进行解答呢?这就是问题二要考虑的了。


针对问题二: 问题一的最后我们提出了要怎样进行解答该类问题的疑问?其实,在我们现在已经掌握(纯粹)单纯形法,对偶单纯形法等一系列用来解决线性规划问题的方法后,即使不使用灵敏度分析法也能判断出参数改变后是否还是最优解? 你可能在纳闷我在说什么,但仔细想想判断最优解是否变化的话,我们只需要分别求出两个线性规划问题所对应的最优解是否相同不就可以了嘛?但是,你可能也意识到了,这样做的结果是步骤复杂且极其容易求错。所以我们在这种情况下就需要使用灵敏度分析进行作答。即该方法更加的快捷、高效且不容易出错(计算量远远少于原始方法)。那么到底怎样使用灵敏度分析呢?这就是第三问要详细进行说明的了。


针对问题三: 了解了前两个问题后,我们已经对灵敏度分析的背景、优点及使用情况有了清晰的轮廓,那么接下来就是重中之重了,我将会分类对该方法进行讲解。 下面的讲解均以下图为例,因为线性规划问题的求解不是关键,所以将会直接列出相应的过程:

①原线性规划问题:

②化作标准型的矩阵

③最终的结果以及相应的参数值


在讲之前,我先解释一下第三幅图中每一个参数所对应的值具体在单纯性表中指代的是什么。

1.B:指的是基本可行解对应的矩阵在没有进行初等行变换之前对应的矩阵中的值
2.B-1:指的是最初的基变量对应的在进行初等行变换之后的矩阵中的值
3.CB:指的是基本可行解在化成标准型的目标函数中的系数矩阵
4.B-1A:指的是最终化成的矩阵中每一个x对应的矩阵中的值
5.C:指的是最初的单纯形表中目标矩阵的系数的相反数
6.A:指的是在化成标准型的线性规划中变量的系数,即图二中的右下部分
7.a:a的意义和A相同(为了区分所以分开来写),但是由于非基变量影响范围较小,所以使用的仅是改变的变量对应的系数

叙事能力有限,如果有地方不明白,可以点赞后询问,每天上线。


一、目标函数值发生变化
1).非基变量的目标函数系数发生变化
问题: 将上述目标函数中的x2的系数化成4 + c,如果要使的所得解仍为最优解,那么c的约束范围应该为多少?
为了得到这个范围,我们列出相应的约束条件:CBB-1A - C <= 0。(至于为何要用这个约束条件来进行求解,因为专业性不强,所以不太了解,但对于非数学专业只需要会用就可以了)。不过这里由于是非基变量,所影响的范围较小,为了区分接下来讲的基变量,暂将其公式记为CBB-1a - c,(对比可以发现,大写的A、C变成了小写的a和c,这不仅是为了区分,更是因为计算中,小写字母a、c所表示的仅仅是该发生变化的参数所对应的值,因为影响范围变小了)。求解该范围时相应的变量如下图所示:

需要注意:△r2是可正可负的,这里因为由于题意该值是增加的,所以原式中的减c2要变成减-c2,最后得出结果△r2 <= 4/3,即比该值小的话最优值不变,但我觉得还要再用减c2算一下最小值,不然过小也一定会发生变化,这里只是因为题意一定增加所以没有考虑。


2).基变量的目标函数系数发生变化
问题: 设目标函数中x1系数变为c1 = 3 + △c1,问△c1在什么范围内时,上述解仍为最优解?
经过上述描述后,相信具体过程已经无需多言。下面我再写一下每个参数具体的数值供大家理解

最终求出的1×5矩阵中有三个值都含有△c1,分别令他们<=0,可以求得 -1/3 <= △c1 <= 1/3。


二、右端常数发生变化
设右端常数b1变为20 + △b1,在何范围内,最优基不变?
这类问题较为简单,因为已经是基变量了,就不需要再去考虑多种情况了,对于这类问题只有一种解决方法。就是令CBB-1a - c,在该题中的解决过程如下图所示:

如果经过计算发现改变后不在这个范围中,那么说明最优解发生了改变,但是也不需要将改变的值替代原有值然后重新计算。只需要将最后划出的单纯性表中基变量对应的系数值换成B-1b的矩阵的值就可以接着进行换基迭代了,从而计算出最优解。


三、约束条件发生变化
这类问题暂时只考虑非基变量x的系数发生变化(我们专业是这样),如何使最优解不变。例如非基变量x12的系数由2变为2 + △a12,求x12检验数的范围。这里我们用到的公式仍然是CBB-1a - c,过程如下图所示:
值得留意的是,这里公式中的 +4,对应说明CBB-1a - c中最终还是减的‘-c’, 暂时不太理解,为何实际和公式中有差别?有想法的同学可以在评论区谈谈。


四、增加约束条件
这类问题不想之前的问题有公式可以套用,但是这类问题确实最简单但不一定写对的问题。首先对于给出的要添加的约束条件,将我们已经算出的最优解代入进去,如果满足不等式则说明约束条件不起作用,所以最优解一定不变;但是如果不满足,那么就只能在原问题的基础上加入该约束条件进行从头的计算了。

到这里基本上所有类型的灵敏度分析问题就都讲完了,呼~~,不容易啊!(语言太过贫乏,不知道如何描述这种方法)
创作不易,你的鼓励是我最大的动力。(约耗时2小时30分钟,反反复复改了好久)

10分钟也不一定学会的灵敏度分析相关推荐

  1. 【时间之外】10分钟搞懂Python+Tushare+Excel股票分析

    Python+Tushare+Excel 场景和工具 不想996就多赚钱(1分钟) 需求简介(1分钟) Tushare简介(1分钟) 思路分析 三行代码取数据(2分钟) 最麻烦的一步:保存成excel ...

  2. 10分钟学计算机,电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身

    原标题:电脑运行越来越慢?程序员大牛10分钟教你学会电脑瘦身 你的电脑是不是越来越慢?这里让程序员大佬用10分钟时间教你学会给电脑软件瘦身,1分钟了解计算机硬件升级.分分钟让你成为别人眼中的计算机大牛 ...

  3. 10分钟带你了解python_ComeOn!10分钟带你了解Python的变量和数据类型

    对任何语言来说,变量和数据类型都是非常重要和基础的内容.这篇文章就带你用10分钟的时间,学会Python的变量和数据类型这个知识点. 一.知识点 python 关键字 变量的定义与赋值 input() ...

  4. UWP开发入门(十九)——10分钟学会在VS2015中使用Git

    原文:UWP开发入门(十九)--10分钟学会在VS2015中使用Git 写程序必然需要版本控制,哪怕是个人项目也是必须的.我们在开发UWP APP的时候,VS2015默认提供了对微软TFS和Git的支 ...

  5. python写好的代码怎么给别人使用-10分钟学会用python写游戏!Python其实很简单!...

    原标题:10分钟学会用python写游戏!Python其实很简单! Python现在非常火,语法简单而且功能强大,很多同学都想学Python!所以在这里给各位看官们准备了高价值Python学习视频教程 ...

  6. 10分钟带你学会微信小程序的反编译

    以xxxxx小程序为例10分钟带你学会微信小程序的反编译 2019-11-28 12:59:26 以一个简单的例子介绍下小程序反编译操作流程 实验环境 前置准备 模拟器内软件安装 获取小程序包 开始解 ...

  7. 百度贴吧自动发帖_引流网赚之百度贴吧引流窍门:实操引流教程百度贴吧零成本自动顶帖+10分钟学会豆瓣顶帖引流...

    引流网赚之百度贴吧窍门:实操引流教程<百度贴吧零成本自动顶帖>+<10分钟学会豆瓣顶帖引流> 关于百度贴吧的引流方式有很多,像常见的关键词排名引流,比如,百度贴吧引流效果好不好 ...

  8. NiosII软处理器快速入门- 10分钟学会NiosII(1)

    http://hi.baidu.com/hieda/blog/item/7f69080e9efb80ce7bcbe13d.html Nios简单介绍: Nios II是一个用户可配置的通用RISC嵌入 ...

  9. 手机版python3h如何自制游戏_Python 飞机大战|10 分钟学会用 python 写游戏

    Python 飞机大战|10 分钟学会用 python 写游戏 2018 年 python 语言大火, 这把火看趋势已然延续到了 2019 年! 除了在科学计算领域 python 有用武之地之外, 在 ...

  10. #今日论文推荐#1小时学会走路,10分钟学会翻身,世界模型让新生机器狗掌握多项技能

    #今日论文推荐#1小时学会走路,10分钟学会翻身,世界模型让新生机器狗掌握多项技能 人类宝宝在出生后的第1年里,就会逐渐掌握协调能力,学习坐.立.翻滚和爬行. 那么机器人呢? 机器人能完成多复杂的任务 ...

最新文章

  1. 结对编程--------四则运算 实验总结2
  2. eclipse环境下配置tomcat服务器
  3. 工作经常使用的SQL整理,实战篇(三)
  4. mysql用if判断关联的表_mysql表连接,子查询以及if判断
  5. 马思伟:视频领域是个海洋,可以游泳、冲浪、潜水和远航
  6. python内函数名加括号和不加括号的区别,python中 函数名加括号与不加括号
  7. PRML(2)--绪论(下)模型选择、纬度灾难、决策论、信息论
  8. webpack及node.js基础必会--path模块的常见操作
  9. Android笔记 采用async http 框架 提交数据到服务器demo
  10. nginx搭建网关服务器
  11. 通过组策略集中管理管理用户桌面和开始菜单
  12. 世界时区缩写及代表的地区
  13. mc穿越时空地图android,《我的世界1.8X》穿越时空地图存档
  14. RedHat7安装QQ
  15. Chrome卸载重装
  16. 那些花儿(吉他版) --朴树
  17. mysql过载保护_腾讯后台开发技术总监浅谈过载保护 小心雪崩效应
  18. SQLyog 最新版本12.5-64bit 完美破解,亲测可用!
  19. Linux如何获取mtd数据,【转载】上接Linux MTD下获取Nand flash各个参数的过程的详细解析【转】...
  20. 磊科路由器如何设置虚拟服务器,nw711磊科路由器设置桥接步骤图文

热门文章

  1. 【CSS】纯CSS实现三级导航(模板)
  2. 整理出的安卓国家码,简称,语言的Json文件,可以一一对应国旗
  3. Redis 过期策略和内存淘汰机制
  4. python书籍推荐1001python书籍推荐_Python之codebook笔记
  5. 抖音大数据,教你爬爬爬!
  6. 项目智能化工程资格预审公告
  7. SU2021下载SketchUp2021最新下载安装教程SU草图大师2021下载安装
  8. 如何用python修改安卓和iOS的微信和支付宝步数!
  9. 抖音源码为什么会成为短视频源码中的翘楚
  10. 淘宝SKU组合查询算法实现