社区
Java
帖子详情
排班算法问题(求高手指教)
shmilytea1986
2012-06-27 05:20:01
已知有N个人参与值班,每人安排值班的天数不等,N个人的总值班天数为31天,求所有可能的排班情况。
例如:值班人员有A、B、C、D、E、F、G(A值班4天、B值班5天、C值班5天、D值班5天、E值班5天、F值班3天、G值班4天,4+5+5+5+5+3+4=31)。
求高手指教。
...全文
406
7
打赏
收藏
排班算法问题(求高手指教)
已知有N个人参与值班,每人安排值班的天数不等,N个人的总值班天数为31天,求所有可能的排班情况。 例如:值班人员有A、B、C、D、E、F、G(A值班4天、B值班5天、C值班5天、D值班5天、E值班5天、F值班3天、G值班4天,4+5+5+5+5+3+4=31)。 求高手指教。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ShaneLooLi
2012-06-29
打赏
举报
回复
[Quote=引用 5 楼 的回复:]
写 31 重循环……
[/Quote]
好吧,我负点责任。
写二重循环,外层循环是带标签的永久循环,里层循环的是日子。
做一个二维数组,用来记录已经排列的情况。第一维是日子,第二维尺度是 7 ,0 代表 A ,1 代表 B ……
开始生成排班可能之前,还需要准备二个数组。一个是排班记录数组,另一个是每一个人已排天数记录数组。
然后里层循环,第一天,看第一天的记录中,遍历已经排列情况记录数组对应日子的第二维, 0-6,看看哪个还没排,然后看看对应人的已排记录是不是已满。没满就排这个,记录在当前排班记录数组里,然后下一个日子。
没循环完成 31 天生成一个记录之后,将数组放在一个 List 里边,然后清空排班记录数组和每一个人已排天数记录数组,再来一遍。
直到第一个人无班可排,就整体退出。
ShaneLooLi
2012-06-29
打赏
举报
回复
写 31 重循环……
shmilytea1986
2012-06-29
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:
写 31 重循环……
好吧,我负点责任。
写二重循环,外层循环是带标签的永久循环,里层循环的是日子。
做一个二维数组,用来记录已经排列的情况。第一维是日子,第二维尺度是 7 ,0 代表 A ,1 代表 B ……
开始生成排班可能之前,还需要准备二个数组。一个是排班记录数组,另一个是每一个人已排天数记录数组。
然后里层循环,第一天,看第一天的记录中,遍历已……
[/Quote]
谢谢你的详细回复,可能自己把问题描述的不够全面,实际比这个复杂N倍
shmilytea1986
2012-06-27
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
给出全部约束条件吧,最没有效率的就是穷举了
[/Quote]
就是想穷举啊 然后再根据条件删除不符合的
flyhorse999
2012-06-27
打赏
举报
回复
给出全部约束条件吧,最没有效率的就是穷举了
shmilytea1986
2012-06-27
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
这个用计算机语言跑一遍就出来 了.
[/Quote]
就是不清楚跑的方法怎么设计
朗晴
2012-06-27
打赏
举报
回复
这个用计算机语言跑一遍就出来 了.
基于遗传
算法
的护士
排班
问题
(含Matlab源码)
本文探讨了如何运用遗传
算法
解决护理人员
排班
问题
,以满足医院科室的运转需
求
和护士的工作与休息平衡。通过设定硬约束和软约束,建立适应值函数,并详细阐述了
算法
的编码、交叉和变异过程,最终实现了一个能处理复杂
排班
约束的遗传
算法
模型。
自动
排班
算法
的设计与实现(日历
算法
)
作者分享XXX市公安交通智能化管控系统
排班
管理系统开发经验,选用angular技术栈。核心需
求
为自定义前端日历UI组件库和实现自动
排班
算法
。介绍了日历
算法
实现的前置知识,如一个月最多跨6周,以及本月、上月最后一天的日期计算方法,还给出了代码编写指引。
基于回溯
算法
的
排班
问题
求
解
本文探讨了如何使用回溯
算法
解决实际的
排班
问题
,通过抽象值班人员与时间需
求
,构建矩阵模型,并详细展示了C++代码实现,包括列元素
求
和、回溯
算法
和出口函数。重点在于如何确保满足每位员工的最低值班次数和每个值班时间的上限。
排班
算法
java_【
算法
】基于优先级的
排班
算法
实现
本文介绍了一种基于优先级的
排班
算法
实现,旨在解决大学社团值班安排
问题
。
算法
考虑了每个人的不同无课时间,确保每个时间段有两人值班且每人一周仅值班一次。通过优先级选择,优先安排无课人数少的值班段和无课次数少的人员,避免了回溯法带来的效率
问题
。
Java
51,408
社区成员
86,097
社区内容
发帖
与我相关
我的任务
Java
Java相关技术讨论
复制链接
扫一扫
分享
社区描述
Java相关技术讨论
java
spring boot
spring cloud
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章