999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于遺傳-蟻群混合算法的排課系統(tǒng)①

2019-04-10 05:07:26胡粔琿
關(guān)鍵詞:信息課程

孫 弋,胡粔琿

(西安科技大學(xué) 通信與信息工程學(xué)院,西安 710054)

引言

教務(wù)管理是教育活動的重要支撐,隨著高校教育改革的發(fā)展,高校人數(shù)的增加,但教學(xué)資源卻相對有限的情況下,排課工作的難度和復(fù)雜程度都有所提高.因此,如何設(shè)計一個能滿足多約束條件并且高效的排課系統(tǒng)成為了目前待解決的問題[1].

排課系統(tǒng)的核心是排課,排課算法一個NP完全問題,即算法的計算時間呈指數(shù)增長[2].常用的排課算法有: 蟻群算法、遺傳算法、貪心算法、圖論算法等.遺傳算法模擬生物進(jìn)化過程,具有自適應(yīng)全局尋優(yōu)和智能搜索等優(yōu)點,但是容易收斂得到局部近似最優(yōu)解,進(jìn)行大量的無用迭代,難以收斂于最優(yōu)解[3,4].蟻群算法啟發(fā)于螞蟻尋找最優(yōu)路徑的行為,具有較強(qiáng)的魯棒性,是一種正反饋算法.但當(dāng)群體規(guī)模較大時,搜索初期信息素匱乏,容易產(chǎn)生停滯現(xiàn)象.單算法在解決問題時都會有局限性,花費的時間成本更多,求解的結(jié)果不理想[5,6].

為了提高排課的效率和成功率,本文提出一種將遺傳算法與蟻群算法結(jié)合使用的方法,首先使用遺傳算法對初始種群進(jìn)行優(yōu)化選擇,生成蟻群算法所需的信息素,再通過蟻群算法求得全局精確解.優(yōu)劣互補(bǔ),充分發(fā)揮兩者的優(yōu)勢[7].

1 排課問題的分析

排課問題主要涉及教師、教室、課程、班級、上課時間等因素,排課的實質(zhì)就是要求課程表在安排的時候不能在上述五個因素中發(fā)生沖突.可使用五個集合來表示這些因素.

班級集合:C={C1,C2,C3,···,Cn}

課程集合:S={S1,S2,S3,···,Sm}

教師集合:T={T1,T2,T3,···,Tx}

教室集合:R={R1,R2,R3,···,Rt},教室有多種類型,例如實驗室、多媒體教室、機(jī)房等,每個教室容納的人數(shù)也不相同.

時間段集合:P={P1,P2,P3,···,Pi},Pi表示時間段,例如P1為 周一的1-2節(jié)課,P2為3-4節(jié)課.時間和教室的笛卡兒積為:N=R*P={(r1,p1),(r2,p2),…,(rn,pn)},N中的元素是教室-時間對.排課問題由此轉(zhuǎn)化為一門課尋找一個合適的教室時間對.

1.1 硬約束條件

硬約束是在排課過程中必須要遵守的約束條件,如果排課過程中無法遵守硬約束條件,則會導(dǎo)致日常的教學(xué)計劃無法順利的進(jìn)行.例如:

(1)同一個教師在同一時間段內(nèi)只能夠上一門課,并且教室的性質(zhì)要和課程要求相吻合;

(2)同一個班級在同一時間段內(nèi)只能夠接受一門課;

(3)一門課程安排的教室座位數(shù)量要大于或等于本門課程上課的人數(shù).

1.2 軟約束條件

軟約束條件需要將人體生物規(guī)律與排課進(jìn)行結(jié)合.滿足軟約束條件越多,課表越能讓教師與學(xué)生滿意.例如:

(1)盡量將專業(yè)課或者難度較大的課程安排在學(xué)生思維活躍的時間段;

(2)體育課應(yīng)安排在下午或者上午的第二大節(jié),因為體育課后人體疲憊不適宜安排專業(yè)性過強(qiáng)的課程.

2 算法概述

2.1 遺傳算法

