以遗传演算法解决课程排课的问题.docx

上传人:b****4 文档编号:4622740 上传时间:2023-05-07 格式:DOCX 页数:16 大小:78.13KB
下载 相关 举报
以遗传演算法解决课程排课的问题.docx_第1页
第1页 / 共16页
以遗传演算法解决课程排课的问题.docx_第2页
第2页 / 共16页
以遗传演算法解决课程排课的问题.docx_第3页
第3页 / 共16页
以遗传演算法解决课程排课的问题.docx_第4页
第4页 / 共16页
以遗传演算法解决课程排课的问题.docx_第5页
第5页 / 共16页
以遗传演算法解决课程排课的问题.docx_第6页
第6页 / 共16页
以遗传演算法解决课程排课的问题.docx_第7页
第7页 / 共16页
以遗传演算法解决课程排课的问题.docx_第8页
第8页 / 共16页
以遗传演算法解决课程排课的问题.docx_第9页
第9页 / 共16页
以遗传演算法解决课程排课的问题.docx_第10页
第10页 / 共16页
以遗传演算法解决课程排课的问题.docx_第11页
第11页 / 共16页
以遗传演算法解决课程排课的问题.docx_第12页
第12页 / 共16页
以遗传演算法解决课程排课的问题.docx_第13页
第13页 / 共16页
以遗传演算法解决课程排课的问题.docx_第14页
第14页 / 共16页
以遗传演算法解决课程排课的问题.docx_第15页
第15页 / 共16页
以遗传演算法解决课程排课的问题.docx_第16页
第16页 / 共16页
亲,该文档总共16页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

以遗传演算法解决课程排课的问题.docx

《以遗传演算法解决课程排课的问题.docx》由会员分享,可在线阅读,更多相关《以遗传演算法解决课程排课的问题.docx(16页珍藏版)》请在冰点文库上搜索。

以遗传演算法解决课程排课的问题.docx

以遗传演算法解决课程排课的问题

以遺傳演算法解決課程排課的問題

指導老師:

謝佳琳老師

專題小組組員:

施竣卬、周士瑋、許勝富、曾昭國、陳嘉穎梁心怡、郭佳慧、蘇哲民、湯肇文、許輝洋

摘要

攸關學校、老師與學生權益的排課問題,是各級學校每學期都必須會面對的問題,所以本組想藉由研究相關的排課問題,來探討其重要性及改進的可能性。

排課問題是一項複雜又困難的工作,傳統人工的排課方式,既浪費時間亦浪費成本,所得到的成果卻不一定會使人滿意,常常會引起抱怨。

本小組利用國內較為人知的「遺傳演算法」,並使用電腦程式語言撰寫其模型,將排課的相關資料轉換為染色體,在追求〝可行解〞的目標下,把排課的相關限制條件一一考量,求得最後想要的排課結果。

我們依照排課的目的,將排課方式(傳統人工排課、電腦排課)分為實驗組與對照組,並各自加以比較。

我們以真理大學工業管理學系為參考對象,以實際課表所提供的資料,配合本組的排課模型,模擬出最後的排課結果。

對排課人員而言,在思考如何加強其排課方式之時,本研究應可提供另一個參考的層面。

雖然本專題尚屬初期的研究,但是擁有其獨特、可行的排課方法,值得讓有興趣的人繼續加以研究探討。

關鍵詞:

排課問題、遺傳演算法

壹、前言

排課作業問題相當繁雜,一旦發生失誤,會浪費許多的時間與人力。

如何在排課中,儘可能滿足老師與學生對課表的需求,那就要有一套「公正」且「聰明」的排課制度,至少是透明的且結果是全校師生共同可以接受的,這是一般的排課不易做到的。

所以若能建立一套自動化排課系統,進而可以創造校方、老師與學生三方面三贏的局面。

「排課問題」在各級學校的教務行政上是一件很重要的課題。

進行排課時需考慮的因素包括老師的專長、興趣、行政兼職、個人意願、授課基本鐘點、兼課節數上限、課程性質與授課時段配合、人性化的考量….等等。

然而,學校行政上的相關排課人員,通常都是在極有限的時間內需考量各方面的限制,再排出全校的課表,常弄得排課人員心力交瘁而無暇顧及老師個人意願,更遑論去評估排課結果是否符合人性化的原則,導致很多老師會有對「排課結果」不滿意,使部分老師自覺受到不公平現象發生。

貳、文獻探討

