LINGO中级教程doc.doc_第1页
LINGO中级教程doc.doc_第2页
LINGO中级教程doc.doc_第3页
LINGO中级教程doc.doc_第4页
LINGO中级教程doc.doc_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

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

文档简介

DBFQ SYY卓越SEO优化团队(WWW.268SEO.COM),提供全国地区企业建站,企业优化排名 企业外包,网站优化,网站SEO优化排名提升,外链建设,外链代发,提供建站,维护,推广等一体化服务,价格低,服务好,诚邀广大企业主站长合作 DBFQ SYY软件简介1、LINDO主要求解线性规划、整数规划、二次规划问题。现在版本好像是6.1。2、GINO最初这也是一个求非线性规划的工具,甚至她还用来求解一些非线性的方程根。它的特点是:包含了丰富的数学函数,尤其是概率函数!但是随着像Mathematica/Matlab的迅速发展,他逐渐的消亡,并演化为现在的函数引擎LINDO API,现在版本2.0。3、LINGO/LINGO NLLINGO8.0有两部分:LINGO and LINGO NL,他们分别用于求解线性、整数规划以及非线性、线性、整数规划问题,现在就统一成为了LINGO,它与LINDO的主要主要区别在于:她内建了建模语言,可以简约的得描述大规模的优化问题。现在版本是9.0。4、Whats the best这是一个组件,主要处理由Excell/Access生成数据文件的规划问题,安装之后会在你的Office中添加一个名为Whats the best的宏,启用后会在Excell中生成一个工具条,就像Adobe的pdf插件一样。现在版本是7.0。LINDO是一种专门用于求解数学规划问题的软件包。由于LINDO执行速度很快、易于方便输入、求解和分析数学规划问题。因此在数学、科研和工业界得到广泛应用。LINDO主要用于解线性规划、非线性规划、二次规划和整数规划等问题。也可以用于一些非线性和线性方程组的求解以及代数方程求根等。LINDO中包含了一种建模语言和许多常用的数学函数(包括大量概论函数),可供使用者建立规划问题时调用。一般用LINDO(Linear Interactive and Discrete Optimizer)解决线性规划(LPLinear Programming)。整数规划(IPInteger Programming)问题。其中LINDO 6 .1 学生版至多可求解多达300个变量和150个约束的规划问题。其正式版(标准版)则可求解的变量和约束在1量级以上。LINGO则用于求解非线性规划(NLPNONLINEAR PROGRAMMING)和二次规则(QPQUARATIC PROGRAMING)其中LINGO .0学生版最多可版最多达300个变量和150个约束的规则问题,其标准版的求解能力亦再104量级以上。虽然LINDO和LINGO不能直接求解目标规划问题,但用序贯式算法可分解成一个个LINDO和LINGO能解决的规划问题。要学好用这两个软件最好的办法就是学习他们自带的HELP文件。1 LINDO快速入门LINDO(Linear, INteractive, and Discrete Optimizer)是一个解决二次线性整数规划问题的方便而强大的工具。这些问题主要出现在商业、工业、研究和政府等领域。已被证实LINDO能在其中发挥巨大作用的具体事务包括:产品分销、成分混合、生产与个人事务安排、存货管理在这里不一一列举,但可以肯定的是,LINDO可以大展拳脚的领域是多不胜数的。LINDO的主要设计原则是,如果一个用户只是想解决一个简单的问题,就不应该在学习LINDO的基本特性上花费太多的准备成本。例如,某个用户想解决以下这样一个问题:(一个实际问题的数学模型)Maxmize 2X + 3YSubject to4X + 3Y 103X + 5Y 12那么,用户就只需要打开LINDO,然后直接输入以上内容即可。而另一方面,LINDO也可以用来解决一些复杂的二次线性整数规划方面的实际问题。如在大型的机器上,LINDO被用来解决一些拥有超过50,000各约束条件和200,000万个变量的大规模复杂问题。LINDO主要有三个基本使用模式。对于一些中小规模的问题,LINDO只要通过键盘输入就可以方便地实现交互性良好的操作与使用,如输入一个模型是相当简单方便的事情。另外,LINDO也可以对外建文件进行处理,只要这些文件里包含有必要的命令代码和输入数据,处理后就可以生成用于报告目的的文档。最后,你还可以自建子程序,然后直接与LINDO相结合形成一个包括你自己的代码和LINDO本身的优化库的综合程序。现在让我们用例子来说明怎样输入和求解一个模型。当我们打开LINDO后,屏幕将出现以下窗口: 在外面标题为LINDO的是主窗口,它包含所有的其他窗口以及所有命令菜单和工具栏。在里面的是一个新的空白的模型窗口,等下我们就会在那里直接输入一个简单的范例模型,但在此之前,我们首先需要简明地了解一下一个LINDO模型所必须具备的基本条件和要素。一个LINDO模型至少需要具备三个要素:目标、决策变量和约束条件。第一个基本要素是目标,顾名思义,是指一个问题解决后所要达到的目标。有两种目标可选择:MAX或MIN,也就是最大化或最小化。在一个典型的经济问题里,你可能想使你的获利最大化或成本最小化。因此,LINDO模型里的第一个字必须是MAX或是MIN。然后,在其后输入的一个式子就叫做目标函数。现在假设要使利益最大化,就需要输入:MAX 10X 15Y,然后回车。那么,X和Y又是什么呢?他们是第二个要素:模型里的决策变量,LINDO就是通过调整这些变量的值,使你的利益达到最大化。它们可以表示两种产品的销售量,或者两个不同公司的销售量。在这里每单位X(产品)的毛利是10,Y的是15。他们是变量,在LINDO里,从开始使用他们的时候起,他们就存在。目标和变量就讲这么多。现在让我们来看一下约束条件。在某种意义上,约束条件是我们所建立的模型中最重要的部分,它们需要认真地考虑。在前面的例子里,我们打算使式子10X 15Y的值最大,但对X和Y能卖出多少却没有加以限制,这当然不可能,因为在现实世界里会存在诸如劳动产出和有效性等限制因素。所以我们会把X和Y的值限制在一个合理的范围之内而不是任其随意地取值。于是我们需要在模型的另外一行里输入SUBJECT TO字样(或者可以只输入ST),跟着在后面分行输入X 10 和 Y 12。有一点值得注意的是,LINDO会将符号理解为小于或等于而不是绝对的小于。如果你喜欢的话,你可以用=来代替。很好,我们已经对X和Y加以限制了。再假设我们只有有限的劳动力,如16单位的劳动力,产品X需要一个单位而Y需要两个单位。现在我们继续加上一条约束条件:X + 2 Y =建模过程略(详见运筹学基础)目标函数:max z=x1+x2+x3+x4约束条件:x5+x6+x7+x8=250000x1+x5=380000x2+x6=265200x3+x7=408100x4+x8=02.85x5-1.42x6+4.27x7-18.49x8=016.5x1+2.0x2-4.0x3+17x4=07.5x5-7.0x6-13.0x7+8.0x8=0xj=0(j=1,2.,8)下面我们就用LINDO来解这一优化问题。输入语句:max(不区分大小写) x1+x2+x3+x4ST(大写或写subject to)x5+x6+x7+x8=250000x1+x5=380000x2+x6=265200x3+x7=408100x4+x8=02.85x5-1.42x6+4.27x7-18.49x8=016.5x1+2.0x2-4.0x3+17x4=07.5x5-7.0x6-13.0x7+8.0x8=0end然后再按运算符键即可得结果。LINDO是规定j非负的,我们可发现输入方式与我们的数学书写的形式基本一致,运算后,计算机会问您是否需要灵敏度分析,我们选择是,结果如下:LP OPTIMUM FOUND AT STEP 6 OBJECTIVE FUNCTION VALUE 1) 933400.0 VARIABLE VALUE REDUCED COST X1 161351.734375 0.000000 X2 265200.000000 0.000000 X3 408100.000000 0.000000 X4 98748.265625 0.000000 X5 218648.265625 0.000000 X6 0.000000 0.000000 X7 0.000000 0.000000 X8 31351.734375 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 -1.000000 3) 0.000000 1.000000 4) 0.000000 1.000000 5) 0.000000 1.000000 6) 0.000000 1.000000 7) 0.000000 0.000000 8) 43454.000000 0.000000 9) 3239024.250000 0.000000 10) 1890675.875000 0.000000NO. ITERATIONS= 6RANGES IN WHICH THE BASIS IS UNCHANGED: OBJ COEFFICIENT RANGESVARIABLE CURRENT ALLOWABLE ALLOWABLE COEF INCREASE DECREASE X1 1.000000 0.000000 1.154137 X2 1.000000 INFINITY 0.000000 X3 1.000000 INFINITY 0.000000 X4 1.000000 0.000000 0.000000 X5 0.000000 1.154137 0.000000 X6 0.000000 0.000000 INFINITY X7 0.000000 0.000000 INFINITY X8 0.000000 0.000000 0.000000 RIGHTHAND SIDE RANGES ROW CURRENT ALLOWABLE ALLOWABLE RHS INCREASE DECREASE 2 250000.000000 186222.062500 234752.984375 3 380000.000000 234752.984375 15247.017578 4 265200.000000 30601.410156 265200.000000 5 408100.000000 156685.250000 10176.581055 6 130100.000000 2350.135254 36184.207031 7 0.000000 43454.000000 669046.000000 8 0.000000 43454.000000 INFINITY 9 0.000000 3239024.250000 INFINITY 10 0.000000 1890675.875000 INFINITY下面给出其结果的一般解释:“LP OPTIMUM FOUND AT STEP 6”表示LINDO在(用单纯形法)次迭代或旋转后得到最优解。“OBJECTIVE FUNCTION VALUE 1)933400.0”表示最优目标值为933400。“VALUE”给出最优解中各变量的值。“SLACK OR SURPLUS”给出松弛变量的值。上例中SLK 2= 第二行松弛变量(模型第一行表示目标函数,所以第二行对应第一个约束)“REDUCE COST”列出最优单纯形表中判别数所在行的变量的系数,表示当变量有微小变动时,目标函数的变化率,其中基变量的reduce cost 值应为,对于非基变量j相应的reduce cost值表示j增加一个单位(此时假定其他非基变量保持不变)时目标函数减小的量(max 型问题)。上例中:X1 对应的 reduce cost 值为,表示当X1=1 时,目标函数值不变。“DUAL PRICE”(对偶价格)列出最优单纯形表中判别数所在行的松弛变量的系数,表示当对应约束有微小变动时,目标函数的变化率,输出结果中对应每一个约束有一个对偶价格。若其数值为,表示对应约束中不等式右端项若增加一个单位,目标函数将增加个单位(max 型问题)。上例中:第二行对应的对偶价格值应为-表示当约束)X5 + X6 + X7 + X8250000变为)X5 + X6 + X7 + X8250001时,目标函数值933400-1933399当REDUCE COST 或DUAL PRICE 的值为。表示当微小扰动不影响目标函数。有时,通过分析DUAL PRICE,也可对产生不可行问题的原因有所了解。灵敏度分析:如果做敏感性分析,则系统报告当目标函数的费用系数和约束右端项在什么范围变化(此时假定其他系数保持不变)时,最优基保持不变。报告中INFINITY表示正无穷,如上例:目标函数中的变量系数为,当它在1-1.154137,1-0= -0.154137,1 变化时,最优基保持不变 。第一个约束右端项为250000,当它在250000-234752.984375,250000+186222.0625=15247.015625,436222.0625 范围变化时,最优基保持不变 。当您要判断表达式输入是否有错误时,也可以使用菜单“Reports“的”Picture“选项。若想获得灵敏度分析,可用“Reports“的”Rang“选项。若需显示单纯形表,可执行“Reports“的”Tab lean“选项。注意事项:) 目标函数及各约束条件之间一定要有“Subject to (ST) ”分开。) 变量名不能超过个字符。) 变量与其系数间可以有空格,单不能有任何运算符号(如乘号“”等)。) 要输入=约束,相应以代替即可。) 一般LINDO中不能接受括号“()“和逗号“,“,例:400(X1+X2) 需写成400X1+400X2;10,000需写成10000。) 表达式应当已经过简化。不能出现 2 X1+3 X2-4 X1,而应写成-X1+3 X2。例2(选自运P94习题2.4;整数规则)有四个工人,要分别指派他们完成四项不同的工作,每个人做各项工作所消耗的时间如表。问应该如何指派,才能使总的消耗时间为最小? 工作所耗时间工人 A B C D 甲 15 18 21 24 乙 19 23 22 18 丙 26 17 16 19 丁 19 21 23 17这是一道典型的整数规则问题。我们记派第I去做工作记为Xij注意到每人只能做一项工作。每项工作一人做。我们得到目标函数为约束条件:min 15x11+19x21+26x31+19x41+18x12+23x22+17x32+21x42+24x13+22x23+16x33+23x43+24x14+18x24+19x34+17x44STx11+x12+x13+x14=1x21+x22+x23+x24=1x31+x32+x33+x34=1x41+x42+x43+x44=1x11+x21+x31+x41=1x12+x22+x32+x42=1x13+x23+x33+x43=1x14+x24+x34+x44=1endint 16运行后我们可得到最优目标值为70当 ,其余为0时。(具体的Reports 我们略去)在用LINDO解整数规划(IP)问题时,只要在END后加上标识即可,其中解0/1规划的用命令。INT name 或 INT n (n 指前n 个变量标识为0/1型)解混合型整数规划则用GIN来标识。LINDO解整数规划对变量的限制为50个。(指LINDO 6.1学生版)。所以说,尽管LINDO对整数规划问题是很有威力。要有效地使用还是需要一定技术的。这是因为,人们很容易将一个本质上很简单的问题列成一个输入模型。从而有可能会导致一个冗长的分支定界计算。例3 LINDO虽亦可求解二次规划问题。(但我认为它在输入对不如用LINGO方便,用LINDO输入时要先作偏导数计算不如LINGO哪样可直接输入。(选自运筹学基础190.习题4.10min f(x)=(x1-1)2+(x2-2)2x2-x1=1x1+x2=0,x2=0LINDO的使用,详见LINDO软件包(学生版) 使用手册再来说一说如何使用LINGO一般来说LINGO多用于解决大规模数学规划。2 LINGO快速入门 当你在windows下开始运行LINGO系统时,会得到类似下面的一个窗口: 外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGO Model LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。LINGO是用来求解线性和非线性优化问题的简易工具。LINGO内置了一种建立最优化模型的语言,可以简便地表达大规模问题,利用LINGO高效的求解器可快速求解并分析结果。下面举例。例1如何在LINGO中求解如下的LP问题:在模型窗口中输入如下代码:min=2*x1+3*x2;x1+x2=350;x1=100;2*x1+x2=600;用时要注意以下几点:1.每条语句后必须使用分号;结束。问题模型必须由MODEL命令开始,END结束。2.用MODEL命令来作为输入问题模型的开始,格式为MODEL:statement(语句)。3.目标函数必须由“min =”或“max =”开头。说一下这里的lindo和lingo程序结构的差异:1、基本程序架构(1)lindo是这样的:MAX 目标函数表达ST 变量约束1 变量约束2 变量约束3 END(2)lingo是这样的:MAX=目标函数表达;变量约束1;变量约束2;变量约束3;注意:可见它们的基本frame不同,在lingo80中每个语句后面必须以分号结束,包括以开头的注释语句。例3 假设现在一个计算机厂商要生产两种型号的PC:标准型(standard)和增强型(turbo),由于生产线和劳动力工作时间的约束,使得标准型PC最多生产100台。增强型PC最多生产120台;一共耗时劳动力时间不能超过160小时。已知每台标准型PC可获利润$100,耗掉1小时劳动力工作时间;每台增强型PC可获利润$150,耗掉2小时劳动力工作时间。请问:该如何规划这两种计算机的生产量才能够使得最后获利最大?这个问题是标准的线性规划,目标函数是100*standard+150*turbo最大!lindo/lingo的程序分别如下:(1)lindo sourcecode:max 100 standard+150 turbost standard=100 turbo=120 standard+2 turbo=160end运行结果如下:LP OPTIMUM FOUND AT STEP 2 OBJECTIVE FUNCTION VALUE 1) 14500. VARIABLE VALUE REDUCED COST STANDARD 100.000000 0.000000 TURBO 30.000000 0.000000 ROW SLACK OR SURPLUS DUAL PRICES 2) 0.000000 25.000000 3) 90.000000 0.000000 4) 0.000000 75.000000 NO. ITERATIONS= 2注解:第一行告知线性优化步数为2,下面是目标函数值=14500,在standard=100/turbo=30时取到;下面是对偶值。(2)lingo sourcecode:standard=100;max=100*standard+150*turbo;turbo=120;standard+2*turbo=160;运行结果如下:Global optimal solution found at iteration: 3 Objective value: 14500.00 Variable Value Reduced Cost STANDARD 100.0000 0.000000 TURBO 30.00000 0.000000 Row Slack or Surplus Dual Price 1 14500.00 1.000000 2 0.000000 25.00000 3 90.00000 0.000000 4 0.000000 75.00000注意:同样的一个问题,lingo却用了3次迭代!实际上lingo的长处在于它的内建的建模语言,从而刻画大型的规划问题简单,小规模的规划问题好像lindo有更好的效率!我实际上更喜欢用lingo,总觉得她和matlab更接近一点!特别是一些基本的数学运算符。非常不习惯lindo不用*表示乘,却用空格.例4 (运输问题):一、原始问题 现在WW(Wireless Widgets)公司拥有6个仓库,向其8个销售商供应它的产品。要求每个仓库供应不能超量,每个销售商的需求必须得到满足。WW公司需要决策具体的从每个仓库运输多少产品到每个销售商。以使得所花的运输费用最少?二、问题的已知数据:1、产品仓库数据:仓库编号 产品库存量1 602 553 514 435 416 522、销售商产品需求:销售商编号 产品需求量1 352 373 224 325 416 327 438 383、每件产品运输费用($):销售商右 V1 V2 V3 V4 V5 V6 V7 V8仓库下 Wh1 6 2 6 7 4 2 5 9 Wh2 4 9 5 3 8 5 8 2 Wh3 5 2 1 9 7 4 3 3 Wh4 7 6 7 3 9 2 7 1 Wh5 2 3 9 5 7 2 6 5 Wh6 5 5 2 2 8 1 4 3三、目标函数描述:线性优化建模的重要一步就是构造目标函数,正如上面提到的,在此问题中,WW 公司欲使总的运输费用最小。现在令:变量VOLUME_I_J 表示从仓库I到销售商J运送的产品数目。这样我们就可以写出如下的目标函数:MIN =6 *VOLUME_1_1+ 2 *VOLUME_1_2 +6 *VOLUME_1_3 +7 *VOLUME_1_4+4*VOLUME_1_5+.8*VOLUME_6_5 +VOLUME_6_6 +4*VOLUME_6_7 +3*VOLUME_6_8;当然上面是个简写形式。很明显的上面的目标函数如此的冗长,很容易导致输入错误。现实中的情况往往是销售商成千上万个,如果还是使用上述的方法就难以想象了。熟悉规划数学定义的人可以很轻易的用下面的方式表达上述的目标函数:Minimize (COST(ij)*VOLUME(ij)LINGO就是采用这种类似的方式来描述规划模型的,比如这个例子的等价的LINGO语句就是: MIN = SUM( LINKS(I,J): COST(I,J) * VOLUME(I,J);总之:LINGO的规划语言很适合熟悉数学的人使用,很自然。上面的SUM是系统函数,后面会介绍常见系统函数四、变量约束:这里有两种约束,第一种是供货约束,第二种是接货约束。例如:对于第一个销售商而言VOLUME_1_1 +VOLUME_2_1 +VOLUME_3_1 +VOLUME_4_1 +VOLUME_5_1 +VOLUME_6_1=35;如果使用原始的规划语句,要建如类似上面的语句8次呢:(有了建模语言就方便了:FOR( VENDORS( J):SUM( WAREHOUSES( I): VOLUME( I, J) = DEMAND( J);类似的:FOR( WAREHOUSES( I): SUM( VENDORS( J): VOLUME( I, J)= CAPACITY( I);好了,到此为止我们的模型就建起来了:MODEL:MIN = SUM( LINKS( I, J): COST( I, J) * VOLUME( I, J);FOR( VENDORS( J): SUM( WAREHOUSES( I): VOLUME( I, J) = DEMAND( J);FOR( WAREHOUSES( I): SUM( VENDORS( J): VOLUME( I, J) V12 WH1-V23 WH1-V3.47 WH6-V748 WH6-V8我们当然可以自己键入这些成员,但是LINGO在后台为我们节省了时间和劳动,我们只需搞明白他的工作原理就可。六、集合变量赋值:LINGO允许用户在数据段中单独的给模型中变量赋值;比如下面是我们的这个例子的数据段:DATA:CAPACITY = 60 55 51 43 41 52; DEMAND = 35 37 22 32 41 32 43 38; COST = 6 2 6 7 4 2 5 9 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3;ENDDATA注解:1、数据段以关键字DATA开始;以关键字ENDDATA结尾。派生集合的赋值有个顺序问题,在这里它先初始化COST( WH1, V1), 接下来是从COST( WH1, V2)到COST (WH1, V8);然后是COST(WH2, V1), 依此类推。2、LINGO还支持从外部文件中导入数据,更一般化地,他甚至支持通过OLE连接到Excel, 或者创建到流行数据库的ODBC链接,这对于数据经常改变的模型非常重要的。七、总结:直到现在,我们使用LINGO建模语言建立的运输模型已经初具规模,全部模型是这样的:MODEL:!示例:6仓库-8销售商运输模型;SETS: WAREHOUSES/ WH1 WH2 WH3 WH4 WH5 WH6/: CAPACITY; VENDORS/ V1 V2 V3 V4 V5 V6 V7 V8/: DEMAND; LINKS (Warehouses, Vendors): COST, VOLUME;ENDSETS!目标函数;MIN = SUM( LINKS( I, J): COST( I, J) * VOLUME( I, J);!需求约束;FOR( VENDORS( J): SUM( WAREHOUSES( I): VOLUME( I, J) = DEMAND( J);!供应约束;FOR( WAREHOUSES( I): SUM( VENDORS( J): VOLUME( I, J) = CAPACITY( I);!数据段;DATA:CAPACITY = 60 55 51 43 41 52; DEMAND = 35 37 22 32 41 32 43 38; COST = 6 2 6 7 4 2 5 9 4 9 5 3 8 5 8 2 5 2 1 9 7 4 3 3 7 6 7 3 9 2 7 1 2 3 9 5 7 2 6 5 5 5 2 2 8 1 4 3;ENDDATA END注解:在LINGO中使用!和;构造注释语句。这里的VOLUME(I,J)是要求的具体每条运输线路的运货量,即决策变量。 二、体会:1、线性规划这一块的欠缺:在matlab的最初的发展中,线性规划这一块就没考虑多大,当然,如果你非常熟悉单纯形法或分支定界法这样的算法的话,完全可以使用C或者matlab来解决一个具体的规划问题。但是LINDO公司有着独特的眼光,发现了将这些成熟的算法批量机械化的好处,形成了现在的LINDO系列优化软件。2、线性规划的巨大使用价值:现实的金融/经济/社会等等方面非常多的出现线性规划问题,只要看一下现在的MBA/MPA的教材就知道这是多么基本的一项技术!正如此,LINDO系列软件的使用领域现在主要在这些社会领域,当然教育上也有相当的应用。3、统一性:使用LINGO的语言,特别是建模语言,你能够比较清醒地认识你现在所处理的问题到底是哪一类规划问题?有助于更深刻地认识你所面临的问题。前面的这部分算是个入门吧!下面我们要慢慢的了解LINGO的强大的系统内置函数系统.下面是LINGO系统中的所有函数的分类:1、标准运算符2、数学函数3、金融函数4、概率函数5、变量范围限制函数6、集合控制函数7、集合循环函数8、导入导出函数9、杂项函数3 LINGO中的集 对实际问题建模的时候,总会遇到一群或多群相联系的对象,比如工厂、消费者群体、交通工具和雇工等等。LINGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集,就可以利用集来最大限度的发挥LINGO建模语言的优势。现在我们将深入介绍如何创建集,并用数据初始化集的属性。学完本节后,你对基于建模技术的集如何引入模型会有一个基本的理解。3.1 为什么使用集集是LINGO建模语言的基础,是程序设计最强有力的基本构件。借助于集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,从而可以快速方便地表达规模较大的模型。3.2 什么是集集是一群相联系的对象,这些对象也称为集的成员。

温馨提示

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

评论

0/150

提交评论