灵敏度分析举例:
1、 问题
某陶瓷公司是一家手工艺制造公司,生产陶制的碗和杯子,使用两大主要资源是粘土和有技艺的劳动力,公司想知道每天生产多少数量的碗和杯子可以最大化利润?
2、 线性规划模型
设生产碗和杯子的数量分别为x1、x2
目标函数:max z= 40x1 + 50x2
约束条件:
劳动力限制:x1 +2x2<=40
黏土限制:4x1 +3x2<= 120
非负约束:x1,x2>=0
3、 模型的运行结果及灵敏度报告
运行结果报告
灵敏度报告
4、 报告分析
1)、 由运行结果报告得到最优解为(24,8),即碗生产24个、杯子生产8个可使利润达到最高的1360美元。
2)、当目标式系数中碗的利润在范围(即[40-15,40+26.67])内变化时,最优解(24,8)不会改变。
同理,当目标式中杯子的利润在范围[30,80](即[50-20,50+30])内变化时,最优解(24,8)不会改变。
注:上述结论的前提是只有其中一个系数变动时才有效,如果多个同时变动时要满足百分之百法则。
3)、由灵敏度报告知,当线性规划模型达到最优解(24,8)时,资源(劳动力和黏土)的使用量分别为(40,120)。
当劳动力在范围 [30,80](即[40-10,40+40])变化时,最优解不会改变,而且劳动力资源在此范围内每变化一个单位,最优值z会变化16个单位(即劳动力的影子价格);
当黏土在范围[60,160](即[120-60,120+40])变化时,最优解不会改变,而且黏土资源在此范围内每变化一个单位,最优值z会变化6个单位(即黏土的影子价格)。
1、首先在电脑中打开Lingo软件,进入下面编程状态。
2、然后输入目标函数:min z = 2*x1 + 3*x2 + x3 ;如下图所示。
3、然后进行运行一下,看看自己是否输入正确,如果没有出现“error”,那么继续输入下面的约数条件。
4、最后输入约数方程之后,再次运行一下,若发现和下图一样则表示输入正确,若显示的不一样则表示输入的有误,在这里可以看出objective value给出的后面的数字是7,那么最优解就是7,就完成了。
先在lingo菜单options里面设置general solver的dual computation里面加上ranges
然后在lingo菜单里面选range就行了 注意lingo只能对线性的模型做灵敏度分析
LINGO——options——General Solver——DualComputations——Prices&Ranges,
设置好了之后,你把需要进行灵敏度分析的程序写好了按 Ctrl+r 就行了
法一:打开command window,输入range;
法二:LINGO——options——General Solver——DualComputations——Prices&Ranges,,,,明白!!?