• 沒有找到結果。

應用資料探勘技術於排課系統之研究

N/A
N/A
Protected

Academic year: 2022

Share "應用資料探勘技術於排課系統之研究"

Copied!
15
0
0

加載中.... (立即查看全文)

全文

(1)

應用資料探勘技術於排課系統之研究

王耀德

靜宜大學資訊管理學系 [email protected]

任書鳴

嶺東科技大學資訊網路中心 [email protected]

摘要

大專院校排課業務上考量的變數非常 多,包括課程特色、教室容量與教師專業 等,這些變數都會影響到排課結果,而這 結果也將牽動全校師生未來半年的作息。

歷年來排課研究多以學校的角度出發,依 據系所特色規劃課程,鮮少由學生的需求 出發,然而排課影響最大的卻是學生。

本研究在排課初期即將學生的選課行 為與成績表現納入考量,利用資料探勘技 術挖掘學生歷年的選課資料,將關聯強的 課程錯開安排在不同時段上課,增加學生 選課成功的機率。同時亦分析學生成績,

將學習理想的時段優先安排。學生衝堂減 少使開課數目相對減少,師資與設備投資 也因此減輕,資源可用在其他的教學改善 上,提升整體教學品質,創造出『學生』、

『教師』與『學校』三贏的局面。

關鍵詞:資料探勘,關聯式法則,基因演 算法,FP-Growth 演算法,自動排課。

一、 緒論

今日已經是一個資訊爆炸的時代,尤 其是網路興起,資訊變得廉價而且氾濫,

引發出的問題是,資訊雖然垂手可得,但 是哪些才是需要的、具有價值的,在適當 的時機可以篩選出最適合使用者參考與決 策。在教學的領域上,排課工作在每學期 的初期即是一項艱鉅工程,學校在課程規 劃上,最理想的情況是做到使用最少的資

源,將排課的結果最佳化,除了師資、教 室與教學設備等資源考量,最大的希望是 排課工作結束之後,能夠契合課程相關師 生的期待,老師在心中的理想時段授課,

學生修習到具有興趣的課程,在新的學年 度引發高度的教學熱誠與學習興趣。

排課的工作雖然辛苦,而且不可能複 製前一年的課表在今年延用,如果是中小 學,由於課程與師資變動性不大,排課或 許可以參考歷史資料,不需要太大的修改 即可完成新學期的課表,但相對於大專院 校之課程、學門與教授研究領域的多樣 化,其問題的複雜性可想而知,過去有許 多這方面的研究,希望在課程安排上找到 最佳解。可惜的是,今日排課系統的考量 與設計已經趨近完整,但是仍然無法反映 學生的意願,因為,多數的研究是以學校 的角度做出發點,系統設計的考量集中在 教師授課時段、教室設備與教學資源等學 校面,反而忽略了學生的需求,學校將將 開設課程陳列在網頁上,提供學生選課,

學生只能夠在受到限制的範圍內找自己有 興趣的課程,因此,上課的時段也成為學 生選課時最困擾的問題,有興趣的課程可 能發生衝堂而無法兼得,因為排課並未考 慮受到歡迎的課程之間可能具有關聯,學 生選課衝堂時必須割捨其中之一。本研究 主要在課程的安排上利用資料探勘技術,

將關聯強的課程作互斥處理,同時使用基 因演算,指派課表時淘汰學生學習力不佳 的節次,智慧的排出多個版本課表,供決 策者挑選。

本文第二章文獻探討將排課研究與資 料探勘技術做一整理與回顧,同時提出本 研究之改進方向,第三章說明本研究中產 生關聯課程資料表的處理方式與課程指派

(2)

的模式,第四章以一個系所的排課作為實 例說明,最末一章結論分析。

二、 文獻探討

學校校務資訊e 化的建置以五大系統 為基礎架構,包含教務、學務、總務、人 事與會計系統。其中以教務系統的複雜度 最高,而教務系統中又以排課系統最為困 難,並且直接影響全校師生的作息。過去 許多研究都希望能夠藉由資訊技術幫助課 務人員在業務上提高效率與滿意度。人工 智慧(Artificial Intelligence, AI)的出現更將 排課作業自動化,但是歷來專家學者在中 小學上著墨較多,大專院校因為資源多面 向,整合不易,研究反而乏善可陳。本文 冀盼改善歷來研究瓶頸,針對大專院校排 課作業提供一個可行方案。參考之相關文 獻依據研究內容分三部份,敘述如下:

(一)、排課

大學課務業務主要的集中在排課與選 課上面。在排課方面,必須考量多方資源,

包括課程、教室資源、教學設備、時間節 次與師資等,由於統籌資訊龐雜,短時間 內必須在各種不同的資源限制裡面找出可 行解。例如英語、數學、理化盡量排在上 午上課,電腦、音樂與美術使用到專業教 室,與教室的設備和資源有關,前者影響 排課限制較小,後者影響大,邱元泰[9]、

熊 雅 意[15] 、 Edmund[31] 與 Christian Blum[26]等人研究參考生物演化的方式,

配合限制條件不同,利用基因演算法計算 排課結果。鄭惟中[18]將排課人員的經驗 轉化並儲存到知識庫,藉由知識管理提高 系統的效率與正確性。許武義[11]將人工 排課的經驗列出各項限制,再以教師與科 目配對、教師科目與節次配對、班級配對,

