Files
scheduler/doc/排班算法.md
2025-07-17 16:14:06 +08:00

1.5 KiB
Raw Blame History

描述

网络维护科(简称为网维)是学校中负责修理同学们网络问题的公益性组织,由大二,大三的正式成员和大一的实习成员组成。

每天网维都会去学校里的各个宿舍片区修理同学们上报的网络问题称之为值班每个片区由一个片区负责人所统领值班这个负责人必须是正式成员。其余的人员为正式成员或者实习成员。每个成员每周只用值班1天每天只会在某个具体的片区值班具体是哪一天取决于他们的空闲时间。

网维所负责值班的片区一共有6个称为1-6号其中1-3号为女生片区4-6号为男生片区。由于网维男生的数量远多于女生所以必须要让男生进入女生宿舍片区值班但是女生会被优先安排在女生宿舍值班换句话说女生只可以出现在女生片区。

为了让实习成员熟悉每一个片区,每两周都会轮换值班每位成员负责值班的的片区,片区的轮换遵守上面的规则,也就是说,女生只会在女生片区内轮换,男生则会在全部的片区内轮换。

一个学期值班的周数不确定但是一般不会少于12周即可以轮换到每个成员。

问题

排班算法现在是试图平均分配成员,可能会优化为根据片区的单子数量加权分配
对于每两周换片区的问题,我简单地对当值成员列表进行循环移位来解决,好像和目前的算法有点冲突,未来准备写一个测试来覆盖