lingo使用说明(比较简单)

lingo使用说明(比较简单)

ID:6644571

大小:123.50 KB

页数:11页

时间:2018-01-21

lingo使用说明(比较简单)_第1页
lingo使用说明(比较简单)_第2页
lingo使用说明(比较简单)_第3页
lingo使用说明(比较简单)_第4页
lingo使用说明(比较简单)_第5页
资源描述:

《lingo使用说明(比较简单)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、Lingo介绍Lingo是美国LINDO系统公司(LindoSymtemInc)开发的求解数学规划系列软件中的一个(其他软件为LINGDO,GINO,What’sBest等),它的主要功能是求解大型线性、非线性和整数规划问题,目前的版本是lingo11.0。lingo分为Demo、solvesuite、hyper、industrial、extended等六类不同版本,只有Demo版本是免费的,其他版本需要向LINDO系统公司(在中国的代理商)购买,Lingo的不同版本对模型的变量总数、非线性变量个数、整型变量个数和

2、约束条件的数量做出不同的限制(其中extended版本无限制)。Lingo的主要功能特色为:(1)既能求解线性规划,也有较强的求解非线性规划的能力;(2)输入模型简练直观;(3)运行速度快、计算能力强;(4)内置建模语言,提供几十种内部函数,从而能以较少语句,较直观的方式描述较大规模的优化模型;(5)将集合的概念引入编程语言,很容易将实际问题转换为Lingo语言;(6)能方便地与excel、数据库等其他软件交换数据。学校图书馆40本《lingo和excel在数学建模中的应用》,袁新生、邵大宏、郁时炼主编,科学出版社

3、11第页,共10页Lingo程序设计简要说明在数学建模中会遇到如规划类的题型,在这种模型中总存在着一个目标,并希望这个目标的取值尽可能的大或小,同时与这个目标有关的一系列变量之间存在一些约束。在构造出目标函数和约束条件的表达式后,我们需要对求出这个最值和各变量的取值。一般我们用LINGO来对模型进行求解,本文将通过举一个简单的例子,围绕这个例子逐步学习LINGO的使用。LINGO只是一个求解工具,我们主要的任务还是模型的建立!当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口:        

4、     外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。示例:求解线性规划问题:求解这个模型的相应LINGO程序代码如下:程序一:max=x1+x2+x3+x4+x5+x6+x7+x8;;;;;;;注:然后点击工具条上的按钮即可。本模型的最优解为2.63636411第页,共10页程序二:SETS:xb1/1..8/:x;xb2/1..6/:b,c;xb3(xb

5、2,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中输入的各种符号一定要是英文状态下输入,不能是中文输入状态下的符号。例如正确输入x

6、b3(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的使用:

7、为了定义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)下标的代码如下:11第页,共10页SETS:Xb1/1..8/;Xb2/1..6/;Xb3

8、(xb2,xb1);ENDSETS(关于下标的定义还有其他的方法,请参考LINGO的help文件,自行学习)现在下标已经定义完成了,定义数组变量时则需在下标后加上冒号再写上变量名,代码如下:SETS:Xb1/1..8/:x,c,b;Xb2/1..6/;Xb3(xb2,xb1):a;ENDSETS2.DATA的使用(常量定义):在lingo中把常量理解为已经被

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。