研究排課的優先序,提高排課的效率。吳 正宇[3]使用禁忌搜尋法(taboo search)找尋 排 課 的 方 案 , 利 用 圖 形 著 色 理 論(graph color theory)建構求解排課問題。李麗華和 邱 永 祥[5] 在 推 廣 教 育 上 使 用 一 對 一 行 銷 , 運 用 客 戶 關 係 管 理 (customer

relationship management, CRM)觀念,依據 學員報名資料、活動紀錄,用資料探勘的 方法了解學員的行為和需求,建議新的課 程,幫助學員成長,提高學員的滿意度。

蕭榮亭[20]使用荷蘭氏拍賣的方式,以教 師對自己的授課節次滿意度為籌碼與其他 教師的節次交換,設計以效用函數評估交 易結果得以完成課表。歷年來排課的研究 不勝枚舉,本論文參考之國內外論述整理 如附件一之年表一與附件二之年表二。歷 來研究多以學校角度出發[17,28,33],試圖 將週課表求出可行解,本研究提出另一排 課思維—以大專院校之排課作業為研究對 象,考慮學生的需求,並以最少的資源自 動產生不同版本的排課結果,提供課務人 員進行決策時參考之用。

(二)、關聯式法則(Association Rules)

關聯式法則一般用在從大量的資料集 合之中找出隱含而有趣的關係[38]。最常 見到的例子是購物籃分析(Market Basket Analysis) 。 支 持 度 (support) 與 信 賴 度 (confidence)二個參數幫助判斷所找出的 關聯式法則是否有意義[24,25]。Apriori 演 算法[34]為探勘關聯式法則的代表,但是 Apriori 演算法需要多次掃瞄資料庫,而且 會 產 生 大 量 的 候 選 項 目 集 合(candidate itemsets),因此 Apriori 掃瞄的資料庫越 大,耗費的時間越多。除了早期的Apriori 演算法之外,許多學者專家提出不少的改 進Apriori 效率方法,如附件三,其中較具 代表性的包含DHP 演算法[23],其基本精 神是減少候選項目集的個數使計算量減少 而增進效能。分割演算法[40],採用分段 式挖掘的演算法,將資料切割成較小的資 料 區 塊 增 進 挖 掘 的 效 率 。 抽 樣 演 算 法 [42],認為掃描整個資料庫不是經濟的作 法,從資料庫中隨機取樣,只對樣本作資 料探勘,可大量減少資料量使演算效能提 升。DIC 演算法[45],類似分割演算法,

方式是以區塊為單位搜尋取代整個資料庫 的搜尋,有效減少搜尋資料庫的次數來增 加演算速度。FP-Growth 演算法[27]只需要 掃描資料庫兩次,第一次掃瞄找出長度為 1 而且支持度符合門檻值的高頻項目集,

(3)

然後將出現的高頻項目集合依照出現的頻 率由大到小排序,建立Header table。在第 二次掃瞄資料庫時,依據 Header table 過 濾掉資料庫中低於門檻的項目集。排序資 料庫中每筆交易的高頻項目集的順序,接 著 依 據 這 些 高 頻 項 目 集 幫 助 建 構 出 FP-Tree,再分別由 FP-Tree 上的每條路徑 的節點產生Conditional pattern base,依據 這 些 Conditional pattern base 建 構 出 Conditional FP-Tree 後,即運用 FP-Growth 演算法取出高頻項目集,此演算法只需要 掃瞄資料庫兩次,是目前已知最快的演算 方法之一。

以本研究之學生選課課程探勘為例,

假如多數學生選了『多媒體』課程的同時 也選了『電子商務』課程,『多媒體』與『電 子商務』兩者即是一種關聯,這樣的資訊 在本研究中變得非常有價值,因為二門課 程同時受到多數學生歡迎,分開在不同時 段上課可以滿足他們的需要,如果排課的 結果是在同一時間上課,將會造成企圖選 修這二門課程的學生衝堂,喪失修習其中 一門課的機會,只能選擇其他意願較低的 課程,學習興趣和學習效果可能因此打了 折扣,不易提昇教學品質。往年在關聯式 法則的研究多傾向以正面角度找出用途,

利用其相依關係幫助分析[2,4,8,11-14],本 研究使用反向思考,具有相依關係時在用 途上則互相排斥,在排課上以對立手法處 理其關聯資訊。

(三)、基因演算法(Genetic Algorithms, GA)

基因演算的起源可追朔到達爾文[22]

出版物種緣起(The Origin of Species)一書 中提出他對生物進化的理論『物競天擇,

適者生存』。基因演算也是依據這個原理,

最早由Holland 在 1975 年提出[22],藉由 電腦模擬生物演化的機制,基本的精神是 仿效生物界優勝劣敗的自然進化法則,演 算的目的是希望求出適應能力強的下一 代,利用反覆計算幫助人們找出問題的最 佳解 [7,9,15,21,26,31,44]。在演算的過程 中,透過適應函數過濾出新的一代,對於 未能符合適應函數的結果,都會在下一代

消失而被淘汰,如圖1 所示。

圖1 基因演算流程

基因演算的過程中,最重要的工作即 是染色體內的基因交換,產生新一代的染 色體。如圖2,上一代 A’與 B’染色體以亂 數決定互換的基因。經過交換後,產生下 一代的 A 染色體與 B 染色體,新的 A 染 色體基因成為 B1,A2,B3,……An,B 染色體的基因成為,A1,B2,A3,……Bn

圖2 染色體交換產生新世代 本研究在週課表的每個指派節次設計 成本函數(cost function)。成本函數與基因 演算法的適應函數成反比,亦即,成本函 數越低者表示適應程度越好,成本函數值 越趨近零的週課表將會是最佳的結果。

三、 研究方法

本論文之研究方法分為二個階段,第 一階段著重在探勘出學生選課課程之間的 關連性,並將其資訊建立出課程關聯資料 表,提供排課參考。第二階段將關聯資料 表的課程錯開排課,使用基因演算優勝劣 敗的原理,求解出課程在週課表中最適合 的節次。

(一)、建立課程關聯資料表

此階段的研究重點在於運用資料探勘

(4)

中關聯式法則的演算技術,由歷史選課資 料中找出課程之間的相關性,並將具有關 聯的課程集合設定一組關聯代碼(AssoID) 存入課程關聯資料表,提供後續課程指派 的識別參考。探勘課程關聯資料表演算法 如圖3 所示。

1 2 3 4 5

6 7

8 9 10

11

12 13 14 15

16 17 18 19 20

21 22 23 24 25

Algorithm: Associated courses mining Input:A dataset D of FP_FREQUENT table, minimum support S //每一名學生之選課資料 Output:A table ASSOCOURSE of the strong associated courses //關聯資料表

for each course C in D do;

count the support of C; //求課程支持度 endfor;

for all courses with C.support ≥ S do

create course list F in which the courses are ordered by C.support; //排序並除去未達到門檻 endfor;

scan D to create FP-Tree T according to the course order in F; //繪製 FP-Tree

for each course Ci in the header table do call FP-Growth(T, Ci);

create the associated course table ASSOCOURSE by the courses in all frequent itemsets; //求關聯

endfor;

Procedure FP-Growth(Tree: T, Node: α) if T contains a single path P then

for each combination (denoted as β) of the nodes in the path P do

generate pattern β ∪ α with support = minimum support of nodes in β;

endfor;

else

for each ai in the header of T do

generate pattern β = ai ∪ α with support = ai.support;

construct β’s conditional pattern base and then β’s conditional FP-tree Tβ;

if Tβ ≠∅ then

call FP-growth(Tβ, β);

endif;

endfor;

endif;

圖3 關聯課程資料表演算法 分析

使用者指定要做資料探勘的學年學 期與系所,系統根據指定的系所掃描資料 庫中當學期全部的選修課程記錄,並且求 出這些選修選課資料中每一門課程的支持 度,過濾未達到最小支持度的課程,再依

照學生別排列該生的選修課程,相同學生 多門課程時依照課程支持度由大而小排 序,資料的呈現方式是先將相同學生的記 錄集合在一起,再依據學生的選修課程排 序,排序的方式不是依照選課順序,而是 依照課程的支持度,支持度高的在前,低 的在後,做降冪排序。再逐筆讀取選課臨 時資料表,建構 FP-Tree 資料表。其方式 是由每一筆資料記錄逐一取出課程名稱,

第一門課程取出後即由 Tree 的根節點開 始與原來存在根節點之下的課程資料比 對,遇到相同時則將該課程的節點的計數 數目加入 1,繼續再以次一門課程與 Tree 次一層資料比對,找到相同課程名稱時再 將該課程的節點的計數數目加入1 後再繼 續往下層比對,如果比對時沒有發現次一 層有相同課程,則增加一新的課程資料到 Tree 的次一層,並將該課程的節點數目設 定為 1,當一筆記錄的課程逐一比對完畢 後,資料隨即指向下一筆記錄,繼續逐一 取出課程並且由 Tree 的根節點開始繼續 與 FP-Tree 資料表的課程比對,反覆計算 至全部的臨時資料表結束。

當 FP-Tree 繪 製 完 成 後 接 者 進 行 FP-Growth 演算,求課程之關聯資訊,演 算前先產生一 Header table 臨時資料表,

記錄符合最小支持度之課程名稱與課程支 持度,並且按照各個課程支持度排序,接 著在 Header table 中由支持度最低的課程 開始掃描 FP-Tree 資料,由最長路徑開始 取出各個節點課程名稱,並將這些課程存 入暫時的資料表中,每遇到相同課程隨即 對暫時的資料表中的該課程計數器加 1,

例如 Header table 中課程為『模糊理論,

資訊安全,策略管理』,以『策略管理』之 支持度最低,其次是『資訊安全』,最後才 是『模糊理論』,掃描FP-Tree 即由『策略 管理』開始往Tree 的根節點搜尋課程,結 束後會產生一組課程資料,移除未達到最 小支持度的課程後,這些剩下的課程即具 有關聯性,但是在存入課程關聯資料表之 前還要再與該資料表的資料先比對一次,

如果這次產生的關聯集合沒有被資料表中 的關聯集合包含才儲存,被包含則忽略,

(5)

例如計算結果『模糊理論,資訊安全』具 有強關聯,但是在課程關聯資料表中已有 記錄『模糊理論,資訊安全,策略管理』

