2011-12-19 154 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或任何其他類型的搜索算法搜索它們。

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