什么是集
对实际问题建模的时候,总会遇到一群或多群相联系的对象。Lingo允许把这些对象聚合成集,从而最大限度发挥Lingo建模语言的优势。
集是一群相联系的对象,这些对象也称为集的成员。一个集可能是一系列产品、卡车或雇员。每个集成员可能有一个或多个与之关联的特征,我们把这些特征称为属性。例如:产品集的每个产品中可以有一个价格属性。
Lingo有两种类型的集:原始集和派生集。
- 一个原始集是由一些最基本的对象组成的。
- 一个派生集是用一个或多个其他集来定义的,也就是说,它的成员来自其他已存在的集。
集部分是Lingo模型的一个可选部分。在Lingo模型使用集之前,必须在集部分事先定义。集部分以关键字“sets:”开始,以”endsets”结束。
可以把集,集成员,集属性和C语言中的结构体进行类比:
集 ←→ 结构体
集成员 ←→ 结构体的成员
集属性 ←→ 结构体的实例
定义原始集
(1)为了定义一个原始集,必须详细声明:
集的名字(必选,不区分大小写)
集的成员(可选)
集成员的属性(可选)
(2)定义一个原始集,可用下面的语法:
setname[/member_list/][:attribute_list];
(3)成员的生成:
- 显示罗列:在集成员列