三門課程為強關聯,則此次計算結果已被 包含,演算時則不存入課程關聯資料表 中,如果是一組新的強關聯課程資料,本 研究即設定一組不會重複的關聯代碼,連 同產生的關聯課程資料一起存入關聯課程 資料表。持續由Herder table 中支持度最低 的課程依序逐一取出並掃描 FP-Tree 資 料,反覆演算建立出關聯課程資料表。提 供自動排課時使用。

(二)、以基因演算自動排課

一般而言,排課過程求最佳解的難度 甚高,本研究對每門課程排課的可使用節 次設定一個成本函數,成本函數相當基因 演算的適應函數,二者涵義相反,越理想 的節次成本值越低,透過基因演算法將高 成本函數的課程安排逐一置換,如果置換 後成本函數值低於置換前,則設法保留置 換後的結果,如果置換後高於置換前,則 不做更換,仍然維持置換前的課程課表。

反覆演算直到成本函數無法再降低,取得 排課的最佳解。

成本函數=教師意願+週課表教師 開課節次出現頻率+學生學習能力

以往的排課研究忽略了真正需要使用 排課結果的學生與老師之需求,而且這些 研究並未考慮到妥善運用資源的重要性,

因而增加學校的營運成本,本研究即針對 上述缺失提出改善方法。如圖 4。

1 2 3 4

Algorithm: Automatic course scheduling

Input: A dataset D of frequent elective courses of a department //每一名學生之選課資料 Output:A set of feasible course timetables of the

department //關聯資料表 i = j = 1;

let Ci be the course in D with the first priority ordered by soft constraints; //候選課程順序 while (there exists Ci not being assigned to the

timetable)

inspect the courses associated to Ci; //Ci有關的強關 聯課程表

5

6 7 8

9 10 11 12 13 14

15

16 17 18

19 20 21 22 23 24

25 26 27 28 29 30 31 32 33

34 35 39

assign Ci to the non allocated periods that have least cost //空時段以成本函數排序

and avoid conflict of associated courses //迴避強關 聯課程

and do not violate hard constraints; //迴避硬式限制 if Ci cannot be assigned to the timetable then

remove all periods allocated to Cj-1; //移除前一筆 課程已排週課表

record the information of violated soft constraints;

//記錄違反限制的資訊 j--;

else j = i;

i++;

endif;

endwhile;

// GA algorithm

create the COURSE_COST table CT in which the courses are sorted by the allocated cost in descending order; //成本小計排序 i = 1;

pick the course Ci from CT;

while (Ci.cost > 0 and Ci’ != Ci and Ci is not the last course in CT)

j = i+1;

for the following course Cj in CT do let Cj’ = Ci, Ci’ = Cj;

SUMa = Cj.cost + Ci.cost; //加總交換前成本 SUMb = Cj’.cost + Ci’.cost; //加總交換後成本 if exchanged periods of Cj’ or Ci’ not conflicts

with those of the associated courses in ASSOCOURSE table

and minimus(SUMb)< SUMa then

//交換後未違反關聯法則與成本優於交換前 exchange the periods of Cj with those of Ci;

exit endif;

j++;

endfor;

if Ci is not exchanged with Ej then i++;

else

sort the courses in CT by new allocated cost in descending order;

i = 1;

endif;

endwhile;

圖 4 自動排課演算法

(6)

分析

自動排課系統模組分為二個部份,第 一部份設定等後排課課程的候選先後順 序,第二部份將課程指派進入週課表並將 結果最佳化。茲說明如下:

系所內每學期開課有數十門課程,每 一門課程都需要排入週課表,指派的過程 是一次一門課進入週課表,決定這數十門 課程的先後順序非常重要。依據課務人員 的經驗,指派課程的候選順序依序為:

1..全校統一課程最優先指派,例如週 班會與聯課活動等。

2.連續上課時數越長的課程越優先,

連續上課三節要優先於二節的課程。

3.教師在一週中可用天數由少的老師 要優先於多的老師,例如每週必須使用二 天進修學位的老師優先排課。

4.職務等級影響由高而低,擔任行政 主管的老師因為部分時段兼任行政工作,

可用的時間相對減少,必須優先排課。

5.課程特性必須在特殊時段由少而 多,有的課程為了幫助學生的學習,不適 宜安排在午後或當日最末節,例如體育課 中午的時段不適合,相對的週課表上體育 課可用的節次比一般課程少,所以體育優 先其他課程。

6.使用專業教室的課程優先,目的在 避免一般課程先排而佔用了專業教室。

第一部份著重在系所內的開課課程指 派到週課表的各個節次內,依照上述優先 順序讀取候選課程,每次一門課程,當課 程名稱讀入記憶體後,先用該課程去找尋 課程關聯表內是否有相同的課程,如果有 即表示這門課程與其他的課程具有強關 聯,意謂排課時必須注意相關聯的課程是 否已經存在於週課表中,因為佔用的節次 必須迴避,不可重疊。方式是以課程名稱 到關聯資料表中,取得關聯代碼,再用關 聯代碼找出其他課程名稱,最後再以這些 課程名稱到週課表資料裡找出已經使用節 次明細,並且將明細上的節次設定除外。

除了迴避關聯課程的節次之外,週課表中 剩下的節次並不是完全可以使用,因為還 要迴避與硬式限制有關的課程所佔用到的 節次,例如授課老師不可以在同一時間出 現在二間教室,所以已經排過的節次不可 再被使用,又週課表中每一節次不可有二 門課程上課,所以已經被其他課程使用的 節次也不可排課等等。除了以上,剩下的 節次才可以排入課程,但是剩下的節次並 不可以任意指派,演算的方式是掃描出資 料庫中老師往年在每一個節次的開課頻 率,以出現次數最高的時段先做出降冪排 序,最高的節次擁有最優先指派進入週課 表的權利,程式進行至此還必須蒐集以下 資訊才可排課,包括參考教師的意願,教 師原來的作息時間改變,原來經常開課的 時間可能因新學年有參予研究案,或擔任 行政主管,授課時間與原本優先的時段牴 觸,程式也必須迴避。除此之外,學生的 成績分佈也是排課的考量重點,當一門課 程在他的歷史資料中,上午上課的成績普 遍優於下午上課的學生成績,排課即以上 午的節次優先指派,最後,第一部份滿足 以上限制要將課程放入週課表時,只剩下 一個問題,是否還有理想時段可以滿足該 課程,如果課程是三學分三小時連續上 課,假如要指派的優先節次是星期二的上 午第三節,問題隨即發生,指派時會發現 課程跨越第四節與第五節的中午休息,原 來星期二的上午第三節被視為優先的節次 反而不理想,無法成為適合指派的時段,

程式必須往下找出次優先的節次排課。

第二部份目的是補強前半部的排課結 果,設法將課表最佳化,程式第二部份是 以基因演算法完成。方法是將第一部份課 程指派結果,加總每一門課程的節次指派 成本,並且依照課程別由成本最高的課程 往成本越低的課程排序,因為成本越高的 課程表是違反現制越多高,在週課表中屬 於不理想的一群,會發生這樣的原因是第 一部份排課先指派的課程會得到理想的時 段,後指派的課程只能在剩下的時段中找 出比較理想的,甚至可能排在成本最高的 節次上課,基因演算法是將成本高的課程 與其他課程的週課表節次對調,每次做兩 兩互換,然後將互換前後的成本成本加總

(7)

比對,如果新的成本低於互換前的課表成 本,則將互換後的結果保留,接著在將新 的結果排序一次,再將成本最高課程的與 其他的課程節次互換,再比對互換前後的 成本,如此往復計算到成本無法再降低即 停止。

四、 實驗結果

以下以一個實際案例,說明關聯課程 資料表之探勘與基因演算法之排課過程,

採用九十四學年度第一學期二技財金系選 課記錄進行關聯資料探勘,並以九十五學 年度第一學期二技財金系開課課程進行排 課。

步驟一,表1 為財金系的選修課程,

根據財金系每一門選修課程選課人數作降 冪排列,同時計算每門課程在該系的支持 度,財金系共有八門選修課程,我們將最 小支持度門檻設在百分之十,在這八門課 程中,未達到最小支持度的二門課程『證 券投資分析』與『國際金融』會在進入下 個步驟前剔除。

表1 選修課程選課支持度排序

步驟二,計算每一名學生的選課資料排 序,排序方式不是依照選課先後,而是依 照課程的支持度由高到低排列。如

表2 為程式演算的暫存資料,每一筆 記錄表示該系一名學生。第一筆記錄,學 號934F001 的同學只選修一門課程『不動 產投資管理』,第二筆記錄的學生則選修

『金融市場』、『證券交易實務』、『應用軟 體(一)』、『貨幣銀行學』與『金融數學』

五門課程,資料中因為『金融市場』的選 課人數最多,在全部課程裡支持度最高,

排列在最前端。

步驟三,以

表 2 的 資 料 建 立 FP-Tree , 運 用 FP-Growth 演算法找出關聯課程資料,並 將探勘出來的資料存入本研究所設計的關 聯課程資料表(AssoCourse)中,在關聯課程 資料表之中對於同屬一組的強關聯課程,

賦予一組關聯代碼,提供後序的排課演算 使用。例如『金融市場』、『證券交易實務』、

『應用軟體(一)』、『貨幣銀行學』與『金 融數學』五門課程探勘為強關聯課程,如 表5 的關聯代碼(assoid)經演算統一設定為

『10305』。

表2 學生別選課暫存資料

步驟四,開始進入排課演算,如表 3 以『二財金3A』班級為例,由『貨幣銀行 學』起至『生涯、群己與人倫』止共 11 門課程,資料中欄位cuno 表示課程編號、

cuname 表示課程名稱、cls_name 表示開課 班級、teaname 表示授課教師、ctms 表示 該課程連續時數、wtms 表示課程的週時

(8)

數、etms 表示該課程已經排入週課表的時 數、gtms 表示應排未排課時數。課程逐一 指派進入週課表。

表3 第一迴圈候選課程資料表

排課演算每次取出一門課程,表3 中 第一門課程『貨幣銀行學』因連續上課時 數為三小時,高於其他課程的二小時或一 小時,依照章節3.1 的順序『貨幣銀行學』

屬於第一優先候選課程,必須先排入週課 表之後,才可繼續指派其他課程。當『貨 幣銀行學』排入週課表之後,候選課程的 排列順序將發生變化,如表 4『應用統計 學』在第二迴圈遞補成為首選,又因剩下 課程連續時數皆為二小時,但是『應用統 計學』與『財務管理』的週時數為三小時,

