《MATLAB基础应用》第六章 lingo软件基础.ppt
* 例6.6 (动态生产计划安排问题)某厂生产某种电子产品,今年前6个月收到的该产品的订货数量分别为3000件,4500件,3500件,4000件,4000件,和5000件,已知该厂的正常生产能力为每月3000件,利用加班还可以生产1500件,正常生产成本为每件5000元,加班生产还要增加1500元,库存成本为每月每件200元,试问该厂如何组织生产才能在保证完成生产计划的情况下使生产成本最低? * 每月订货量:3000,4500,3500,4000,4000,5000 每月正常:产能3000,单件成本5000 每月加班:增加产能1500,单件成本增加1500 每月库存成本:单件200 第i个月:订货量di ,正常生产量xi ,加班生产量yi,月初库存量zi (i=1,2,…,6) 总成本: * 第i个月:订货量di ,正常生产量xi ,加班生产量yi,月初库存量zi (i=1,2,…,6) 总成本: s.t: (i=2,3,4,5) xi, yi , zi 为整数(i=1,2,…,6) * s.t: (i=2,3,4,5) xi, yi , zi 为整数 (i=1,2,…,6) sets: month/1..6/:d,x,y,z; endsets [obj]min=@sum(month(i):5000*x(i)+6500*y(i)+200*z(i)); x(1)+y(1)-d(1)= z(2); @for(month(i)|i#gt#1#and#i#lt#6:x(i)+y(i)+z(i)-d(i)=z(i+1)); x(6)+y(6)+z(6)-d(6)=0; @for(month:x<=3000;y<=1500); @for(month:@gin(x);@gin(y);@gin(z)); data: d=3000,4500,3500,4000,4000,5000; enddata * 例6.7 (职员时序安排模型) 一项工作一周7天都需要有人(比如护士工作),每天(周一至周日)所需的最少职员数为20、16、13、16、19、14和12,并要求每个职员一周连续工作5天, 试求每周所需最少职员数,并给出安排。 注意这里我们考虑稳定后的情况。 决策变量:xi第i周天开始上班的人数; 目标函数: * 周一至周日所需的人数:20,16,13,16,19,14,12 目标函数: xi为整数 * sets: day/mon..sun/:x,d; endsets [obj]min=@sum(day:x); @for(day(j):@sum(day(i)|i#le#5:x(@wrap(j+i+2,7)))>=d); @for(day:@gin(x)); data: d=20,16,13,16,19,14,12; enddata * 练习题 1.编一个LINGO程序求解下列线性规划问题的最优解 * 2.编一个LINGO程序求解下列线性规划问题的最优解 目标函数: 约束条件: * 3.设有甲、乙、丙、丁四个人,各有能力去完成A,B,C,D,E五项科研任务中的任一项,由于四个人的能力和经验不同,所需完成各项任务的时间如下表所示,由于任务数多于人数,要求考虑如下问题: 任务E必须要完成,其他四项中可任选三项完成; 要求有一分人完成两项任务,其他人各完成一项任务; 要求任务A可由甲或丙完成,任务C可由丙或丁完成,任务E可由甲、乙或丁完成,且规定四个人中丙或丁能够完成两项任务,其他人完成一项任务。 试分别确定最优的分配方案,使得完成任务的总时间最少。 项目 人员 A B C D E 甲 25 29 31 42 37 乙 39 38 26 20 33 丙 34 27 28 40 32 丁 24 42 36 23 45 * 4. 某小型服装加工厂可以生产A,B,C三种不同服装,生产不同种类的服装需要租用不同的加工设备,设备的租金、生产成本、销售价格等指标如下表所示。如果各类服装都有足够的市场需求,该厂每月可用人工工时为2000h,那么该厂应如何安排生产计划可使每月有最大的利润? 服装 种类 设备租金 /元 生产成本 /(元/件) 销售价格/(元/件) 人工工时 /(h/件) 设备工时 /(h/件) 设备可用 工时/h A 5000 280 400 5 3 300 B 2000 30 40 1 0.5 300 C 2000 200 300 4 2 300 * 5. (战勤值班的安排)某部队为了完成某项任务,需要昼夜24小时不间断值班,但每天不同时段所需要的人数不同,具体情况见表,假设值班人员开始上班后需连续值班8小时,问部队至少需要配备多少值班人员? 班次 时间段 需要人数 班次 时间段 需要