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

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

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

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

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

【硬性条件】

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

【柔性条件】

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

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

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

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

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

【目标】

在满足硬性条件的前提下,尽量满足柔性条件,找出最适排班。
...全文
1661 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
komecyan 2014-11-23
  • 打赏
  • 举报
回复
虽说如此,但这题感觉和网上搜的不一样……网上搜的好像是每个人一天内只能一次排班,但这个限制条件是不能三连班(
ghx287524027 2014-11-23
  • 打赏
  • 举报
回复
你百度搜一下,排班的例子很多的
用户首次登陆系统需要注册一个用户或直接使用微信作为账号,用户在登录平台后,可以进行平台的操作。主要块包括以下几点:(1)登录功能:注册普通账号登录;也可以直接使用微信登录;登录后可以修改用户的基本信息,也可以退出。(2)资讯功能:后台录入资讯,在微信小程序医院预约挂号系统的资讯板展示,用户可以任意浏览资讯列表和详细信息   (3)医院信息和详情:后台录入医院简介、机构设置、医院领导、联系我们等信息,点击可以查看对应详情。(4)医院科室信息和详情:后台录入了医院各个科室的信息,在小程序中点击可以查看详情。(5)医生库:后台录入医生的相关信息,可以在小程序医生列表里面一个一个点击进去查看医生详细信息;支持通过查询来查找所需要的医生。(6)医生信息: 点击到医生详情页面,可以查看医生姓名、头像、职称、擅长等。(7)科室列表:点击预约,可以查看医院所有的科室。(8)医生预约:点击科室,选择该科室下面某个医生,查看对应的信息,在需要预约的日期后面,如果有号院,点击链接提交预约。(9)我的预约挂号列表:包含待付款、已经付款的预约挂号信息(10)取消预约:在“我的预约挂号”列表中,点击“取消预约”,删除预约信息,只有待付款的预约信息可以取消。(11)去付款:在“我的预约挂号”列表中,点击“去付款”,拟付款(12)用户信息:填写姓名、qq、邮箱、备注等信息,在后台会员中心列表查看(13)退出登录:清除登录的cookie,跳转会首页(14)留言功能:点击留言,填写要留言的信息,在后台其他管理-留言列表查看  

50,559

社区成员

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

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