lingo灵敏度分析实例

一个实例理解Lingo的灵敏性分析

线性规划问题的三个重要概念:

最优解就是反应取得最优值的决策变量所对应的向量。

最优基就是最优单纯形表的基本变量所对应的系数矩阵如果其行列式是非奇异的,则该系数矩阵为最优基。

最优值就是最优的目标函数值。

Lingo的灵敏性分析是研究当目标函数的系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。下面是一道典型的例题。

一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3公斤A1,或者在乙车间用8小时加工成4公斤A2。根据市场需求,生产的A1,A2全部能售出,且每公斤A1获利24元,每公斤A2获利16元。现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间480小时,并且甲车间每天至多能加工100公斤A1,乙车间的加工能力没有限制。试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:

1) 若用35元可以买到1桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶?

2) 若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?

3) 由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?

模型代码:

max=72*x1+64*x2;

x1+x2

12*x1+8*x2

3*x1

运行求解结果:

Objective value: 3360.000

Variable Value Reduced Cost

X1 20.00000 0.000000

X2 30.00000 0.000000

Row Slack or Surplus Dual Price

1 3360.000 1.000000

2 0.000000 48.00000

3 0.000000 2.000000

4 40.00000 0.000000

这个线性规划的最优解为x1=20,x2=30,最优值为z=3360,即用20桶牛奶生产A1, 30桶牛奶生产A2,可获最大利润3360元。输出中除了告诉我们问题的最优解和最优值以外,还有许多对分析结果有用的信息。

其中,“Reduced Cost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。其中基变量的reduced cost值应为0, 对于非基变量 Xj, 相应的 reduced cost值表示当某个变量Xj 增加一个单位时目标函数减少的量( max型问题)。本例中X1,X2均为基变量。

“Slack or Surplus”给出松驰变量的值,模型第一行表示目标函数,所以第二行对应第一个约束。3个约束条件的右端不妨看作3种“资源”:原料、劳动时间、车间甲的加工能力。输出中Slack or Surplus给出这3种资源在最优解下是否有剩余:原料、劳动时间的剩余均为

零,车间甲尚余40(公斤)加工能力。

“DUAL PRICE”(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率。输出结果中对应于每一个约束有一个对偶价格。若其数值为p, 表示对应约束中不等式右端项若增加1 个单位,目标函数将增加p个单位(max型问题)。显然,如果在最优解处约束正好取等号(也就是“紧约束”,也称为有效约束或起作用约束),对偶价格值才可能不是0。上例中,第一、二个约束是“紧约束”。当“x1+x2

目标函数可以看作“效益”,成为紧约束的“资源”一旦增加,“效益”必然跟着增长。输出中DUAL PRICES 给出这3种资源在最优解下“资源”增加1个单位时“效益”的增量:原料增加1个单位(1桶牛奶)时利润增长48(元),劳动时间增加1个单位(1小时)时利润增长2(元),而增加非紧约束车间甲的能力显然不会使利润增长。这里,“效益”的增量可以看作“资源”的潜在价值,经济学上称为影子价格,即1桶牛奶的影子价格为48元,1小时劳动的影子价格为2元,车间甲的影子价格为零。

用影子价格的概念很容易回答附加问题1):用35元可以买到1桶牛奶,低于1桶牛奶的影子价格48,当然应该作这项投资。

回答附加问题2):聘用临时工人以增加劳动时间,付给的工资低于劳动时间的影子价格才可以增加利润,所以工资最多是每小时2元。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 Objective Coefficient Ranges:

Current Allowable Allowable

Variable Coefficient Increase Decrease

X1 72.00000 24.00000 8.000000

X2 64.00000 8.000000 16.00000

Righthand Side Ranges:

Current Allowable Allowable

Row RHS Increase Decrease

2 50.00000 10.00000 6.666667

3 480.0000 53.33333 80.00000

4 100.0000 INFINITY 40.00000

