中国高校课件下载中心 》 教学资源 》 大学文库

安徽大学:《运筹学》课程实验教案(PPT讲稿)第五讲 利用集合

文档信息
资源类别:文库
文档格式:PPT
文档页数:163
文件大小:3.16MB
团购合买:点击进入团购
内容简介
安徽大学:《运筹学》课程实验教案(PPT讲稿)第五讲 利用集合
刷新页面文档预览

第五讲 利用集合 引言 模型的集合域 模型的数据域 集合循环诬数 利用集合建模举例 变量限定数 电子数据表与利LNGO 3

3 第五讲 利用集合 引言 模型的集合域 模型的数据域 集合循环函数 利用集合建模举例 变量限定函数 电子数据表与利LINGO

5.1引言 5.1引言 利用LINGO可以模拟大型系统。这是LINGO:最 强大的功能之一。实现这一功能的关键是引入表 示类似对象的集合概念。如果你从事建立实用模 型的工作,你就一定会遇到一组或多组类似的对 象群体。比如,工厂、产品、时期、客户、车辆 或雇员等等群体。LING0允许你将他们聚集在 起形成集合。一旦对象可以用集合来表示,你就 可以用单个语句作用于一个集合中的所有元素

4 5.1 引言 5.1 引言 利用LINGO可以模拟大型系统。这是LINGO最 强大的功能之一。实现这一功能的关键是引入表 示类似对象的集合概念。如果你从事建立实用模 型的工作,你就一定会遇到一组或多组类似的对 象群体。比如,工厂、产品、时期、客户、车辆 或雇员等等群体。LINGO允许你将他们聚集在一 起形成集合。一旦对象可以用集合来表示,你就 可以用单个语句作用于一个集合中的所有元素

5.1引言 5.1.1为什么要利用集合? 在多数大型模型中,往往需要进行一些很类 似的计算(或存在一些很类似的约束)。利用LI NG0处理集合的能力可以高效率地完成这样的计 算(或描述类似的约束) 例如,对于具有100个货栈的运输模型来说, 每一个货栈都有一个运输能力的约束。如果要明 确地一个一个地写出全部约束,那必定是单调乏 味的。 5

5 5.1 引言 5.1.1 为什么要利用集合? 在多数大型模型中,往往需要进行一些很类 似的计算(或存在一些很类似的约束)。利用LI NGO处理集合的能力可以高效率地完成这样的计 算(或描述类似的约束)。 例如,对于具有100个货栈的运输模型来说, 每一个货栈都有一个运输能力的约束。如果要明 确地一个一个地写出全部约束,那必定是单调乏 味的

5.1引言 例如,货栈1的运输量不能超过存储量,货 栈2的运输量不能超过存储量,货栈3的运输量不 能超过存储量.等等)。如果用LING0建立模型 我们就可以用一个语句来表示这些约束:“每个 货栈的运输量不能超过它的存货量”。 6

6 例如,货栈1的运输量不能超过存储量,货 栈2的运输量不能超过存储量,货栈3的运输量不 能超过存储量.等等)。如果用LINGO建立模型, 我们就可以用一个语句来表示这些约束:“每个 货栈的运输量不能超过它的存货量” 。 5.1 引言

5.1引言 5.1.2什么是集合? 集合是一些类似对象的全体。一些产品、一 些卡车或一些雇员等等都可以构成一个集合。集 合中的每一个元素都有一个或多个与其相关的特 性(例如,重量、单位产品的价格或收入)。我 们称这些特性为属性。同一个集合中的所有元素 具有同样类型的属性。在求解模型之前,集合属 性的值可以预先取定也可以待定 7

7 5.1.2 什么是集合? 集合是一些类似对象的全体。一些产品、一 些卡车或一些雇员等等都可以构成一个集合。集 合中的每一个元素都有一个或多个与其相关的特 性(例如,重量、单位产品的价格或收入)。我 们称这些特性为属性。同一个集合中的所有元素 具有同样类型的属性。在求解模型之前,集合属 性的值可以预先取定也可以待定。 5.1 引言

