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

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

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

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

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

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

Lingo软件在最优化问题中的应用则须在模型窗口输入如下代码: MODEL: min=2*x1+3*x2; x1+x2>=350; x1>=100; 2*x1+x2<=600; END三、Lingo中集的使用; 集是Lingo建模语言的基础,是程序设计最强有力的基本构件。借助与集,能够将一系列相似的约束用一个单一的、简明的复合公式表示,从而快速方便地表达较大规模的模型。 Lingo有两种类型的集:原始集和派生集。 在Lingo模型中使用集之前,必须事先定义。 集以关键字“sets:”开始,以“endsets”结束。 1、原始集的定义 用下面的语法定义一个原始集: setname[/member_list][:attribute_list]; (1)若要一列出集成员:则用显式罗列成员,中间用空格或逗号隔开,也可混合使用。如: set: students/MikePeter,Rose,Carl/:sex,age; endsets (2)若不必列出每个集成员,常采用省略形式:即用隐式罗列成员,语法如下: setname/member1..memberN/[:attribute_list]; 例如: (3)集成员不放在集定义中,而在随后的数据部分来定义 例:数据部分定义集成员示例。 !集部分; sets: students:sex,age; endsets !数据部分; data: students,sex,age=John116 Jill014 Rose017 Mike113; enddata2、派生集的定义 定义一个派生集,用如下语法: setname(parent_set_list)[/member_list/][:attribute_list]; 其中parent_set_list是已定义集的列表,多个时必须用逗号隔开。如: set: product/AB/; machine/MN/; week/1..2/; allowed(product,machine,week):x; endsets 这里allowed定义为product,machine,week的派生集,其组成成员如下: (A,M,1),(A,M,2),(A,N,1),(A,N,2) (B,M,1),(B,M,2),(B,N,1),(B,N,2) 三、模型的数据部分; 数据部分以关键字“data:”开始,以关键字"enddata"结束。在这里,可以指定集成员、集的属性。其语法如下: data: object_list=value_list; enddata object_list通常为集名、属性名,它们用逗号或空格隔开。 value_list是对应于object_list中对象的值,中间用逗号或空格隔开。看如下实例:X=1,2,3; Y=4,5,6; enddata 四、Lingo软件使用的注意事项。 (1)LINGO中不区分大小写字母,变量(和行名)可以使用不超过32个字符表示,且必须以字母开头。 (2)在命令方式下(CommandWindow中),必须先输入MODEL:表示开始输入模型。LINGO中模型以“MODEL:”开始,以“END”结束。对简单的模型,这两个语句也可以省略。 (3)LINGO中的语句的顺序是不重要的,因为LINGO总是根据“MAX=”或 “MIN=”语句寻找目标函数,而其它语句都是约束条件(当然注释语句和 TITLE除外)。 (4)LINGO模型是由一系列语句组成,每个语句以分号“;”结。 (5)LINGO中以感叹号“!”开始的是说明语句(说明语句也需要以分号 “;”结束)。 谢谢!