欢迎来到天天文库
浏览记录
ID:58882372
大小:869.50 KB
页数:44页
时间:2020-09-30
《Lindo 软件的应用ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、Lindo软件的应用一、预备知识线性规划问题的基本概念:设线性规划问题1.可行解满足线性规划约束条件(1.5)和(1.6)的解称为线性规划问题的可行解。所有可行解的集合称为可行域或可行解集。2.最优解使线性规划的目标函数(1.4)式达到最大的可行解称为线性规划的最优解。3.基本解设A是约束方程组(1.5)的(m×n)阶的系数矩(m2、B3、≠0。构成基矩阵的m个列向量称为基向量,其余n-m个向量称为非基向量;与m个基向量4、相对应的m个变量称为基变量,其余的n-m个变量则称为非基变量。显然,基变量随着基的变化而变化,当基被确定以后,基变量和非基变量也随之确定了。一、LINDO软件简介LINDO软件是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。其中LINDO6.1学生版至多可求5、解多达300个变量和150个约束的规划问题。在大型的机器上,LINDO被用来解决一些拥有超过50,000个约束条件和200,000万个变量的大规模复杂问题。LINDO的主要设计原则是,如果一个用户只是想解决一个简单的问题,就不应该在学习LINDO的基本特性上花费太多的准备成本例如,解决以下这样一个问题:Maxmize2X+3YSubjectto4X+3Y<103X+5Y<12那么,用户就只需要打开LINDO,然后直接输入以上内容即可。而另一方面,LINDO也可以用来解决一些复杂的二次线性整数规划方面的实际问题。二、LINDO的语法基本语法:1)、目标函数6、以MAX或MIN开头;2)、变量名长度最长为8个字符;3)、目标函数及各约束条件之间一定要有“Subjectto(ST)”分开。4)、变量与其系数间可以有空格,但不能有任何运算符号(如乘号“*”等)。5)、要输入<=或>=约束,相应以<或>代替即可;6)、括号不具更高的运算优先级,所有运算自左至右进行;7)、注释以感叹号打头;9)、一条语句可以断行,如:max10x+4y是可以的10)、不区分大小写;11)、式子的右端只能是常数,如:x>y是错的,应写成x-y>0;12)、式子的左端只能是变量及其系数,如:10x+y-10=0是错的;应写成10x+y=17、013)、一般LINDO中不能接受括号“()“和逗号“,“,例:400(X1+X2)需写成400X1+400X2;10,000需写成10000;14)、表达式应当已经过简化。不能出现2X1+3X2-4X1,而应写成-2X1+3X2。三、Lindo软件的最基本的用法当我们打开LINDO后屏幕将出现以下窗口:现在我们来解决开头的问题,建立的模型为:下面我们可以开始求解了。从Solve菜单选择Solve命令,或者在窗口顶部的工具栏里按Solve按钮,LINDO就会开始对模型进行编译。首先,LINDO会检查模型是否具有数学意义以及是否符合语法要求。如果模型不能通8、过这一步检查,会看到以下报错信息:Anerroroccurredduringcompilationonline:n(产生错误的行数),LINDO会自动跳转到发生错误的行。我们就可以检查该行的语法错误并改正过来。通过这一检查阶段后,LINDO就会正式开始求解,这由一个叫LINDOsolver的处理器完成。当solver初始化时,会在屏幕上显示一个状态窗口,如下图所示:这个状态窗口可以显示solver的进度,下表是对各项数据/控制按钮的说明:Status——给出当前解决方案的状态,可能的值包括:Optimal(最优的),Feasible(可行的),Infea9、sible(不可行的),Unbounded(未定的)Iterations——solver的重复次数Infeasibility——多余或错误约束条件数量Objective——目标函数的当前值BestIP——标示得到最优整数解决方案值,该项只出现在IP(整数规划)模型。IPBound——IP模型中目标的理论范围Branches——由LINDOIPsolver分生出来的整型变量个数ElapsedTime——solver启动后所经过时间UpdateInterval——状态窗口更新周期(秒)。你可以把这个值设成任何一个非负数,如果把它设成零的话很可能会增加求解时间10、。InterruptSolver——按下该按钮,solver将立刻停止并返回当前
2、B
3、≠0。构成基矩阵的m个列向量称为基向量,其余n-m个向量称为非基向量;与m个基向量
4、相对应的m个变量称为基变量,其余的n-m个变量则称为非基变量。显然,基变量随着基的变化而变化,当基被确定以后,基变量和非基变量也随之确定了。一、LINDO软件简介LINDO软件是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。其中LINDO6.1学生版至多可求
5、解多达300个变量和150个约束的规划问题。在大型的机器上,LINDO被用来解决一些拥有超过50,000个约束条件和200,000万个变量的大规模复杂问题。LINDO的主要设计原则是,如果一个用户只是想解决一个简单的问题,就不应该在学习LINDO的基本特性上花费太多的准备成本例如,解决以下这样一个问题:Maxmize2X+3YSubjectto4X+3Y<103X+5Y<12那么,用户就只需要打开LINDO,然后直接输入以上内容即可。而另一方面,LINDO也可以用来解决一些复杂的二次线性整数规划方面的实际问题。二、LINDO的语法基本语法:1)、目标函数
6、以MAX或MIN开头;2)、变量名长度最长为8个字符;3)、目标函数及各约束条件之间一定要有“Subjectto(ST)”分开。4)、变量与其系数间可以有空格,但不能有任何运算符号(如乘号“*”等)。5)、要输入<=或>=约束,相应以<或>代替即可;6)、括号不具更高的运算优先级,所有运算自左至右进行;7)、注释以感叹号打头;9)、一条语句可以断行,如:max10x+4y是可以的10)、不区分大小写;11)、式子的右端只能是常数,如:x>y是错的,应写成x-y>0;12)、式子的左端只能是变量及其系数,如:10x+y-10=0是错的;应写成10x+y=1
7、013)、一般LINDO中不能接受括号“()“和逗号“,“,例:400(X1+X2)需写成400X1+400X2;10,000需写成10000;14)、表达式应当已经过简化。不能出现2X1+3X2-4X1,而应写成-2X1+3X2。三、Lindo软件的最基本的用法当我们打开LINDO后屏幕将出现以下窗口:现在我们来解决开头的问题,建立的模型为:下面我们可以开始求解了。从Solve菜单选择Solve命令,或者在窗口顶部的工具栏里按Solve按钮,LINDO就会开始对模型进行编译。首先,LINDO会检查模型是否具有数学意义以及是否符合语法要求。如果模型不能通
8、过这一步检查,会看到以下报错信息:Anerroroccurredduringcompilationonline:n(产生错误的行数),LINDO会自动跳转到发生错误的行。我们就可以检查该行的语法错误并改正过来。通过这一检查阶段后,LINDO就会正式开始求解,这由一个叫LINDOsolver的处理器完成。当solver初始化时,会在屏幕上显示一个状态窗口,如下图所示:这个状态窗口可以显示solver的进度,下表是对各项数据/控制按钮的说明:Status——给出当前解决方案的状态,可能的值包括:Optimal(最优的),Feasible(可行的),Infea
9、sible(不可行的),Unbounded(未定的)Iterations——solver的重复次数Infeasibility——多余或错误约束条件数量Objective——目标函数的当前值BestIP——标示得到最优整数解决方案值,该项只出现在IP(整数规划)模型。IPBound——IP模型中目标的理论范围Branches——由LINDOIPsolver分生出来的整型变量个数ElapsedTime——solver启动后所经过时间UpdateInterval——状态窗口更新周期(秒)。你可以把这个值设成任何一个非负数,如果把它设成零的话很可能会增加求解时间
10、。InterruptSolver——按下该按钮,solver将立刻停止并返回当前
此文档下载收益归作者所有