5.1引言 例如,在一个产品集合中,我们可以将产品 的价格作为产品集合的一个属性。在一个卡车集 合中,我们可以将卡车的载重量作为卡车集合的 一个属性。此外,在一个雇员集合中,我们既可 以将雇员的工资作为雇员集合的一个属性,也可 以将雇员的生日作为雇员集合的一个属性。 8

8 例如,在一个产品集合中,我们可以将产品 的价格作为产品集合的一个属性。在一个卡车集 合中,我们可以将卡车的载重量作为卡车集合的 一个属性。此外,在一个雇员集合中,我们既可 以将雇员的工资作为雇员集合的一个属性,也可 以将雇员的生日作为雇员集合的一个属性。 5.1 引言

5.1引言 5.1.3集合的分类 LNGO只允许定义两种类型的集合:基本集 合和派生集合。所谓基本集合就是其元素不能再 进一步分解的集合 派生集合是用一个或多个其它集合运用下面 两种运算产生:a)选择运算(形成子集),b)两 个或多个集合的笛卡尔乘积(有时也称为一个 “交叉”或“联合”)。特别注意:一个派生集 合是由其它先前存在的集合通过笛卡尔乘积而生 成

9 5.1.3 集合的分类 LINGO只允许定义两种类型的集合:基本集 合和派生集合。所谓基本集合就是其元素不能再 进一步分解的集合。 派生集合是用一个或多个其它集合运用下面 两种运算产生:a)选择运算(形成子集),b)两 个或多个集合的笛卡尔乘积(有时也称为一个 “交叉”或“联合”)。特别注意:一个派生集 合是由其它先前存在的集合通过笛卡尔乘积而生 成。 5.1 引言

5.1引言 例如,如果我们有两个基本集合:货栈(WA REHOUSE)和客户(CUSTOMER),我们将货 栈与客户之间有关系的组合集中起来就生成了一 个派生集合SHIPLINK。这里的派生集合SHIPLI NK是由两个基本集合独自派生而成。当然,利用 派生集合也可以生成新的派生集合。 10

10 例如,如果我们有两个基本集合:货栈(WA REHOUSE)和客户(CUSTOMER),我们将货 栈与客户之间有关系的组合集中起来就生成了一 个派生集合SHIPLINK。这里的派生集合SHIPLI NK是由两个基本集合独自派生而成。当然,利用 派生集合也可以生成新的派生集合。 5.1 引言

52模型的集合域 5.2模型的集合域 在一个集合版本的模型中,通常都是将集合 域放在模型的前面。模型的集合域是用字母“S TS:”开始(包括冒号),用“ENDSETS”结束。 一个模型并非一定要有集合域,但也可以有多个 集合域,也可以将模型的集合域放在模型的其它 地方。对于集合域来说,最主要的限制就是必须 在模型执行有关集合的命令之前定义好集合及其 相应的属性。 11

11 5.2 模型的集合域 5.2 模型的集合域 在一个集合版本的模型中,通常都是将集合 域放在模型的前面。模型的集合域是用字母“SE TS: ”开始(包括冒号),用“ENDSETS”结束。 一个模型并非一定要有集合域,但也可以有多个 集合域,也可以将模型的集合域放在模型的其它 地方。对于集合域来说,最主要的限制就是必须 在模型执行有关集合的命令之前定义好集合及其 相应的属性

5.2模型的集合域 5.2.1定义基本集合 为了在集合域中定义一个基本集合,必须 给出 *集合名称, *集合中的元素(元素的位置可随意安排), *集合元素具有的属性。 定义基本集合的语法是: setname e/member list /[attribute list];

12 5.2.1 定义基本集合 为了在集合域中定义一个基本集合,必须 给出: * 集合名称, *集合中的元素(元素的位置可随意安排), *集合元素具有的属性。 定义基本集合的语法是: setname / member_list / [: attribute_list]; 5.2 模型的集合域

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档