遺傳算法是通過模擬生物界遺傳選擇和自然淘汰的生物進(jìn)化過程的計算模型,借鑒了生物界適者生存、優(yōu)勝劣汰的進(jìn)化規(guī)律,從而演化的隨機(jī)化搜索方法.遺傳算法從一個種群開始,在這個種群中可能存在問題的潛在解,每個種群是由經(jīng)過編碼的N個個體組成,每個個體就是帶有一定特征的染色體實體.在每一代中,選擇適應(yīng)度較大的個體進(jìn)行培育,然后借助遺傳學(xué)中的遺傳算子進(jìn)行多次組合交叉、變異等操作,產(chǎn)生出代表新的解集的種群.這樣經(jīng)過了多次演化之后得到的種群就可以看作問題的近似最優(yōu)解.

遺傳算法的流程如下:

(1)隨機(jī)產(chǎn)生一定數(shù)量的初始種群,數(shù)量由業(yè)務(wù)需求定義.

(2)對全部個體進(jìn)行適應(yīng)度的評估,如果某個個體的適應(yīng)度已經(jīng)滿足最優(yōu)化的要求,則輸出此個體,并結(jié)束計算.否則轉(zhuǎn)向第(3)步.

(3)從所有個體中取出適應(yīng)度較強(qiáng)的個體成為再生個體.

(4)依據(jù)交叉概率,變異概率生成新的個體.

(5)由上述兩步交叉和變異產(chǎn)生新一代種群,然后返回第(2)步.

2.2 蟻群算法

蟻群算法是一個尋找最優(yōu)路徑的方法.螞蟻在尋找食物的過程中,通過釋放信息素留下信息,后面的螞蟻就會根據(jù)路上的信息素來選擇路徑,信息素的濃度與行走的路程成反比,走的路途越長,信息素濃度越低,則越不容易找到,路途越短,信息素濃度含量越高.隨著時間的推移最優(yōu)路上的信息素濃度越大,最終蟻群會找到一個最優(yōu)路徑.

2.3 遺傳-蟻群混合算法

遺傳,蟻群算法是兩大仿生算法,都有各自的優(yōu)勢和不足.遺傳算法的優(yōu)勢在于在大范圍內(nèi)具有快速全局搜索的能力,但在處理反饋信息時利用率過低,容易過早的收斂,或求解到一定范圍時會做大量的無用迭代,從而會降低求解過程中的效率.蟻群算法采用正反饋機(jī)制,具有較強(qiáng)的魯棒性,使搜索過程不斷收斂,有更好的全局優(yōu)化能力.但是在搜索初期信息素分布較少時,求解速率較慢.

而排課問題的實質(zhì)就是一個NP完全問題,影響排課因素的細(xì)微變動,尤其是信息量一點點的增加,都會給排課帶來“組合爆炸”災(zāi)難,當(dāng)排課規(guī)模較大時,單算法在排課問題中就表現(xiàn)出局限性,會出現(xiàn)排課時間較長、排出的課表無法令教師學(xué)生滿意等現(xiàn)象.因此,本文將兩算法結(jié)合應(yīng)用于排課問題中,首先利用遺傳算法在大范圍內(nèi)快速的生成信息素分布,再利用蟻群算法求出全局最優(yōu)解,優(yōu)勢互補(bǔ),可以減少求解的時間,提高精確率.

3 遺傳-蟻群混合算法解決排課問題

3.1 遺傳算法在排課問題中的應(yīng)用

3.1.1 構(gòu)造基因編碼和染色體

實施遺傳算法的第一步就是對需要解決問題的參數(shù)進(jìn)行基因編碼,從而進(jìn)行相關(guān)的遺傳操作.本文采用二進(jìn)制對編碼數(shù)據(jù)進(jìn)行設(shè)計.如表1所示.

表1 編碼方式

3.1.2 適應(yīng)度函數(shù)

在遺傳算法的進(jìn)化過程中,其根據(jù)適應(yīng)度函數(shù)來確定進(jìn)化方向.適應(yīng)度是對課表優(yōu)劣的一種體現(xiàn).適應(yīng)度越大則證明課表的效果越優(yōu)秀.因此適應(yīng)度函數(shù)直接決定著排課方案的尋優(yōu)速率和能否找到最優(yōu)解.

