保洁员工作时间安排问题
南通纺院-保安辞职信
保洁员工作时间安排问题
一、问题论述:
在某酒店中,一个工作日分为
12个两小时长的时段,每个
时段的工人保洁员要求都不同,在夜间不需要太多的保洁员,
但在
上午为了酒店卫生,需要较多保洁员。问怎样安排酒店保
洁员的工作时间表。
问题1:请计
算出为满足需求最少需要多少个保洁员,假
定已知每个保洁员每天工作8小时,且在工作四小时后需要休
息两个小时。
问题2:此部门目前只有80名保洁员,这个数目不足以满
足给定的需
求。因此建议每天安排部分保洁员加班。每天加班
时间为2小时,且紧随在后一个四小时工作时段之后,
中间没
有休息。请给出保洁员工作时间安排方案,以使需要加班的服
务员数目最少。
二、 问题1假设
1、题上所给在各个时间段所需保洁员的人数:
编号
时段 需要保洁员人数
0 00am―02am
15
1 02am―04am 15
2 04am―06am 15
3 06am―08am 35
4 08am―10am 40
5 10am―12pm 40
6 12pm―02pm 40
7 02pm―04pm 30
8 04pm―06pm 31
9 06pm―08pm 35
10 08pm―10pm 30
11 10pm―12am 20
1
2、假设每个保洁员先连续工作四个小时,然后休息两个小时,
再接着工作四个小时。
三、 模型建立:
设xi表示第i批开始上班的保洁员人数。根据问题假设每
个保洁员先连续工作四个小时,然后休息两
个小时,再接着工
作四个小时,可将所有保洁员分为六批。
假设x6剩下的最后两个小时和x
1的前两个小时在04am
到06am是一起工作的,可知x6和x1的和必须大于等于酒店在
这段时间要求的保洁员人数,依次类推,可得如下不等式:
x4+x5>=15
x5+x6>=15
x1+x6>=15
x1+x2>=35
x2+x3>=40
x1+x3>=40
x1+x2>=40
x2+x3>=30
x3+x4>=31
x4+x5>=35
x5+x6>=30
x4+x6>=20
xi>=0 (i=1,2
,3,4,5,6)
其目标函数为:
Min z=x1+x2+x3+x4+x5+x6
2
四、模型求解:
利用matlab求解,建立m文件:
c=[1 1 1 1 1 1];
a=[0 0 0 -1 -1 0;0 0 0 0 -1 -1;-1 0 0 0 0
-1;-1 -1
0 0 0 0;0 -1 -1 0 0 0;-1 0 -1 0 0
0;-1 -1 0 0 0 0;0 -1 -1 0 0 0;0 0 -
1 -1 0 0;0
0 0 -1 -1 0;0 0 0 0 -1 -1;0 0 0 -1 0 -1];
b=[-15;-15;-15;-35;-40;-40;-40;-30;-31;-35;-30;-20
];
x=linprog(c,a,b)
minz=c*x
输出结果为: x
= 20.0000
20.0000
20.0000
12.5000
22.5000
7.5000
minz =
102.5000
则
:
x1=20 x2=20 x3=20
x4=13 x5=23 x6=8
共104个人
。
结果如下:
批次
4
5
1
1
2
1
1
2
3
4
5
4
5
6
6
2
3
3
2
3
4
5
6
6
编号
0
1
2
3
4
5
6
7
8
9
10
11
时间段
00am-02am
02am-04am
04am-06am
06am-08am
08am-10am
10am-12pm
12pm-02pm
02pm-04pm
04pm-06pm
06pm-08pm
08pm-10pm
10pm-12pm
所需保洁人员
15
15
15
35
40
40
40
30
31
35
30
20
计算需要保洁人
员
36
31
28
40
40
40
40
40
33
36
31
21
3
五、模型优化:
由表格分析可知:由数学模型得到的实际需要保洁人员比
所需保洁人员多,所以x4可减掉一人
,则保洁员人数共为103
人。工作时间表可以安排如下:
批次
4
5
1
1
2
1
1
2
3
4
5
4
5
6
6
2
3
3
2
3
4
5
6
6
编号
0
1
2
3
4
5
6
7
8
9
10
11
时间段
00am-02am
02am-04am
04am-06am
06am-08am
08am-10am
10am-12pm
12pm-02pm
02pm-04pm
04pm-06pm
06pm-08pm
08pm-10pm
10pm-12pm
所需保洁人员
15
15
15
35
40
40
40
30
31
35
30
20
实际需要保洁人
员
35
31
28
40
40
40
40
40
32
35
31
20
4
一、问题2假设与符号说明:
1、 假设每个保洁员先连续工作四个小时,然后
2、
3、
x2+x3>=40
x1+x3>=40
x1+x2>=30
x2+x3>=31
其目标函数为:
休息两个小时,再接着工作四个小时,紧接
着加班两个小时。
设xi表示第i批开始上班的保洁员人数,可
将所有保洁员分为六批。
假设x6剩下
的最后两个小时和x1的前两个
小时在06am到08am是一起工作的,可知
x6和x1的和
必须大于等于酒店在这段时间
要求的保洁员人数, 依次类推下去,可以
得到如下不等式:
x4+x6>=15
x4+x5>=15
x5+x6>=15
x5+x1+x6>=35
x6+x1+x2>=40
x2+x3+x4>=35
x3+x4+x5>=30
x5+x6>=20
x1+x2+x3+x4+x5+x6<=80
xi>=0 (i=1,2
,3,4,5,6)
5
Min z=x1+x2+x3+x4+x5+x6
三、模型求解:
利用matlab求解,建立m文件:
c=[1 1 1 1 1
1];
a=[0 0 0 -1 0 -1;0 0 0 -1 -1 0;0 0 0 0 -1
-1;-1 0 0
0 -1 -1;-1 -1 0 0 0 -1;0 -1 -1 0 0
0;-1 0 -1 0 0 0;-1 -1 0 0 0 0;0 -1
-1 0 0 0;0
-1 -1 -1 0 0;0 0 -1 -1 -1 0;0 0 0 0 -1 -1;1 1 1 1
1 1];
b=[-15;-15;-15;-35;-40;-40;-40;-30;-31;-
35;-30;-
20;80];
x=linprog(c,a,b)
min
z=c*x
输出结果为:x =
15.0000
15.0000
25.0000
5.0000
10.0000
10.0000
minz =80.0000
可根据结果画出如下表格:
批次
4
4
5
1
1
2
1
1
2
3
4
5
6
5
6
6
2
3
3
2
3
4
5
6
加班批次
5
6
2
3
编号
0
1
2
3
4
5
6
7
8
9
10
11
时间段
00am-02am
02am-04am
04am-06am
06am-08am
08am-10am
10am-12pm
12pm-02pm
02pm-04pm
04pm-06pm
06pm-08pm
08pm-10pm
10pm-12pm
所需保洁人员
15
15
15
35
40
40
40
30
31
35
30
20
计算需要保洁人员
35
15
20
35
40
40
40
30
40
45
40
20
6
很清晰的看到当总共有八十个保洁员工作
时,2、3、5、6批人要加班,所以就
有60个人加班。
四、模型优化:
由表格中数据,第三批和第四批共有30人,所以第二批只需有五人加班;
第四批和第五批共有15人,所以第三批只需有十五人加班;
综合以上,要有40个人加班可以满足题意。
综合一二问模型评价:
1、模型具有坚实可靠的基础。
2、易于操作和实践。
3、符合实际情况。
还可以用lingo求解:
model:
min=x1+x2+x3+x4+x5+x6;
x4+x5>=15;x5+x6>=15
;x1+x6>=15;x1+x2>=35;x2+x3>=40;x1+x3>=40;x1+x2>=40
;x2+x3>=30;x3+x4>=31;x4+x5>=35;x5+x6>=30;x4+x6
>=20;
数学系112班
滕俊俊 腾龙
张增田
7
8