- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * §2 LINGO中的集? 说明:实际问题建模时,总会遇到一群或多群相互联系的对象, 如工厂、消费者群体、交通工具和雇工等等。 LINGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚合成集,就可利用集来最大限度的发挥LINGO建模语言的优势。 现深入介绍如何创建集,并用数据初始化集的属性。 学完本节后,对集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言基础,是程序设计最强有力的基本构件。 借助集,能够用一个单一的、长的、简明的复合公式表示一系列相似的约束,快速方便地表达规模较大的模型。 集:一群相联系的对象 集的成员:相联系的对象。 说明:一个集可能是一系列产品、卡车或雇员。 属性:每个集成员可能有的一个或多个与之有关联的特征。 属性值可以预先给定,也可以是未知的,有待于LINGO求解。 举例: 产品集中的每个产品可以有一个价格属性; 卡车集中的每辆卡车可以有一个牵引力属性; 雇员集中的每位雇员可有一个薪水属性,也可有一个生日属性 集的类型:原始集(primitive set)、派生集(derived set)。 原始集:由一些最基本的对象组成 派生集:由一个或多个其它集定义,即其成员来自其它已存在的集 2.2 什么是集 集部分:可选部分,使用前,必须在集部分事先定义。 以关键字“sets:”开始,“endsets”结束。 一个模型可以没有集部分,或有一个简单集部分,或有多个集部分 一个集部分可以放置于模型的任何地方,但是一个集及其属性在模型约束中被引用之前必须是已经定义。 2.3.1 定义原始集 定义一个原始集,必须作如下详细声明: ·集的名字 ·可选,集的成员 ·可选,集成员的属性 ?2.3 模型的集部分 定义原始集语法格式: setname[/member_list/][:attribute_list]; 注意:“[]”表示该部分内容可选。 Setname:集的名字,可读性要强,必须严格符合标准命名规则:以字母或下划线(_)为首字符,其后是字母(A—Z)、下划线、数字(0,1,…,9)组成的总长度不超过32个字符的字符串,不区分大小写。 注意:该命名规则同样适用于集成员名和属性名等的命名。 Member_list:集成员列表。 说明: 若集成员放在集定义中,则可采取显式罗列或隐式罗列方式定义。 若集成员不放在集定义中,则可在随后的数据部分定义它们。 例2.1 定义一个名为students的原始集,有成员John、Jill、Rose、Mike,属性有sex、age: sets: students/John Jill, Rose Mike/: sex, age; endsets 集 稠密集 原始集 显式罗列 稀疏集 过滤器 派生集 LINGO集类型 ① 显式罗列成员时,必须为每个成员输入一个不同名字,中间用空格或逗号搁开,允许混合使用。 ② 隐式罗列成员时,不必罗列出每个集成员。 语法格式: setname/member1..memberN/[: attribute_list]; member1是集的第一个成员名,memberN是集的最末一个成员名。 自动产生中间的所有成员名。 也接受一些特定的首成员名和末成员名,以创建一些特殊的集。 列表如下: Oct2001,Nov2001,Dec2001,Jan2002 Oct2001..Jan2002 MonthYearM..MonthYearN Oct,Nov,Dec,Jan Oct..Jan MonthM..MonthN Mon,Tue,Wed,Thu,Fri Mon..Fri DayM..DayN Car2,Car3,Car4,…,Car14 Car2..car14 StringM..StringN 1,2,3,4,5 1..5 1..n 所产生集成员 示 例 隐式成员列表格式 集 稠密集 原始集 显式罗列 稀疏集 过滤器 派生集 LINGO集类型 例2.2 !集部分; sets: students:sex,age; endsets !数据部分; data: students,sex,age= John 1 16 Jill 0 14 Rose 0 17 Mike 1 13; enddata 注意:开头用感叹号(!),末尾用分号(;)表示注释,可跨多行 说明: 集部分只定义了一个集students,并未指定成员。 数据部分罗列了集成员John、Jill、Rose、Mike,并对属性sex、age分别给出了值。 集成
您可能关注的文档
最近下载
- 2024届安徽省合肥一中高一化学第二学期期末复习检测试题含解析.pdf VIP
- B∕T 37465-2019 建筑施工机械与设备 履带式强夯机安全要求(高清可复制).pdf VIP
- DB37_T5192-2021:路基边坡变形远程监测预警系统技术标准.pdf VIP
- 技术转移过程详述药品.pptx VIP
- Starter Unit 1 Section A(1a-2d)课件人教版2024新教材七年级上册英语.pptx VIP
- 2025年度最新小学音乐教育新课程标准教育部部编版.docx VIP
- 丹佛斯FC302变频器网络设置.doc VIP
- 丹佛斯FC-302操作指南90-315KW.pdf VIP
- 第七届韬奋杯全国出版社青年编校大赛试题(编辑人员专用).pdf VIP
- 西方政治制度00316主观题汇总.docx VIP
文档评论(0)