第1个回答 推荐于2018-03-07
的确是非常复杂!
先理一下思路吧,每天三班,每班三人,则每天需要九人值班,那么每天只能允许一人休息,也就是每个人只允许每十天休息一天,一个月最多只能休三天。
然后一步一步来
十人依次为:张一 张二 张三。。。。张十
1.先排一个十天的小循环,让每个人都能休息,张十为自由人,依次替换张九 张八 张七 。。。。张一
2.下一个十天张九为自由人,以此类推。
3.为保证公平,不能连续上白班或夜班,因此小循环内还需调整abc班,建议这样循环:a——c——b——a循环周期建议为六天。
好了思路理清了
先给你排一个十天的小循环:
24:00——8:00 8:00——16:00 16:00——24:00
1 张一 张二 张三 张四 张五 张六 张七 张八 张九
2 张一 张二 张三 张四 张五 张六 张七 张八 张十
3 张一 张二 张三 张四 张五 张六 张七 张十 张九
4 张一 张二 张三 张四 张五 张六 张十 张八 张九
5 张一 张二 张三 张四 张五 张十 张七 张八 张九
6 张一 张二 张三 张四 张十 张六 张七 张八 张九
7 张一 张二 张三 张十 张五 张六 张七 张八 张九
8 张一 张二 张十 张四 张五 张六 张七 张八 张九
9 张一 张十 张三 张四 张五 张六 张七 张八 张九
10 张十 张二 张三 张四 张五 张六 张七 张八 张九
然后将自由人依次轮换,最后小循环内调整abc班就可以了,调整abc时注意两个小循环之间的衔接
如果还不清楚
可以qq联系109710938
希望能解决您的问题。本回答被网友采纳
第2个回答 2018-03-07
你说有“三个班”,但描述起来像是ABCD四个班??
排班表是月初生成、不再改动吗?每人4天假期,由系统随机确定是哪天吗?
统计出勤和休假,要看最终的“上班签到表”吧?这个排班表怎么可能确定?
第3个回答 2018-03-06
先理一下思路吧,每天三班,每班三人,则每天需要九人值班,那么每天只能允许一人休息,也就是每个人只允许每十天休息一天,一个月最多只能休三天。
然后一步一步来
十人依次为:张一 张二 张三。。。。张十
1.先排一个十天的小循环,让每个人都能休息,张十为自由人,依次替换张九 张八 张七 。。。。张一