比其他課程為多,同時二門課程的授課教 師以郭老師擔任行政主管,在整週的可用 時段因兼行政職務而相對較少,故以郭老 師的『應用統計學』先行指派。原先的貨 幣銀行學因為週時數為三小時,連續上課 時數亦為三小時,在指派週課表時只需一 次即排完該課程,故在表4 第二迴圈的資 料中該課程已不存在。

表4 第二迴圈候選課程資料表

第二迴圈的課程『應用統計學』因為週時 數為三小時,連續上課為二小時,即排課 時一次只會指派二節到週課表,因此剩下 一節,演算不會將剩下的一節繼續排課,

而是進入第三迴圈,並且將課程繼續加入 排序。如表 5『應用統計學』因時數只有 一節,為全部課程最少者,故在新的迴圈 敬陪末座。迴圈往復取出課程指派,應排 未排的時數逐步減少至零,演算即結束。

表5 第三迴圈候選課程資料表

步驟五,前一步驟的候選課程產生 後,第一個工作即是以課程名稱搜尋關聯 課程資料表是否已有強關聯課程存在,例 如表6 課程『貨幣銀行學』在知識庫的關 聯代碼為『10305』,此即表示該課程與其 他課程具有強關聯,相同關聯代碼的課程 已經佔用的節次,排課指派必須迴避,不 可將『貨幣銀行學』再排入設定迴避的節 次中,僅可在剩餘的節次資料選擇優先指 派順序。如表6 所示,關聯代碼『10305』

有關的課程(cuname)所佔用的週課表節次 (W0)都避免指派。

表6 關聯課程資料表課程已排課資料

(9)

指派週課表的優先順序如表7 顯示,

『貨幣銀行學』徐老師歷年排課統計,在 星期一的第二節出現10 次,指派的節次即 將星期一第二節列為最優先,如果該節次 指派時發現被占用,才會選擇其次是出現 9 次的星期一第一節,依序類推直到所有 節次都不堪指派時,即以該課程以往學生 的學習表現進行排課參考。

表7 歷年週節次開課頻率

步驟六,將課程指派進入週課表之 後,並不表示週課表已經完成,因為在排 課的過程中,指派節次的成本函數值或許 不是最低的,因為最低成本函數可能在指 派前已經被其他課程占用,基因演算的目 的是將週課表最佳化,求出週課表的最適 解。

基因演算以班級為單位,將班課表以 課程別排序,每一門課程的週授課時數可 能不同,週課表上不同的節次成本函數值 可能也不相同,演算時以課程別分別加總 其成本函數值,再依照各個課程成本函數 小計由高往低降冪排序,成本函數越高的 課程越前。通常在上一步驟中越晚指派的 課程在完成指派之後成本函數也最高,因 為理想的節次已經被前面的課程所佔用。

基因演算法的處理方式是以全班成本函數 最高者與其他課程的節次互換,計算互換 後的新成本函數值與交換前的成本函數值 比對,並將交換後數值小的課表資料保 留。逐一比對,始終保留二門課程交換結 果數值最小的節次。反覆演算直到無法出 現更低的成本函數。表 8 為二財金 3A 之 開課課程表,原始成本函數值表示該課程 在週課表指派節次的成本和,資料表中以

『應用統計學』的指派成本最高,排課演

算的第一迴圈時即完成指派的課程原始成 本函數值為零,又例如『週班會』因上課 時間屬全校統一,排課列在最優先進行,

課表中無其他課程,指派後的成本函數值 也為零。

當基因演算第一個迴圈結束後,週課 表的指派成本發生變化,以表8 為例,課 程『應用統計學』與其他課程的節次交換,

產生的新成本函數如表列第一門課程基因 演算後成本所示,例如『應用軟體(一)』

的成本函數為{24,2},前者表示交換後『應 用統計學』的新成本函數,後者為『應用 軟體(一)』的新成本函數,{24,2}表示成本 函數值並未改變,因為轉換前與轉換後『應 用軟體(一)』的成本函數值為均為 2。以第 四項『財金統計套裝軟體』為例,基因演 算後成本函數為{15,9},表示基因交換之 後,課程『應用統計學』的成本函數由24 降為15,課程『財金統計套裝軟體』的成 本函數由12 降為 9,其結果意謂週課表的 二門課程上課節次互換會是較佳的方案。

演算的過程中只有新成本函數低於原來的 成本函數時,課表節次才更換,相同或成 本函數高於交換前都不處理,如此反覆演 算可得到課表之最適解。

表8 步驟六第一迴圈結束後課程原 始成本函數值與基因演算後成本函數值

(10)

五、 結論

自我國加入 WTO 之後,國外優質的 大學可以在台設立分校,因此加強教學、

行政服務與學術研究才是國內大專院校培 養本身競爭力的不二法門。本研究至少提 供五項優勢:

(一)、 簡化排課作業時程,有效提升課 務人員排課效率。

(二)、 縮短學生的選課時間,提前進入 穩定作息,降低選課耗用的資 源。

(三)、 週課表以教師意願高的時段設 計為優先指派,可增加其滿意 度。

(四)、 教師樂於見到對自己開設課程 有興趣的學生,如果他們因為衝 堂而改選其他科目,本研究可有 效避免教師有遺珠之憾。

(五)、 全校開課的數量因為衝堂數量 降低而減少,間接也減少師資、

教室的需求與設備損耗,成本下 降後,資源可重分配,以提升學 校的競爭力。