排課的問題是指針對於每一課程給予一個時段和教室,每位老師有數門教授課程,而每個課程根據其學分數有不同的時數,同時每位老師可以提出哪些時段為希望排課時段或不願意排課時段。

簡單的說就是把各式各樣的限制式加入排課問題中。

以往使用傳統人工方式來進行排課時,排課人員需不斷地對所排定的課

表進行檢核及修正,以避免一切可能不符現制式的情形,如此不僅浪費大量的時間、人力,且排定的課表須加以變動時,便得重新安排整張課表,使課務工作的效率大打折扣;根據上述理由,在近年來有許多自動化的方法或模型被提出來處理不同的排課問題。

排課問題是在滿足所有必要限制條件下,將各種資源(時間、空間、人力、設備)分配給多個活動與課程。

同時所有的限制式可以分成兩種,硬性限制式和軟性限制式兩種,所謂硬性限制式是指限制必須被滿足,軟性限制式則是最好能被滿足,一個排課問題的可行解必須要能滿足所有硬性限制式,並儘量的滿足越多的軟性限制式越好;目前各種排課問題的解決方法大致分為作業研究(OperationsResearch)和人工智慧(ArtificialIntelligence)兩種領域。

早期的研究大多是使用作業研究的方法來處理。

D.deWerra將排課問題表示成圖形著色問題,並以由弧與節點所構成網路模型來表示,藉由找出滿足相鄰節點不同顏色的方式來求出答案。

Hertz使用tabusearch(搜尋法)得方法來解決排課問題。

但是作業研究的方法只適合來處理小型問題,當問題之限制式增多且使問題相對複雜時,求解過程就會變的非常困難。

排課問題就是針對教學對象,安排所需上課的時間與地點所面臨的問題。

從管理者的觀點而言,目標是希望所有課程都能排到適當的時段和教室,並且儘可能的滿足越多的條件限制越好。

從教師的觀點而言,目標是希望所排課的時間都在自己所喜好的時段中。

從學生的觀點而言,目標是希望所有的課程都能排在自己所喜歡的時段,並且越少衝堂越好才能更彈性的選課。

所以我們根據對教師、學生的需求了解後,收集了可能影響排課問題的限制式,如下列所示:

在硬性限制式方面

●已排好的課不能再排入同時段

●一個班級不能在同時段上兩堂課

●一位老師不能在同時段上兩堂課

●一間教室不能在同時段被兩個班級所使用

●某時段排給某特定科目不容再變

在軟性限制式方面

●教師

1.最低上課時數

2.任教專長

3.是否喜歡連堂上課

4.中午(12:

00)儘量不要排課

5.星期六儘量不要排課

Ø上午盡量不要排課

Ø下午盡量不要排課

Ø禮拜一一早盡量不要排課

6.教師上課的合適時段

7.教師喜歡的上課時段

●學生

8.中午(12:

00)盡量不要排課

9.星期六儘量不要排課

10.體育課完儘量不要排課

11.共同科目同班級一起上

以遺傳演算法解決課程排課的問題

12.選修科目各班級分開選課

13.二學分課連上

14.三學分課

Ø三堂連上

Ø分成一堂、二堂上(二天)

Ø分成二堂、一堂上(二天)

8.衝堂課程學生自行選擇

參、方法介紹與模式建立

一﹑遺傳演算法的源由

遺傳演算法即是由此生物進化論之論點出發,以電腦模擬自然界的演化方式,對既定問題求最佳解。

而這個觀念最早是於1968年由美國芝加哥大學賀蘭(JohnHolland)教授所提出,並於1975年出版《自然與人工系統中的適應》(Adaptationinnaturalandartificialsystems)一書,建立遺傳演算法的原型,發展了遺傳演算法的理論基礎。

二、遺傳演算法的運作

為了要利用電腦模擬生物演化的機制,首先是把問題變數編碼成字元(Character),來代表生物界中的基因。

而染色體(Chromosome)是由基因所組成,其又稱之為個體(Individual),故將每個問題變數所代表的字元串聯成一條字串(String)來加以模擬,並且這一條字串即是問題的可行解之一。

族群(Population)則為物種之集合,也是不同字串之集合。

每個物種在自然界中須面對著環境中的各項挑戰與競爭,而經由「物競天則,適者生存」的理論下,淘汰不適合環境的物種,留下更適合的物種。

為了模擬生物界的適應的架構,將對問題建立一個適應函數(FitnessFunction),來評估每個字串的適應能力。

三、排課問題模式建立

其中限制函數可視為硬限制,滿足所有硬限制之解即為可行解。

