董 敏 曹 強(qiáng)
1.西安思源學(xué)院食品安全管理處,陜西 西安 710038;
2.西安思源學(xué)院信息與網(wǎng)絡(luò)中心,陜西 西安 710038
隨著教育部《教育信息化2.0行動(dòng)計(jì)劃》的發(fā)布,未來信息技術(shù)將快速滲透教育行業(yè),促進(jìn)教育與技術(shù)的全面融合,以信息化支持和引領(lǐng)教育現(xiàn)代化。而高校在信息化時(shí)代的人才培養(yǎng)需求會(huì)快速發(fā)生變化,將構(gòu)建“以學(xué)生為中心”的教學(xué)體系,學(xué)生的學(xué)習(xí)環(huán)境將改變?yōu)椤吧疃热诤闲畔⒓夹g(shù)的智慧教育環(huán)境”。學(xué)分制的全面推廣,使得各高校排課工作更加復(fù)雜,也就更需要信息化軟件得以支撐,但目前信息化軟件僅能解決排課的部分沖突問題,而不能使資源有效利用,課程排布不夠科學(xué)合理,對(duì)此仍然值得研究。
所有高校在排課時(shí),排課人員在排課初期總因資源的調(diào)度而發(fā)愁,甚至需要校級(jí)領(lǐng)導(dǎo)協(xié)調(diào)各部門才能解決,特別是教學(xué)場(chǎng)所、教師相對(duì)較少的學(xué)校更為明顯;當(dāng)排課人員克服困難,排布了一個(gè)能保障正常開課的課表后,往往進(jìn)入開學(xué)檢查階段卻會(huì)受到各部門領(lǐng)導(dǎo)的批評(píng)。主要的典型問題總結(jié)如下:
一是對(duì)教學(xué)場(chǎng)所未有效利用的問題。排課人員呼吁教學(xué)場(chǎng)所資源緊缺,但教學(xué)場(chǎng)所課表中仍有大約為三分之一的時(shí)間沒有排課。例如:每個(gè)教學(xué)場(chǎng)所每天可排8學(xué)時(shí),每周5個(gè)工作日計(jì)算,總計(jì)可安排40個(gè)學(xué)時(shí),但根據(jù)實(shí)際排課平均數(shù)據(jù)統(tǒng)計(jì)大約每個(gè)教學(xué)場(chǎng)所每周要空余12至14課時(shí)。而且排課完畢后如果新增了教學(xué)場(chǎng)所,排課人員改善排課結(jié)構(gòu)的意愿不高。因此,管理教學(xué)場(chǎng)所的部門認(rèn)為教學(xué)場(chǎng)所足以保障教學(xué)需要,還有結(jié)余可以解決其他需求。
二是對(duì)學(xué)生課表排布不合理的問題。排課人員呼吁教學(xué)班級(jí)數(shù)太多,學(xué)時(shí)太多,但班級(jí)課表中仍有黃金時(shí)間沒有安排課程,課程連貫性不強(qiáng),核心課程未排布在黃金時(shí)間,課程連續(xù)排布的現(xiàn)象。所以,教學(xué)和學(xué)生管理部門認(rèn)為課程沒有安排合理,沒有尊重學(xué)生學(xué)習(xí)的科學(xué)規(guī)律。
三是對(duì)教師要求未充分考慮。在工作方面,教師有科學(xué)研究、學(xué)術(shù)交流、公務(wù)外派、跨院??缧^(qū)上課等原因?qū)ι险n時(shí)間有特殊要求;在個(gè)人方面,教師有學(xué)歷晉升、兼職、生病、產(chǎn)檢、接送子女上學(xué)、照顧老人等原因?qū)ι险n時(shí)間有特殊要求,排課人員不能完全照顧到每個(gè)人的特殊需求,而教師認(rèn)為只要幾個(gè)人的上課時(shí)間進(jìn)行對(duì)調(diào),大家就能滿足時(shí)間利用的最大化。所以,管理教師的部門認(rèn)為給教師安排的課不夠人性化。
四是其他因素會(huì)增加排課難度。如考慮課程的分組、合班、板塊、選項(xiàng)和選修,再加上個(gè)別學(xué)生的重修與輔修等因素,排課的難度系數(shù)會(huì)大大增加,目前排課軟件不能滿足需求。
綜上所述,學(xué)生、教師、課程、場(chǎng)地和時(shí)間等各種排課要素追求合理、高效是大家的一致目的,但要素之間又相互制約,單一方面考慮會(huì)顧此失彼,綜合考慮達(dá)不到單一要素追求的理想目標(biāo),如何合理安排滿足各方要求是排課工作的一大課題[1]。
我們將排課過程中必須遵照的排課規(guī)則稱之為必要約束條件,將提升教學(xué)質(zhì)量和師生滿意度的條件稱之為優(yōu)化約束條件,將因如考慮課程的分組、合班、板塊、項(xiàng)目選擇和選修課,再加上個(gè)別學(xué)生的重修與輔修等因素稱之為特殊約束條件。
一是同一時(shí)間教師、學(xué)生、場(chǎng)所唯一性原則,既同一時(shí)間教師只能在一個(gè)場(chǎng)所講授一門課程;同一時(shí)間學(xué)生只能在一個(gè)場(chǎng)所學(xué)習(xí)一門課程;同一時(shí)間場(chǎng)所只能安排一門次課程所屬的學(xué)生和教師;二是尊重事務(wù)屬性原則,即學(xué)生人數(shù)不能超過場(chǎng)所的最大容量,課程需求與場(chǎng)所的功能相匹配,一門次課程相同的班級(jí)只能安排一次;三是遵守學(xué)校規(guī)定原則,即某時(shí)間段不安排課程,跨校區(qū)、跨樓宇的課不安排在同一天,即使樓宇較近也要留出充足的時(shí)間等約束條件。
一是以生為本約束性條件,即學(xué)生的上課時(shí)間盡可能每天分布均衡,課程分布合理,同一天的課程場(chǎng)所盡可能不變等條件;二是以師為本約束性條件,即教師上課的時(shí)間盡可能集中,場(chǎng)所盡可能少變,多個(gè)班級(jí)共同開設(shè)的課程盡可能安排給一個(gè)教師講授,教師間的工作量盡可能均衡等條件。單一考慮優(yōu)化約束條件是不合理的,兩者之間存在一定的矛盾性,需對(duì)二者統(tǒng)籌兼顧。
為不讓課表過于分散,留出較多的共同上課時(shí)間,一是將合班上課的所有課程盡可能由相同的幾個(gè)班級(jí)組合;二是項(xiàng)目選擇、板塊課以及分組課盡可能安排在同一時(shí)間;三是選修課盡可能使面授課程與選修課程相結(jié)合,面授課程盡可能采用限定性選修;四是個(gè)別學(xué)生的重修、輔修采用集中授課、學(xué)生自我安排到低年級(jí)學(xué)習(xí)和學(xué)生自學(xué)的方式結(jié)合。
三個(gè)約束條件之間的關(guān)系。在課程編排上,必要約束條件與優(yōu)化約束條件有一定的矛盾性,優(yōu)化約束條件越多則課程編排越趨于合理,但會(huì)給必要約束條件帶來一定的難度,沖突率會(huì)提升。反之,如果想讓沖突率降低,則合理性也會(huì)降低。特殊約束條件可以認(rèn)為是必要約束條件的一種,是優(yōu)化了的必要約束條件,是提高課程編排科學(xué)性、降低排課沖突率的一種策略。
排課是一個(gè)工作量大而復(fù)雜的工程,涉及上課時(shí)間、上課地點(diǎn)、上課班級(jí)、開設(shè)課程、上課教師等多個(gè)要素,實(shí)現(xiàn)對(duì)這些要素合理調(diào)度及時(shí)空安排。例如,每周分五天,每天按上午1.2節(jié)、3.4節(jié),下午 5.6節(jié),7.8節(jié)分為四個(gè)時(shí)間段,形成一個(gè)周時(shí)間表,需要構(gòu)建一個(gè)40維的空間模型,如果再考慮單雙周,至少需要建立一個(gè)80維的空間模型,把一門課程編排完畢方案數(shù)量為F,該課程的周學(xué)時(shí)為Z,則F可以按以下公式計(jì)算得出。
由此可得出,一門課程安排方案數(shù)量見表1:
表1 一門課程安排方案數(shù)量
僅一門課程的安排,只要周學(xué)時(shí)進(jìn)行變化計(jì)算數(shù)量就會(huì)出現(xiàn)巨大變化,可見排課算法的復(fù)雜性。
可用于排課的算法有很多,每種算法都有自身的優(yōu)點(diǎn)和缺點(diǎn)。所以,為進(jìn)一步提高排課效率和科學(xué)性,只能嘗試將多種算法進(jìn)行結(jié)合,下面介紹利用遺傳算法(1~6步)與蟻群算法(7~14步)混合思路解決排課問題的思路[2],具體如下:
(1)對(duì)各項(xiàng)參數(shù)進(jìn)行初始化編碼組合生成染色體。利用教室門牌號(hào)、教室容量等教室屬性,教學(xué)班名稱、教學(xué)班人數(shù)等教學(xué)班屬性,課程屬性、上課時(shí)間等信息的編碼按照一定順序生成染色體。
(2)隨機(jī)生成初始種群,利用對(duì)教學(xué)任務(wù)(包括課程、授課教師、授課班級(jí))安排時(shí)間和教室的過程隨機(jī)生成初始種群,本算法根據(jù)排課單元40個(gè)作為種群數(shù)量,并對(duì)遺傳算法迭代次數(shù)初始化(設(shè)置為0)。
(3)計(jì)算種群中個(gè)體的適應(yīng)度值。
(4)進(jìn)行遺傳操作。首先選擇操作,從初始種群中選擇優(yōu)良個(gè)體(安排得比較滿意的課程)作為遺傳的父輩;次之進(jìn)行交叉操作,將父輩染色體進(jìn)行交叉,經(jīng)計(jì)算交叉概率選用0.8;最后進(jìn)行變異操作,將時(shí)間、地點(diǎn)等染色體進(jìn)行變異,經(jīng)多次試驗(yàn)變異概率選用0.002。
(5)遺傳算法迭代次數(shù)加1。
(6)若滿足結(jié)束條件,就執(zhí)行蟻群算法(因遺傳算法結(jié)束后仍要進(jìn)行蟻群算法迭代次數(shù)為50,如迭代次數(shù)太高,會(huì)使計(jì)算時(shí)間消耗在冗余迭代中),否則返回第3步,繼續(xù)運(yùn)行。
(7)再把遺傳算法產(chǎn)成的數(shù)據(jù)信息,調(diào)整到蟻群算法初始輸入數(shù)據(jù),建構(gòu)解決排課問題的模型——二分圖,即將課程、授課教師、授課班級(jí)、班級(jí)人數(shù)的元組集合為二分圖左側(cè)的頂點(diǎn)集合,將上課時(shí)間、上課教室、教室容量的元組集合為二分圖左側(cè)的頂點(diǎn)集合,左側(cè)與右側(cè)形成映射,二分圖的權(quán)值根據(jù)一些對(duì)時(shí)間的特殊要求來設(shè)定。
(8)蟻群算法參數(shù)初始化設(shè)置,蟻群算法迭代次數(shù)初始化(設(shè)置為0)。
(9)將m只螞蟻放在二分圖左側(cè)的頂點(diǎn)集合中,為每只螞蟻建立禁忌表以及可以選擇的右側(cè)頂點(diǎn)集合表,經(jīng)過多次測(cè)試螞蟻設(shè)置10只即可滿足需求。
(10)選擇好每只螞蟻訪問過的全部路徑,按照轉(zhuǎn)移概率和全部排課約束條件;
(11)記錄全部路線,螞蟻完成一次迭代;
(12)計(jì)算出全部路徑的長(zhǎng)度,并選擇出最佳路徑的值;
(13)記錄最優(yōu)路徑信息,刪除其他路徑;
(14)判斷是否滿足終止條件(經(jīng)過多次測(cè)試蟻群算法迭代次數(shù)設(shè)置為300,可較好地滿足全部需求)。若滿足時(shí),終止執(zhí)行,并給出最優(yōu)路徑信息;若不滿足,則蟻群算法迭代次數(shù)加1,返回“9”繼續(xù)開始新一輪迭代。
采用遺傳算法與蟻群算法解決排課問題混合流程,如圖1所示:
圖1 排課問題遺傳算法與蟻群算法混合流程圖
通過以上算法模型,實(shí)現(xiàn)的自動(dòng)排課軟件,如果排課需求設(shè)置較為完善,自動(dòng)排課率可以達(dá)到90%左右,對(duì)于其他10%的剩余課程,排課人員可以通過人機(jī)交互功能輔助完成,達(dá)到智能化排課的目的。
目前,基本所有的排課軟件均處于在人工設(shè)置約束條件的基礎(chǔ)上,解決沖突問題,約束條件越細(xì)致排課的沖突率就越高,而沖突代表必要約束條件,人工設(shè)置的約束條件一般為優(yōu)化約束條件,算法大部分采用了二個(gè)算法混合,沖突性與合理性間的矛盾統(tǒng)一是現(xiàn)階段主要解決的問題,大部分軟件采用智能編排與手工編排結(jié)合的形式完成。
未來一段時(shí)間,人工神經(jīng)技術(shù)的發(fā)展會(huì)出現(xiàn)較好解決排課問題的新算法。在優(yōu)化條件較多的情況下,實(shí)現(xiàn)軟件自動(dòng)設(shè)置規(guī)范強(qiáng)制要求條件和學(xué)校特殊規(guī)定條件[3],人工參與設(shè)置個(gè)別課程特殊要求的設(shè)置,排課軟件可以完全解決課表編排的沖突性問題,使課表更趨于合理,資源利用率明顯提升。
在教育信息化時(shí)代,以上研究結(jié)合個(gè)人工作經(jīng)歷,總結(jié)了國內(nèi)排課軟件目前存在的主要問題,增加了特殊約束條件,對(duì)排課約束性條件進(jìn)行了優(yōu)化,對(duì)算法優(yōu)化思路進(jìn)行了引導(dǎo),并提出了智能排課軟件的發(fā)展方向,此研究可為高校信息化建設(shè)提供參考依據(jù)。