龍軍
摘要:各類(lèi)大中專(zhuān)院校的補(bǔ)考安排是教務(wù)管理的一項(xiàng)重要工作,本文根據(jù)補(bǔ)考安排的特點(diǎn)結(jié)合矩陣方法和最佳擬合法提出了一種算法,并且利用MS Excel VBA實(shí)現(xiàn)了補(bǔ)考的自動(dòng)安排,在實(shí)際應(yīng)用中較好的滿(mǎn)足了這類(lèi)工作的要求。
關(guān)鍵詞:補(bǔ)考;自動(dòng)安排;VBA;Excel
中圖分類(lèi)號(hào):TP311 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2014)26-6217-05
Abstract: Make-up exam arrangement in colleges and universities is an important and key task. On the make-up exam management features combined with matrix technology and best-fit method ,this paper presents a algorithm of makeup exam automatic arrangement.The paper realizes the algorithm in MS Excel. In the practical application,the algorithm satisfies this kind of requirement well.
Key words: Makeup exam; Automatic Arrangement; VBA; Excel
補(bǔ)考安排工作是教務(wù)管理的一項(xiàng)重要工作,隨著這幾年招生規(guī)模的擴(kuò)大,學(xué)生人數(shù)增加較快, 專(zhuān)業(yè)更新快,課程增加多,教學(xué)資源緊張,同時(shí)學(xué)生學(xué)習(xí)主動(dòng)性與學(xué)習(xí)風(fēng)氣也存在一些問(wèn)題導(dǎo)致期末考試未及格人次也在不斷增加,手工安排補(bǔ)考方式出錯(cuò)機(jī)率大且效率低,很不適應(yīng)現(xiàn)代教務(wù)管理的實(shí)際需求,實(shí)現(xiàn)期末補(bǔ)考自動(dòng)安排已成為教務(wù)管理的迫切需求。以我校醫(yī)藥系為例,學(xué)生數(shù)近4000人,每學(xué)期開(kāi)設(shè)100至200門(mén)課程,每個(gè)學(xué)期成績(jī)記錄達(dá)40000至50000條,每學(xué)期大約達(dá)800至1500科目人次補(bǔ)考,補(bǔ)考安排需要一名工作人員用1周左右才能完成。因此,教務(wù)管理部門(mén)迫切需要用計(jì)算機(jī)自動(dòng)進(jìn)行補(bǔ)考安排,提高補(bǔ)考安排的效率與質(zhì)量。該文使用實(shí)際數(shù)據(jù)分析后提出了一種能滿(mǎn)足期末補(bǔ)考要求的算法,并且用MS Excel VBA實(shí)現(xiàn)了這個(gè)算法并應(yīng)用到實(shí)踐當(dāng)中。
1 問(wèn)題概述
根據(jù)本人所在院系組織補(bǔ)考的實(shí)際情況, 補(bǔ)考安排算法要解決的問(wèn)題: ①補(bǔ)考科目如何安排才能不沖突(沖突是指同一考生在同一時(shí)間參加2門(mén)以上科目的考試); ②同場(chǎng)次考試科目要盡量多,場(chǎng)次盡可能少;③同一場(chǎng)次的考生如何安排才能使得考場(chǎng)數(shù)量最少;④考試人數(shù)多的科目盡可能先安排補(bǔ)考。少數(shù)科目補(bǔ)考人數(shù)多達(dá)幾十甚至達(dá)上百人數(shù),但大部分科目補(bǔ)考人數(shù)在幾人左右,有些科目甚至只有1人,補(bǔ)考考場(chǎng)安排時(shí)一般多個(gè)科目安排在一個(gè)考場(chǎng)中;補(bǔ)考一般安排開(kāi)學(xué)后的1-2周內(nèi)進(jìn)行,由于補(bǔ)考場(chǎng)次相對(duì)少并且安排在非教學(xué)時(shí)段,不存在監(jiān)考教師和考場(chǎng)不足的問(wèn)題。補(bǔ)考排考最重要的限定條件為同一時(shí)段同一考生不能考兩門(mén)或兩門(mén)以上的課程[1-2]。
2 數(shù)據(jù)準(zhǔn)備
3.1基本思路
整個(gè)算法分成二大步。首先根據(jù)所有補(bǔ)考科目情況(某門(mén)科目有哪些人參加補(bǔ)考)建立一個(gè)沖突矩陣(aij),它是一個(gè)對(duì)稱(chēng)方陣,把補(bǔ)考科目依次編號(hào),和矩陣行列序號(hào)對(duì)應(yīng),矩陣元素的值定義為同時(shí)任何補(bǔ)考這2門(mén)科目的考生數(shù),例如產(chǎn)科學(xué)基礎(chǔ)與社區(qū)護(hù)理學(xué)編號(hào)為2和3,假設(shè)只有李丹和吳廷鋌2人都補(bǔ)考這2科,那么a23=a32=2,對(duì)角線上元素的值為科目的補(bǔ)考人數(shù),每一場(chǎng)補(bǔ)考科目看作一個(gè)集合,第一場(chǎng)對(duì)應(yīng)集合S1(場(chǎng)次序號(hào)和集合序號(hào)對(duì)應(yīng)),其他的一次類(lèi)推即Si(i=1,2,…)。所有補(bǔ)考科目組成集合M。在余下的科目中找出補(bǔ)考人數(shù)最多的科目作為集合S1的一個(gè)元素,然后順次檢查其他的科目,根據(jù)沖突矩陣如果科目和已經(jīng)加入的到集合一中的元素沒(méi)有沖突則加入到集合S1,否則檢查下一科目,直到集合不再有元素加入。對(duì)于其他集合重復(fù)這個(gè)過(guò)程,直至所有科目安排完畢。
5 結(jié)束語(yǔ)
利用Excel VBA開(kāi)發(fā)補(bǔ)考安排系統(tǒng)簡(jiǎn)單易行,不需要搭建其他開(kāi)發(fā)平臺(tái),只要電腦安裝Office辦公軟件即可。最大的優(yōu)點(diǎn)是Excel表本身就可以看作一個(gè)可視化數(shù)據(jù)庫(kù),數(shù)據(jù)編輯修改方便直觀,真正的所見(jiàn)即所得,并且可以自由調(diào)整排考結(jié)果輸出格式,充分利用了Excel對(duì)數(shù)據(jù)處理的優(yōu)點(diǎn)。但一個(gè)明顯的限制是Excel表格最大容納行數(shù)是有限的,Office 2003是65536行,Office2007以上版本是1048576行,對(duì)于補(bǔ)考安排一般足夠了,本算法具有一定實(shí)用性和推廣性,也可為其他工具實(shí)現(xiàn)補(bǔ)考安排提高一種解決的問(wèn)題的思路和參考。但是算法在智能性方面還有待提高,例如找出所有排考組合中那種組合使得場(chǎng)次最少,怎樣安排使得考生連考的次數(shù)最少,下一步的工作是改進(jìn)算法,便于解決這些問(wèn)題。
參考文獻(xiàn):
[1] 黃勇, 程節(jié)華. 一種實(shí)用的自動(dòng)排考算法[J]. 農(nóng)業(yè)網(wǎng)絡(luò)信息,2007(6):99-100.
[2] 王東. 高校補(bǔ)考自動(dòng)排考算法的設(shè)計(jì)與實(shí)現(xiàn)[J]. 貴州師范學(xué)院學(xué)報(bào),2012,28(12):20.
[3] 蔣鵬, 李光明, 嚴(yán)峻. 一種教室優(yōu)先的補(bǔ)考排考算法[J]. 重慶工學(xué)院學(xué)報(bào)( 自然科學(xué)),2008,22(12):121-126.