资源描述:
《lingo解线性规划问题个人总结.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、Lingo线性规划问题部分题目答案(简洁版)1.某钢管零售商从钢管厂进货,将钢管按照顾客户的要求切割后售出,从钢管厂进货时得到的钢管都是19m.(1)有一客户需要50根4m,20根6m,和15根8m的钢管,应如何下料最节节省?(2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过三种,此外,该客户除需要(1)中的三种钢管外还需要10根5m的钢管,应如何下料最节省。(1)Lingo函数程序:model:sets:ma/1..3/;ms
2、/1..9/:a,b;!a用于控制不同切割种类个数,表示切割余量;md(ms,ma):c;!c表示不同切割方式的组合;endsetsdata:c=400310201210120111020011002;b=313531753;enddatamin=@sum(ms:a*b);!余量总量;d=@sum(ms:a);!下料总根数;@sum(ms(i):a(i)*c(i,1))=50;@sum(ms(i):a(i)*c(i,2))=20;@sum(ms(i):a(i)*c(i,3))=15;!约束条件;@for(ms
3、:@gin(a));!a为整数;end(2)sets:ma/1..4/;ms/1..16/:a,b,d;!a用于控制不同切割种类个数,表示切割余量;md(ms,ma):c;!c表示不同切割方式的组合;endsetsdata:c=4000310030102200211020011300110110201011021002010120011100300002;!切割方式;b=3211030231312013;enddatae=@sum(ms:a*b);!余量总量;min=@sum(ms(i):a(i));!下料总
4、根数最小;@sum(ms(i):a(i)*c(i,1))>50;@sum(ms(i):a(i)*c(i,2))>10;@sum(ms(i):a(i)*c(i,3))>20;@sum(ms(i):a(i)*c(i,4))>15;@for(ms(i):a(i)<1000*d(i));@for(ms(i):a(i)>d(i));@for(ms(i):@gin(a(i)));!a为整数;@for(ms(i):@bin(d(i)));@sum(ms(i):d(I))<=3;!切割方式不能超过三次;2..某班准备从5名游
5、泳队员中选拔4人组成接力队,参加学校的4乘100米混合泳接力比赛。5名队员4种泳姿的百米平均成绩如表所示,问应如何选拔队员组成接力队?如果最近队员丁的蛙泳成绩有较大退步,只有1分15秒2;而队员戊经过艰苦训练自由泳成绩有所进步,达到57秒5,组成接力队的方案是否应调整?(单位秒)甲乙丙丁戊蝶泳66.857.2787067.4仰泳75.66667.874.271蛙泳8766.484.669.683.8自由泳58.65359.457.262.4Lingo函数:sets:player/1..5/;swimming/
6、1..4/;link(swimming,player):time,x;endsetsdata:time=66.857.2787067.475.66667.874.2718766.484.669.683.858.65359.457.262.4;enddatamin=@sum(link:time*x);@for(swimming(i):@sum(player(j):x(i,j))=1);!一种泳姿有且只能是一个人参加;@for(player(j):@sum(swimming(i):x(i,j))<1);!每个人参
7、加的比赛不能多于一项;end第二问只需在数据输入中改变相应数值即可。3.某储蓄所每天的营业时间是上午9时到下午5时。根据经验,每天不同时间段所需要的服务员数量如下表示。储蓄所可以雇佣全时和半时两类服务员。全时服务员每天报酬100元,从上午9时到下午5时工作,但中午12时到下午2时之间必须安排1h的午餐时间。储蓄所每天可以雇佣不超过3名的半时服务员,每个半时服务员必须连续工作4h,报酬40元,问储蓄所应如何雇用全时和半时服务员。如果不能雇佣半时服务员,每天至少增加多少费用。如果雇佣半时服务员的数量没有限制,每天
8、可以减少多少费用。时间段9~1010~1111~1212~11~22~33~44~5/h服务员43465688数Lingo函数程序:min=100*z+(x1+x2+x3+x4+x5)*40;!穷举法;x1+z>4;x2+x1+z>3;x1+x2+x3+z>4;x1+x2+x3+x4+z-y1>6;x2+x3+x4++x5+z-y2>5;x3+x4++x5+z>6;x4+x5+z>8;x5+z>8;