Lingo软件在最优化蔚氖题中的应用.pptVIP

  • 1
  • 0
  • 约1.59千字
  • 约 17页
  • 2017-08-20 发布于浙江
  • 举报
Lingo软件在最优化蔚氖题中的应用

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/Mike Peter,Rose,Carl/:sex,age; ;endsets (2)若不必列出每个集成员,常采用省略形式:即用隐式罗列成员,语法如下: setname/member1..memberN/[:attribute_list]; 例如: ; (3)集成员不放在集定义中,而在随后的数据部分来定义 例:数据部分定义集成员示例。 !集部分; sets: students:sex,age; endsets  ;!数据部分; data: students,sex,age=John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; enddata;2、派生集的定义 定义一个派生集,用如下语法: setname(parent_set_list)[/member_list/][:attribute_list]; 其中parent_set_list是已定义集的列表,多个时必须用逗号隔开。如: set: ; product/A B/; machine/M N/; 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)在命令方式下(Command Window中),必须先输入MODEL:表示开始输入模型。LINGO中模型以“MODEL:”开始,以“END”结束。对简单的模型,这两个语句也可以省略。 ;(3)LINGO中的语句的顺序是不重要的,因为LINGO总是根据“MAX=”或 “MIN=”语句寻找目标函数,而其它语句都是约束条件(当然注释语句和 TITLE除外)。 (4)LINGO模型是由一系列语句组成,每个语句以分号“;”结。 (5)LINGO中以感叹号“!”开始的是说明语句(说明语句也需要以分号 “;”结束)。 ;谢谢!

文档评论(0)

1亿VIP精品文档

相关文档