2013-04-06 14 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競爭的: