预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共28页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

更多很全的资料,期待您光顾小店:http://shop71433323.taobao.com/免费赠送很多资料O(∩_∩)O~LINGO教程§1外层是主框架窗口,包含了所有菜单命令和工具条,其它所有的窗口将被包含在主窗口之下。在主窗口内的标题为LINGOModel–LINGO1的窗口是LINGO的默认模型窗口,建立的模型都都要在该窗口内编码实现。下面举两个例子。在模型窗口中输入如下代码:例1.2使用LINGO软件计算6个发点8个收点的最小费用运输问题。产销单位运价如下表。model:!6发点8收点运输问题;sets:warehouses/wh1..wh6/:capacity;vendors/v1..v8/:demand;links(warehouses,vendors):cost,volume;endsets!目标函数;min=@sum(links:cost*volume);!需求约束;@for(vendors(J):@sum(warehouses(I):volume(I,J))=demand(J));!产量约束;@for(warehouses(I):@sum(vendors(J):volume(I,J))<=capacity(I));§2LINGO中的集2.1为什么使用集2.2什么是集2.3模型的集部分2.3.1定义原始集Setname是你选择的来标记集的名字,最好具有较强的可读性。集名字必须严格符合标准命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母(A—Z)、下划线、阿拉伯数字(0,1,…,9)组成的总长度不超过32个字符的字符串,且不区分大小写。注意:该命名规则同样适用于集成员名和属性名等的命名。Member_list是集成员列表。如果集成员放在集定义中,那么对它们可采取显式罗列和隐式罗列两种方式。如果集成员不放在集定义中,那么可以在随后的数据部分定义它们。①当显式罗列成员时,必须为每个成员输入一个不同的名字,中间用空格或逗号搁开,允许混合使用。例2.1可以定义一个名为students的原始集,它具有成员John、Jill、Rose和Mike,属性有sex和age:列表如下:③集成员不放在集定义中,而在随后的数据部分来定义。例2.2在集部分只定义了一个集students,并未指定成员。在数据部分罗列了集成员John、Jill、Rose和Mike,并对属性sex和age分别给出了值。集成员无论用何种字符标记,它的索引都是从1开始连续计数。在attribute_list可以指定一个或多个集成员的属性,属性之间必须用逗号隔开。可以把集、集成员和集属性同C语言中的结构体作个类比。如下图:集←→结构体集成员←→结构体的域集属性←→结构体实例LINGO内置的建模语言是一种描述性语言,用它可以描述现实世界中的一些问题,然后再借助于LINGO求解器求解。因此,集属性的值一旦在模型中被确定,就不可能再更改。在LINGO中,只有在初始部分中给出的集属性值在以后的求解中可更改。这与前面并不矛盾,初始部分是LINGO求解器的需要,并不是描述问题所必须的。2.3.2定义派生集§3模型的数据部分和初始部分例3.1sets:set1/A,B,C/:X,Y;endsetsdata:X=1,2,3;Y=4,5,6;enddata说明:集set1中定义两个属性X、Y。X的三个值是1、2、3,Y的三个值是4、5、6。也可采用如下例子中的复合数据声明(datastatement)实现同样的功能。例3.2sets:set1/A,B,C/:X,Y;endsetsdata:X,Y=142536;enddata说明:误解,可能会认为X被指定了1、4、2三个值。正确答案是1、2、3。假设对象列有n个对象,在为对象指定值时,首先在n个对象的第1个索引处依次分配数值列中的前n个对象,然后在n个对象的第2个索引处依次分配数值列中紧接着的n个对象,……,以此类推。模型的所有数据——属性值和集成员——被单独放在数据部分,这是最规范的数据输入方式。3.1.2参数数据部分也可指定一些标量变量(scalarvariables)。参数:在数据部分确定的标量变量举例:假设模型中用利率8.5%作为一个参数,象下面一样输入一个利率作为参数。例3.3data:interest_rate=.085;enddata也可同时指定多个参数。例3.4data:interest_rate,inflation_rate=.085.03;enddata3.1.3实时数据处理说明:某些情况下,模型中的某些数据并不是定值。如模型中有一通货膨胀率参数,想在2%