第1页共5页一、实验内容及步骤(包含简要的实验步骤流程)问题:大学生值班问题东方大学计算机实验室聘用4名大学生(代号1、2、3、4)和2名研究生(代号5、6)值班答疑。已知每人从周一至周五每天最多可安排的值班时间及每人每h值班报酬如下表所示:表学生代号报酬(元/h)每人最多可安排的值班时间周一周二周三周四周五110.060607210.00606039.94830549.855604510.830480611.306063该实验室开放时间为上午8:00至晚上10:00,开放时间内须有且仅须有一名学生值班。规定大学生每周值班不少于8h,研究生每周值班不少于7h,每名学生每周值班不超过3次,每次值班不少于2h,每天安排值班的学生不超过3人,且其中必须有一名研究生。施为该实验室安排一张人员值班表,使总支付的报酬为最少。模型建立:解:设错误!未找到引用源。为学生i在周j的值班时间,10ijy,安排学生i在周j值班,否则用错误!未找到引用源。代表学生i在周j最对可安排的值班时间,错误!未找到引用源。为学生i的每h的报酬,则本题的数学模型为:6511miniijijzcx第2页共5页51516151615621,6;j1,581,4875,67141,514..31,6331,5311,5ijijijijijjijjijiijjijijjyxayixihxihxjhstyiyjyyj不超过可安排时间大学生每周值班不少于研究生每周值班不少于每天实验室开放每名学生一周值班不超过次每天值班不超过人每天0,01i16j15ijijxy有一名研究生值班或;四、实验结果(包括程序或图表、结论陈述、数据记录及分析等,可附页)运用LINGO软件求解:程序:model:!大学生值班问题;sets:students1/stu1..stu4/:;students2/stu5,stu6/:;students/stu1..stu6/:;weeks/w1..w5/:;sw(students,weeks):c,times,yi,ai;endsets!目标函数;min=@sum(sw:c*times);!约束条件;!不超过可安排时间;@for(weeks(J):@for(students(I):times(I,J)=2*yi(I,J)));@for(weeks(J):@for(students(I):times(I,J)=ai(I,J)*yi(I,J)));!大学生每周值班不少于8h;@for(students1(I):@sum(weeks(J):times(I,J))=8);!研究生每周值班不少于7h;@sum(weeks(J):times(5,J))=7;@sum(weeks(J):times(6,J))=7;!实验室每天开放14h;第3页共5页@for(weeks(J):@sum(students(I):times(I,J))=14);!每名学生一周值班不超过3次;@for(students(I):@sum(weeks(J):yi(I,J))=3);!每天值班不超过3人;@for(weeks(J):@sum(students(I):yi(I,J))=3);!每天有一名研究生值班;@for(weeks(J):yi(5,J)+yi(6,J)=1);!非零约束;@for(weeks(J):@for(students(I):times(I,J)=0));!0-1变量;@for(sw:@bin(yi));data:c=101010101010101010109.99.99.99.99.99.89.89.89.89.810.810.810.810.810.811.311.311.311.311.3;ai=606070606048305556043048006063;enddataend运行结果:第4页共5页根据结果我们可以得到下面这张安排表:表2:最终安排表学生代号报酬(元/h)每人最多可安排的值班时间周一周二周三周四周五110.0667210.04639.98549.856510.8325611.30232根据这张安排表安排,最终需要支付的最低报酬min=713.6第5页共5页五、实验总结(包括心得体会、问题回答及实验改进意见,可附页)1、实验所得的结果比原始结果更优化,原始结果中,周五的安排值班时间综合大于14h,不满足约束条件,不是最优解。2、经过这次试验之后,可以很轻松的发现用LINGO软件做优化问题可以大大减少人为的计算时间,并且LINGO软件输入的方法也是很简单易懂的,很容易就能够被我们所掌握。六、教师评语评语评语等级优良中及格不合格1.实验态度认真,实验目的明确2.实验方案、程序设计合理3.实验过程(实验步骤详细,记录完整,数据合理)4.实验结论正确,分析透彻5.实验报告独立完成,无抄袭现象,并按时提交,格式规范,文字叙述流畅,逻辑性强综合评定: