资源描述:
《matlab、lingo程序代码23-线性规划问题及灵敏度分析.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、线性规划问题及灵敏度分析在LINGO软件中的实现(龙少波李东阳罗添元)一、问题的提出:某公司饲养实验用的动物以出售给动物研究所,已知这些动物的生长对饲料中3种营养成分(蛋白质、矿物质和维生素)特别敏感,每个动物每周至少需要蛋白质60g,矿物质3g,维生素8mg,该公司能买到5种不同的饲料,每种饲料1kg所含各种营养成分和成本如下表所示,如果每个小动物每周食用饲料不超过52kg,才能满足动物生长需要。A1A2A3A4A5营养最低要求蛋白质(g)0.3210.61.860矿物质(g)0.10.050.020.20.053维生素(mg)0.050.10.020.20.
2、088成本(元/kg)0.20.70.40.30.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.3X1+2X2+X3+0.6X4+1.8X5>=600.1
3、X1+0.05X2+0.02X3+0.2X4+0.05X5>=3005X1+0.1X2+0.02X3+0.2X4+0.08X5>=8X1+X2+X3+X4+X5<=52X1,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*x5>60;0.1*x1+0.05*x2+0.02*x3+0.2*x4+0.05*x5>3;0.05*x1+0.1*x2+0.02*x3+0.2*x4+0.08*x5
4、>8;x1+x2+x3+x4+x5<52;end操作:选菜单Lingo
5、Solve(或按Ctrl+S),或用鼠标点击“求解”按纽,如果模型有语法错误,则弹出一个标题为“LINGOErrorMessage”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO的Help).改正错误以后再求解,如果语法通过,LINGO用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGOSolverStatus”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close关闭窗口,
6、屏幕上出现标题为“SolutionReport”(解的报告)的信息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果.输出结果如下:Globaloptimalsolutionfoundatiteration:4Objectivevalue:22.40000VariableValueReducedCostX10.0.X212.000000.X30.0.X430.000000.X510.000000.RowSlackorSurplusDualPrice122.40000-1.20.-0.34.0.40.-4.50.0.四、结果分
7、析:(一)一般分析1.因此,每周每个动物的配料为饲料A2、A4、A5分别为12、30和10kg,合计为52KG,可使得饲养成本达到最小,最小成本为22.4元;2.“ReducedCost”表示当变量有微小变动时,目标函数的变化率。其中基变量的reducedcost值应为0,对于非基变量Xj,相应的reducedcost值表示当某个变量Xj增加一个单位时目标函数增加的量。变量X1对应的reducedcost值为0.7,表示当非基变量x1的值从0变为1时(此时假定其他非基变量保持不变,但为了满足约束条件,基变量显然会发生变化),最优的目标函数值=22.4+0.7=2
8、3.1。3.“SlackorSurplus”给出松驰变量的值:可以看出,蛋白质和维生素刚达到最低标准,矿物质超过最低标准4.1g;4.“DUALPRICE”(对偶价格)表示当对应约束有微小变动时,目标函数的变化率。输出结果中对应于每一个约束有一个对偶价格。若其数值为p,表示对应约束中不等式右端项若增加1个单位,目标函数将增加p个单位(max型问题)。显然,如果在最优解处约束正好取等号(也就是“紧约束”,也称为有效约束或起作用约束),对偶价格值才可能不是0.从“DualPrice”可以得到:1.降低标准蛋白质1单位可使饲养成本降低0.583元,(第二个问题答案)2
9、.降低标准维生素1单位可