1.約束粒度可控的排課方法,其特征在于,該方法包括以下步驟:
1)計算課元組的空閑時間,當(dāng)空閑時間的空余周課時大于課元組的周課時,查找最優(yōu)的排課時間;
2)在最優(yōu)排課時間BT內(nèi)計算最合適的排課教室,若存在最合適的排課教室,則課元組排課成功;
3)否則,對課元組進行沖突處理,若沖突處理成功,則課元組排課成功,否則,將該課元組排課失??;
4)當(dāng)所有課元組排課完成后,對排課失敗課元組,調(diào)整約束粒度返回步驟1)重新排課或進行手動調(diào)整。
2.根據(jù)權(quán)利要求1所述約束粒度可控的排課方法,其特征在于,所述最優(yōu)排課時間的計算方法包括以下步驟:
A)計算課元組的上課性質(zhì)CP、周課時CT及一周內(nèi)的排課次數(shù)N;
B)在全局設(shè)置中查找符合屬性(CP,CT,N)的課元組最優(yōu)排課時間序列BT′=[(D1,H1),(D2,H2),…,(DN,HN)],(D1,D2,…,DN)為一周內(nèi)上課天數(shù)的最優(yōu)序列,(H1,H2,…,HN)為一天內(nèi)上課節(jié)數(shù)的最優(yōu)序列;
C)若時間片(D1,H1)包含在空閑時間內(nèi),計算在該時間片下,上課教師和上課班級的時間均勻分布程度,當(dāng)時間均勻分布程度高于預(yù)設(shè)值,則獲得最優(yōu)排課時間BT=(D1,H1),查找結(jié)束;若時間片(D1,H1)不在空閑時間內(nèi)或時間均勻程度低于預(yù)設(shè)值,判斷下一個時間片是否為最優(yōu)排課時間。
3.根據(jù)權(quán)利要求1所述約束粒度可控的排課方法,其特征在于,所述最合適的排課教室的計算方法包括以下步驟:
a)計算課元組的上課校區(qū)CA、上課教室類型CL及上課教室大小CS;
b)查找符合課元組屬性(CA,CL,CS)的教室列表,從教室列表中選取優(yōu)先級最高的教室,計算該教室在課元組的上課起始周內(nèi)的空閑時間表,當(dāng)空閑時間表與最優(yōu)排課時間邏輯與后等于最優(yōu)排課時間,則該教室為最合理的上課教室,否則,判斷下一個教室是否為最合理的上課教室。
4.根據(jù)權(quán)利要求1所述約束粒度可控的排課方法,其特征在于,步驟3)中對課元組進行沖突處理的方法包括以下步驟:
Ⅰ)將需要沖突處理的課元組壓入堆棧,并查找該課元組的相關(guān)課元組,將相關(guān)課元組按優(yōu)先級從低到高加入到隊列Queue,并記錄需要沖突處理的課元組為相關(guān)課元組的父課元組;
Ⅱ)取隊列Queue中的首課元組,將其進行重新排課,排課成功,對其父課元組進行重排,排課成功,則沖突處理成功;否則,將首課元組的相關(guān)課元組加入隊列Queue,將首課元彈出隊列并壓入堆棧;
Ш)重復(fù)步驟Ⅱ),當(dāng)父課元組出棧且重排成功,則沖突處理成功。
5.根據(jù)權(quán)利要求1所述約束粒度可控的排課方法,其特征在于,所述初始輸入數(shù)據(jù)包括全局設(shè)置、班級信息、教室信息、教師信息、課元組信息、課程信息、教室約束、教師約束和課元組約束。
6.約束粒度可控的排課系統(tǒng),其特征在于,該系統(tǒng)包括自動排課單元及調(diào)整單元,所述自動排課單元包括最優(yōu)排課時間計算模塊、最合適排課教室計算模塊、沖突處理模塊;所述調(diào)整單元包括重新調(diào)整約束粒度模塊或手動調(diào)整模塊;
所述自動排課單元用于按優(yōu)先級高低對課元組排序,根據(jù)初始輸入數(shù)據(jù),從優(yōu)先級最高的課元組開始依次進行排課;
所述最優(yōu)排課時間計算模塊用于計算課元組的空閑時間,當(dāng)空閑時間的空余周課時大于課元組的周課時,查找最優(yōu)的排課時間;
所述最合適排課教室計算模塊用于在最優(yōu)的排課時間BT內(nèi)計算最合適的排課教室;
所述沖突處理模塊用于對課元組進行沖突處理。
7.根據(jù)權(quán)利要求6所述約束粒度可控的排課系統(tǒng),其特征在于,所述最優(yōu)排課時間計算模塊的計算方法包括以下步驟:
A)計算課元組的上課性質(zhì)CP、周課時CT及一周內(nèi)的排課次數(shù)N;
B)在全局設(shè)置中查找符合屬性(CP,CT,N)的課元組最優(yōu)排課時間序列BT′=[(D1,H1),(D2,H2),…,(DN,HN)],(D1,D2,…,DN)為一周內(nèi)上課天數(shù)的最優(yōu)序列,(H1,H2,…,HN)為一天內(nèi)上課節(jié)數(shù)的最優(yōu)序列;
C)若時間片(D1,H1)包含在空閑時間內(nèi),計算在該時間片下,上課教師和上課班級的時間均勻分布程度,當(dāng)時間均勻分布程度高于預(yù)設(shè)值,則獲得最優(yōu)排課時間BT=(D1,H1),查找結(jié)束;若時間片(D1,H1)不在空閑時間內(nèi)或時間均勻程度低于預(yù)設(shè)值,判斷下一個時間片是否為最優(yōu)排課時間。
8.根據(jù)權(quán)利要求6所述約束粒度可控的排課系統(tǒng),其特征在于,所述最合適的排課教室計算模塊的計算方法包括以下步驟:
a)計算課元組的上課校區(qū)CA、上課教室類型CL及上課教室大小CS;
b)查找符合課元組屬性(CA,CL,CS)的教室列表,從教室列表中選取優(yōu)先級最高的教室,計算該教室在課元組的上課起始周內(nèi)的空閑時間表,當(dāng)空閑時間表與最優(yōu)排課時間邏輯與后等于最優(yōu)排課時間,則該教室為最合理的上課教室,否則,判斷下一個教室是否為最合理的上課教室。
9.根據(jù)權(quán)利要求6所述約束粒度可控的排課系統(tǒng),其特征在于,所述沖突處理模塊對課元組進行沖突處理的方法包括以下步驟:
Ⅰ)將需要沖突處理的課元組壓入堆棧,并查找該課元組的相關(guān)課元組,將相關(guān)課元組按優(yōu)先級從低到高加入到隊列Queue,并記錄需要沖突處理的課元組為相關(guān)課元組的父課元組;
Ⅱ)取隊列Queue中的首課元組,將其進行重新排課,排課成功,對其父課元組進行重排,排課成功,則沖突處理成功;否則,將首課元組的相關(guān)課元組加入隊列Queue,將首課元彈出隊列并壓入堆棧;
Ш)重復(fù)步驟Ⅱ),當(dāng)父課元組出棧且重排成功,則沖突處理成功。