数学软件LINGO专题培训市公开课一等奖百校联赛特等奖课件.pptx
《数学软件LINGO专题培训市公开课一等奖百校联赛特等奖课件.pptx》由会员分享,可在线阅读,更多相关《数学软件LINGO专题培训市公开课一等奖百校联赛特等奖课件.pptx(52页珍藏版)》请在咨信网上搜索。
1、数学软件数学软件 LINGO LINGO集合功效1第1页LINGOLINGO软件介绍软件介绍n一、一、LINGO中集合中集合n二、集合循环函数二、集合循环函数n三、集合操作函数三、集合操作函数n四、利用定义集合方法求解规划问题四、利用定义集合方法求解规划问题n五、基本数学函数五、基本数学函数2第2页一、一、LINGOLINGO中集合中集合集集合合是是一一群群相相联联络络对对象象,这这些些对对象象也也称称为为集集合合组组员员。一一个个集集合合可可能能是是一一系系列列产产品品、卡卡车车或或雇雇员员。每每个个集集合合组组员员可可能能有有一一个个或或多多个个与与之之相相关关联联特特征征,我我们们把把这
2、这些些特特征征称称为为属属性性。属属性性值值能能够够预先给定,也能够是未知,有待于预先给定,也能够是未知,有待于LINGO求解。求解。集集合合实实例例:产产品品集集合合中中每每个个产产品品能能够够有有一一个个价价格格属属性性;卡卡车车集集合合中中每每辆辆卡卡车车能能够够有有一一个个牵牵引引力力属属性性;雇雇员员集集合合中中每每位位雇雇员员能能够够有有一一个个薪薪水水属性,也能够有一个生日属性等等。属性,也能够有一个生日属性等等。3第3页一、一、LINGOLINGO中集合中集合 集合部分集合部分是是LINGO模型一个模型一个可选可选部分。部分。在在LINGO模型中使用集合之前,必须在集模型中使用
3、集合之前,必须在集合部分事先定义。集合部分以关键字合部分事先定义。集合部分以关键字“sets:”开始,以开始,以“endsets”结束。结束。一个模型能够没有集合部分,或有一一个模型能够没有集合部分,或有一个简单集合部分,或有多个集合部分。一个简单集合部分,或有多个集合部分。一个集合部分能够放置于模型任何地方,不个集合部分能够放置于模型任何地方,不过一个集合及其属性在模型约束中被引用过一个集合及其属性在模型约束中被引用之前必须定义了它们。之前必须定义了它们。4第4页一、一、LINGOLINGO中集合中集合 LINGO有两种类型集合:有两种类型集合:原始集合原始集合(primitive set)
4、和和派生集合派生集合(derived set)。一个一个原始集合原始集合是由一些最基本对象组成。是由一些最基本对象组成。一个一个派生集合派生集合是用一个或多个其它集合是用一个或多个其它集合来定义,也就是说,它组员来自于其它已来定义,也就是说,它组员来自于其它已存在集合。存在集合。5第5页原始集合定义方法原始集合定义方法 LINGO可识别集合只有两种类型:可识别集合只有两种类型:原原始集合始集合和和派生集合派生集合。为了定义一个原始集合,必须说明以为了定义一个原始集合,必须说明以下几点:下几点:(1)集合名字;)集合名字;(2)集合组员(可选);)集合组员(可选);(3)集合组员属性(可选)。)
5、集合组员属性(可选)。定义一个原始集合,用下面语法:定义一个原始集合,用下面语法:setname/member_list/:attribute_list;6第6页原始集合定义方法原始集合定义方法setname/member_list/:attribute_list;(1)setname是你选择来标识集合名字,是你选择来标识集合名字,最好含有较强可读性。集合名字必须严格最好含有较强可读性。集合名字必须严格符合标准命名规则:以拉丁字母或下划线符合标准命名规则:以拉丁字母或下划线(_)为首字符,其后由拉丁字母()为首字符,其后由拉丁字母(AZ)、下划线、阿拉伯数字()、下划线、阿拉伯数字(0,1,9
6、)组成总长度不超出)组成总长度不超出32个字符字符串,个字符字符串,且不区分大小写。且不区分大小写。7第7页原始集合定义方法原始集合定义方法setname/member_list/:attribute_list;(2)member_list是集合组员列表。假是集合组员列表。假如集合组员放在集合定义中,那么对它们如集合组员放在集合定义中,那么对它们可采取显式罗列和隐式罗列两种方式。假可采取显式罗列和隐式罗列两种方式。假如集合组员不放在集合定义中,那么能够如集合组员不放在集合定义中,那么能够在随即数据部分定义它们。在随即数据部分定义它们。8第8页原始集合定义方法原始集合定义方法1.当显式罗列组员时
7、,必须为每个组员输入一当显式罗列组员时,必须为每个组员输入一个不一样名字,中间用个不一样名字,中间用空格空格或或逗号逗号搁开,允许混搁开,允许混合使用。合使用。例:能够定义一个名为例:能够定义一个名为students原始集合,它原始集合,它含有组员含有组员John、Jill、Rose和和Mike,属性有,属性有sex和和age:9第9页原始集合定义方法原始集合定义方法2.当隐式罗列组员时,无须罗列出每个集合组当隐式罗列组员时,无须罗列出每个集合组员。可采取以下语法:员。可采取以下语法:setname/member1.memberN/:attribute_list;这里这里member1是集合第
8、一个组员名,是集合第一个组员名,memberN是集合最末一个组员名。是集合最末一个组员名。LINGO将将自动产生中间全部组员名。自动产生中间全部组员名。LINGO也接收一些也接收一些特定首组员名和末组员名,用于创建一些特殊集特定首组员名和末组员名,用于创建一些特殊集合。合。10第10页原始集合定义方法原始集合定义方法n隐式组员列表格式隐式组员列表格式 示例示例 n所产生集合组员所产生集合组员 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,Fr
9、i MonthM.MonthN Oct.Jan Oct,Nov,Dec,Jan MonthYearM.MonthYearN nOct.Jan nOct,Nov,Dec,Jan11第11页原始集合定义方法原始集合定义方法3.集合组员不放在集合定义中,而在随即数据集合组员不放在集合定义中,而在随即数据部分来定义。比如:部分来定义。比如:12第12页原始集合定义方法原始集合定义方法注意:注意:开头用感叹号(开头用感叹号(!),末尾用分号(),末尾用分号(;)表示)表示注释注释,可跨多行。,可跨多行。在集合部分只定义了一个集合在集合部分只定义了一个集合students,并未指定组员。在数据部分罗列了并
10、未指定组员。在数据部分罗列了集合组员集合组员John、Jill、Rose和和Mike,并对,并对属性属性sex和和age分别给出了值。分别给出了值。集合组员不论用何种字符标识,它索引都集合组员不论用何种字符标识,它索引都是从是从1开始连续计数。在开始连续计数。在attribute_ list能够指能够指定一个或多个集合组员属性,定一个或多个集合组员属性,属性属性之间必须之间必须用逗用逗号隔开号隔开。13第13页派生集合定义方法派生集合定义方法为了定义一个派生集合,必须详细申明:为了定义一个派生集合,必须详细申明:(1)集合名字;)集合名字;(2)父集合名字;)父集合名字;(3)集合组员(可选)
11、;)集合组员(可选);(4)集合组员属性(可选)集合组员属性(可选)可用下面语法定义一个派生集合:可用下面语法定义一个派生集合:setname(parent_set_list)/member_list/:attribute_list;14第14页派生集合定义方法派生集合定义方法(1)setname是集合名字。是集合名字。(2)parent_set_list是是已已定定义义集集合合列列表表,多多个个时时必必须须用用逗逗号号隔隔开开。假假如如没没有有指指定定组组员员列列表表,那那么么LINGO会会自自动动创创建建父父集集合合组组员员全全部部组组合合作作为为派派生生集集合合组组员员。派派生生集集合合
12、父父集集合合既既能能够够是是原原始始集集合合,也也能能够够是是其其它它派生集合。派生集合。(3)/member_list/(4):attribute_list后面关于(后面关于(3)()(4)介绍同原始集合)介绍同原始集合15第15页派生集合定义方法派生集合定义方法16第16页派生集合定义方法派生集合定义方法组组员员列列表表被被忽忽略略时时,派派生生集集合合组组员员由由父父集集合合组组员员全全部部组组合合组组成成,这这么么派派生生集集合合成成为为稠稠密密集集合合。假假如如限限制制派派生生集集合合组组员员,使使它它成成为为父父集集合合组组员员全全部部组组合合组组成成集集合合合合一一个个子子集集合
13、合,这这么么派派生生集集合合成成为为稀稀疏疏集集合合。同同原原始始集集合合一一样样,派派生生集集合合组组员员申申明明也能够放在数据部分。也能够放在数据部分。比如上例中:比如上例中:LINGO生生成成了了三三个个父父集集合合全全部部组组合合共共八八组组作作为为allowed集集 合合 组组 员员。列列 表表 以以 下下:(A,M,1),(A,M,2),(A,N,1),(A,N,2),(B,M,1),(B,M,2),(B,N,1),(B,N,2)17第17页派生集合定义方法派生集合定义方法一个派生集合组员列表有两种方式生成:一个派生集合组员列表有两种方式生成:方式方式1.显式罗列;显式罗列;方式方
14、式2.设置组员资格过滤器。设置组员资格过滤器。当采取当采取方式方式1时,必须显式罗列出全部要包含在时,必须显式罗列出全部要包含在派生集合中组员,而且罗列每个组员必须属于稠派生集合中组员,而且罗列每个组员必须属于稠密集合。密集合。使用前面例子,显式罗列派生集合组员:使用前面例子,显式罗列派生集合组员:allowed(product,machine,week)/A M 1,A N 2,B N 1/;18第18页派生集合定义方法派生集合定义方法 假如需要生成一个大、稀疏集合,那么显式假如需要生成一个大、稀疏集合,那么显式罗列就会很罗嗦、很繁杂。幸运地是许多稀疏集罗列就会很罗嗦、很繁杂。幸运地是许多稀
15、疏集合组员都满足一些条件以和非组员相区分。我们合组员都满足一些条件以和非组员相区分。我们能够采取能够采取方式方式2,把这些逻辑条件看作过滤器,把这些逻辑条件看作过滤器,在在LINGO生成派生集合组员时把使逻辑条件为生成派生集合组员时把使逻辑条件为假组员从稠密集合中过滤掉。假组员从稠密集合中过滤掉。这里顺便罗列一下这里顺便罗列一下LINGO运算符:运算符:19第19页派生集合定义方法派生集合定义方法LINGO运算符:运算符:(1)算术运算符:)算术运算符:+(加),(加),-(减或负号),(减或负号),*(乘),(乘),/(除),(除),(求幂)(求幂)(2)逻辑运算符:)逻辑运算符:#and#
16、(与),(与),#or#(或)(或),#not#(非)(非)(3)关系运算符:)关系运算符:#eq#(等于),(等于),#ne#(不等于),(不等于),#gt#(大于),(大于),#ge#(大于等(大于等于),于),#lt#(小于),(小于),#le#(小于等于)(小于等于)20第20页派生集合定义方法派生集合定义方法经过经过方式方式2设置组员资格过滤器实例:设置组员资格过滤器实例:21第21页一、一、LINGOLINGO中集合(小结中集合(小结1 1)总来说,总来说,LINGO可识别集合只有两种类型:可识别集合只有两种类型:原始集合原始集合和和派生集合派生集合。在一个模型中,在一个模型中,原
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数学 软件 LINGO 专题 培训 公开 一等奖 联赛 特等奖 课件
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。