排課是一項與全校教師與學生息息相 關的工作,排課系統設計關係著全校未來 半年的作息。二階段選課的作法廣泛被學 校採用,但是缺點也存在多年,學生成績 不理想,出勤率降低,比較難統計的學生 上課專注力可能也不佳,因為現行的選課 制度只能在選課結果上討論,這些選課資 訊可能有一部分不是學生原來想要上課課 程的資訊,利用這樣的選課結果,學校很 難規劃出理想的課程。本研究之目的在於 排課的過程中,將選課可能發生的不良狀 況預先防止,排課系統在計算排課指派課 程的節次時,即考慮到學生選課時的需 求,將學生上課意願關聯性高的課程節次 分開,避免同時段上課,選課發生衝堂的 機率降低。以學校的立場,衝堂減少開課 消耗的資源相對減少,學校不需要開過多 的課程,將營運的成本移轉到教學品質的

改善。就學生而言,節省了他們選課的時 間,因為有興趣的課程非常容易取得,不 會再因為衝堂,而浪費時間找尋其他課 程。以教師而言,課表符合本身期待,選 修的學生亦具有學習熱忱。如此必定能強 化學生與學校之間的互動,建立出良好關 係,進而創造出優質的學術環境。

參考文獻

[1]. 包冬意,賴永進與吳智暉,大專院校 排課自動化之研究,智慧型大專院校 自動化排課系統,電腦應用研討會,

蕙蓀林場,民國83 年,頁 100-104。

[2]. 何達明,排序對關聯演算法速度的影 響,中原大學,碩士論文,民國 91 年。

[3]. 吳正宇,點著色在課程排程問題之研 究─以淡江大學研究所為例,淡江大 學,碩士論文,民國92 年。

[4]. 宋子康,資料串流中尋找關聯法則之 研究,台灣大學,碩士論文,民國95 年。

[5]. 李麗華,邱永祥,智慧型線上教學課 程推薦機制,第七屆人工智慧與應用 研討會,朝陽科大,民國 91 年,頁 612-618。

[6]. 沈正慈,電腦排課,元智大學,碩士 論文,民國87 年

[7]. 周清江,黃信強,運用基因演算法於 平行機器之工作排程,資訊管理展 望,民國 91 年,第四卷,第一期,

頁47-59。

[8]. 林文揚,蘇家輝,群體決策線上排課 系統之建置,資訊管理展望,民國91 年,第四卷,第一期,頁81-96。

[9]. 邱元泰,遺傳演算法在排課問題之應 用,中正大學,碩士論文,民國 91 年。

[10]. 張獻文,運用哈普費爾德-譚克類神

(11)

經網路開發自動化排課系統,大葉大 學,碩士論文,民國86 年。

[11]. 許武義,網頁式排課管理系統,暨南 大學,碩士論文,民國89 年。

[12]. 黃千順,武連斌,「資料探勘之運用 於學生學習行為分析」,第一屆離島 資訊技術與應用研討會,澎湖,民國 90 年,頁 245-255。

[13]. 楊錦潭,歐文性,以代理人為基礎的 中學排課系統,2002 全球華人計算機 應用大會,北京市,北京師範大學,

民國93 年,頁 345-351。

[14]. 詹啟琳,基於關聯矩陣設計適用於大 型資料庫之有效關聯探勘方法,朝陽 科技大學,碩士論文,民國93 年。

[15]. 熊雅意,楊馥豪,李育儒,陳星儒,

張自豪,應用基因演算法於大專學校 教師派課問題,2006 數位科技與創新 管理國際研討會,臺北華筑大學,民 國95 年。

[16]. 潘麗珍,行動多重代理人技術於排課 系統之應用,國立中央大學,碩士論 文,民國92 年。

[17]. 蔡旻璇,序列樣式分析應用於課程規 劃支援系統,靜宜大學,碩士論文,

民國93 年。

[18]. 鄭惟中,電腦化自動排課系統之研 究,逢甲大學,碩士論文,民國 92 年。

[19]. 蕭舜益,運用關聯式法則探勘於初等 教育資料分析─以體適能為例,朝陽 科技大學,碩士論文,民國94 年。

[20]. 蕭榮亭,應用多代理人系統於大學排 課問題之研究,中原大學,碩士論 文,民國94 年。

[21]. 謝正瑜,楊俊傑,利用遺傳基因演算 法提高教學排課滿意度之研究,2002 年電腦與網路科技在教育上的應用 研討會,新竹,民國91 年。

[22]. 謝昆霖,沈進成,周君妍,鄭丞君,

基因演算法應用於顧客旅遊行程路 徑最適化模式之研究,旅遊管理研 究,民國 93 年,第四卷,第一期,

頁53-66。

[23]. Agrawal, R., and Srikant, R., Mining Sequenct Patterns, Proceedings of the International Conference on Data Engineering (ICDE), 1995, pp.3-13.

[24]. Agrawal, R., Imielinski, T., and Swami, A. ,Mining Association Rules between Sets of Items in Large Databases,

ACM-SIGMOD international conference, Washington, D.C., 1993, pp.207-216.

[25]. Berry, M. J., and Linoff, G., Data Mining Techniques for Marketing, Sales, and Customer Support, 1997, USA, Wiley, pages. 464.

[26]. Blum, C., Correia, S., Dorigo, M., Paechter, B., Rossi-Doria, O. and Snoek. M., A GA evolving instructions for a timetable builder, Proceedings of the 4th international conference on the Practice And Theory of Automated Timetabling, Belgium, 2002, pp.120–123.

