Lingo_集合小结

6 篇文章 1 订阅
6 篇文章 1 订阅

Lingo_集合小结

这里写图片描述
现在,我们归纳一下基本集合和派生集合的定义语法。基本集合的定义格式为(以下语 法中凡是在方括号“[ ]”中的内容,表示是可选的项,即该项可以有也可以没有):
setname [/member_list/] [: attribute_list];
其中 setname 为定义的集合名,member_list 为元素列表,attribute_list 为属性列 表。元素列表可以采用显式列举法(即直接将所有元素全部列出,元素之间用逗号或空格分 开),也可以采用隐式列举法。

隐式列举法可以有几种不同格式:
这里写图片描述
上面的语法还告诉我们元素列表和属性列表都是可选的。当属性列表不在集合定义中出 现时,这样的集合往往只是为了将来在程序中作为一个循环变量来使用;而当元素列表不在 集合定义中出现时,则必须在程序的数据段以赋值语句的方式直接给出元素列表。
例如:

model:
SETS:
    QUARTERS:DEM,RP,OP,INV; !注意没有给出元素列表;
ENDSETS
DATA:
    QUARTERS DEM=1 40 2 60 3 75 4 25; !注意LINGO按列赋值的特点;
ENDDATA
end

派生集合的一般定义格式为:
setname(parent_set_list) [/member_list/] [: attribute_list];

其中与基本集合的定义相比较只是多了一个 parent_set_list(父集合列表)。父集合列 表中的集合(如 set1,set2,…,等)称为派生集合 setname 的父集合,它们本身也可以 是派生集合。当元素列表(member_list)不在集合定义中出现时,还可以在程序的数据段 以赋值语句的方式给出元素列表;若在程序的数据段也不以赋值语句的方式给出元素列表, 则认为父集合中所有元素的组合(笛卡儿积)都是 setname 的元素。当元素列表在集合定义 中出现时,又有“元素列表法”和“元素过滤法”两种不同方式.

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值