所以這就需要制定一個合適的適應(yīng)度函數(shù)(期望).在本文中,課表的期望值可以分為以下三種: 課程離散程度期望,節(jié)次優(yōu)化度期望和特殊課程期望.

(1)課程離散程度期望

同一門課程安排的時間應(yīng)該分布均勻,每周安排的時間不能分散也不能太集中.本文將每天的教學(xué)時間段分為4個,每周一共20個時間段.用編號相同課程的時差來表示離散程度的大小如表2所示.

表2 課程離散程度期望

每一個課程時差對應(yīng)一個期望,期望函數(shù)公式為:

(2)節(jié)次優(yōu)化度期望值

人體生物鐘規(guī)律應(yīng)與教學(xué)內(nèi)容相匹配,邏輯思維活躍的時間段一般在早晨,而下午更容易疲倦所以學(xué)習(xí)效率較低.根據(jù)人體生物鐘規(guī)律節(jié)次的不同的課程期望值也不同,如表3所示.

表3 節(jié)次優(yōu)化度期望值

對于難度比較大的課程就可以安排在期望值高的節(jié)次上,對于節(jié)次期望值函數(shù)的公式為:

(3)特殊課程的期望值

特殊課程包含體育課與自習(xí)課,此類課程最好安排在下午的第二節(jié).當(dāng)體育課結(jié)束后,人體處于疲倦狀態(tài),不適于將專業(yè)性過強(qiáng)的課程安排在體育課后.如表4對特殊課程給出了不同的期望.

表4 特殊課程的期望值

對體育課排課就依據(jù)上表的期望值為:

應(yīng)將課表中沒有課程的時間段安排給自習(xí)課.則計算特殊課程期望值的公式為:

根據(jù)以上分析可得出適應(yīng)度函數(shù)F,如下公式為:

式中,K1,K2,K3為調(diào)控期望值對總期望影響程度的參數(shù).

3.1.3 種群操作

當(dāng)形成初始種群,并設(shè)計好適應(yīng)度函數(shù)后,下一步就是要進(jìn)行遺傳操作.遺傳算法包括三個基本操作: 選擇、交叉和變異.

(1)選擇操作

選擇操作就是依照適應(yīng)度的值保留優(yōu)良的個體,適應(yīng)度越高證明越近似于最優(yōu)解.本文中保留優(yōu)良個體的依據(jù)是期望值方法,選擇期望值高的個體進(jìn)行交叉變異操作.

(2)交叉操作

交叉操作就是把兩個個體的部分結(jié)構(gòu)進(jìn)行替換重組從而產(chǎn)生新的個體.根據(jù)選擇操作的結(jié)果,選擇兩條染色體作為父代,進(jìn)行交叉操作.為了防止染色體的結(jié)構(gòu)發(fā)生更改,本文的交叉操作只針對教室和上課時間,這樣教師和班級都沒有發(fā)生改變,維持了染色體原本的結(jié)構(gòu).同時設(shè)定交叉概率為PJ,若PJ大于隨機(jī)值r(0<r<1),就進(jìn)行交叉操作.

(3)變異操作

變異操作能夠隨機(jī)的對個體的局部進(jìn)行搜索,提高種群的多樣化.本文中的變異操作

就是對染色體編碼中教室和時間段的局部編碼進(jìn)行修改,可以提高染色體的適應(yīng)度.同時設(shè)定變異概率為PG,若PG大于隨機(jī)值r(0<r<1),就進(jìn)行變異操作.

3.2 蟻群算法在排課問題中的應(yīng)用

蟻群算法最初用于解決TSP(Traveling Salesman Problem),TSP具有廣泛的代表意義,許多問題都可類似的抽象為TSP問題的求解.

