解决一个排班问题(建模,算法,java实现)

komecyan komecyan 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
※排班分三班,早班,晚班,夜班。

工人分“高级”和“新人”

※以31天为一月,医院有16名护士为例。

※平时早班需要6-9人,晚班需要2人,夜班需要2人。早班需要2名以上“高级工人”。晚班,夜班各需要1名以上“高级工人”。

【硬性条件】

每一班(早,晚,夜班)分配的工人数要满足人数要求。

【柔性条件】

1. 尽量不要分配三连班,尽量避免早晚夜,晚夜早,夜早晚班出现。

2. 尽量避免工人连续工作5天以上。(被分配了一天中的任意一班视为当天有工作)。

3. 尽量避免工人连续休息5天以上。(一天中三班均未分配工作任务视为当天休息)。

4. 工人可以提出自己需要特殊休息的时间,排班时要尽量避开。

5. 每个工人被分配的夜班数尽量均衡。计算工人平均的夜班数,求出每个工人夜班数与平均夜班数的差值和,差值和越小为越优。

【目标】

在满足硬性条件的前提下,尽量满足柔性条件,找出最适排班。
...全文

相关推荐

评论 2
收藏 已收藏
分享
返回顶部
komecyan
Java 51,407 成员 86,133 内容