●一位教師在同一時段中不能上兩門課。

●一個班級在同一時段中不能同時排兩門課。

而適應函數可視為軟限制,其彈性較大。

本研究設定之軟限制為:

●老師一天之中上課堂數。

●老師一天之中連續上課堂數。

●老師課程大部分在上午或下午。

●3學分的課分段上或一次上完。

●早上8點(第一節)是否排課。

●下午4點以後(最後一節)是否排課。

●中午12點(第五節)是否排課。

首先將課表加以編碼,並輸入符合硬限制式所需之個數,且利用電腦隨機產生初始合理解;再輸入每個問題之權重,藉由軟限制式給予每個合理解(染色體)加以評分,判斷其優劣,挑選出優與最優的兩條染色體,進行複製,然後輸入遮照數使其交配,產生四個子代,再予判斷是否進行突變;再挑出優與最優的染色體,然後做抉擇,如果滿足停止條件,則輸

出結果;如果不滿足,則回頭至交配處理,反覆執行。

四、產生初始族群

初始解必須滿足訂定的硬性限制式,而產生之方式是以亂數隨機產生。

因過程中填入課表之程序為隨機的方式,故實際產生初始族群中之各初始解差異十分顯著。

五、定義適應函數

本組把各項軟性限制式給予特別之權數,並以累加的方式,訂定適應性函數值。

染色體之適應性函數越高,表示其對應之課表越優良。

適應函數定義如下:

n

i=1

P=ΣWi×Ci……………………………公式

(1)

六、亂數產生器

本系統在運算交配、突變時皆會採取以亂數產生,因而本系統採用了統計學上的均勻分配法,以期可以得到隨機之亂數。

七、定義複製運算

本研究所採行的方式為「競爭式」,其步驟為先將世代中之染色體依適應函數值之大小排序,挑選其中最大的2條染色體,依其相同之權重複製至下一世代。

八、定義交配運算

本系統所採用的交配方法是遮罩交配。

因為我們使用的編碼方式是採用真實值編碼,比起傳統二元編碼組內變異較小,故希望能夠透過遮罩交配將基因打散,且保持原有基因的特性,讓求出的解不要落入區域最佳解。

九、定義突變運算

為了讓染色體在演化的過程中不陷入一侷限的範圍,所以需要做突變。

十、訂定停止規則

本研究所採用的停止規則為下,當其中一點滿足時,則停止演算。

●電腦的運算處理時間到達預設值。

●到達最佳解,即染色體的適應函數值到達預設之最高值。

●電腦在搜尋時間內找不到任何初始解。

 

以遺傳演算法解決課程排課的問題

肆、排課模式之評估與實驗比較

一、問卷

本小組這次的排課系統研究範圍是以工業管理學系為範圍。

經由與受訪者的溝通蒐集資料。

經過運算之後,算出每一限制式之權重,可編製其權重表如下

限制項目

選項

權重

總權重

1

老師一天之中希望上課幾堂課

1-2堂

7.5

77.5

3-4堂

69.79

5-6堂

0

7堂以上

0

2

一天之中對於課程連續排課的意願

連續兩堂

31.25

62.5

連續三堂

31.25

連續四堂

0

3

一天之中希望上午或下午上課

課程大部分在上午

5.25

52.5

課程大部分在下午

5.25

平均分配

42

4

若有三學分的課希望怎麼分配

3堂連續上課

58

72.5

2+1堂(分兩天上完)

14.5

無所謂

0

5

早上8點(第一堂)是否希望排課

希望

0

67.5

不希望

67.5

無所謂

0

6

下午4點(最後一堂)是否希望排課

希望

0

47.5

不希望

47.5

無所謂

0

7

中午12點(第五堂)是否希望排課

希望

0

70

不希望

70

無所謂

0

二、實驗設計

在本實驗中我們假設不考慮教室的屬性與數量。

亦就是說我們假設一個學校中有足夠的教室可供給我們排課。

在課程方面,每門課分別由同一教師來教授;在學分方面,我們假定每一學分均為一堂課。

希望能排出工管系四個年級,每個年級A、B、C三班,共12個班級的課表。

在我們考慮的因素中,我們以工管系為例,將班級定為A、B、C三個班級,教師名稱設定為目前工管系的實際情形。

三、實驗

GAModel(GA組)

在我們所撰寫的程式中對於遺傳演算法的參數做了以下這些設計。

●權數:

由表4.1之權重表說明各個條件限制式的重要性與權重。

我們將計算出來的權數置入程式中,讓電腦作為判斷我們課表好壞之依據。