[27]. Brin, S., Motwani, R., Ullman, J.D., and Tsur, S., Dynamic Itemset Counting and Implication Rules for Market Basket Data, ACM-SIGMOD international conference, 1997, pp.

255-264.

[28]. Burke, E. K., and J. P. Newall, A multistage evolutionary algorithm for the timetable problem, IEEE Transactions on Evolutionary Computation, 1999, Vol. 3, No. 1, pp.

63-74.

[29]. Dowsland, K.A., and Thompson, J.M., Ant colony optimization for the examination scheduling problem,

(12)

journal of the Operational Research Soctety, 2005, pp. 426-438.

[30]. Haase, K., Latteier, J., and Schirmer, A., The course scheduling problem at Lufthansa Technical Training, European Journal of Operational Research, 1998, pp. 441-456.

[31]. Edmund, B., David, E., and Rupert, W., A Genetic Algorithm for University Timetabling, Department of Computer Science University of Nottingham, 1994

[32]. Eley, M., Ant algorithms for the exam timetabling problem, Aschaffenburg University of Applied Science Logistics Laboratory (LIAb), Germany, 2006, pp. 167-180.

[33]. Ferland, J. A., and Fleurent C., A decision support system for course scheduling, Interfaces, 1994, Vol. 24, No. 2, pp. 105-115.

[34]. Han, J., and Kamber, K., Data Mining Concept and Techniques, 5nd ed., 2001, San Francisco, Morgan Kaufmann, pages. 500.

[35]. Han, J., Pei, J., and Yin, Y., Mining Frequent Patterns without Candidate Generation, ACM SIGMOD international conference, 2000, pp.1-12.

[36]. Han, J., Pei, J., Mortazavi-Asl, Chen, Q., Dayal, U., and Hsu, M.C., FreeSpan: Freequent Pattern-Projected Sequential Pattern Mining, ACM SIGMOD international conference, 2000, pp.355-359.

[37]. Hertz, A., and Robert, V., Constructing a course schedule by solving a series of assignment type problems, European Journal of Operational Research, 1998, pp. 585-603.

[38]. Kong, C. K., and Maris. G. M., Intelligent Timetabling Using a Microcomputer, International Journal of Educational Management, 1993, Vol.

7,No. 5, pp. 9-17.

[39]. Merlot, L., Boland, N., Hughes, B., and Stuckey, PJ., A hybrid algorithm for the examination timetabling problem., Lecture Notes in Computer Science, Berlin, 2003, Vol. 2740., pp 207-231.

[40]. Park, J.S., Chen, M.S., and Yu, P.S.,An effective hash-based algorithm for mining association rules, ACM SIGMOD international conference, 1995, pp.175-186

[41]. Pei, J., Han, J., Mortazavi-Asl, B., Pinto, H., Chen, Q., Dayal, U., and Hsu, M.C., PrefixSpan: mining sequential patterns efficiently by prefix-projected pattern growth, 17th International Conference on Data Engineering (ICDE), Heidelberg, Germany, 2001, pp.215-226.

[42]. Savasee, A., Omiecinski, E., and Navathe, S., An Efficient Algorithm for Mining Association Rules in Large Databases, Proceedings of the 21st VLDB Conference, 1995, pp.432-444.

[43]. Schaerf, A., Tabu Search Techniques for Large High-School Timetabling Problems, Report of National Research Institute for Mathematics and Computer Science, 1996.

[44]. Socha, K., Sampels, M., and Manfrin, M., Ant Algorithms for the University Course Timetabling Problem with Regard to the State-of-the-Art, Applications of Evolutionary Computing-Lecture Notes in Computer Science, Berlin, 2003, Vol. 2740. pp.

334-345.

(13)

[45]. Toivonen, H., Sampling Large Databases for Association Rules, Proceedings of the 22nd VLDB Conference, 1996, pp.134-145.

附件一 近年排課相關研究之一

(14)

附件二 近年排課相關研究之二

(15)

附件三 近年關聯式法則相關研究

數據

圖 4  自動排課演算法

參考文獻

相關文件

 Calculating the expected total edge number for one left path started at one problem with m’ edges.  Evaluating the total edge number for all right sub-problems #

M., An Introduction to the Theory of Numbers, 5th edition, Oxford University Press, 1980.. New Upper Bounds for Taxicab and

The purpose of this research is to study a tiling problem: Given an m × n chessboard, how many ways are there to tile the chessboard with 1 × 2 dominoes and also ”diagonal”

Reading Task 6: Genre Structure and Language Features. • Now let’s look at how language features (e.g. sentence patterns) are connected to the structure

Wang, Solving pseudomonotone variational inequalities and pseudocon- vex optimization problems using the projection neural network, IEEE Transactions on Neural Networks 17

volume suppressed mass: (TeV) 2 /M P ∼ 10 −4 eV → mm range can be experimentally tested for any number of extra dimensions - Light U(1) gauge bosons: no derivative couplings. =&gt;

Define instead the imaginary.. potential, magnetic field, lattice…) Dirac-BdG Hamiltonian:. with small, and matrix

In Chapter 3, we transform the weighted bipartite matching problem to a traveling salesman problem (TSP) and apply the concepts of ant colony optimization (ACO) algorithm as a basis