2013-04-06 32 views
2

我有一个基于三个因素创建考试时间表的问题:房间,课程和日期。有一定数量的房间r,课程c和天d,每天有三个插槽。算法 - 创建考试时间表

还有一套学生和学生到课程的映射,这样就不会有任何冲突。

我试图找到一个算法,发现这适合最大流量问题。 我正在为此制作流程网络图。

感谢

+0

你到目前为止试过了什么?除了您建议的方法之外,还有其他方法。例如遗传算法(ftp://128.243.21.14/cs/pub/cs/ttp/Papers/PDF/AISB95.pdf或http://www.codeproject.com/Articles/23111/Making-a-Class- Schedule-Using-a-Genetic-Algorithm)或约束满足(http://stackoverflow.com/questions/1597542/scheduling-algorithm-problem)。 – Simon 2013-04-06 21:04:23

+0

我已经创建了一个通用的网络流图,因为没有任何限制(学生冲突并不重要)。我只是被困在这一部分。我不确定如何合并它,以便根据学生的映射,流量不能通过。 – 2013-04-06 21:09:10

回答

2

定义与多个真实世界的数据集一个很不错的,不平凡的考试调度问题的竞争ITC2007轨道1检查。因为问题是NP完全的,所以没有人知道的多项式算法可以最优地解决它。

为灵感上的算法可以解决这个问题,看看这个Java,开源实现与OptaPlanner竞争的: