《LINGO8.0forwindows软件及应用》 第二章 LINGO中的集

§2LNGo中的集 说明:实际问题建模时,总会遇到一群或多群相互联系的对象, 如工厂、消费者群体、交通工具和雇工等等。 L|NGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚 合成集,就可利用集来最大限度的发挥LNGO建模语言的优势 现深入介绍如何创建集,并用数据初始化集的属性 学完本节后,对集如何引入模型会有一个基本的理解。 2.1为什么使用集 集是LNG○建模语言基础,是程序设计最强有力的基本构件 借助集,能够用一个单一的、长的、简明的复合公式表示一系列相 似的约束,快速方便地表达规模较大的模型
§2 LINGO中的集 说明:实际问题建模时,总会遇到一群或多群相互联系的对象, 如工厂、消费者群体、交通工具和雇工等等。 LINGO允许把这些相联系的对象聚合成集(sets)。一旦把对象聚 合成集,就可利用集来最大限度的发挥LINGO建模语言的优势。 现深入介绍如何创建集,并用数据初始化集的属性。 学完本节后,对集如何引入模型会有一个基本的理解。 2.1 为什么使用集 集是LINGO建模语言基础,是程序设计最强有力的基本构件。 借助集,能够用一个单一的、长的、简明的复合公式表示一系列相 似的约束,快速方便地表达规模较大的模型

2.2什么是集 集:一群相联系的对象 集的成员:相联系的对象 说明:一个集可能是一系列产品、卡车或雇员。 属性:每个集成员可能有的一个或多个与之有关联的特征。 属性值可以预先给定,也可以是未知的,有待于 LINGO求解。 举例: 产品集中的每个产品可以有一个价格属性; 卡车集中的每辆卡车可以有一个牵引力属性; 雇员集中的每位雇员可有一个薪水属性,也可有一个生日属性 集的类型:原始集( primitive set)、派生集( derived set) 原始集:由一些最基本的对象组成 派生集:由一个或多个其它集定义,即其成员来自其它已存在的集
集:一群相联系的对象 集的成员:相联系的对象。 说明:一个集可能是一系列产品、卡车或雇员。 属性:每个集成员可能有的一个或多个与之有关联的特征。 属性值可以预先给定,也可以是未知的,有待于LINGO求解。 举例: 产品集中的每个产品可以有一个价格属性; 卡车集中的每辆卡车可以有一个牵引力属性; 雇员集中的每位雇员可有一个薪水属性,也可有一个生日属性 集的类型:原始集(primitive set)、派生集(derived set)。 原始集:由一些最基本的对象组成 派生集:由一个或多个其它集定义,即其成员来自其它已存在的集 2.2 什么是集

2.3模型的集部分 集部分:可选部分,使用前,必须在集部分事先定义。 以关键字“sets:"开始,“ endsets”结束 个模型可以没有集部分,或有一个简单集部分,或有多个集部分 个集部分可以放置于模型的任何地方,但是一个集及其属性在模 型约束中被引用之前必须是已经定义 2.3.1定义原始集 定义一个原始集,必须作如下详细声明: 集的名字 可选,集的成员 可选,集成员的属性
集部分:可选部分,使用前,必须在集部分事先定义。 以关键字“sets:”开始,“endsets”结束。 一个模型可以没有集部分,或有一个简单集部分,或有多个集部分 一个集部分可以放置于模型的任何地方,但是一个集及其属性在模 型约束中被引用之前必须是已经定义。 2.3.1 定义原始集 定义一个原始集,必须作如下详细声明: ·集的名字 ·可选,集的成员 ·可选,集成员的属性 2.3 模型的集部分