因此以TSP來描述蟻群算法的模型: 一只螞蟻要去n個有食物的地區(qū),它先隨機(jī)選擇一個地方作為起點,然后在逐個到達(dá)所有地區(qū),留下信息素,最后再返回起點,每個地區(qū)只能到達(dá)一次,螞蟻要怎么樣選擇順序才能使行程最短.下面建立蟻群算法的數(shù)學(xué)模型:

m為蟻群中的螞蟻數(shù)量;n為問題的規(guī)模大小(有食物地方的個數(shù));bi(t)為t時刻位于i地區(qū)的螞蟻數(shù)量,故螞蟻數(shù)量為:

其中,τij(t)為t時刻路徑(i,j)上的信息素;μij(t)為螞蟻從i到j(luò)地區(qū)的期望程度;pkij(t)為t時刻螞蟻k從i轉(zhuǎn)移到j(luò)的概率.

螞蟻k是根據(jù)τij(t)的結(jié)果來決定該往哪個方向前進(jìn),一般會選擇τij(t)值高的路徑,則螞蟻k在t時刻由i地轉(zhuǎn)移到j(luò)的概率為:其中,α為信息啟發(fā)因子,表示在螞蟻選擇行走路徑時信息量的影響;μ為期望啟發(fā)式因子,表示啟發(fā)信息對螞蟻選擇路徑時產(chǎn)生的影響程度.

在每只螞蟻訪問完所有的地區(qū)以后,每條路上的信息素濃度會發(fā)生變化,因此需要對信息素進(jìn)行更新.

其中,ρ是信息素?fù)]發(fā)系數(shù)(0<ρ<1),1-ρ表示路徑殘留的信息素量;Δ τij(t)為從i到j(luò)地區(qū)路上增加的信息素量;Δ τkij(t)為螞蟻k在i到j(luò)地區(qū)路上留下的信息素量;Q為表示信息素濃度;Lk為螞蟻k需要行走的路徑長度.

3.2.1 蟻群算法的二分圖模型

當(dāng)遇到需要用圖結(jié)構(gòu)解決的問題時可以使用蟻群算法.在本文中,用蟻群算法解決排課問題,首先需將排課問題用圖結(jié)構(gòu)G來描述:

上式中,N是圖的頂點;S是邊的集合;C是邊集有關(guān)的權(quán)值集合.

排課問題涉及五個要素,在蟻群算法中這五個要素的關(guān)系可轉(zhuǎn)化為“課程,教師,班級”關(guān)系與“時間,教師”關(guān)系,排課問題就是解決這兩個關(guān)系所構(gòu)成的二分圖的最大匹配問題.

(1)二分圖的頂點集定義

在本文將“課程,教師,班級”的關(guān)系定義為RLSC,RLSC=L×S×C,RLSC的元素組成的集合為GLSC,稱其為二分圖左側(cè)的頂點集.“時間,教室”的的關(guān)系為RTR,RTR=T×R,RTR的 元素組成的集合為GTR,為二分圖右側(cè)的頂點集.

(2)二分圖的邊集定義

在排課中對教室的安排要滿足兩個要求: 一是安排人數(shù)不能大于教室座位數(shù)量,二是教室類型滿足課程要求.因此,GLSC與GTR之間只有滿足上述兩個基本要求的節(jié)點才能進(jìn)行連接.二分圖的邊集就是GLSC中的節(jié)點與GTR中相匹配節(jié)點的連線.

(3)二分圖中邊的權(quán)值

每條邊上的權(quán)值根據(jù)具體課程時間的期望度來構(gòu)造.例如,較難的專業(yè)課嵌入式教師對課程的期望度是上午的第二節(jié)課,那么GLSC中所有嵌入式課程與GTR中時間段為滿足上午第二節(jié)的所有節(jié)點連接的邊權(quán)值要盡可能的小.通過設(shè)置權(quán)值,才能更加合理的排出質(zhì)量高的課表.

3.2.2 二分圖模型

根據(jù)上節(jié)構(gòu)造好的二分圖模型,螞蟻都是從左側(cè)GLSC的頂點集出發(fā),根據(jù)轉(zhuǎn)移概率的值和邊集在右側(cè)GTR尋找匹配的節(jié)點.然后再返回至GLSC進(jìn)行下一次的搜索工作,如此反復(fù)直到螞蟻為GLSC的頂點集全部安排好上課地點和時間后,一次循環(huán)結(jié)束.

