首頁‎ > ‎電子期刊‎ > ‎2005 年 第 7 期‎ > ‎

多角調課演算法初探(二)


摘要

  • 文章編號:20050404
  • 投稿日期:2005/03/25
  • 作者:董世尊、廖韋傑、陳冠廷、陳雅鳳
  • 備註:

前言

在上一期「多角調課演算法初探」一文中,提到在早期排課人員通常是以人工方式進行排課作業,而資訊科技發達至今,坊間也已有許多自動排課的系統,但在排課系統裡的調課部份有一環還未成熟,即是多角調課的問題。

目前系統中的多角調課問題,大部分還是以人工手動的方式去處理,但排課資料複雜,使得排課人員在多角調課這部份花費了許多心思和心力,因此 本文利用「財團法人私立忠信工商學校」的排課資料及Sunset排課系統工具,來舉例手動調課時可能發生的情況、問題和處理的方式,了解其手動調課的概 念。

手動調課的方法

我們以「財團法人私立忠信工商學校」的教師名單、班級名單、場地名單,及其他排課相關資料…等,進行摸擬人工手動調課作業,以其中的「資二仁」班為 範例,並假設該班週一第3、4節國文課的國文老師想換至其他節次,提出二種藉由排課系統手動調課時,所產生的可能性問題及調動方法。

  • 同班級多角調課

手動調課初步會查詢同班級是否有節次可以相互調動,然後進行調課作業;範例(圖一、圖二)假設「資二仁」班進行週一的3、4節國文課調動時,首先按 照A教師的條件設定下,不希望排課於1、2節,所以週一至週五的1、2節課程,全部不考慮調動,其次開始尋找與週一的國文Ⅲ一樣二節之課程。

依照上述作業注意事項,查詢到的是週一A老師的法律與生活,如果做互調,學生將從第一節到第四節都是上同一個老師的課,可能會感到無趣,老 師也會覺的累,所以不考慮法律與生活這個課程。週四的3、4節的計算機原理Ⅰ課程,同理暫時不考慮做調課動作(圖一、圖二)。做相關資料查詢後,發現A教 師的國文課可與週二6、7節的電腦軟體應用檢定Ⅰ做調課動作,因此A教師的國文課調動完成(圖三)。

由於星期一的1至4節忠微電教室有班級「訊二義」班在使用,在查詢E教師的分課表後,將電腦軟體應用檢定Ⅰ依同樣方法選定在週二第3、4節(圖四、圖 五),並查詢C教師、D教師的分課表是否可以調動課程,因此原本的C教師週二4、5節的經濟學課程調至週一的第3、4節,原本的D教師週二第3節應用數學 課程,調至星期二的第5節(圖六、圖七);此時完成了資二仁班的調課作業。(圖中之藍色框底為鎖定、不可調動之課程)

  • 多班級多角調課

當同一個班級的各科教師、節次無法互相調動時,可能產生了多班級多角調課的作業方式;以範例所假設的情況下,「資二仁」班週一的3、4節國文課假如 無法與同班級的其他科或節次互調時,我們所摸擬採用的方法是循序漸近的方式進行搜尋,因為欲調動之國文課共兩節,所以我們搜尋以兩節或兩節以上的課程為 主,並參考A教師與可能會調動到之教師(B教師與C教師)資料所設定的限制條件(該課不希望排至早上1、2節、可跨中午、當天不可重覆排課…等),以此概 念進行調課(圖八、圖九)。

在進行查詢動作時,首先碰到為兩節課程的是B教師6、7節的法律與生活課程,因此我們查看B教師的分課表資料,發現該教師在週一的3、4節還有其他班的課 程,調動上可能會較麻煩,因此暫時不考慮(圖十),繼續進行查詢,在週二的1、2節雖為兩節課之課程,但因為A教師資料上的限制條件不希望排課於1、2 節,因此也不考慮該節次上的調動(圖九);直接跳過1、2節後,查詢到的是C教師週二4、5節的經濟學,查看該教師的分課表後,發現可與國文課之A教師互 調,但因A教師在週二的3、4節已有「訊二義」班的課,因此我們進入A教師的分課資料,利用系統工具的功能,暫時把A教師在週二的3、4節課程暫時抽出擱 置,並把C教師週二4、5節的課程調至A教師週一3、4節的課程,A教師週一3、4節的課程調至週二原本為經濟學的4、5節(圖十、圖十一)。
上述作業結束後,「資二仁」班的課表則暫時為完成狀態;其次我們要來看的是被牽扯到的「訊二義」班課表,由於「訊二義」班週二3、4節的國文課程在「資二 仁」班調課時,被暫時抽出擱置,因此我們進行將此課程排至適當的節次中,在「訊二義」班的課表中顯示出週一的課是無法更動的,其原因可能牽扯到場地問題, 因此直接照上述的作業方式進行調課,查詢週二是否有適當節次,其中發現第2節D教師的數學課可調至到第4節,此時週二之2、3節為無課狀態,由於國文課A 教師資料所設定的條件下,依然不參考2、3節的空堂,尋找至週二6、7節的E教師的英文課,並查詢E教師的分課表,藉由大致相同之作業模式,將E教師週二 6、7節的英文課調動至當天2、3節的空堂,則之前被擱置的國文課可順利的放置於週二6、7節(圖十二)。
在英文課程調動時,有牽扯到「訊二忠」班週二的3、4、5節課程,因此利用同樣的作業方式進行調課,經過上述步驟、方法(圖十二),手動調課則陸陸續續的完成各班課表。(圖中之藍色框底為鎖定、不可調動之課程)

手動調課產生的結果

  • 完成後之同班級多角調課課表

利用上面圖示步驟進行同班級多角調課動作後,我們即產生調課後的新課表,如下圖所示。


  • 完成後之多班級多角調課課表

多班級多角調課則產生以下圖所示調課後的新課表,由資二仁班開始,陸續牽扯到訊二義班與訊二忠班之課表。

手動調課的結論

手動調課作業模擬完成後,發現到不管是同班級多角調課;或是多班級多角調課,除了要從班級課表著手以外,還必需查詢教師的限制條件、教師的分課表、場地限制等因素,進行考量而調課,所查詢之資料的確非常龐大與複雜,手動調課作業較不易完整的解決調課問題。

因此,同班級多角調課中,牽扯相關資料的範圍較小,僅侷限於同班級之授課教師相關資料的查詢、特殊教室使用查詢;而多班級多角調課,則會牽 扯到更大範圍的調課動作,產生一連串班級課堂調動,這樣的情況可能會引起別班教師的不滿,而且也可能調課的作業會產生永無止盡調動的問題;因此,期望接下 來能找出合適的演算法,是可以彌補人工調課所引發的缺陷,且有範圍而非漫無目的的尋找、查詢,有效的調動出較理想之課表。

Comments