数学建模评价类方法01——灵敏度分析
灵敏度分析
文章目录
- 灵敏度分析
- 前言
- 一、灵敏度是什么?
- 1.概念
- 2.灵敏度的应用
- 二、一个通俗的例子对灵敏度分析的解释
- 三、灵敏度分析的方法
- 四、灵敏度分析的具体实例
- 五、总结
- 引用
前言
在数学建模的评价类问题中,灵敏度分析是一个重量级的评价方法,尤其是针对规划问题,是一定要在建模后对模型进行灵敏度分析的,用来检验模型的稳定性。
本文主要介绍了灵敏度分析的概念和如何对我们建立的模型进行灵敏度分析,最后,我们通过一个例题来具体讲解灵敏度分析的操作方法。
一、灵敏度是什么?
1.概念
灵敏度分析是研究与分析一个系统(或模型)的状态或输出变化对系统参数或周围条件变化的敏感程度的方法。在最优化方法中经常利用灵敏度分析来研究原始数据不准确或发生变化时最优解的稳定性。通过灵敏度分析还可以决定哪些参数对系统或模型有较大的影响。因此,灵敏度分析几乎在所有的运筹学方法以及在对各种方案进行评价时都是很重要的。
2.灵敏度的应用
投入产出法中灵敏度分析
可以用来研究采取某一项重大经济政策后将会对国民经济的各个部门产生怎样的影响。例如,美国政府曾经利用投入产出表研究了提高职工工资10%对国民经济各部门商品价格的影响。研究的结果表明,在职工工资增加10%时,建筑业产品的价格将上涨7%,农产品的价格将上涨1.3%,其余各部门产品价格将上涨1.3~7%不等,生活费用将上升3.8%,职工的实际得益为6.2%。
方案评价中灵敏度分析
可以用来确定评价条件发生变化时备选方案的价值是否会发生变化或变化多少。例如,在利用评价表进行评价时,需要确定每一个分目标的权重系数和各分目标的评分数。这中间或多或少地会存在当事人的主观意识,不同的人可能会有截然不同的价值观念。因此就必须考虑当分配的权重系数或评分数在某一个范围内变化时,评价的结果将会产生怎样的变化。
定货批量的灵敏度分析
在分析整批间隔进货模型中,经济订货批量Q可用下式计算:
ΔQ∗=Q1∗−Q∗Q∗\Delta Q^*=\frac {Q^*_{1}-Q^*}{Q^*} ΔQ∗=Q∗Q1∗−Q∗
式中DDD为单位时间需求量,KKK为每次订货的固定费用,hhh为单位时间内每单位物资的保管费。它们一般都是根据统计资料估算的,与实际情况有所出入,需要进行灵敏度分析。用D1D1D1,K1K1K1,h1h1h1和Q分别表示实际的需求量、订货量、保管费和调整后的经济订货批量。ΔDΔDΔD,ΔKΔKΔK,ΔhΔhΔh和ΔQΔQΔQ分别代表需求量、订货量、保管费和经济订货批量的相对变化值,即:
ΔQ∗=(1+ΔD)(1+ΔK)1+Δh\Delta Q^*=\sqrt{\frac {(1+\Delta D)(1+\Delta K)}{1+\Delta h}} ΔQ∗=1+Δh(1+ΔD)(1+ΔK)
通过计算后可得
代入具体的数值后便可用上式说明 ΔDΔDΔD、ΔKΔKΔK和ΔhΔhΔh对订货批量的综合影响程度。
二、一个通俗的例子对灵敏度分析的解释
一头牛重200斤,每天增重5斤,饲料每天花费45元。牛的市场价是每斤65元,但目前行情不好,每天下降1元,求出这头牛的最佳销售时间。
这是一个很简单的单变量优化问题。求这头牛的最佳销售时间,就是求卖出价格最高的时间,为了求出这个时间,我们假设:
销售时间 ttt
牛的重量 www
牛的价格 ppp
饲料花费 CCC
卖出牛的收益 RRR
净收益 PPP
于是有, P=R−CP=R-CP=R−C ,其中, R=p⋅wR=p·wR=p⋅w , C=45tC=45tC=45t ,即得到净收益模型如下:
P=(65−t)(200+5t)−45tP=(65-t)(200+5t)-45tP=(65−t)(200+5t)−45t…………………………………(1)
容易得出当 t=8t=8t=8 时,PPP取最大值13320元。
其实,大多数情况下,问题到这里就已划上句号。但现实生活中,稍微细心一点,我们会发现,在上述模型的参数中,牛的重量,当前市场价格、每天饲料钱3个参数都是很容易测量的,即确定性较大,但牛的生长率和市场价格的下降率2个参数则不是那么好确定,例子中虽然规定了市场价格下降率r=1r=1r=1元/天,但实际中,每天的 rrr 都是不一样的。于是我们会有一个疑惑——是不是对于所有的市场价格下降率,这个模型都适用?
为了消除疑惑,我们分别随便选取原下降率(1元/天)周围的几个数r=0.8,0.9,1.0,1.1,1.2r=0.8,0.9,1.0,1.1,1.2r=0.8,0.9,1.0,1.1,1.2来进行研究。
根据公式(1),分别得出 [公式] ,得下图:
从图中可以看出,牛最佳卖出时间 ttt 随着市场价格下降率 rrr的变化而变化,这时候我们称:牛的卖出最佳时间 ttt 对市场价格下降率 rrr 是敏感的!
但是究竟有多敏感,就要进行灵敏度分析(敲黑板!!!划重点!!!)。
灵敏度分析,就是将市场价格下降率 rrr作为未知参数,计算最佳卖出时间 ttt 和 rrr关系。这时候,将例子中的“每天下降1元”改成“每天下降 rrr 元”,净收益模型就变成:
P=(65−rt)(200+5t)−45tP=(65-rt)(200+5t)-45tP=(65−rt)(200+5t)−45t
PPP对 ttt 求导,
dPdt=−10(rt+20r−28)\frac {dP}{dt}=-10(rt+20r-28)dtdP=−10(rt+20r−28)
令dPdt=0\frac {dP}{dt}=0dtdP=0的点为
t=28−20rrt=\frac {28-20r}{r}t=r28−20r ………………………………………(2)
至此,我们已经得到了一种灵敏性关系——r−tr-tr−t 关系,绘制 r−tr-tr−t 关系图如下:
公式(2)和上图的意义在于——作为牛贩子,我能确定一个 r−tr-tr−t 关系,确保我在不同 rrr 下,都能确定最佳卖牛时间 ttt 。当 0≤r≤28200≤r≤\frac{28}{20}0≤r≤2028 时,最佳卖出时间就由公式(2)给出;当 r>2820r>\frac{28}{20}r>2028 时, t<0t<0t<0 ,这会导致P(t)P(t)P(t) 是一个始终下降的曲线,这意味着,最佳卖牛时间为 t=0t=0t=0 ,也就是说,一旦市场价格下降率 r>2820r>\frac{28}{20}r>2028,需要当天就把牛卖掉,这时候饲养牛已经没有任何经济价值了。
然而,在实际使用中,我们更多地是将这种灵敏性关系表示成相对改变量或百分比改变的形式。例如, rrr 的10%的下降,导致了 ttt 的38%的增加。如果 ttt 的改变量为 Δt\Delta tΔt ,则 ttt 的相对改变量为 Δtt\frac {\Delta t}{t}tΔt ,百分比改变量为100Δtt\frac {100\Delta t}{t}t100Δt,如果rrr 改变了 Δr\Delta rΔr ,导致 ttt 有 Δt\Delta tΔt 的改变量,则相对改变量的比值为Δtt\frac {\Delta t}{t}tΔt与 Δrr\frac {\Delta r}{r}rΔr 的比值,令 Δr→0\Delta r\to0Δr→0 ,由导数定义,有
Δt/tΔr/r→dtdr⋅rt\frac {\Delta t/t}{\Delta r/r}\to\frac {dt}{dr}·\frac {r}{t} Δr/rΔt/t→drdt⋅tr
业内,称极限值dtdr⋅rt\frac {dt}{dr}·\frac {r}{t}drdt⋅tr就是 ttt 对 rrr 的灵敏性,记为 S(t,r)S(t,r)S(t,r) 。
灵敏性有啥用?
比如,在这个例子中,有
S(t,r)=dtdr⋅rt=−28rtS(t,r)=\frac {dt}{dr}·\frac {r}{t}=-\frac {28}{rt}S(t,r)=drdt⋅tr=−rt28
在点 r=1r=1r=1 和 t=8t=8t=8 ,
S(8,1)=−3.5S(8,1)=-3.5S(8,1)=−3.5
也就是说,在点(t,r)(t,r)(t,r)=(8,1)(8,1)(8,1),若市场价格下降率 rrr 增加 1%,则最佳卖牛时间 ttt 下降3.5%。
本例仅分析了市场价格下降率 [公式] 和最佳卖牛时间 [公式]的灵敏性关系,但可能还存在其他的关系,比如牛的重量增长率和最佳卖牛时间 [公式]的关系等,灵敏性分析的成功需要分析者具有较好的判断力,通常我们不需要对模型中的每个参数都进行灵敏性分析,只需要选择那些有较大不确定性的参数进行灵敏性分析即可。
如何判断灵敏度分析的效果?
先摆出结果:
如果你改变了系统参数后,引起这个模型(公式)输出的变化的程度不大,则说明你的模型稳定性较强(即灵敏性较差),反之则反!
用上述例子说明,
rrr 改变了1%, ttt 仅下降3.5%,这个改变很小,这就可以说明模型较为稳定;若 rrr 改变了1%, ttt 下降了35%,那这个模型是不稳定的!
三、灵敏度分析的方法
有多种方法可以进行敏感性分析:
主要有两种分析灵敏度的方法:
局部敏感性分析
全局敏感性分析
局部灵敏度分析是基于 (偏)导数 的分析。该方法适用于简单的成本函数,不适用于复杂模型,因为多数复杂模型目标函数不总连续。
局部敏感度分析是一项 一次性 (OAT)技术,可以一次分析一个参数对成本函数的影响,同时保持其他参数不变。
全局灵敏度分析通常使用蒙特卡洛技术实现。这种方法使用了一组全局样本来探索设计空间。
四、灵敏度分析的具体实例
【例】 一家彩电制造商计划推出两种新产品:一种19英寸液晶平板电视机,制造商建议零售价为339美元;另一种21英寸液晶平板电视机,零售价为399美元。公司付出的成本为19英寸彩电每台195美元,21英寸彩电每台225美元,还要加上400000美元的固定成本。在竞争的销售市场中,每年售出的彩电数量会影响彩电的平均售价。据统计,对每种类型的彩电,每多售出一台,平均销售价格会下降1美分。而且19英寸彩电的销售会影响21英寸彩电的销售,反之亦然。据估计,每售出一台21英寸彩电,19英寸彩电的平均售价会下降0.3美分,而每售出一台19英寸彩电,21英寸彩电的平均售价会下降0.4美分。问题是:每种彩电应该各生产多少台?
解:
采用处理数学建模问题的五步方法来解决这个问题。
第一步:提出问题。列出一张变量表。
表3.1 彩电问题第一步的结果 | |
---|---|
变量 | x1=19英寸彩电每年的售出数量/台 |
x2=21英寸彩电每年的售出数量/台 | |
p1=19英寸彩电每年的销售价格/美元 | |
p2=21英寸彩电每年的销售价格/美元 | |
c=生产彩电的成本/(美元/年) | |
r=彩电销售的收入/(美元/年) | |
f=彩电销售的利润/(美元/年) | |
假设 | p1=339−0.01x1−0.003x2p1=339-0.01x_{1}-0.003x_{2}p1=339−0.01x1−0.003x2 |
p2=399−0.004x1−0.01x2p2=399-0.004x_{1}-0.01x_{2}p2=399−0.004x1−0.01x2 | |
c=400000+195x1+225x2c=400000+195x_{1}+225x_{2}c=400000+195x1+225x2 | |
r=p1x1+p2x2r=p_{1}x_{1}+p_{2}x_{2}r=p1x1+p2x2 | |
f=r−cf=r-cf=r−c | |
x1,x2≥0x_{1},x_{2}≥0x1,x2≥0 | |
目标 | 求fff的最大值 |
第二步:选择一个建模方法。本问题视为无约束多变量最优化问题。
第三步:根据第二步中选择的建模方法推导模型的公式。
f=r−c=p1x1+p2x2−(400000+195x1+225x2)=(p1=339−0.01x1−0.003x2)x1+(399−0.004x1−0.01x2)x2−(400000+195x1+225x2)=−0.01x12−0.07x1x2−0.01x22+144x1+174x2−400000.f=r-c=p_{1}x_{1}+p_{2}x_{2}-(400000+195x_{1}+225x_{2}) \\ =(p1=339-0.01x_{1}-0.003x_{2})x_{1}+(399-0.004x_{1}-0.01x_{2})x_{2}-(400000+195x_{1}+225x_{2}) \\ =-0.01x^2_{1}-0.07x_{1}x_{2}-0.01x^2_{2}+144x_{1}+174x_{2}-400000. f=r−c=p1x1+p2x2−(400000+195x1+225x2)=(p1=339−0.01x1−0.003x2)x1+(399−0.004x1−0.01x2)x2−(400000+195x1+225x2)=−0.01x12−0.07x1x2−0.01x22+144x1+174x2−400000.
令y=fy=fy=f为求最大值的目标函数,x1,x2x_{1},x_{2}x1,x2为决策变量。现在问题转化为在区域
S=(x1,x2):x1≥0,x2≥0S = { (x_{1},x_{2}):x_{1}≥0,x_{2}≥0 } S=(x1,x2):x1≥0,x2≥0
上对
y=f(x1,x2)=−0.01x12−0.07x1x2−0.01x22+144x1+174x2−400000.y=f(x_{1},x_{2})=-0.01x^2_{1}-0.07x_{1}x_{2}-0.01x^2_{2}+144x_{1}+174x_{2}-400000. y=f(x1,x2)=−0.01x12−0.07x1x2−0.01x22+144x1+174x2−400000.
求最大值。
第四步:求解模型。
最后的步骤是用通俗易懂的语言回答问题。简单地说,这家公司可以通过生产4735台19英寸彩电和7043台21英寸彩电来获得最大利润,每年获得的净利润为553641.025美元。每台19英寸彩电的平均售价为270.52元,每台21英寸彩电的平均售价为309.63元。生产的总支出为2908000元,相应的利润率为19%。这些结果显示了这是有利可图的,因此建议这家公司应该实行推出新产品的计划。
那么这样问题结束了吗?
对于数学建模而言,我们光建立模型是远远不够的,我们需要验证我们的模型是否稳定。
下面我们针对本题进行灵敏度分析:
上面所得出的结论是以表中所做的假设为基础的。应该对我们关于彩电市场和生产过程所做的假设进行灵敏度分析,以保证结果具有稳健性。我们主要关心的是决策变量 和 的值,因为公司要据此来确定生产量。
灵敏度分析代码如下(示例):
%灵敏度分析的Matlab程序如下:
clc, clear, close all, format long g
syms x1 x2 a %定义符号变量
f=(339-a*x1-0.003*x2)*x1+(399-0.004*x1-0.01*x2)*x2-(400000+195*x1+225*x2)
f=simplify(f) %化简目标函数
f1=diff(f,x1), f2=diff(f,x2) %求目标函数关于x1,x2的偏导数
[x10,x20]=solve(f1,f2) %求驻点
pretty(x10), pretty(x20) %以书写习惯的方式显示
subplot(121), fplot(x10,[0.002,0.02]), title('') %画x1关于a的曲线
xlabel('$a$','Interpreter','Latex')
ylabel('$x_1$','Interpreter','Latex','Rotation',0)
subplot(122), fplot(x20,[0.002,0.02]), title('') %画x2关于a的曲线
xlabel('$a$','Interpreter','Latex')
ylabel('$x_2$','Interpreter','Latex','Rotation',0)
dx1=diff(x10,a), dx10=subs(dx1,a,0.01), dx10=double(dx10)
sx1a=dx10*0.01/4735
dx2=diff(x20,a), dx20=subs(dx2,a,0.01), dx20=double(dx20)
sx2a=dx20*0.01/7043
F=subs(f,{x1,x2},{x10,x20}) %求关于a的目标函数
F=simplify(F) %对目标函数进行化简
figure, fplot(F,[0.002,0.02]), title('')
xlabel('$a$','Interpreter','Latex')
ylabel('$y$','Interpreter','Latex','Rotation',0)
Sya=-4735^2*0.01/553641
f3=subs(f,{x1,x2,a},{4735,7043,0.011}); f3=double(f3) %计算近似最优利润
f4=subs(F,a,0.011); f4=double(f4) %计算最优利润
delta=(f4-f3)/f4 %计算利润的相对误差
五、总结
很爽啊,尤其是最后用图片不用打字,哈哈哈哈...... 反正灵敏度分析这个东西并不难理解,数学原理也比较贴近生活,代码也比较易懂,但却相当重要。运筹学的灵敏度分析的纯代数解法,我将在《线性规划的实例赏析》中提及。《线性规划的实例赏析》将会是这学期所学的规划类问题的最后一章blog了,从理论到实践,从纯数学原理到与代码相结合,这个过程本身是很有意思的。那么我队友也完成了非线性规划的博客,这样一来,我们建模小组的第一类规划问题就先接近尾声了。
引用
https://zhuanlan.zhihu.com/p/69059271
大表哥在曾母暗沙《数学建模中的灵敏度分析,到底在分析什么?》https://zhuanlan.zhihu.com/p/106312122
微尘-黄含驰《数学建模特奖试卷灵敏度分析小赏》《运筹学教程》胡运权
《数学建模算法与应用》司守奎,孙玺菁
数学建模评价类方法01——灵敏度分析相关推荐
- Python小白的数学建模课-05.0-1规划
0-1 规划不仅是数模竞赛中的常见题型,也具有重要的现实意义. 双十一促销中网购平台要求二选一,就是互斥的决策问题,可以用 0-1规划建模. 小白学习 0-1 规划,首先要学会识别 0-1规划,学习将 ...
- 数学建模第一讲:层次分析法
数学建模第一讲:层次分析法 笔记大部分由观看[强烈推荐]清风:数学建模算法.编程和写作培训的视频课程整理出: 视频链接:https://www.bilibili.com/video/BV1DW411s ...
- 2019年数维杯国际大学生数学建模C题猪肉价格波动分析求解全过程文档及程序
2019年数维杯国际大学生数学建模 C题 猪肉价格波动分析 问题重述: 中国是一个育种大国.猪肉产业在畜牧业中起着主导作用.同时,猪肉已成为人们餐桌上的主要肉类来源之一.随着人口的增加,消费和生活 ...
- 清风数学建模学习笔记——灰色关联分析(GRA)详细解读与案例分析
灰色关联分析 灰色关联分析的基本思想 是根据序列曲线几何形状的相似程度来判断其联系是否紧密,曲线越接近,相应序列之间的关联度就越大,反之则越小. 此方法可用于 进行系统分析,也可应用于对问题 ...
- ❤️2021 全国大学生数学建模❤️完整B 题思路分析
文章目录 题目 第一题思路 第二题思路 第三题思路 第四题思路 最后 题目 第一题思路 回归分析或相关性分析均可,但需要对每一种催化剂组合做分析,工作量有点大,建议就是选择回归分析即可,因为温度并不是 ...
- 2023美赛数学建模竞赛 C题思路分析
1 C题思路 (赛题出来以后第一时间在CSDN分享) 2023年美赛比赛日期和时间 报名截止日期:美国东部时间2023 年2月16日星期四下午 3:00前.(北京时间2023年2月17日凌晨4点) 比 ...
- 2021年美国大学生数学建模竞赛F题思路分析
文章目录 下载链接 原文翻译 思路分析 补充 下载链接 2021美赛题目下载:链接:https://pan.baidu.com/s/1yFdg3vBMS4MY7CnQ3PMG9Q 提取码:6666 原 ...
- 关于数学建模论文写作技巧的分析
[由于阅读的优秀论文还不够多,提炼出的方法和框架并不完善,后续还需要补充] 论文是数学建模竞赛最重要环节. 本文研读了历来竞赛的优秀论文,观察他们论文结构的安排,学习行文的优秀之处,记录了各模块写作要 ...
- 2021年美国大学生数学建模竞赛E题思路分析
思路 问题中心:重新优化食品系统 题目要求: (1)首先要清楚粮食的分类.分布.当前食品系统的运转模式(进出口.国家或省级单位的消费能力),优化或重建食品系统以确保公平.可持续性:分析比较与现有食品运 ...
- 2017年美国数学建模MCM/ICM ABCDEF试题分析
六道题目为别人分析所得,自己也是借鉴,分享给大家,美赛还剩两天,参赛的童鞋加油哈,刚刚逛到的别人分享资料链接,一同附上,给大家参考,祝各位都能取得好的成绩!! 2017美国数学建模A题 思路 以及参考 ...
最新文章
- 如何学会读论文?送你滑铁卢大学S. Keshav的三轮阅读法
- 防范最新勒索病毒--坏兔子病毒(伪造Adobe Flash Player更新)的方法
- Vcenter一次性将服务器四个网卡从端口组迁移到分布式交换机的方法
- 如何设计一门语言(十一)——删减语言的功能
- apache 域名不变_apache 如何配置只能通过域名访问,不允许通过ip访问?
- RANSAC算法注记
- html ie7高度,在HTML,IE6和IE7中工作的HTML垂直和水平居中的实用解决方案
- js 负数移位运算究竟如何进行
- PTA—考试座位号(C语言)
- 计算机毕业设计源码—Springboot驾校考试网站系统
- OSAL动态内存分配
- PPT设计思维进阶:提升设计能力
- 本次技术博客平台的选择
- 华为java一个月写多少行代码_[财经]阿里员工吐槽华为:面试官1万行代码都没写过? - 南方财富网...
- 电阻的基本原理、参数、应用与选型
- k8s中pod删除不了的原因和正确的删除方法
- 数睿数据受邀参与中俄数字经济高峰论坛,并发布企业级无代码新场景
- python中的%s%是什么意思
- AlphaFold/run_alphafold.py代码阅读理解
- STM32F051用jlink V8进行调试设置MDK环境buc
热门文章
- 水利系统防雷,如何做好洪水预报警报系统的雷电防护
- 网易云音乐刷了我的过去...
- php是什么币种的外汇英文,外汇币种英文_我要最常用的10个外汇币种和英文简称!_合拍网...
- kvm的乾坤大挪移-虚拟机迁移
- ASP.NET MVC——XX点餐管理系统后台项目实训总结书
- 计算机表格入门2013,Access2013从入门到精通
- imindmap思维导图免费下载
- 锐浪报表加载List泛型数据
- 进制转换(二进制、八进制、十进制、十六进制)涵盖整数与小数部分,超详细
- 打卡项目php,Thinkphp框架早起打卡项目(深蓝引擎Z)趣步模式+完整数据+全开源源码...