1、0题目:宾馆服务员工作时间调度问题【摘 要】本文利用整数规划模型,对宾馆服务员工作时间调度问题进行相关分析和研究。为简化约束条件,避免因变量过多而导致求解不便,本文假设每名服务员连续工作 4 小时后只能休息 2 小时,且在休息 2 小时后继续工作 4 小时。针对问题一,建立了以满足需求时所需服务员人数最少为目标函数的整数规划模型I,利用 LINGO 软件求解得到满足需求时至少需要 100 名服务员,且在 12 个时段开始工作的服务员人数分别为 23、17、12、0、0、11、17、13、7、0、0、0。由此调度表可以看出在凌晨 00am04am 开始上班与下班的总人数为 72 人,占服务员总人
2、数的 72%,超过了一半,但在这段时间开始上班和下班的服务员在生活中会有很多的不便,会引起在这段时间上、下班的服务员的不满意。为降低不满意度,使工作时间安排更加合理和人性化,对模型 I 进行改进。本文建立了以满足需求时需要在凌晨 00am04am 开始上班与下班的服务员人数最少为目标函数的整数规划模型 II,利用 LINGO 软件求解得到了更加合理的工作时间调度表,在 12 个时段开始工作的服务员人数分别为5、0、5、15、20、15、20、0、0、0、10、10,这样在凌晨 00am04am 开始上班与下班的总人数就只有 10 人,只占服务员总人数的 10%。针对问题二,要研究的是在限定宾馆
3、服务员人数为 80 的前提下,为满足需求,安排最少的服务员加班。本文建立了以满足需求时加班人数最少为目标函数的整数规划模型 III,利用 LINGO 软件求解得到满足需求时至少需要 40 人加班。类似问题一,在此安排下,需要在凌晨 00am04am 开始上班与下班的总人数为 25 人,占总人数的31.25%。为了对模型 III 进行改进,本文建立了以满足需求时在凌晨 00am-04am 开始上下班的服务员人数最少为目标函数的整数规划模型 IV,利用 LINGO 软件求解得到在这段时间上、下班的服务员人数为 5 人,占总服务员人数的 6.25%,并且得到了更加合理的工作时间调度表。关键词:整数规
4、划模型 工作时间调度 LINGO 软件 满意度1一、问题重述在某宾馆中,一个工作日分为 12 个两小时长的时段,每个时段的服务员要求都不同。例如,在夜间只要求有很少几个服务员就够了,但在上午为了给客人提供退房和卫生服务,需要较多服务员。下表列出了每个时段的人员需求量。每个时段的人员需求编号 时段 需要服务员人数 0 00am02am 151 02am04am 15 2 04am06am 15 3 06am08am 35 4 08am10am 40 5 10am12pm 40 6 12pm02pm 40 7 02pm04pm 30 8 04pm06pm 31 9 06pm08pm 35 10 0
5、8pm10pm 30 11 10pm12am 20 问题 1:请计算出为满足需求最少需要多少个服务员,假定已知每个服务员每天工作 8 小时,且在工作四小时后需要休息两个小时。问题 2:此部门目前只有 80 名服务员,这个数目不足以满足给定的需求。因此建议每天安排部分服务员加班。每天加班时间为 2 小时,且紧随在后一个四小时工作时段之后,中间没有休息。请给出服务员工作时间安排方案,以使需要加班的服务员数目最少。二、模型假设1、假设所有服务员都能保持全勤率;2、假设所有服务员都能服从安排,准时上下班;3、假设不考虑各种客观因素对服务员人数的影响;4、假设没有突发事件发生,宾馆无需做出人员调整;5、
6、假设每个服务员每天工作 8 小时,且连续工作 4 小时后只能休息 2 小时,在休息 2小时后连续工作;6、假设在夜晚要上班的服务员所要休息的 2 个小时都在宾馆休息。2三、符号说明:为满足要求至少需要的服务员人数;1Z:在服务员人数不满足要求时,至少需要加班的服务员人数;2:第 个时段开始工作的服务员人数,(第 1 时段为 00 02 ,第 2 时段为 02ix am04 第 12 时段为 10 12 ), ;am pm(,21)i:第 个时段开始工作的服务员人数中不需要加班的人数, ; iw (,)i:第 个时段开始工作的服务员人数中需要加班的人数, 。y 四、服务员人数最少问题的研究4.1
7、 问题的分析服务员每天工作 8 小时,且连续工作 4 小时后需要休息 2 小时,然后再接着工作 4小时。例如:在第 5 时段内工作的服务员人数等于第 5 时段开始工作的服务员人数、第 4 时段开始工作的人数、以及第 1 个和第 2 个时段开始工作的服务员人数之和。即:在时段 5 中,正在工作的服务员分别是在时段 1、2、4、5 开始工作。例如:有个服务员在时段 2 开始工作,则她在时段 2 和时段 3 中将进行工作,在时段 4 休息,然后在时段 5 和时段 6 继续工作。我们需要保证在每个时段都有足够的服务员在工作。所以以满足要求时需要工作的最少服务员人数为目标函数,服务员一天工作八小时,且连
8、续工作四小时后需要休息2 小时为约束条件,建立整数规划模型 I,求出满足需求时需要服务员的最少人数。4.2 模型 I 的建立已知该宾馆中,一个工作日分为 12 个两小时长的时段,每个时段的服务员人数要求都不同。但必须满足每个时间段都有足够的服务员在工作,并且每个服务员每天工作8 小时,连续工作 4 小时后需要休息 2 小时。由此可以列出约束条件,然后以满足需求所需的最少服务员人数为目标函数的整数规划模型。模型 I 如下:12miniZx3191022314122536475869710892*50. 35ixxxxstxxxZ4.3 模型 I 的求解利用 LINGO 软件编程求解可以得到结果(
9、代码见附录 1) 。图 1 程序 1 的运行结果结论:在每个服务员每天工作 8 小时,且连续工作 4 小时候需要休息 2 小时的条件下,该宾馆为满足工作量的需求至少需要 100 名服务员。表 1 模型 I 的工作调度表时段号 时间段 开始工作人数 总工作人数1 00am-02am 23 302 02am-04am 17 403 04am-06am 12 294 06am-08am 0 355 08am-10am 0 406 10am-12pm 11 407 12pm-02pm 17 4048 02pm-04pm 13 409 04pm-06pm 7 3110 06pm-08pm 0 3511
10、08pm-10pm 0 3012 10pm-12am 0 204.4 模型 I 的改进4.4.1 问题的分析由表 1 可以看出服务员在凌晨 00am04am 开始上班与下班的总人数为 72 人(第1 时段开始工作的 23 人,第 2 时段开始工作的 17 人,第 3 时段开始工作的 12,第 8时段开始工作的 13 人,第 9 时段开始工作的 7 人,第 10 时段开始工作的人数为 0) ,占最少所需服务员总人数的 72%,所占百分比很大,已经超过总人数的一半;但在这段时间开始上班和下班的服务员在生活会有很多的不便,比如乘车问题、安全问题等等。这会引起在这段时间上、下班的服务员的不满意。为降低
11、不满意度,使工作时间安排更加人性化,对上述模型 I 进行改进。以满足需求时需要在凌晨 00am04am 开始上班与下班的总服务员人数最少为目标函数,建立模型 II,求出更加合理、更加人性化的工作时间调度表。4.4.2 模型 II 的建立改进的模型中,仍然必须保证每个时段都有足够的服务员在工作,服务员每天需工作 8 小时,且连续工作 4 小时后需要休息 2 小时,并且所需服务员人数保持最小值 100人,由此可以列出约束条件,建立以满足需求时需要在凌晨 00am04am 开始上班与下班的总服务员的人数最少为目标函数的整数规划模型 II。模型 II 如下: 1238910minxx901232145
12、236745869710892150. 35ixxstxxxx2*iz4.4.3 模型 II 的求解利用 LINGO 软件编程求解可以得到结果(代码见附录 2) 。5图 2 程序 2 的运行结果表 2 模型 II 的工作时间调度表时段号 时间段 开始工作人数 总工作人数1 00am-02am 5 152 02am-04am 0 153 04am-06am 5 254 06am-08am 15 355 08am-10am 20 406 10am-12pm 15 407 12pm-02pm 20 558 02pm-04pm 0 559 04pm-06pm 0 3510 06pm-08pm 0 35
13、11 08pm-10pm 10 3012 10pm-12am 10 204.4.4 模型 II 的结果分析由表 2 可以看出改进后的模型 II 中,服务员在凌晨 00am04am 开始上班与下班的总人数为 10 人(第 1 时段开始工作的 5 人以及第 3 时段开始工作的 5 人,第2、8、9、10 时段开始工作的服务员人数都为 0) ,占总服务员人数的 10%;而在未改进的模型 I 中,服务员在凌晨 00am04am 开始上班与下班的总人数占服务员总人数的72%。比较可知改进后的模型 II 能在很大程度上降低服务员对工作时间安排的不满意度,其工作时间调度表更加合理、更加人性化。五、加班人数最
14、少问题的研究5.1 问题的分析此宾馆目前只有 80 名服务员,这个数目不足以满足需求,故需要安排部分人加班。考虑到服务员每天只加班两小时,且紧跟随在后一个 4 小时工作时段之后,中间没有6休息,同问题一类似分析,例如:在第 5 时段内工作的服务员人数等于此时段开始工作的服务员人数、第 1 个和第 2 个时段开始工作的服务员人数、第 4 时段开始工作的服务员人数以及第 12 时段开始工作的服务员人数中需要加班的服务员人数之和。所以以满足要求时加班人数最少为目标函数,建立模型 III,求出满足需求时需要加班的服务员的最少人数。5.2 模型 III 的建立不加班的服务员每天工作 8 小时,连续工作
15、4 小时候需休息 2 小时;需要加班的服务员在原工作的基础上每天加班 2 小时,且紧随在后一个 4 小时工作时段之后,中间没有休息;宾馆总共有 80 名服务员,由此可以列出约束条件,以满足需求时加班人数最少为目标函数建立整数规划模型。 模型 III 如下: 12miniZy18191012920231 41222513565340.wwyyyyywwst34674578568967910781089212 35iiii yyywwy、 *Z5.3 模型 III 的求解利用 LINGO 软件编程求解可以得到结果(代码见附录 3) 。7图 3 程序 3 的运行结果结论:在宾馆只有 80 名服务员,
16、加班服务员每天加班时间为 2 小时,且紧随在后一个四小时工作时段之后,中间没有休息的条件下,该宾馆为满足工作量的需求至少需要 40 名服务员加班。表 3 模型 III 的工作时间调度表时段号 时间段 需加班的人数 不加班的人数 开始工作人数 总工作人数1 00am-02am 14 0 14 262 02am-04am 0 2 2 173 04am-06am 0 0 0 154 06am-08am 0 9 9 355 08am-10am 3 0 3 406 10am-12pm 11 10 21 407 12pm-02pm 0 11 11 418 02pm-04pm 0 7 7 309 04pm-
17、06pm 0 0 0 3110 06pm-08pm 0 0 0 3511 08pm-10pm 0 1 1 3012 10pm-12am 12 0 12 205.4 模型 III 的改进5.4.1 问题的分析在凌晨 00am-04am 开始上下班的包括:在第 1、2、3、8、9、10 时段开始工作且不需要加班的服务员,以及在第 1、2、3、7、8、9 时段开始工作但需要加班的服务员。由表 3 可以看出模型 III 中需要在这个时间段开始上下班的服务员人数为 25 人,占总服务员人数的 31.25%,即占近三分之一的服务员。为了使工作时间调度表更加合理和更加人性化,对上述关于加班人数最少问题的模型
18、 III 进行改进。使得在在凌晨 00am-04am 开始上下班的服务员人数最少,提高服务员的满意度。5.4.2 模型 IV 的建立在改进后的模型中,条件依然为不加班的服务员每天工作 8 小时,连续工作 4 小时候需休息 2 小时;需要加班的服务员在原工作的基础上每天加班 2 小时,且紧随在后一个 4 小时工作时段之后,中间没有休息;宾馆总共有 80 名服务员;需要加班的服务8员人数保持 40 人不变。由此可以列出约束条件,以在凌晨 00am-04am 开始上下班的服务员人数最少为目标函数,建立整数规划模型 IV,求出更加合理更加人性化的工作时间调度表。模型 IV 如下:71238910238
19、9minwwyy819101292031141252253 5340.iiiyyywwyst 67346574 856897691078108923540i yywwyyy 12*iwyz、5.4.3 模型 IV 的求解利用 LINGO 软件编程求解可以得到结果(代码见附录 4) 。图 4 程序 4 的运行结果改进后的工作时间调度表如下所示:表 4 模型 IV 的工作时间调度表9时段号 时间段 需加班的人数 不加班的人数 开始工作人数 总工作人数1 00am-02am 0 5 5 152 02am-04am 0 0 0 153 04am-06am 0 0 0 204 06am-08am 0 1
20、5 15 355 08am-10am 10 5 15 406 10am-12pm 20 5 25 407 12pm-02pm 0 0 0 408 02pm-04pm 0 0 0 309 04pm-06pm 0 0 0 4010 06pm-08pm 0 0 0 3511 08pm-10pm 5 5 10 3012 10pm-12am 5 5 10 205.4.4 模型 IV 的结果分析由表 4 可以看出在改进后的模型 IV 中,服务员在凌晨 00am04am 开始上班与下班的总人数为 5 人(即在第 1 时段开始工作且不需要加班的 5 人) ,占总服务员人数的6.25%;而在未改进的模型 III
21、 中,服务员在凌晨 00am04am 开始上班与下班的总人数占服务员总人数的 31.25%,两者进行比较,可以看出改进后的模型 IV 得到的工作时间调度表更加合理、更加人性化,能够大大提高服务员对工作时间安排的满意度。六、模型的评价与推广6.1 模型的优点文中的数据都采用表格的形式给出,更加清晰和直观;建立的整数规划模型通俗易懂,能与实际紧密联系,结合实际情况对问题进行求解,使得模型具有良好的通用性和推广性;我们对模型进行改进,得到了更加合理和更加人性化的工作调度表,有很强的实用性;在模型求解时采用 LINGO 软件,算法简单,很容易编程实现,推广容易并且可信度高。6.2 模型的缺点模型的建立
22、在一定理想情况的得出的结果,未考虑各种客观因素的影响,难免有一些欠妥之处。例如,所建模型是建立在假设每名服务员连续工作 4 小时后只能休息 2小时,且在休息 2 小时后继续工作 4 小时的基础上。这个假设使得所建模型更加简单但存在一定的不合理性,因为在实际生活中,服务员在连续工作 4 小时后可以休息不止 2 小时,然后再进行接下来的工作。6.3 模型的改进与推广6.3.1 模型的改进本文中建立的模型假设了每名服务员在连续工作 4 小时后只能休息 2 小时,在休息2 小时后连续工作。在实际工作中,服务员在工作时间内,可能会有特殊情况需要请假;服务员上班时间不连续;或者是有突发事件导致所需服务员人
23、数增加。考虑以上因素,可建立一个工作时间不连续的整数规划模型,用枚举法可得出在工作时间不连续的情况下的最优人数与工作时间安排。6.3.2 模型的推广本文中建立的整数规划模型不仅可以解决宾馆服务员工作时间调度问题,也可以应用于其它领域,比如超市工作人员的时间调度问题、图书馆工作人员的值班问题等等。10参考文献1 姜启源 谢金星 叶俊, 数学模型 (第三版) ,北京:高等教育出版社,2003。2 牛映武, 运筹学 ,陕西:西安交通大学出版社,1994。3 何坚勇, 最优化方法 ,北京:清华大学出版社,2007。4 袁新生, LINGO 和 Excel 在数学建模中的应用 ,北京:科学出版社,200
24、7。附录附录 1%模型 I 的 LINGO 程序 1min=x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12; x9+x10+x12+x1=15;x10+x11+x1+x2=15;x11+x12+x2+x3=15;x12+x1+x3+x4=35; x1+x2+x4+x5=40;x2+x3+x5+x6=40;x3+x4+x6+x7=40;x4+x5+x7+x8=30; x5+x6+x8+x9=31;x6+x7+x9+x10=35;x7+x8+x10+x11=30;x8+x9+x11+x12=20; gin(x1);gin(x2);gin(x3);gin(x4);gin
25、(x5);gin(x6);gin(x7);gin(x8);gin(x9); gin(x10);gin(x11);gin(x12); 运行结果如下:11附录 2%模型 II 的 LINGO 程序 2min=x1+x2+x3 +x8+x9+x10; x1+x2+x3+x4+x5+x6+x7+x8+x9+x10+x11+x12=100;x9+x10+x12+x1=15;x10+x11+x1+x2=15;x11+x12+x2+x3=15;x12+x1+x3+x4=35; x1+x2+x4+x5=40;x2+x3+x5+x6=40;x3+x4+x6+x7=40;x4+x5+x7+x8=30; x5+x6
26、+x8+x9=31;x6+x7+x9+x10=35;x7+x8+x10+x11=30;x8+x9+x11+x12=20; gin(x1);gin(x2);gin(x3);gin(x4);gin(x5);gin(x6);gin(x7);gin(x8);gin(x9); gin(x10);gin(x11);gin(x12); 运行结果如下:12附录 3%模型 III 的 LINGO 程序 3y8+w1+y1+w9+y9+w10+y10+w12+y12=15;y9+w1+y1+w2+y2+w10+y10+w11+y11=15;y10+w2+y2+w3+y3+w11+y11+w12+y12=15;y1
27、1+w1+y1+w3+y3+w4+y4+w12+y12=35;y12+w1+y1+w2+y2+w4+y4+w5+y5=40;y1+w2+y2+w3+y3+w5+y5+w6+y6=40;y2+w3+y3+w4+y4+w6+y6+w7+y7=40;y3+w4+y4+w5+y5+w7+y7+w8+y8=30;y4+w5+y5+w6+y6+w8+y8+w9+y9=31;y5+w6+y6+w7+y7+w9+y9+w10+y10=35;y6+w7+y7+w8+y8+w10+y10+w11+y11=30;y7+w8+y8+w9+y9+w11+y11+w12+y12=20;y1+y2+y3+y4+y5+y6+
28、y7+y8+y9+y10+y11+y12+w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12=80;gin(y1);gin(y2);gin(y3);gin(y4);gin(y5);gin(y6);gin(y7);gin(y8); gin(y9);gin(y10);gin(y11);gin(y12);gin(w1);gin(w2);gin(w3);gin(w4); gin(w5);gin(w6);gin(w7);gin(w8);gin(w9);gin(w10);gin(w11);gin(w12); 13min=y1+y2+y3+y4+y5+y6+y7+y8+y9+y10
29、+y11+y12;运行结果如下:附录 4%模型 IV 的 LINGO 程序 4min=w1+w2+w3+w8+w9+w10+y1+y2+y3+y7+y8+y9;y8+w1+y1+w9+y9+w10+y10+w12+y12=15;y9+w1+y1+w2+y2+w10+y10+w11+y11=15;y10+w2+y2+w3+y3+w11+y11+w12+y12=15;y11+w1+y1+w3+y3+w4+y4+w12+y12=35;y12+w1+y1+w2+y2+w4+y4+w5+y5=40;y1+w2+y2+w3+y3+w5+y5+w6+y6=40;y2+w3+y3+w4+y4+w6+y6+w7
30、+y7=40;y3+w4+y4+w5+y5+w7+y7+w8+y8=30;y4+w5+y5+w6+y6+w8+y8+w9+y9=31;y5+w6+y6+w7+y7+w9+y9+w10+y10=35;y6+w7+y7+w8+y8+w10+y10+w11+y11=30;y7+w8+y8+w9+y9+w11+y11+w12+y12=20;y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12+w1+w2+w3+w4+w5+w6+w7+w8+w9+w10+w11+w12=80;y1+y2+y3+y4+y5+y6+y7+y8+y9+y10+y11+y12=40;gin(y1);gin(y2);gin(y3);gin(y4);gin(y5);gin(y6);gin(y7);gin(y8); 14gin(y9);gin(y10);gin(y11);gin(y12);gin(w1);gin(w2);gin(w3);gin(w4); gin(w5);gin(w6);gin(w7);gin(w8);gin(w9);gin(w10);gin(w11);gin(w12); 运行结果如下: