基於遺傳算法的排課系統

一、介紹

隨着近幾年各個高校的合併與擴招,我國的綜合性大學和各個高校中在校的學生數量的大大增加,對於高校教務部門來說,排課工作是非常令人頭痛的事,經常會出現課程排列衝突,比如:一個教師在同一時間上兩門課,有兩個教師同時去一個教室上不同的課程,有些教師在特定時間不可以上課。如果沒有很好地解決這些衝突,必將產生教學混亂等現象。可見,排課算法的正確性、高效性是非常關鍵的。[1]

20世紀70年代中期,就有人論證了課表問題是NP完全問題。當課表所涉及的任何信息量稍有變化將會導致課表編排選擇方案的劇增。課表問題存在固定的數學模型,能找到相應的解,且是一組解集。爲此,現提出一些關於高校教學管理系統排課的算法。

二、排課問題的數學模型

學校排課問題本質上是時間表問題的一類典型應用實例,是爲了解決課程安排對時間和空間資源的有效利用並避免相互衝突。在排課過程中,需要考慮課程教學效果、滿足教師特殊要求等多項優化指標,將各門課程安排到相應的時間和教室需要付出一定的“成本”(Cost)。[2]

符號與約束條件

設課程集合:L={l1,l2,.,lp,.,lP};班級集合:C = {c1,c2,.,cm,.,cM} ;教室集合:R = {r1,r2,.,rn,.,rN} ;教師集合:S={s1,s2,.,sk,.,sK} ;時間集合:T={t1,t2,.,td,.,tD};時間與教室對的笛卡爾積爲:G=T·R=(t1,r1),(t1,r2),.,(tD,rN);G中的元素稱爲時間教室對;課表問題的求解過程就轉化成爲每一門課程尋找一個合適的時間教室對。

排課過程中必須滿足各種約束條件,可以將各種約束條件歸納成兩類以簡化分析過程。

(1)硬約束條件

硬約束條件是在排課過程中由於各類資源的有限,因此必須滿足而無法變更的約束條件,通常只要滿足下面三類硬約束條件就能夠保證在排課的過程中不發生此類衝突。

①同一時間,一個教師不能同時有一門以上的課程,記爲R1:

R1 爲: ≤1

其中:k=1,.,K; d=1,.,D。

=1 教師sk 在時間td 和教室rn 上課程lp;0 否則。

②同一時間,一個班級不能同時有一門以上的課程,記爲R2:

R2 爲: ≤1

其中:m=1,.,M; d=1,.,D。

=1 班級cm 在時間td 上教師sk 的課程lp;0 否則。

③同一時間,一個教室不能同時有一門以上的課,記爲R3 :

R3 爲: ≤1

其中: n = 1 , ., N ; d = 1 , ., D。

=1教室rn在時間td由教師sk上課程lp;0否則。

(2)軟約束條件

軟約束條件是在排課過程中可以滿足但又可以不完全滿足的約束條件,是排課過程中在滿足硬約束條件的基礎上能儘量要求滿足的約束條件,軟約束條件會因不同的教學情況而有所差異。通常也可以通過調節軟約束條件的滿足程度而改變排課的效果,可以將一定要滿足的軟約束條件轉換爲“硬約束條件”。

以下是排課過程中常用的軟約束條件,也是本文中所考慮的軟約束條件。

(1) 課程儘量安排在教學效果較好的節次。課程上課的效果與上課的節次有密切的關係,在排課的過程中我們應該儘量將課程安排在教學效果較好的節次中,用ph表示第h節次的教學效果係數:
(2) 多學時課程的周次安排要錯開。在實際的排課過程中,一般對於每週多學時( ≥4) 的課程,應該能夠儘量將其隔天安排,才能保證有較好的教學效果,用qt(t=1,2,3,4,5)表示一門課程安排隔天天數t的教學效果係數:
(3) 滿足教師所提出的上課時間和地點的要求。課程的主講教師和課程有着對應的關係,我們將教師提出的上課要求固化在其對應的課程上,用hj表示滿足課程上課要求的係數:
(4) 當一個班的周總課時數需在某個數值範圍內的要求。

三、排課問題的算法

1.算法分析

排課的衝突異常複雜,對於這些衝突的複雜度我們進行分析。以下給出分析的過程。

過程1:將模型中的五個集合降維爲一個給定四維空間V(S,T,R,C),稱之爲:課表。

四維分別代表了:

S(教師):全校所有課程的任課教師;

T(時間):上課的時間段,每天分爲1-2、3-4、5-6、7-8、9-10,總共五個時間段,每學期20周,每週五天,合計每學期有500個上課時間段;

R(教室):全校所有的可用教室,包括不同的教室屬性,如:教室大小、是否爲多媒體或語音教室等等;

C(班級)Class:當前學期的所有教學班級,包括班級屬性,如:班級人數、是否合班。

過程2 :在課表V中求解存在着子空間L,且L

過程3 :在課表V中求解存在着四維向量l (Sr,Tm,R,C),且l∈L,那麼稱l爲:課。

過程4 :在課表編排過程中,對於P( li∈VΛlj∈L,i,j∈N),li (Tr,Tm,R,C)與lj (Tr,Tm,R,C),沒有衝突,認爲V是:有效課表。[3] [4]

通過對四維向量li ( Sr,Tm,R,C)與lj (Sr,Tm,R,C)的簡化。在排課過程中的所有關係情況TmR + Tm RC。

那麼:由過程1、過程2 可以推導出,在課表空間中,恆有f (Tr,Tm,R,C),那麼V就是有效的課表。

最後爲了簡化,再給出過程5:

過程5 :在課表V中,對於li ( Sr,Tm,R,C)與lj (Sr,Tm,R,C),i、j∈N,沒有衝突,記爲:liΨlj ;對於Li、Lj沒有衝突,記爲:LiΨLj。

這樣有對於P( li∈VΛlj∈L),li (Sr,Tm,R,C)與lj (Sr,Tm,R,C),i、j∈N,沒有衝突,就可以得到VΨL。

四、結束語

該模型與求解方法已在實際中得到應用,取得了較好的效果。在使用遺傳算法優化後排課算法的實際效率有極大的提高。因此用遺傳算法實現類似排課問題的最優解也是一種比較簡單實用的方法,收斂速度很快,時間段分配均勻。[5]

但是在實際應用中也可能沒有終止條件,目的是可以依次提供不同的可行解以供使用者選擇直到所有解給完或者使用者終止。如果只考慮最優解的問題,可以使用迭代的適應度幾乎不變作爲終止條件或者規定迭代次數。值得一提的是,有些實際問題的可行解可能是唯一的,比如教學場地或教師資源緊缺的情況,更嚴重的是如果約束條件太苛刻,甚至可能沒有可行解,在此類情況下人工干預還是有必要的。



參考文獻

[1] 陶滔,李赫男,熊正爲.多維衝突在排課算法中的應用[J].華東地質學院學報.2001,(4):256~259.

[2] 吳志斌,陳淑珍,孫曉安.回溯算法與計算機智能排課[J].計算機工程.1999,(3):792801.

[3] 高喜瑪,張萍.大學自動排課系統內核算法設計[J].南陽師範學院學報.2003 ,(12).

[4] 張亞東,葉克江.高校計算機排課系統的設計與實現[J].鄭州輕工業學院學報.2003 ,(12).

[5] 董豔雲,錢曉羣,張宇舒.基於課元相關運算的高校排課算法[J].西南交通大學學報.1998,(12):67026731.
發佈了76 篇原創文章 · 獲贊 0 · 訪問量 4935
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章