下载此beplayapp体育下载

LINGO软件介绍.doc


beplayapp体育下载分类:bepaly下载苹果 | 页数:约17页 举报非法beplayapp体育下载有奖
1 / 17
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该beplayapp体育下载所得收入归上传者、原创者。
  • 3.下载的beplayapp体育下载,不会出现我们的网址水印。
1 / 17 下载此beplayapp体育下载
beplayapp体育下载列表 beplayapp体育下载介绍
LINGO软件介绍LINGO程序设计介绍在运筹学中中会遇到如规划类的题型,在这种模型中总存在着一个目标,并希望这个目标的取值尽可能的大或小,同时与这个目标有关的一系列变量之间存在一些约束。在构造出目标函数和约束条件的表达式后,我们需要对求出这个最值和各变量的取值。一般我们用LINGO来对模型进行求解,本文将通过举一个简单的例子,围绕这个例子逐步学****LINGO的使用。LINGO只是一个求解工具,我们主要的任务还是模型的建立!当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。、常量定义在lingo中变量在使用前是无需定义也可以使用的。在描述类似带有下标的变量时,我们可以在使用时一一例举,即,x1,x2,x3….x8,但这样显然很麻烦(刚接触LINGO的时候大部分是这样使用的)。Lingo中可以使用sets来预先定义这些变量,然后就可以在loop语句方便地访问这一组变量,也可以用小x(2),a(2,3)的形式访问个别变量,这和C语言中的数组是类似的。:为了定义那么首先要确定下标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(xb1,xb2); ENDSETS现在下标已经定义完成了,定义数组变量时则需在下标后加上冒号再写上变量名,代码如下:SETS: Xb1/1..8/:x,c,b; Xb2/1..6/; Xb3(xb1,xb2):a; (常量定义):在lingo中把常量理解为已经被给定某常数的变量,在DATA中对一些变量赋值,使之成为常量。代码如下:SETS: xb1/1..8/:x; xb2/1..6/:b,c; xb3(xb2,xb1):a; ENDSETS DATA:a=174556932856725435695445472588765544451768875628; b=153827441526; c=498469; ENDDATA这些变量的值在规划求解中始终不变,也即为常量。: Lingo中变量被默认为大于等于0的浮点型变量,在解决某些问题对变量有特殊的要求,需要重新定义其变量类型。下面介绍几个常用的:①变量不受大于等于的限制,即也可以取到负值: 用***@Free(x);语句。②变量为整型: 用***@Gin(x);语句。③变量为二进制数,即取值非0即1:用***@Bin(x);语句。其中x是要改变类型的变量。、SUM、MAX、MIN语句会使我们更轻松地表达多种约束表达式,同时也避免了大量的输入工作。 : a)假定我们要定义xi为整型变量,一般我们需要写下如下代码: ***@GIN(X(1)); ***@GIN(X(2));***@GIN(X(3)); ***@GIN(X(4));***@GIN(X(5)); ***@GIN(X(6));***@GIN(X(7)); ***@GIN(X(8));显然这太麻烦了。使用for语句***@for(xb1(i):***@GIN(x(i)));就可以替代上面的输入工作。其中xb1在上述代码中已经定义过,变量i是索引变量。FOR语句格式:***@FOR(SETS_NAME(索引变量)):循环部分表达式)***@for(xb1(i):***@GIN(x(i))); 下面我们用C语言来帮助理解,以便我们更好地理解。 For(i=1;i<=8;i++){***@gin(x(i)); }***@for语句中冒号前面的部分xb1(i)说明索引变量i将从1递增到到8;冒号后面是循环的内容,可以是一个语句,也可以是多个语句用分号隔开。 b)上面介绍的是一维的循环,二维循环也与之类似,例如:***@for(xb3(i,j):***@gin(a(i,j)));用C语言解释为:For(i=;i<=8;i++)For(j=1;j<=6;j++){***@gin(a(i,j));} :在约束条件表达式中经常用到∑,lingo提供的SUM语句能方便地表达,但必须要以SETS为基础。SUM语句格式和FOR语句类似:***@SUM(SET

LINGO软件介绍 来自beplayapp体育下载www.apt-nc.com转载请标明出处.

相关beplayapp体育下载 更多>>
非法内容举报中心
beplayapp体育下载信息
  • 页数17
  • 收藏数0收藏
  • 顶次数0
  • 上传人业精于勤
  • 文件大小135 KB
  • 时间2019-09-15