圖1 二分圖模型

圖1展示了螞蟻一次循環(huán)的過程,螞蟻從A1出發(fā),則螞蟻此次行走的路徑為:

其中,B1是第一次匹配的終點,A2是第二次匹配的起點,B1和A2可以看成是一個邏輯節(jié)點.同理,B4和A3在此次周游中也可以看成是相同的邏輯節(jié)點.

3.3 遺傳-蟻群混合算法在排課問題中的應(yīng)用

本文將遺傳與蟻群算法進(jìn)行混合,首先利用遺傳算法生成信息素分布,在利用蟻群算法求出問題的精確解.在遺傳算法生成信息素時,為了防止其在收斂后進(jìn)行無用的迭代,要設(shè)置相應(yīng)的終止條件.在運算工程中,當(dāng)連續(xù)兩次運算結(jié)果出現(xiàn)的差值小于0.01,或迭代100次,滿足其中一個條件時可停止運算并將取得的最優(yōu)解作為蟻群算法的初始解.蟻群算法在進(jìn)行100次迭代之后,選擇路徑最短的解即可作為最優(yōu)解.遺傳-蟻群混合算法對排課問題解決步驟如圖2所示.

3.4 實驗結(jié)果及分析

為了驗證遺傳-蟻群混合算法在排課系統(tǒng)中的應(yīng)用,選取一個學(xué)院對排課系統(tǒng)進(jìn)行測試,該學(xué)院的專業(yè)數(shù)量為6,班級數(shù)量為21,約有800名學(xué)生,55名教師,22間教室,其中有16名教師對排課有特殊要求,排課單元為202.

圖2 遺傳-蟻群混合算法流程圖

為了驗證遺傳-排課算法在排課系如中的實際使用效果,在排課單元為100,400,800的情況下,對遺傳-蟻群混合算法、遺傳算法、蟻群算法三種算法的排課效果、運算時間及適應(yīng)度進(jìn)行了比較.三種算法各測試10組數(shù)據(jù)后取得平均值.

(1)實驗參數(shù)設(shè)置

遺傳算法的參數(shù)設(shè)置如下: M=40,PJ=0.4,PG=0.02;蟻群算法設(shè)置的參數(shù)如下:m=6,α =1,β =4,ρ=0.25 ,Q=8 ,τmax=800 ,τmin=0.01 ,μij=1/cij,gen=100.

(2)排課效果的比較

通過以下四個指標(biāo)來衡量排課課表的質(zhì)量,如表5所示.1為違反硬約束的次數(shù);2為一周有兩次課程且間隔少于一天的次數(shù);3為難度較大的課程安排在時間段 不好的次數(shù);4為教師的特殊要求未滿足的次數(shù).

表5 排課效果比較

如表5可以看出,遺傳算法在軟約束的沖突方面表現(xiàn)的最不理想,基于遺傳-蟻群混合算法排出的課程表,在軟約束方面的沖突次數(shù)最令人滿意,課程表的可行性及質(zhì)量都要優(yōu)于單算法排出的課程表.

(3)實驗結(jié)果分析

三種算法的平均運算時間如表5所示,平均適應(yīng)度結(jié)果如表6所示.

表6 運算時間比較

表7 適應(yīng)度比較

由表6可得,每種算法隨著排課單元的增加,所需要的排課時間隨之增加.在排課單元相同的情況下,遺傳算法需要的時間最短,而蟻群算法需要的時間最長.

由表7可得,三種算法的適應(yīng)度與排課的單元成正比.當(dāng)排課單元相同時,遺傳-蟻群混合算法的適應(yīng)度最高.也就證明混合算法排出的課表最優(yōu).

由此可見,在相同的條件下,遺傳-蟻群混合算法排課消耗的時間比遺傳算法高一些,但適應(yīng)度卻遠(yuǎn)遠(yuǎn)高于另外兩個算法.說明混合算法解決排課問題具有良好的時間性能和優(yōu)化性能.