目标函数的系数发生变化时(假定约束条件不变),最优解和最优值会改变吗?

上面输出给出了最优基不变条件下目标函数系数的允许变化范围:x1的系数为(72-8,72+24)=(64,96);x2的系数为(64-16,64+8)=(48,72)。注意:x1系数的允许范围需要x2系数64不变,反之亦然。由于目标函数的费用系数变化并不影响约束条件,因此此时最优基不变可以保证最优解也不变,但最优值变化。

用这个结果很容易回答附加问题3):若每公斤A1的获利增加到30元,则x1系数变为30×3=90,在允许范围内,所以不应改变生产计划,但最优值变为90×20+64×30=3720。 下面对“资源”的影子价格作进一步的分析。影子价格的作用(即在最优解下“资源”增加1个单位时“效益”的增量)是有限制的。每增加1桶牛奶利润增长48元(影子价格),但是,上面输出的CURRENT RHS 的ALLOWABLE INCREASE 和 ALLOWABLE DECREASE 给出了影子价格有意义条件下约束右端的限制范围: milk)原料最多增加10(桶牛奶),time)劳动时间最多增加53(小时)。

现在可以回答附加问题1)的第2问:虽然应该批准用35元买1桶牛奶的投资,但每天最多购买10桶牛奶。顺便地说,可以用低于每小时2元的工资聘用临时工人以增加劳动时

间,但最多增加53.3333小时。

需要注意的是:灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。比如对于上面的问题,“原料最多增加10(桶牛奶)”的含义只能是“原料增加10(桶牛奶)”时最优基保持不变,所以影子价格有意义,即利润的增加大于牛奶的投资。反过来,原料增加超过10(桶牛奶),影子价格是否一定没有意义?最优基是否一定改变?一般来说,这是不能从灵敏性分析报告中直接得到的。此时,应该重新用新数据求解规划模型,才能做出判断。所以,从正常理解的角度来看,我们上面回答“原料最多增加10(桶牛奶)”并不是完全科学的。

一个实例理解Lingo的灵敏性分析

线性规划问题的三个重要概念:

最优解就是反应取得最优值的决策变量所对应的向量。

最优基就是最优单纯形表的基本变量所对应的系数矩阵如果其行列式是非奇异的,则该系数矩阵为最优基。

最优值就是最优的目标函数值。

Lingo的灵敏性分析是研究当目标函数的系数和约束右端项在什么范围(此时假定其它系数不变)时,最优基保持不变。灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。下面是一道典型的例题。

一奶制品加工厂用牛奶生产A1,A2两种奶制品,1桶牛奶可以在甲车间用12小时加工成3公斤A1,或者在乙车间用8小时加工成4公斤A2。根据市场需求,生产的A1,A2全部能售出,且每公斤A1获利24元,每公斤A2获利16元。现在加工厂每天能得到50桶牛奶的供应,每天正式工人总的劳动时间480小时,并且甲车间每天至多能加工100公斤A1,乙车间的加工能力没有限制。试为该厂制订一个生产计划,使每天获利最大,并进一步讨论以下3个附加问题:

1) 若用35元可以买到1桶牛奶,应否作这项投资?若投资,每天最多购买多少桶牛奶?

2) 若可以聘用临时工人以增加劳动时间,付给临时工人的工资最多是每小时几元?

3) 由于市场需求变化,每公斤A1的获利增加到30元,应否改变生产计划?

模型代码:

max=72*x1+64*x2;

x1+x2

12*x1+8*x2

3*x1

运行求解结果:

Objective value: 3360.000

Variable Value Reduced Cost

X1 20.00000 0.000000

X2 30.00000 0.000000

Row Slack or Surplus Dual Price

1 3360.000 1.000000

2 0.000000 48.00000

3 0.000000 2.000000

4 40.00000 0.000000

这个线性规划的最优解为x1=20,x2=30,最优值为z=3360,即用20桶牛奶生产A1, 30桶牛奶生产A2,可获最大利润3360元。输出中除了告诉我们问题的最优解和最优值以外,还有许多对分析结果有用的信息。

其中,“Reduced Cost”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时, 目标函数的变化率。其中基变量的reduced cost值应为0, 对于非基变量 Xj, 相应的 reduced cost值表示当某个变量Xj 增加一个单位时目标函数减少的量( max型问题)。本例中X1,X2均为基变量。

“Slack or Surplus”给出松驰变量的值,模型第一行表示目标函数,所以第二行对应第一个约束。3个约束条件的右端不妨看作3种“资源”:原料、劳动时间、车间甲的加工能力。输出中Slack or Surplus给出这3种资源在最优解下是否有剩余:原料、劳动时间的剩余均为

零,车间甲尚余40(公斤)加工能力。

“DUAL PRICE”(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率。输出结果中对应于每一个约束有一个对偶价格。若其数值为p, 表示对应约束中不等式右端项若增加1 个单位,目标函数将增加p个单位(max型问题)。显然,如果在最优解处约束正好取等号(也就是“紧约束”,也称为有效约束或起作用约束),对偶价格值才可能不是0。上例中,第一、二个约束是“紧约束”。当“x1+x2

目标函数可以看作“效益”,成为紧约束的“资源”一旦增加,“效益”必然跟着增长。输出中DUAL PRICES 给出这3种资源在最优解下“资源”增加1个单位时“效益”的增量:原料增加1个单位(1桶牛奶)时利润增长48(元),劳动时间增加1个单位(1小时)时利润增长2(元),而增加非紧约束车间甲的能力显然不会使利润增长。这里,“效益”的增量可以看作“资源”的潜在价值,经济学上称为影子价格,即1桶牛奶的影子价格为48元,1小时劳动的影子价格为2元,车间甲的影子价格为零。

用影子价格的概念很容易回答附加问题1):用35元可以买到1桶牛奶,低于1桶牛奶的影子价格48,当然应该作这项投资。

回答附加问题2):聘用临时工人以增加劳动时间,付给的工资低于劳动时间的影子价格才可以增加利润,所以工资最多是每小时2元。

。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。 Objective Coefficient Ranges:

Current Allowable Allowable

Variable Coefficient Increase Decrease

X1 72.00000 24.00000 8.000000

X2 64.00000 8.000000 16.00000

Righthand Side Ranges:

Current Allowable Allowable

Row RHS Increase Decrease

2 50.00000 10.00000 6.666667

3 480.0000 53.33333 80.00000

4 100.0000 INFINITY 40.00000

目标函数的系数发生变化时(假定约束条件不变),最优解和最优值会改变吗?

上面输出给出了最优基不变条件下目标函数系数的允许变化范围:x1的系数为(72-8,72+24)=(64,96);x2的系数为(64-16,64+8)=(48,72)。注意:x1系数的允许范围需要x2系数64不变,反之亦然。由于目标函数的费用系数变化并不影响约束条件,因此此时最优基不变可以保证最优解也不变,但最优值变化。

用这个结果很容易回答附加问题3):若每公斤A1的获利增加到30元,则x1系数变为30×3=90,在允许范围内,所以不应改变生产计划,但最优值变为90×20+64×30=3720。 下面对“资源”的影子价格作进一步的分析。影子价格的作用(即在最优解下“资源”增加1个单位时“效益”的增量)是有限制的。每增加1桶牛奶利润增长48元(影子价格),但是,上面输出的CURRENT RHS 的ALLOWABLE INCREASE 和 ALLOWABLE DECREASE 给出了影子价格有意义条件下约束右端的限制范围: milk)原料最多增加10(桶牛奶),time)劳动时间最多增加53(小时)。

