网站大量收购独家精品文档,联系QQ:2885784924

lingo的集合功能.ppt

  1. 1、本文档共52页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
lingo的集合功能

* 三、集合操作函数 (一)@in @in(set_name,primitive_index_1 [,primitive_index_2,…]) 如果元素在指定集合中,返回1;否则返回0。 例 全集合为I,B是I的一个子集合,C是B的补集合。 sets: I/x1..x4/; B(I)/x2/; C(I)|#not#@in(B,1):; endsets * 三、集合操作函数 (二)@index @index([set_name,] primitive_set_element) 该函数返回在集合set_name中原始集合成员primitive_set_element的索引。如果set_name被忽略,那么LINGO将返回与primitive_set_element匹配的第一个原始集合成员的索引。如果找不到,则产生一个错误。 * 三、集合操作函数 (二)@index 例 如何确定集合成员(B,Y)属于派生集合S3。 sets: S1/A B C/; S2/X Y Z/; S3(S1,S2)/A X, A Z, B Y, C X/; endsets X=@in(S3,@index(S1,B),@index(S2,Y)); * 三、集合操作函数 (二)@index 看下面的例子,表明有时为@index指定集合是必要的。 例 sets: girls/debble,sue,alice/; boys/bob,joe,sue,fred/; endsets I1=@index(sue); I2=@index(boys,sue); I1的值是2,I2的值是3。我们建议在使用@index函数时最好指定集合。 * 三、集合操作函数 (三)@wrap @wrap(index,limit) 该函数返回j=index-k*limit,其中k是一个整数,取适当值保证j落在区间[1,limit]内。该函数相当于index模limit再加1。该函数在循环、多阶段计划编制中特别有用。 * 三、集合操作函数 (四)@size @size(set_name) 该函数返回集合set_name的成员个数。在模型中明确给出集合大小时最好使用该函数。它的使用使模型更加数据中立,集合大小改变时也更易维护。 * 四、运用定义集合的方法求解规划问题 * 四、运用定义集合的方法求解规划问题   任务A 任务B 任务C 任务D 任务E 员工1 14 15 13 18 11 员工2 10 8 10 8 13 员工3 26 25 27 24 23 员工4 42 35 47 34 41 员工5 13 15 18 10 14 * 四、运用定义集合的方法求解规划问题 解法一:直接将算式输入LINGO中进行运算(不过变量较多时, 会感觉输入过程有大量重复),即可获得结果。 * 四、运用定义集合的方法求解规划问题 结果为:指派员工1做任务C,员工2做任务A,员工3做任务E,员工4做任务B,员工5做任务D,最小总耗时为Z(=13+10+23+35+10)=91小时。 【必须注意到:另一个解(指派员工1做任务C,员工2做任务B,员工3做任务E,员工4做任务D,员工5做任务A,最小总耗时为Z(=13+8+23+34+13)=91小时)却并没有被求得】 * 四、运用定义集合的方法求解规划问题 解法二:运用定义集合的方法进行求解,可得到相同的运算结果。 * 四、运用定义集合的方法求解规划问题 解法一:直接将算式输入LINGO中进行运算,即可获得结果。 * 四、运用定义集合的方法求解规划问题 解法二:运用定义集合的方法进行求解,可得到相同的运算结果。 * 四、运用定义集合的方法求解规划问题 * 四、运用定义集合的方法求解规划问题 例3 酒精问题:体重约70KG的某人在短时间内喝下2瓶啤酒后,隔一定时间测量他的血液中的酒精含量,得到的数据如下表,试建立饮酒后血液中酒精含量的数学模型。 时间(t小时) 0.25 0.5 0.75 1 1.5 2 2.5 3 3.5 酒精含量y 30 68 75 82 82 77 68 68 58 时间(t小时) 4 4.5 5 6 7 8 9 10 11 酒精含量y 51 50 41 38 35 28 25 18 15 时间(t小时) 12 13 14 15 16         酒精含量y 12 10 7 7 4         * 四、运用定义集合的方法求解规划问题 * 四、运用定义集合的方法求解规划问题 * 四、运用定义集合的方法求解规划问题 * 四、运用定义集合的方法求解规划问题 * 五、基本数学函数 绝对值@abs(x)、 余弦@cos(x)、 指数@exp(x)、 取整@floor(x)、 Gamma-对数@lgm

文档评论(0)

wangyueyue + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档