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

komecyan 2014-11-23 11:16:41
※排班分三班,早班,晚班,夜班。

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

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

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

【硬性条件】

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

【柔性条件】

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

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

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

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

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

【目标】

在满足硬性条件的前提下,尽量满足柔性条件,找出最适排班。
...全文
1849 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
komecyan 2014-11-23
  • 打赏
  • 举报
回复
虽说如此,但这题感觉和网上搜的不一样……网上搜的好像是每个人一天内只能一次排班,但这个限制条件是不能三连班(
ghx287524027 2014-11-23
  • 打赏
  • 举报
回复
你百度搜一下,排班的例子很多的

51,397

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