2011-12-19 113 views
2

我设计一个程序,计算时间表

  1. 分配教师根据自己的喜好科目;然后
  2. 为每个学生分配小时;根据每个教师的偏好和每个科目的特点(不要安排周五下午的强硬主题)。

它导致100k-ish组合。还有很多特殊情况。


我四处搜索,看到了处理原始算法的语言不可知问题。

Algorithm for computing timetable given restrictions

Seating plan software recommendations (does such a beast even exist?)


问题:什么是可以由一个Python的数字运算包被操纵了良好的数学模型?

我想到的东西简单等(例如仅的缘故):

桥问题>图模型>检测周期

+0

Dijkstra是图形中首先想到的东西。但是你也可能想看看聚类算法。 – 2011-12-19 12:24:32

+0

集群?请解释如何可以导致解决方案 – aitchnyu 2011-12-19 12:32:42

+0

您的问题中有哪些* faculty *? – MattH 2011-12-19 12:37:28

回答

0

你可以尝试设置图形包作为加权图或树的可能性。就我所知,两者都是非常“传统”的数据结构,并且应该与不同的库很好地搭配。像Martin Stam提到的那样,您可以使用Dijkstra's或任何其他类型的搜索算法搜索它们。

我不知道我完全理解你的情况。