一種基于遺傳算法的高校排課方法
【專利說明】一種基于遺傳算法的高校排課方法
[0001]
技術(shù)領(lǐng)域
[0002]本發(fā)明涉及一種遺傳算法的應(yīng)用,尤其涉及一種基于遺傳算法的高校排課方法。
【背景技術(shù)】
[0003]遺傳算法借鑒了達爾文的進化論和孟德爾的遺傳敘說,是近幾年發(fā)展起來的一種嶄新的全局優(yōu)化算法,它目的就是在潛在的解決方案集中逐層產(chǎn)生一個近似最優(yōu)的解。美國Holland教授于1975年首先提出GA算法的思想后吸引了大批的學(xué)者進行研宄,并迅速推廣到機器學(xué)習(xí)、優(yōu)化、搜索等領(lǐng)域。GA算
法使用適者生存的自然規(guī)律,是“生存和檢測”的迭代過程的搜索算法。它將問題域中的可能解看作是群體的一個個體或染色體,并將每一個體編碼成符號串形式,模擬達爾文的遺傳選擇和自然淘汰的生物進化過程,對群體反復(fù)進行隨機的、有組織的信息交換,根據(jù)預(yù)定的目標(biāo)適應(yīng)度函數(shù)和借鑒生物遺傳學(xué)的再造方法對每個個體進行評價和選擇,不斷得到更優(yōu)的群體。
【發(fā)明內(nèi)容】
[0004]本發(fā)明主要提供一種基于遺傳算法的高校排課方法,為了實現(xiàn)本發(fā)明的目的,本發(fā)明提供一種基于遺傳算法的高校排課方法,其特征在于,其排課算法步驟為:
(O隨機建立初始群種組成不同的可行解決方案;
(2)計算各個個體的適應(yīng)度;
(3)執(zhí)行遺傳操作,重新組合新的種群:利用輪盤賭法選擇優(yōu)良的個體復(fù)制添加到新的種群中,之后利用輪盤算法選出兩個個體進行基因交叉重組添加到新的種群中,然后覆蓋舊種群,利用輪盤賭法選出個體以極小的概率隨機變化其基因添加到新的種群中,然后覆蓋舊種群;
(4)判斷是否達到終止條件,達到則輸出最優(yōu)解,否則轉(zhuǎn)(2)。
[0005]優(yōu)選的,其時間安排算法為:
(1)根據(jù)班級的數(shù)據(jù)生成一張空白課表;
(2)建立初始群種,隨機建立η組教學(xué)任務(wù)裝入空白課表;
(3)評估適應(yīng)度,也就是對種群進行沖突檢測,有沖突就消除,如果無沖突則遺傳迭代結(jié)束,算法終止。跳轉(zhuǎn)到(8);
(4)根據(jù)適應(yīng)度大小,選擇某個特定的規(guī)則來選擇算子,產(chǎn)生中間代;
(5)對種群中的個體進行交叉計算;
(6)選擇種群中符合的個體進行變異計算;
(7)產(chǎn)生新種群,覆蓋舊種群,如果滿足任意一個優(yōu)化停止的條件,就跳轉(zhuǎn)到第(3),否則跳轉(zhuǎn)到(8); (8)算法結(jié)束,根據(jù)計算的適應(yīng)度的值,適應(yīng)度越高就表示越優(yōu),從較優(yōu)的群體中選擇一個最優(yōu)方案。
[0006]優(yōu)選的,排課算法與遺傳算法中的對應(yīng)關(guān)系包括:
基因:組成染色體的單元,定義時間t和一門課程構(gòu)成一個“時間-課程”的對每個對與一個待定的教室相對應(yīng),設(shè)這樣的一個組合為一個基因;
染色體:為待求解問題的一個可能解,由基因連接組成染色體,即一種可能的排課方案,也是遺傳算法操作的基本對象;
優(yōu)選的,排課算法與遺傳算法中的對應(yīng)關(guān)系還包括:
初始群種:隨機生成若干種排課方案的集合,表示基于遺傳算法的排課的搜索空間。
[0007]優(yōu)選的,排課算法與遺傳算法中的對應(yīng)關(guān)系還包括:
選擇算子:根據(jù)生物遺傳學(xué)的“設(shè)置生存,優(yōu)勝劣汰”的進化規(guī)則,使用輪盤賭算法,不同個體的適應(yīng)度在一個種群中所占比例的總和為1,呈現(xiàn)在一個輪盤上,根據(jù)個體的適應(yīng)度的概率選擇其作為父個體,個體的適應(yīng)度越大,被選中的機會越高;
優(yōu)選的,排課算法與遺傳算法中的對應(yīng)關(guān)系還包括:
變異算子:按照很小的概率隨機改變某個個體的性質(zhì),使基于基因的單點變異;
交叉算子:父個體按照一定的概率隨機交換基因的前后部分形成新的個體,在本課題中采取單點交叉操作;
終止條件:表示迭代遺傳代數(shù)的條件限制,當(dāng)達到設(shè)定值之后,終止操作。
[0008]有益效果:本發(fā)明提供一種基于遺傳算法的高校排課方法,將排課問題轉(zhuǎn)化成遺傳算法的問題,排課問題的因素和遺傳算法的算子相對應(yīng)。時間算法與課室安排算法相結(jié)合,在排課過程的不同階段,建立起優(yōu)先的課室集,指導(dǎo)算法一直尋找最合適的課室,實時地對各類課室類型的資源和數(shù)量進行動態(tài)維護,避免了遺傳算法出現(xiàn)未成熟就收斂等問題,也有效地解決了 “甩課”問題。
【具體實施方式】
[0009]下面結(jié)合【具體實施方式】對本發(fā)明做進一步詳細說明。
[0010]本發(fā)明提供一種基于遺傳算法的高校排課方法,其特征在于,其排課算法步驟為:
(O隨機建立初始群種組成不同的可行解決方案;
(2)計算各個個體的適應(yīng)度;
(3)執(zhí)行遺傳操作,重新組合新的種群:利用輪盤賭法選擇優(yōu)良的個體復(fù)制添加到新的種群中,之后利用輪盤算法選出兩個個體進行基因交叉重組添加到新的種群中,然后覆蓋舊種群,利用輪盤賭法選出個體以極小的概率隨機變化其基因添加到新的種群中,然后覆蓋舊種群;
(4)判斷是否達到終止條件,達到則輸出最優(yōu)解,否則轉(zhuǎn)(2)。
[0011]其中,其時間安排算法為:
(1)根據(jù)班級的數(shù)據(jù)生成一張空白課表;
(2)建立初始群種,隨機建立η組教學(xué)任務(wù)裝入空白課表;
(3)評估適應(yīng)度,也就是對種群進行沖突檢測,有沖突就消除,如果無沖突則遺傳迭代結(jié)束,算法終止。跳轉(zhuǎn)到(8);
(4)根據(jù)適應(yīng)度大小,選擇某個特定的規(guī)則來選擇算子,產(chǎn)生中間代;
(5)對種群中的個體進行交叉計算;
(6)選擇種群中符合的個體進行變異計算;
(7)產(chǎn)生新種群,覆蓋舊種群,如果滿足任意一個優(yōu)化停止的條件,就跳轉(zhuǎn)到第(3),否則跳轉(zhuǎn)到(8);
(8)算法結(jié)束,根據(jù)計算的適應(yīng)度的值,適應(yīng)度越高就表示越優(yōu),從較優(yōu)的群體中選擇一個最優(yōu)方案。
[0012]排課算法與遺傳算法中的對應(yīng)關(guān)系包括:
基因:組成染色體的單元,定義時間t和一門課程構(gòu)成一個“時間-課程”的對每個對與一個待定的教室相對應(yīng),設(shè)這樣的一個組合為一個基因;
染色體:為待求解問題的一個可能解,由基因連接組成染色體,即一種可能的排課方案,也是遺傳算法操作的基本對象;
初始群種:隨機生成若干種排課方案的集合,表示基于遺傳算法的排課的搜索空間。
[0013]選擇算子:根據(jù)生物遺傳學(xué)的“設(shè)置生存,優(yōu)勝劣汰”的進化規(guī)則,使用輪盤賭算法,不同個體的適應(yīng)度在一個種群中所占比例的總和為1,呈現(xiàn)在一個輪盤上,根據(jù)個體的適應(yīng)度的概率選擇其作為父個體,個體的適應(yīng)度越大,被選中的機會越高;
變異算子:按照很小的概率隨機改變某個個體的性質(zhì),使基于基因的單點變異;
交叉算子:父個體按照一定的概率隨機交換基因的前后部分形成新的個體,在本課題中采取單點交叉操作;
終止條件:表示迭代遺傳代數(shù)的條件限制,當(dāng)達到設(shè)定值之后,終止操作。
[0014]本發(fā)明提供一種基于遺傳算法的高校排課方法,將排課問題轉(zhuǎn)化成遺傳算法的問題,排課問題的因素和遺傳算法的算子相對應(yīng)。時間算法與課室安排算法相結(jié)合,在排課過程的不同階段,建立起優(yōu)先的課室集,指導(dǎo)算法一直尋找最合適的課室,實時地對各類課室類型的資源和數(shù)量進行動態(tài)維護,避免了遺傳算法出現(xiàn)未成熟就收斂等問題,也有效地解決了“甩課”問題。
[0015]由技術(shù)常識可知,本發(fā)明可以通過其它的不脫離其精神實質(zhì)或必要特征的實施方案來實現(xiàn)。因此,上述公開的實施方案,就各方面而言,都只是舉例說明,并不是僅有的。所有在本發(fā)明范圍內(nèi)或在等同于本發(fā)明的范圍內(nèi)的改變均被本發(fā)明包含。
【主權(quán)項】
1.一種基于遺傳算法的高校排課方法,其特征在于,其排課算法步驟為: (1)隨機建立初始群種組成不同的可行解決方案; (2)計算各個個體的適應(yīng)度; (3)執(zhí)行遺傳操作,重新組合新的種群:利用輪盤賭法選擇優(yōu)良的個體復(fù)制添加到新的種群中,之后利用輪盤算法選出兩個個體進行基因交叉重組添加到新的種群中,然后覆蓋舊種群,利用輪盤賭法選出個體以極小的概率隨機變化其基因添加到新的種群中,然后覆蓋舊種群; (4)判斷是否達到終止條件,達到則輸出最優(yōu)解,否則轉(zhuǎn)(2)。
2.根據(jù)權(quán)利要求1所述的一種基于遺傳算法的高校排課方法,其特征在于,其時間安排算法為: (1)根據(jù)班級的數(shù)據(jù)生成一張空白課表; (2)建立初始群種,隨機建立η組教學(xué)任務(wù)裝入空白課表; (3)評估適應(yīng)度,也就是對種群進行沖突檢測,有沖突就消除,如果無沖突則遺傳迭代結(jié)束,算法終止; 跳轉(zhuǎn)到(8); (4)根據(jù)適應(yīng)度大小,選擇某個特定的規(guī)則來選擇算子,產(chǎn)生中間代; (5)對種群中的個體進行交叉計算; (6)選擇種群中符合的個體進行變異計算; (7)產(chǎn)生新種群,覆蓋舊種群,如果滿足任意一個優(yōu)化停止的條件,就跳轉(zhuǎn)到第(3),否則跳轉(zhuǎn)到(8); (8)算法結(jié)束,根據(jù)計算的適應(yīng)度的值,適應(yīng)度越高就表示越優(yōu),從較優(yōu)的群體中選擇一個最優(yōu)方案。
3.根據(jù)權(quán)利要求1所述的基于遺傳算法的高校排課方法,其特征在于,排課算法與遺傳算法中的對應(yīng)關(guān)系包括: 基因:組成染色體的單元,定義時間t和一門課程構(gòu)成一個“時間-課程”的對每個對與一個待定的教室相對應(yīng),設(shè)這樣的一個組合為一個基因; 染色體:為待求解問題的一個可能解,由基因連接組成染色體,即一種可能的排課方案,也是遺傳算法操作的基本對象。
4.根據(jù)權(quán)利要求1所述的基于遺傳算法的高校排課方法,其特征在于,排課算法與遺傳算法中的對應(yīng)關(guān)系還包括: 初始群種:隨機生成若干種排課方案的集合,表示基于遺傳算法的排課的搜索空間。
5.根據(jù)權(quán)利要求1所述的基于遺傳算法的高校排課方法,其特征在于,排課算法與遺傳算法中的對應(yīng)關(guān)系還包括: 選擇算子:根據(jù)生物遺傳學(xué)的“設(shè)置生存,優(yōu)勝劣汰”的進化規(guī)則,使用輪盤賭算法,不同個體的適應(yīng)度在一個種群中所占比例的總和為1,呈現(xiàn)在一個輪盤上,根據(jù)個體的適應(yīng)度的概率選擇其作為父個體,個體的適應(yīng)度越大,被選中的機會越高。
6.根據(jù)權(quán)利要求1所述的基于遺傳算法的高校排課方法,其特征在于,排課算法與遺傳算法中的對應(yīng)關(guān)系還包括: 變異算子:按照很小的概率隨機改變某個個體的性質(zhì),使基于基因的單點變異; 交叉算子:父個體按照一定的概率隨機交換基因的前后部分形成新的個體,在本課題中采取單點交叉操作; 終止條件:表示迭代遺傳代數(shù)的條件限制,當(dāng)達到設(shè)定值之后,終止操作。
【專利摘要】本發(fā)明提供一種基于遺傳算法的高校排課方法,將排課問題轉(zhuǎn)化成遺傳算法的問題,排課問題的因素和遺傳算法的算子相對應(yīng)。時間算法與課室安排算法相結(jié)合,在排課過程的不同階段,建立起優(yōu)先的課室集,指導(dǎo)算法一直尋找最合適的課室,實時地對各類課室類型的資源和數(shù)量進行動態(tài)維護,避免了遺傳算法出現(xiàn)未成熟就收斂等問題,也有效地解決了“甩課”問題。
【IPC分類】G06Q50-20
【公開號】CN104751388
【申請?zhí)枴緾N201510091102
【發(fā)明人】胡劍鋒
【申請人】江西科技學(xué)院
【公開日】2015年7月1日
【申請日】2015年3月1日