定义原始集语法格式: setname[/member list/[:attribute list] 注意:“表示该部分内容可选。 Setname:集的名字,可读性要强,必须严格符合标准命名规则: 以字母或下划线()为首字符,其后是字母(AZ)、下划线、 数字(0,1,…,9)组成的总长度不超过32个字符的字符串,不 区分大小写 注意:该命名规则同样适用于集成员名和属性名等的命名 Member1ist:集成员列表 说明: 若集成员放在集定义中,则可采取显式罗列或隐式罗列方式定义 若集成员不放在集定义中,则可在随后的数据部分定义它们
定义原始集语法格式: setname[/member_list/][:attribute_list]; 注意:“[]”表示该部分内容可选。 Setname:集的名字,可读性要强,必须严格符合标准命名规则: 以字母或下划线(_)为首字符,其后是字母(A—Z)、下划线、 数字(0,1,…,9)组成的总长度不超过32个字符的字符串,不 区分大小写。 注意:该命名规则同样适用于集成员名和属性名等的命名。 Member_list:集成员列表。 说明: 若集成员放在集定义中,则可采取显式罗列或隐式罗列方式定义。 若集成员不放在集定义中,则可在随后的数据部分定义它们

①显式罗列成员时,必须为每个成员输入一个不同名字,中 间用空格或逗号搁开,允许混合使用 例2.1定义一个名为 students的原始集,有成员John、Ji11、 Rose、Mike,属性有sex、age: sets students/John Jill, Rose Mike/: sex, agei endsets
例2.1 定义一个名为students的原始集,有成员John、Jill、 Rose、Mike,属性有sex、age: sets: students/John Jill, Rose Mike/: sex, age; endsets ① 显式罗列成员时,必须为每个成员输入一个不同名字,中 间用空格或逗号搁开,允许混合使用

②隐式罗列成员时,不必罗列出每个集成员 语法格式: setname/ member1. member/[: attribute listI member1是集的第一个成员名, member是集的最末一个成员名。 自动产生中间的所有成员名。 也接受一些特定的首成员名和末成员名,以创建一些特殊的集, 列表如下: 匚隐式成员列表格式示例 所产生集成员 n 1,2,3,4, StringM. String Car2. car14 Car2, Car3, Car4,., Car14 DayM. dayN Mon.. fri Mon, tue Wed. Thu Fri Month. Month Oct. Jan Oct, Nov, Dec, jan MonthYearM. MonthY Oct2001.Jan2Oct2001, Nov 2001, Dec2001 ear N 002 Jan2002
② 隐式罗列成员时,不必罗列出每个集成员。 语法格式: setname/member1..memberN/[: attribute_list]; member1是集的第一个成员名,memberN是集的最末一个成员名。 自动产生中间的所有成员名。 也接受一些特定的首成员名和末成员名,以创建一些特殊的集。 列表如下: 隐式成员列表格式 示 例 所产生集成员 1..n 1..5 1,2,3,4,5 StringM..StringN Car2..car14 Car2,Car3,Car4,…,Car14 DayM..DayN Mon..Fri Mon,Tue,Wed,Thu,Fri MonthM..MonthN Oct..Jan Oct,Nov,Dec,Jan MonthYearM..MonthY earN Oct2001..Jan2 002 Oct2001,Nov2001,Dec2001, Jan2002

③集成员不放在集定义中,在随后的数据部分来定义 例2.2 !集部分; sets students: sex, age endsets !数据部分; data students sex age= John 1 16 Ji11014 rose o 17 Mike 113: enddata 注意:开头用感叹号(!),未尾用分号(;)表示注释,可跨多行 说明: 集部分只定义了一个集 students,并未指定成员 数据部分罗列了集成员John、Ji11、Rose、Mike,并对属性sex、 age分别给出了值。 集成员无论用何种字符标记,其索引都是从1开始连续计数
例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分别给出了值。 集成员无论用何种字符标记,其索引都是从1开始连续计数。 ③ 集成员不放在集定义中,在随后的数据部分来定义

attribute_list:指定一个或多个集成员属性, 之间必须用逗号隔开 可以把集、集成员和集属性同C语言中的结构体作类比。 如下图: 集 结构体 集成员 结构体的域 集属性 结构体实例 LINGO内置的建模语言是一种描述性语言,用它可以描述现实世 界中的一些问题,然后再借助于 LINGO求解器求解 因此,集属性的值一日在模型中被确定,就不可能再更改 只有在初始部分中给出的集属性值在以后的求解中可更改。 这与前面并不矛盾,初始部分是 LINGO求解器的需要,并不是描 述问题所必须的
可以把集、集成员和集属性同C语言中的结构体作类比。 如下图: 集 ←→ 结构体 集成员 ←→ 结构体的域 集属性 ←→ 结构体实例 LINGO内置的建模语言是一种描述性语言,用它可以描述现实世 界中的一些问题,然后再借助于LINGO求解器求解。 因此,集属性的值一旦在模型中被确定,就不可能再更改。 只有在初始部分中给出的集属性值在以后的求解中可更改。 这与前面并不矛盾,初始部分是LINGO求解器的需要,并不是描 述问题所必须的。 attribute_ list:指定一个或多个集成员属性, 之间必须用逗号隔开

2.3.2定义派生集 为定义派生集,必须详细声明 集的名字 父集的名字 可选,集成员 可选,集成员的属性 语法格式: setname (parent set list)[/member list/[: attribute list Setname:集的名字 parent set list:已定义的集的列表,多个时必须用逗号隔开。 若没指定成员列表,则自动创建父集成员所有组合为派生集成员。 派生集的父集既可以是原始集,也可以是其它的派生集
为定义派生集,必须详细声明: ·集的名字 ·父集的名字 ·可选,集成员 ·可选,集成员的属性 语法格式: setname(parent_set_list)[/member_list/][:attribute_list]; Setname:集的名字。 parent_set_list:已定义的集的列表,多个时必须用逗号隔开。 若没指定成员列表,则自动创建父集成员所有组合为派生集成员。 派生集的父集既可以是原始集,也可以是其它的派生集。 2.3.2 定义派生集

例2.3 sets product/A B/i machine/m N/ week/1..2/; allowed(product, machine, week):i endsets 生成三个父集的所有组合共八组作为 allowed集的成员。列表如下: 编号 成员 (A,M,1 (A,M,2 2345678 (A,N,1 (A,N,2) (B,M,1) (B,M,2) (B,N,1) (B,N,2) 稠密集ε成员由父集成员所有组合构成的派生集(如成员列表被忽略)。 稀疏集:限制派生集的成员,使它成为父集成员所有组合构成的集合的 个子集的派生集。 同原始集一样,派生集成员的声明也可放在数据部分
生成三个父集的所有组合共八组作为allowed集的成员。列表如下: 编号 成员 • 1 (A,M,1) • 2 (A,M,2) • 3 (A,N,1) • 4 (A,N,2) • 5 (B,M,1) • 6 (B,M,2) • 7 (B,N,1) • 8 (B,N,2) 稠密集:成员由父集成员所有组合构成的派生集(如成员列表被忽略)。 稀疏集:限制派生集的成员,使它成为父集成员所有组合构成的集合的一 个子集的派生集。 同原始集一样,派生集成员的声明也可放在数据部分。 例2.3 sets: product/A B/; machine/M N/; week/1..2/; allowed(product,machine,week):x; endsets
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《LINGO8.0forwindows软件及应用》 第一章 LINGO快速入门.ppt
- 《LINGO8.0forwindows软件及应用》 前言.ppt
- 《数学建模竞赛题》AMCM2004问题-A:指纹是独一无二的吗?.doc
- 《数学建模竞赛题》AMCM2003问题-A:特技演员.doc
- 《数学建模竞赛题》AMCM2002问题-A风和喷水池.doc
- 《数学建模竞赛题》AMCM2001问题-A:选择自行车车轮.doc
- 《数学建模竞赛题》AMCM2000问题-A空间交通管制.doc
- 《数学建模竞赛题》AMCM99问题-A大碰撞.doc
- 《数学建模竞赛题》AMCM98问题-A磁共振成像扫描仪.doc
- 《数学建模竞赛题》AMCM97问题 -A题- Velociraptor(疾走龙属)问题.doc
- 《数学建模竞赛题》AMCM96问题-A噪音场中潜艇的探测.doc
- 《数学建模竞赛题》AMCM95问题-A单一螺旋线.doc
- 《数学建模竞赛题》AMCM94问题-A住宅的保温.doc
- 《数学建模竞赛题》AMCM93问题-A加速餐厅剩菜堆肥的生成.doc
- 《数学建模竞赛题》AMCM92问题-A空中交通控制雷达的功率问题.doc
- 《数学建模竞赛题》AMCM91问题-A估计水塔的水流量.doc
- 《数学建模竞赛题》AMCM90问题-A药物在脑内的分布.doc
- 《数学建模竞赛题》AMCM89问题-蠓的分类.doc
- 《数学建模竞赛题》AMCM88问题-A确定毒品走私船的位.doc
- 《数学建模竞赛题》AMCM87问题-A盐的存贮.doc
- 《LINGO8.0forwindows软件及应用》 第三章 模型的数据部分和初始部分.ppt
- 《LINGO8.0forwindows软件及应用》 第四章 LINGO 函数.ppt
- 《LINGO8.0forwindows软件及应用》 第五章 LINGO WINDOWS命令.ppt
- 《LINGO8.0forwindows软件及应用》 第六章 LINGO的命令行命令.ppt
- 《LINGO8.0forwindows软件及应用》 第七章 综合举例.ppt
- 《LINGO8.0forwindows软件及应用》 讲义.doc
- 《LINGO8.0forwindows软件及应用》 第七章(7-2) 装配线平衡模型.ppt
- 《LINGO8.0forwindows软件及应用》 第十章 利用LING0开发高级模型.doc
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)综合试题(共4份,含参考答案).ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)目录.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第一章 行列式.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第三章 向量空间.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第二章 矩阵理论.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第四章 线性方程组.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)综合试卷.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)自测题.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第七章 二次型与二次曲面.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第五章 欧氏空间.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)第六章 线性变换.ppt
- 湖南大学:《线性代数与解析几何》课程教学资源(PPT课件讲稿)综合试卷.ppt