我正在研究一個簡單的應用程序,它將爲學校生成時間表(每日計劃)。我已經閱讀了算法的基礎知識,但從哪裏開始感到困惑。
使用哪種算法爲學校生成時間表
問題:
分配老師考慮到了很多限制類相似:
1)除
2)教師
3的專長)持續不超過2類..等
不言而喻,不應該有重疊。基本上我需要每天爲固定數量的工作時間分配N個教師到M班(8)。
的輸入:
1)總與他們的專門知識的沿的類
2)教師數
3)的受試者/每一類
4)每天每類講座數
5課程)像每天老師,每每週老師總工作小時最低/最高工時等
我的問題等柔性約束:
1)它是正確的把它看作是帶有多重約束的分配問題?
2)我應該使用哪種算法? (匈牙利算法?)
3)我應該從一開始就得到整套約束,然後生成表格,還是應該在中間步驟完成?
我是初學者學習/實現算法,所以任何幫助指向我在正確的方向讚賞!謝謝。
我發現了一個PostScript文件,講述了一個**禁忌搜索**(http://en.wikipedia.org/wiki/Tabu_search)算法,用於爲教師分配課程(http://www.uv.es/sestio /TechRep/tr01-01.ps)。這主要是數學啓發式。我希望它給你一些方向。 – 2010-02-21 05:57:42
這是重複的。幾周前我回答了這個問題:http://stackoverflow.com/questions/2177836/algorithm-for-creating-a-school-timetable – 2010-02-21 07:17:03
@Stefano,無價的鏈接!謝謝 – Checksum 2010-02-21 12:09:51