matlab、lingo程序代码23-线性规划问题及灵敏度分析(共5页).doc

上传人:飞****2 文档编号:8531832 上传时间:2022-03-19 格式:DOC 页数:5 大小:28.50KB
返回 下载 相关 举报
matlab、lingo程序代码23-线性规划问题及灵敏度分析(共5页).doc_第1页
第1页 / 共5页
matlab、lingo程序代码23-线性规划问题及灵敏度分析(共5页).doc_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《matlab、lingo程序代码23-线性规划问题及灵敏度分析(共5页).doc》由会员分享,可在线阅读,更多相关《matlab、lingo程序代码23-线性规划问题及灵敏度分析(共5页).doc(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、精选优质文档-倾情为你奉上线性规划问题及灵敏度分析在LINGO软件中的实现 (龙少波 李东阳 罗添元)一、问题的提出:某公司饲养实验用的动物以出售给动物研究所,已知这些动物的生长对饲料中3种营养成分(蛋白质、矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g,矿物质3g,维生素8mg,该公司能买到5种不同的饲料,每种饲料1kg所含各种营养成分和成本如下表所示,如果每个小动物每周食用饲料不超过52kg,才能满足动物生长需要。 A1 A2 A3 A4 A5 营养最低 要 求蛋白质(g) 0.3 2 1 0.6 1.8 60 矿物质(g) 0.1 0.05 0.02 0.2 0.05 3 维

2、生素(mg) 0.05 0.1 0.02 0.2 0.08 8 成本(元/ kg) 0.2 0.7 0.4 0.3 0.5 问题:1求使得总成本最低的饲料配方? 2如果另一个动物研究对蛋白质的营养要求变为59单位,但是要求动物的价格比现在的价格便宜0.3元,问该养殖所值不值得接受? 3由于市场因素的影响,X2的价格降为0.6元每千克,问是否要改变饲料配方?二、建立线性规划数学模型解答:(1)设需要饲料A1, A2, A3, A4分别为X1, X2, X3, X4kg,则建立线性规划数学模型如下: 目标函数:MinS=0.2X1+0.7X2+0.4X3+0.3X4+0.5X5 约束条件:0.3X

3、1+2X2+X3+0.6X4+1.8X5=60 0.1X1+0.05X2+0.02X3+0.2X4+0.05X5=3 005X1+0.1X2+0.02X3+0.2X4+0.08X5=8 X1+X2+X3+X4+X5=0三、在LINGO软件中的求解在LINGO中输入下面的命令:Model:Min=0.2*x1+0.7*x2+0.4*x3+0.3*x4+0.5*x5; 0.3*x1+2*x2+x3+0.6*x4+1.8*x560; 0.1*x1+0.05*x2+0.02*x3+0.2*x4+0.05*x53; 0.05*x1+0.1*x2+0.02*x3+0.2*x4+0.08*x58; x1+x

4、2+x3+x4+x552; end操作:选菜单Lingo|Solve(或按Ctrl+S),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“LINGO Error Message”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO的Help).改正错误以后再求解,如果语法通过,LINGO用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGO Solver Status”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close关闭窗口,屏幕上出现标题为“Solution R

5、eport”(解的报告)的信息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果. 输出结果如下: Global optimal solution found at iteration: 4 Objective value: 22.40000 Variable Value Reduced Cost X1 0. 0. X2 12.00000 0. X3 0. 0. X4 30.00000 0. X5 10.00000 0. Row Slack or Surplus Dual Price 1 22.40000 -1. 2 0. -0. 3 4. 0. 4 0.

6、 -4. 5 0. 0.四、结果分析: (一) 一般分析1.因此,每周每个动物的配料为饲料A2、A4、A5分别为12、30和10kg,合计为52KG,可使得饲养成本达到最小,最小成本为22.4元;2. “Reduced Cost”表示当变量有微小变动时, 目标函数的变化率。其中基变量的reduced cost值应为0,对于非基变量 Xj, 相应的 reduced cost值表示当某个变量Xj 增加一个单位时目标函数增加的量。变量X1对应的reduced cost值为0.7,表示当非基变量x1的值从0变为 1时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标

7、函数值 = 22.4+0.7 = 23.1。 3. “Slack or Surplus”给出松驰变量的值:可以看出,蛋白质和维生素刚达到最低标准,矿物质超过最低标准4.1g;4. “DUAL PRICE”(对偶价格)表示当对应约束有微小变动时, 目标函数的变化率。输出结果中对应于每一个约束有一个对偶价格。 若其数值为p, 表示对应约束中不等式右端项若增加1 个单位,目标函数将增加p个单位(max型问题)。显然,如果在最优解处约束正好取等号(也就是“紧约束”,也称为有效约束或起作用约束),对偶价格值才可能不是0. 从“Dual Price”可以得到:1.降低标准蛋白质1单位可使饲养成本降低0.5

8、83元,(第二个问题答案)2.降低标准维生素1单位可使饲养成本降低4.167元,3.降低矿物质的标准不会降低饲养成本,4.如果动物的进食量减少,就必须选取精一些的饲料但要增加成本,大约进食量降低1kg可使得饲养成本增加0.88元.(二)灵敏度分析对于目标函数系数和约束条件右端常数项的灵敏度分析,可以通过LINGO软件求解的灵敏度分析给出.如果要看灵敏度分析结果,必须激活灵敏度计算功能才会在求解时给出灵敏度分析结果,默认情况下这项功能是关闭的.想要激活它,必须运行LINGO|Options命令,选择Gengral Solver,在Dual Computation列表框中,选择Prices and

9、 Ranges选项并确定. Ranges in which the basis is unchanged:Objective Coefficient RangesCurrent Allowable AllowableVariable Coefficient Increase DecreaseX1 0. INFINITY 0.X2 0. INFINITY 0.X3 0. INFINITY 0.X4 0. 1. 1.X5 0. 0. INFINITYRight hand Side RangesRow Current Allowable AllowableRHS Increase Decrease2

10、 60.00000 4. 4.3 3. 4. INFINITY4 8. 0. 0. 45 52.00000 1. 1.(1)系数价格变化的分析:目标函数中X1原来的费用系数为0.2,允许增加(Allowable Increase)到无穷大、或者允许减少(Allowable Decrease)=0.7,说明当它在0,+范围变化时,最优基保持不变。由于此时约束没有变化(只是目标函数中某个费用系数发生变化),所以最优基保持不变的意思也就是最优解不变(当然,由于目标函数中费用系数发生了变化,所以最优值会变化)。对于X2来说,目标函数中原来的费用系数为0.7,允许增加(Allowable Increase)到无穷大、或者允许减少(Allowable Decrease)=0.136,说明当它在0.7-0.136,+=0.564, +范围变化时,最优基保持不变。(第三个问题答案)(2)约束中右端项变化的分析: 第2行约束中右端项(Right Hand Side,简写为RHS)原来为60,当它在60-4.8,60+4.8 = 55.2,64.8范围变化时,最优基保持不变。第3、4、5行可以类似解释。不过由于此时约束发生变化,最优基即使不变,最优解、最优值也会发生变化。专心-专注-专业

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 教育教学

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