回 帖 发 新 帖 刷新版面

主题:[讨论]这属于什么类型的算法?

1、某营业厅有20名员工A——T。
其中前台人员16名,可上前台各种班,后台办公人员4名,仅上办公班。
2、此厅安排的班次有:
办公班:早上8:30——12:00,下午12:30——18:00。仅限后台办公人员
前台班包括:
直落班:早上8:30——12:00,下午12:30——18:00(各种业务办理) 优先级1
早1班:早上8:30——13:30(各种业务办理) 优先级2
中1班:下午13:30——19:00(各种业务办理) 优先级2
早2班:早上8:30——13:30(缴费)优先级3
中2班:下午13:30——19:00(缴费) 优先级3
早3班:早上8:30——13:30(开卡补卡) 优先级4
中3班:下午13:30——19:00(开卡补卡) 优先级4
早导班:早上8:30——13:30(向导) 优先级5
中导班:下午13:30——19:00(向导) 优先级5
3、人员休假规律
办公人员休周六,周日。
前台人员每月休6天,即大约每5天休一天。当月未休完的累计到下个月,并一直累计下去。如末月休假次数超过6天+之前的累计,则下个月的休假则要从6天中减掉多休的天数。
4、闲忙时规律(只限前台人员)
此厅每月1——5号,22——月末为闲时,每天安排10名前台人员上班,6人休假。其中安排直落班2人,早1班2人,中1班2人,早3班1人,中3班1人,早导1人,中导1人。
6——21为忙时,每天安排15名员工上班,1人休假。其中安排直落班3人,早1班2人,中1班2人,早2班2人,中2班2人,早3班1人,中3班1人,早导1人,中导1人。
5、周末规律
此厅每周末有2名移动助学大学生来厅参加实习,可安排前台班次,但不需要体现在排班表中。有休息日安排过少的员工,可以安排在周末休息,但限1——2名。
6、请假规律
虽然闲忙时规律定义了每天的休假人数,但并不排除有些员工会提前请假,因此很可能出现闲时休假人数超过6人,忙时休假人数超过1人的情况。此时需要考虑按班次优先级来排除某些班次。同理,也可能出现,闲时休假人数不够6人的情况等,此时需要为多出的员工安排优先级较高的工作。
7、工时规律
排班表应保证每名前台员工所上的班工时总和差距不超过正负10小时。此条规律要优先于第6条。因为当有员工人员多于预期时,不能总是安排优先级最高的直落班,因直落班的工时较其它班要长。
8、班次依赖关系
要尽量避免同一员工连续上相同的班,尽量让每位员工所上的班比较均匀。
特殊的依赖关系,中班后应尽量安排早班,便于工作交接,休息尽量安排在早班之后,中班之前,这样会增加两个半天的休息时间。
9、班次继承关系。
第8条规律的扩展,如上个月最后一天上早班的员工尽量安排休息,而上中班的员工尽量安排上早班。也就是在某一天的基础上往后扩展第8条规则。
10、支持按时间段排班,按人员排班。
11、主持人规律
每天应有一名上早班的员工主持晨会。主持人必须是前一天上中班的。
有四名员工,HIJK可做主持人,其中HI为一组,JK为一组,要求两组所做主持人次数比较均匀。在HJ能做主持人的情况下,不安排IK做主持人。

现假设ABCD四人为办公人员,其它16人为前台人员。
且EFG三人分别有累计补休1天,RST三人上个月各多休一天。请根据以上规律安排12月的班表(实现第9条规则时11月30日的班表可自行编排)。排班时,先排出1——15号班表,再排出16——31号的班表,再合成一个班表。
特殊情况考虑,19号有一名员工T辞职,28号新员工U入职。


基础要求:
按上述要求实现算法,但是不能将规则写死。
扩展要求:
考虑算法效率,时间复杂度优先,空间复杂度其次。
完整功能实现:
除算法外,能实现排班规则的设置。比如员工数,休假天数,班次名称,优先级,闲忙时规律等均可配置。

回复列表 (共1个回复)

沙发

http://blog.163.com/maijianquan_123/edit/
进入本人博客,
叫你身边的老虎机变成提款机器(私人资料,非诚勿扰)

我来回复

您尚未登录,请登录后再回复。点此登录或注册