欢迎来到天天文库
浏览记录
ID:50079371
大小:773.00 KB
页数:26页
时间:2020-03-03
《应用LINGO和MATLAB软件求解线性规划.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、应用LINGO、MATLAB软件求解线性规划一、LINGO使用简介LINGO软件是美国的LINDO系统公司(LindoSystemInc)开发的一套用于求解最优化问题的软件包。LINGO除了能用于求解线性规划和二次规划外,还可以用于非线性规划求解以及一些线性和非线性方程(组)的求解等。LINGO软件的最大特色在于它允许优化模型中的决策变量为整数,而且执行速度快。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果,这里简单介绍LINGO的使
2、用方法。LINGO可以求解线性规划、二次规划、非线性规划、整数规划、图论及网络优化和排队论模型中的最优化问题等。一个LINGO程序一般会包含集合段、数据输入段、优化目标和约束段、初始段和数据预处理段等部分,每一部分有其独特的作用和语法规则,读者可以通过查阅相关的参考书或者LINGO的HELP文件详细了解,这里就不展开介绍了。LINGO的主要功能特色为:1、既能求解线性规划问题,也有较强的求解非线性规划问题的能力;2、输入模型简练直观;3、运算速度快、计算能力强;4、内置建模语言,提供几十个内部函数,从
3、而能以较少语句,较直观的方式描述大规模的优化模型;5、将集合的概念引入编程语言,很容易将实际问题转换为LINGO模型;并且能方便地与Excel、数据库等其他软件交换数据。LINGO的语法规定:(1)求目标函数的最大值或最小值分别用MAX=…或MIN=…来表示;(2)每个语句必须以分号“;”结束,每行可以有许多语句,语句可以跨行;(3)变量名称必须以字母(A~Z)开头,由字母、数字(0~9)和下划线所组成,长度不超过32个字符,不区分大小写;(4)可以给语句加上标号,例如[OBJ]MAX=200*X1+
4、300*X2;(5)以惊叹号“!”开头,以分号“;”结束的语句是注释语句;(6)如果对变量的取值范围没有作特殊说明,则默认所有决策变量都非负;(7)LINGO模型以语句“MODEL:”开头,以“END”结束,对于比较简单的模型,这两个语句可以省略。在LINGO的MODEL窗口内输入如下模型:model:max=2*x1+3*x2;x1+2*x2<=8;4*x1<=16;4*x2<=12;End例1.1用LINGO求解线性规划问题:选菜单Lingo
5、Solve(或按Ctrl+U),或用鼠标点击“求解”按
6、纽,如果模型有语法错误,则弹出一个标题为“LINGOErrorMessage”(错误信息)的窗口,指出在哪一行有怎样的错误,每一种错误都有一个编号(具体含义可查阅相关文献或LINGO的Help)。改正错误以后再求解,如果语法通过,LINGO用内部所带的求解程序求出模型的解,然后弹出一个标题为“LINGOSolverStatus”(求解状态)的窗口,其内容为变量个数、约束条件个数、优化状态、耗费内存、所花时间等信息,点击Close关闭窗口,屏幕上出现标题为“SolutionReport”(解的报告)的信
7、息窗口,显示优化计算(线性规划中换基迭代)的步数、优化后的目标函数值、列出各变量的计算结果。本例的具体内容如下:Globaloptimalsolutionfoundatiteration:5Objectivevalue:14.00000VariableValueReducedCostX14.0000000.000000X22.0000000.000000RowSlackorSurplusDualPrice114.000001.00000020.0000001.50000030.0000000.1250
8、00044.0000000.000000该报告说明:运行5步找到全局最优解,目标函数值为14,变量值分别为。“ReducedCost”的含义是需缩减成本系数或需增加利润系数(最优解中取值非零的决策变量的ReducedCost值等于零)。“Row”是输入模型中的行号,目标函数是第一行;“SlackorSurplus”的意思是松弛或剩余,即约束条件左边与右边的差值,对于“”的不等式,右边减左边的差值为Slack(松弛),对于“”的不等式,左边减的右边差值为Surplus(剩余),当约束条件两边相等时,松弛
9、或剩余的值等于零。“DualPrice”的意思是对偶价格(或称为影子价格),上述报告中Row2的松弛值为0,表明生产甲产品4单位、乙产品2单位,所需设备8台时已经饱和,对偶价格1.5的含义是:如果设备增加1台时,能使目标函数值增加1.5。报告中Row4的松弛值为4,表明生产甲产品4单位、乙产品2单位,所需原材料乙8公斤还剩余4公斤,因此增加原材料乙不会使目标函数值增加,所以对偶价格为0。在LINGO的MODEL窗口内输入如下模型:Min=0.2*x1+0
此文档下载收益归作者所有