●演算時間:

輸入演算之時間(本實驗為50、100、150、200、250、300、1000秒)。

●起始解個數:

輸入所希望的起始解個數(本實驗設定為50個)。

●交配率:

我們必須要確實的執行交配的動作,以觀察交配之後所得到的結果,所以在這裡我們將交配率定為50%。

●突變率:

突變的步驟用來確定最佳解是否被侷限在部分解裡面。

而我們在這裡將突變率定為10%、20%、50%、100%,也就是0.1、0.2、0.5、1。

經過以上繁雜的設定,我們才可以利用基因演算法來求解產生課表。

亂數Model(亂數組)

亂數組的程式輸入值所需變動的只有時間值,其演算的方式皆為亂數隨機排入。

●演算時間

輸入演算之時間(本實驗為50、100、150、200、250、300、1000秒)

最後我們把在各個時間點上,GA組與亂數組所得到之最佳解作一圖表(見表1)之分析,即可看出兩者最佳化之趨勢。

表1:

GA組與亂數組對應[時間-最佳解]一覽表

50秒

100秒

150秒

200秒

250秒

300秒

1000秒

亂數

82.03

83.9

88.45

90.9

91.4

93.41

97.93

遺傳

242.6

332.1

372.4

401.8

431.1

447.4

497.77

四、實驗差異檢定

為了比較在S秒時,使用GA產生的課表之平均分數是否優於亂數所產生的課表?

首先,使用亂數隨機產生NX(NX>=30)張課表,其NX張課表評分為X1、X2、X3、、、XNX,再使用GA方法隨機產生NY(NY>=30)張課表,其評分為Y1、Y2、Y3、、、YNY,且兩組資料也為兩組獨立樣本,由於母體變異數σx2與σY2無法得知,故以樣本標準差sx與sY,取代σx、σY,至於左尾檢定H0﹕μX≧μY對H1﹕μX<μY,令z=(

)/√(sx2/NX┼sY2/NY),其棄卻域為z<-zα。

並藉由EXCELE軟體執行z檢定,其結果如下表(見表2):

表2:

檢定結果

 

亂數

GA

平均數

97.930191

497.77449

變異數

34.89292

317.10593

觀察值個數

30

30

z

-116.72958

P(Z<=z)單尾

0

臨界值:

單尾

1.6448535

以遺傳演算法解決課程排課的問題

其中NX=30,

=97.930191,sx2=34.89292,NY=30,

=497.77449,sx2=317.10593,並在95%信賴度下,z0.05=1.6448535,z=-116.72958<-z0.05=-1.6448535,故有足夠證據拒絕虛無假設HO,此表示有足夠證據推論在1000秒時,GA所產生的課表是優於亂數所產生的課表。

 

五、實驗比較

●最佳(收斂後)解之比較

我們把時間1000秒,突變率0.5,起始解個數50所得到的課表作為GA組的代表,而亂數組則以相同時間1000秒所得出的課表作為對照,作出下列之比較。

●分數趨勢

從下圖1與圖2可看出,GA組課表分數隨著時間的增加,呈現著成長的趨勢;而亂數組則呈現時而成長時而下滑的無規則隨機散佈。

圖1GA組課表分數趨勢圖圖2亂數組課表分數趨勢圖

●最佳解趨勢

從下圖3與圖4可看出,GA組因則優交配,所以一直會有更加解的出現;反觀亂數組則時常會有陷入長時間找不到更加解的窘境。

在1000秒之內,GA組之最佳解為334.8分,而亂數組則為99.2分。

圖3GA組最佳解趨勢圖圖4亂數組最佳解趨勢圖

●所得課表

我們以工二C之課表為例,從下圖5與圖6,我們可個別算出GA組與亂數組的分數。

1.連課分數=連課數×連課權數

G.A.連課分數=6×6.2=37.2

亂數連課分數=3×6.2=18.6

2.第一堂不排課分數=第一堂均不排課×不排課權數

圖5GA組[工二C]課表圖6亂數組[工二C]課表

●時間-最佳解之比較

最後我們把在各個時間點上,GA組與亂數組所得到之最佳解作一圖表(見表3)之分析,即可看出兩者最佳化之趨勢其GA組與亂數組對應之“時間-最佳解趨勢”,如圖7。

表3:

GA組與亂數組對應[時間-最佳解]一覽表

50秒

100秒

150秒

200秒

250秒

300秒

1000秒

亂數

82.03

83.9

88.45

90.9

91.4

93.41

97.93

