2016Lingo软件及其应用预案.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例35 存储问题 有5种药品 S={1,2,3,4,5} 要存放,有些药品不 能存放在一起,能存放在一起存放的药品为的 ?={{1,2},{1,3,5},{2,4,5},{3},{1},{4,5}} 不同的组合所需的存放费用费用不同,其中第 i 种组合的存储费用为 cj (见下表), 求这五种药品费用最低的储存方案。 c1 c2 c3 c4 c5 c6 2.5 3 4 1.6 1.2 2.6 解 令xi为存储组合 i 的决策变量: xi=1 时存储第 i 个组合,否则 xi=0,求存储方案 x = (x1, x2, x3, x4, x5, x6), 目标函数 minf= ?cixi 约束条件 x1 +x2 + x5?1 x1 + x3 ?1 x2 + x4 ?1 x3 + x6 ?1 x2 +x3 + x6 ?1 xi?{0,1}, i=1,2, ?,6, sets: fa/1..6/:x,p; endsets data: p=2.5,3,4,1.6,1.2,2.6; enddata min=@sum(fa(i):p(i)*x(i)); x(1)+x(2)+x(5)1; x(1)+x(3)1; x(2)+x(4)1; x(3)+x(6)1; x(2)+x(3)+x(6)1; @for(fa:@bin(x)); end 例36 某服务部门一周中每天需要不同数目的雇员:周一到周四每天至少需要50人,周五至少需要80人,周六和周日至少需要90人。现规定应聘者需连续工作5天,试确定聘用方案,既周一到周日每天聘用多少人,使在满足需要的条件下聘用总人数最少。 决策变量:周一到周日每天聘用的人数 分别为: 目标函数: 约束条件: 由于每人连续工作5天,所以周一工作的雇员应是周四到周一聘用的,按照需要至少有50人,于是 类似地,有 ≥0 (i=1,2,…,7) 例37 一汽车厂生产小﹑中﹑大类型的汽车,已知各类型每辆车对钢材﹑劳动时间的需求,利润以及每月工厂钢材﹑劳动时间的现有量如下表所示。由于各种条件限制。试制定月生产计划,使工厂的利润最大。 小型 中型 大型 现有量 钢材/t 1.5 3 5 600 劳动时间/h 280 250 400 60000 利润/万元 2 3 4 汽车生产数据表 解法1 设每月生产小﹑中﹑大型汽车的数量分为x1,x2,x3 ,月利 润为z 。 目标函数:max z=2x1+3x2+4x3 约束条件: (i=1,2,3) 取非负整数 解法2 设变量 xi (i=1,2,3):分别为生产小、中、大车的生产数量(决策变量); ti :(i=1,2,3):分别为生产小、中、大(车/每辆)所用钢材; hi :(i=1,2,3):分别为生产小、中、大(车/每辆)所用时间; Li :(i=1,2,3):分别为生产小、中、大(车/每辆)所获利润; sets: type/1..3/:x,t,h,L; endsets data: t=1.5,3,5; h=280,250,400; L=2,3,4; enddata max=@sum(type(k):L(k)*x(k)); @sum(type(k):t(k)*x(k))=600; @sum(type(k):h(k)*x(k))=60000; @for(type:@gin(x)); X( 1) 64 X( 2) 168 X( 3) 0 计算结果 例38 把1,2,3,…,9填到下图九个格内,使得行和、列和以及对角线和 均为同一个常数。 1 2 3 4 5 6 7 8 9 解 建立数学模型 决策变量 约束条件 每个格内只能填到一个数 每个数只能填到一个格内 行、列、对角线上和为同一常数 sets: grid/1..9/; number/1..9/:b; link(grid,number):e; r1(grid)/1,2,3/; r2(grid)/4,5,6/; r3(grid)/7,8,9/; c1(grid)/1,4,7/; c2(grid)/2,5,8/; c3(grid)/3,6,9/; d1(grid)/1,5,9/; d2(grid)/3,5,7/; endsets data: b=1,2,3,4,5,6,7,8,9; enddata @for(grid(i):@sum(number(j):e(i,

文档评论(0)

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

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

1亿VIP精品文档

相关文档