在選擇最優(yōu)課表時,可以將適應(yīng)度最大的三個課表取出,根據(jù)定義排課質(zhì)量的四個指標(biāo),滿足軟約束條件越多的課表則可作為最終使用的課表

4 結(jié)論

目前解決排課問題可使用的單算法很多,但混合算法卻相對較少.本文提出了一種遺傳-蟻群混合的排課算法,將兩種算法的優(yōu)勢進(jìn)行了結(jié)合.在經(jīng)過測試后混合算法在運算時間上介于遺傳與蟻群算法中間,但適應(yīng)度高于單算法.混合算法不僅解決了單算法的局限性問題,還在排課效率上有所提高.

猜你喜歡
信息課程
《無機(jī)化學(xué)》課程教學(xué)改革
云南化工(2021年6期)2021-12-21 07:31:42
數(shù)字圖像處理課程混合式教學(xué)改革與探索
軟件設(shè)計與開發(fā)實踐課程探索與實踐
為什么要學(xué)習(xí)HAA課程?
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
“學(xué)而時習(xí)之”的課程值得贊賞
信息
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
健康信息(九則)
祝您健康(1987年2期)1987-12-30 09:52:28
主站蜘蛛池模板: 亚洲精品手机在线| 奇米精品一区二区三区在线观看| 国产精品丝袜在线| 天堂av高清一区二区三区| 激情無極限的亚洲一区免费| 永久免费精品视频| 欧美a在线看| 成人永久免费A∨一级在线播放| 国产精品v欧美| 日本精品视频| 韩日无码在线不卡| 97成人在线观看| 久久久91人妻无码精品蜜桃HD| 欧美成人精品高清在线下载| 黄色一级视频欧美| 国产视频 第一页| 天天综合天天综合| аⅴ资源中文在线天堂| a毛片免费在线观看| 午夜福利在线观看成人| 真人免费一级毛片一区二区| 五月天久久婷婷| 一级成人a毛片免费播放| 无码人妻免费| 在线视频亚洲欧美| 欧美日韩国产成人在线观看| 伊人五月丁香综合AⅤ| 亚洲无码视频一区二区三区| 欧美激情第一区| 国产欧美在线视频免费| 成色7777精品在线| 欧美亚洲综合免费精品高清在线观看| 色色中文字幕| 免费AV在线播放观看18禁强制| 成人精品视频一区二区在线 | 美女免费黄网站| A级全黄试看30分钟小视频| a级免费视频| 青青草a国产免费观看| 亚洲成AV人手机在线观看网站| 欧美日韩精品在线播放| 91网站国产| 国产午夜福利亚洲第一| 国产美女91视频| 青青草国产免费国产| 亚洲女同一区二区| 99re在线观看视频| 国产成人凹凸视频在线| 99中文字幕亚洲一区二区| 亚洲第一极品精品无码| 天堂av高清一区二区三区| 国产网站一区二区三区| 国产黄网永久免费| 精品国产Ⅴ无码大片在线观看81 | 亚洲精品中文字幕午夜| 成人精品视频一区二区在线| 婷婷丁香在线观看| 亚洲成人免费看| 国产青榴视频| 亚洲欧美综合另类图片小说区| 乱系列中文字幕在线视频| 欧美精品v欧洲精品| 欧美亚洲一区二区三区导航| 国产成人精品免费av| 亚洲区视频在线观看| 天堂亚洲网| 国产麻豆精品久久一二三| 最新国产午夜精品视频成人| 亚洲av中文无码乱人伦在线r| 精品无码日韩国产不卡av| 亚洲国产成人超福利久久精品| 亚洲人成影院在线观看| 一级毛片基地| 午夜少妇精品视频小电影| 国产美女视频黄a视频全免费网站| 欧美中出一区二区| 欧美丝袜高跟鞋一区二区| 色窝窝免费一区二区三区 | 精品综合久久久久久97超人该| 欧美成人区| 欧美一级大片在线观看| 亚洲中文在线视频|