遺傳

242.6

332.1

372.4

401.8

431.1

447.4

497.77

圖7:

GA組與亂數組對應[時間-最佳解]趨勢圖

 

以遺傳演算法解決課程排課的問題

伍、結論和未來展望

本章節將針對本小組所做的研究,包括研究過程、架構分析、模型設計及實驗結果等等,歸納出研究結論,並提供可以參考之建議。

讓未來有興趣繼續深入此一問題的後續者,能夠參考本研究而發展出更完善、效用更為顯著的排課系統。

雖然本研究是針對某一些特定的限制條件進行的研究,但是其建構出來的模型,在我們設定的情況下也可達到不錯的〝最合適〞目標之結果,亦能滿足授課老師對於排課上不同的喜好及意願。

本研究的特色在於將蒐集到的相關排課資料整理齊全後,藉由電腦程式語言撰寫模型。

概略的說,第一,模型雖然不是盡善盡美,但對於解決排課問題,至少還能得到一個令人可以接受的結果;第二,雖然模型排出來的不是最佳的課表,但其能輔助排課人員在遵行一定的規則下,將課表排出;第三,模型可產生許多〝最合適〞的課表,可供排課人員參考;第四,本模型能將原本排課的速度加快,使得排課人員有更多的時間找出其他的問題。

在傳統人工排課中,排課人員往往簡化起見,常常將課表就從第一班開始排起。

接著依班級順序排出,使得第一班通常擁有較好的排課內容,而最後一班只能從授課老師其餘的時間來安排課表,這為不公平之一,老師也沒有多大的選擇性。

相對於本組以遺傳演算法進行排課系統的研究,所產生出來的課表,不僅節省排課人員相當多的時間,在課表選擇性的空間相對的提高,而各班的課表同時產生,也比較公平。

未來展望

總結來說排課原本就是一個複雜又困難的工作。

既要同時滿足老師的需求又要使學生覺得滿意,幾乎是不可能的。

本系統也有許多未盡完善之處,在未來可再加以深入琢磨:

●加入教室因素

●考慮學生意願

●排入全校課表

●人性化使用介面

這些都是未來能進一步研究的方向,將來後續研究者可發揮的空間,進而達到真正自動化排課的資訊系統。

 

參考文獻

1.王本耀、曾國雄,”工研院育成中心新進廠商申請進駐評審模式研究”,國立交通大學科技管理研究所,碩士論文,民國92年2月1日。

 

2.王怡仁,”電腦撫助之排課系統”,雲林科技大學工業工程與管理技術研究所,碩士論文,民國81年

3.王進德、蕭大全,”類神經網路與模糊控制理論入門”,全華書局,民國90年

4.包冬意,”大專院校排課自動化之研究”,大業學報,第二卷,第一期,民國82年12月,第135-144頁。

5.向殿政男作/劉天祥譯,FUZZY理論入門,中國生產力出版公司,日本,民國80年

6.邱元泰,”遺傳演算在排課問題之應用”,國立中正大學數學研究所,碩士論文,民國91年7月。

 

7.沈正慈,”電腦排課”,元智大學電機暨資訊工程研究所,碩士論文,民國88年。

8.金國忠,”依規則為基礎的排課系統之研究”,淡江大學管理科學研究所,碩士論文,民國74年6月。

9.周鵬程,遺傳演算法原理與應用-活用Matlab,全華科技圖書股份有限公司,台灣,民國91年

10.楊振興,”大專院校排課之探討—以數學規劃為研究工具”,台灣,民國九十一年,第10-19頁

11.戴佳恩、何秋萍、陳彥偉、宋恩生,「人工智慧與類神經網路簡介」,民國89年2月建置,存取於2002年10月。

12.陳志昇,”大專院校電腦化之研究”,國立成功大學工業管理學系,碩士論文,民國73年6月。

13.駱至中、方志成,”向政治學與社會科學借法取經的新世代人工智慧(遺傳演算)”,佛光人文社會學院資訊學研究所,民國91年5月9日

14.韓復華、陳柏榮、王國琛,”應用限制規劃求解排課問題:

以交通大學全校性課程排課為例”,中華民國第六屆運輸網路研討會論文集,中華民國,民國90年11月,第33-42頁。

15.A.Hertz.Findungafeasiblecoursescheduleusingtabusearch.DiscreteAppliedMathematices,35(3):

p255-270,1992.

16.D.deWerraRestricedcoloringmodelsfortimetabling.DiscreteMathematics,p161-170,1997.

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 建筑土木

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2