现在可以回答附加问题1)的第2问:虽然应该批准用35元买1桶牛奶的投资,但每天最多购买10桶牛奶。顺便地说,可以用低于每小时2元的工资聘用临时工人以增加劳动时

间,但最多增加53.3333小时。

需要注意的是:灵敏性分析给出的只是最优基保持不变的充分条件,而不一定是必要条件。比如对于上面的问题,“原料最多增加10(桶牛奶)”的含义只能是“原料增加10(桶牛奶)”时最优基保持不变,所以影子价格有意义,即利润的增加大于牛奶的投资。反过来,原料增加超过10(桶牛奶),影子价格是否一定没有意义?最优基是否一定改变?一般来说,这是不能从灵敏性分析报告中直接得到的。此时,应该重新用新数据求解规划模型,才能做出判断。所以,从正常理解的角度来看,我们上面回答“原料最多增加10(桶牛奶)”并不是完全科学的。


相关文章

  • 数学规划模型
  • 课 程 设 计 2015年 7 月 5 日 东北石油大学课程设计任务书 课程 <数学模型>课程设计 题目 应用数学规划模型求解实际数学问题 专业 姓名 学号 主要内容.基本要求.主要参考资料等 主要内容 简单介绍数学规划模型基本 ...查看


  • 英文翻译举例
  • 空气污染控制问题 摘要 现如今,各地钢铁企业在不顾环境制造企业最大效益,随之而来,环境的日益恶劣正破坏着城市的风貌并且危及着城市居民的身体健康,因此各国政府与公民开始对企业治理环境问题投入很大的关注,并且制定了相关的管理条例与排放标准,所以 ...查看


  • 资源分配问题的求解方法
  • 资源分配问题的求解方法 [摘要]资源分配问题就是将一种或几种资源(原材料.资金.机器设备等)以最优的方式分配给若干个使用者,以获得最大的效益.它可以是静态规划问题,也可以通过构造动态规划模型求解.本文通过用单纯形法求解线性规划问题,用隐枚举 ...查看


  • 运筹学论文
  • 成 绩 评 定 表 课程设计任务书 本次课程设计利用运筹学方法在实际生活中的重要意义,用运筹方法解决新华机械厂合理安排生产方案以及运输问题,在不同等级土地种植不同果物的单产条件下,根据三个果园的土地面积,从总产量最大以及总产值最大两方面分析 ...查看


  • 出版社的资源配置优化模型
  • 出版社的资源配置优化模型 黄朝国 项 丽 晋宗义 指导老师 杨桂元 杨 凌 [摘要]本文讨论了出版社资源配置优化的问题.根据2001-2005年的数据,运用灰色预测方法预测出2006年各个分社计划书号数作为进一步建模的参考值.针对不同的目标 ...查看


  • 城市社区应急避难场所区位配置模型研究_张培
  • 第25卷第6期2015年6月 中国China 安全Safety 科学Science 学报Journal Vol .25No .6Jun .2015 城市社区应急避难场所区位配置模型研究 张 培 1,2 * 高级工程师王佳教授朱立新 (1住房 ...查看


  • 数学建模论文--物流与选址问题
  • 物流预选址问题 . .............................................................................................................. ...查看


  • 数学建模--用数据解决实际问题
  • 建模过程一般要分为下面几个步骤,按部就班的来,没有问题. 第一步:提出问题. 大家可能会想,题目不是已经给出问题了吗? 是的,但是这里提出问题是指:用数学语言去表达.首先要熟读题目,并且同时查阅相关资料.这需要大量的工作,而且要根据题目的特 ...查看


  • 运筹学最短路
  • 附件2 <运筹学>最短路.最小费用最大流经典作品 关于钢管订购和运输的优化模型 队员:陈显健 陈瑜斌 陈振松 2007 年6月5日 摘 要: 本文首先运用图论知识中的最短路算法求出Si到Aj的最优路径.然后将模型转化为最小费用最 ...查看


热门内容