LINGO使用说明比较简单_第1页
LINGO使用说明比较简单_第2页
LINGO使用说明比较简单_第3页
LINGO使用说明比较简单_第4页
LINGO使用说明比较简单_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Lingo介绍Lingo是美国LINDO系统公司(LindoSymtemInc)开发的求解数学规划系列软件中的一个(其他软件为LINGDO,GINO,What’sBest等),它的主要功能是求解大型线性、非线性和整数规划问题,目前的版本是lingo11.0。lingo分为Demo、solvesuite、hyper、industrial、extended等六类不同版本,只有Demo版本是免费的,其他版本需要向LINDO系统公司(在中国的代理商)购买,Lingo的不同版本对模型的变量总数、非线性变量个数、整型变量个数和约束条件的数量做出不同的限制(其中extended版本无限制)。Lingo的主要功能特色为:(1)既能求解线性规划,也有较强的求解非线性规划的能力;(2)输入模型简练直观;(3)运行速度快、计算能力强;(4)内置建模语言,提供几十种内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型;(5)将集合的概念引入编程语言,很容易将实际问题转换为Lingo语言;(6)能方便地与excel、数据库等其他软件交换数据。学校图书馆40本《lingo和excel在数学建模中的应用》,袁新生、邵大宏、郁时炼主编,科学出版社Lingo程序设计简要说明在数学建模中会遇到如规划类的题型,在这种模型中总存在着一个目标,并希望这个目标的取值尽可能的大或小,同时与这个目标有关的一系列变量之间存在一些约束。在构造出目标函数和约束条件的表达式后,我们需要对求出这个最值和各变量的取值。一般我们用LINGO来对模型进行求解,本文将通过举一个简单的例子,围绕这个例子逐步学习LINGO的使用。LINGO只是一个求解工具,我们主要的任务还是模型的建立!当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。示例:求解线性规划问题:求解这个模型的相应LINGO程序代码如下:程序一:max=x1+x2+x3+x4+x5+x6+x7+x8;;;;;;;注:然后点击工具条上的按钮即可。本模型的最优解为2.636364程序二:SETS:xb1/1..8/:x;xb2/1..6/:b,c;xb3(xb2,xb1):a;ENDSETSDATA:a=174556932856725435695445472588765544451768875628;b=153827441526;c=498469;ENDDATAMAX=@sum(xb1(i):x(i));@for(xb2(i):@sum(xb1(j):a(i,j)*x(j))+c(i)<=b(i););注:然后点击工具条上的按钮即可。本模型的最优解为2.636364注意:(1)在lingo中输入的各种符号一定要是英文状态下输入,不能是中文输入状态下的符号。例如正确输入xb3(xb2,xb1):a;错误输入xb3(xb2,xb1):a;(2)Lingo中不区分字母大小写一.变量、常量定义在lingo中变量在使用前是无需定义也可以使用的。在描述类似xi,aij带有下标的变量时,我们可以在使用时一一例举,即,x1,x2,x3….x8,但这样显然很麻烦(刚接触LINGO的时候大部分是这样使用的)。Lingo中可以使用sets来预先定义这些变量,然后就可以在loop语句方便地访问这一组变量,也可以用小x(2),a(2,3)的形式访问个别变量,这和C语言中的数组是类似的。1.SETS的使用:为了定义xi,aij,那么首先要确定下标i和j的取值范围。在lingo中用sets来表示。代码:SETS:Xb1/1..8/;Xb2/1..6/;ENDSETS其中xb1、xb2分别为下标1..8,1..6的名字(sets_name),这些名字在loop语句中要使用。对于sets_name一般将它命名为有意义的名称,这个sets_name必须以字母或下划线(_)开始。二维下标是在两个一维下标定义的基础上给定的,定义a(i,j)下标的代码如下:SETS:Xb1/1..8/;Xb2/1..6/;Xb3(xb2,xb1);ENDSETS(关于下标的定义还有其他的方法,请参考LINGO的help文件,自行学习)现在下标已经定义完成了,定义数组变量时则需在下标后加上冒号再写上变量名,代码如下:SETS:Xb1/1..8/:x,c,b;Xb2/1..6/;Xb3(xb2,xb1):a;ENDSETS2.DATA的使用(常量定义):在lingo中把常量理解为已经被给定某常数的变量,在DATA中对一些变量赋值,使之成为常量。代码如下:SETS:xb1/1..8/:x;xb2/1..6/:b,c;xb3(xb2,xb1):a;ENDSETSDATA:a=174556932856725435695445472588765

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论