国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

回溯算法在排課系統(tǒng)中的應(yīng)用研究

2016-02-05 00:34羅月映
山西青年 2016年7期
關(guān)鍵詞:課表分配設(shè)置

羅月映

廣西大學(xué),廣西 南寧 530226

?

回溯算法在排課系統(tǒng)中的應(yīng)用研究

羅月映*

廣西大學(xué),廣西南寧530226

摘要:排課系統(tǒng)是現(xiàn)代高校教務(wù)管理系統(tǒng)的重要組成部分之一,好的排課系統(tǒng)不僅能夠減少教務(wù)管理人員的工作量,還可以極大地提高工作效率。本文在認(rèn)真分析回溯算法實(shí)現(xiàn)思想的基礎(chǔ)上,給出了回溯算法在排課系統(tǒng)中的具體應(yīng)用過(guò)程,有一定的實(shí)用價(jià)值。

關(guān)鍵詞:回溯算法;排課系統(tǒng)

一、引言

排課問(wèn)題是一個(gè)人們一直都在研究的課題,但目前所有高校所使用的排課系統(tǒng)都各不相同,即排課系統(tǒng)不具有通用性,目前解決排課問(wèn)題所使用的算法主要有模擬退火算法、貪心算法、遺傳算法以及回溯算法,各種算法各有其優(yōu)缺點(diǎn)以及它們的實(shí)用范圍。本文將對(duì)回溯算法加以適當(dāng)?shù)母倪M(jìn),采用基于優(yōu)先級(jí)的回溯算法實(shí)現(xiàn)排課問(wèn)題的處理。

二、回溯算法分析

回溯法也稱(chēng)為試探法,是一種搜索解空間和尋求最優(yōu)解的方法?;厮莘ǖ幕緦?shí)現(xiàn)思想是:構(gòu)造一棵解空間樹(shù),從樹(shù)的根結(jié)點(diǎn)沿著一條選定的路徑一直往下走,能走則會(huì)沿著指定線(xiàn)路一直前進(jìn),否則就會(huì)按照原路返回,換一條路線(xiàn)繼續(xù)行走,它的實(shí)質(zhì)是對(duì)解空間樹(shù)進(jìn)行搜索的過(guò)程。該算法的主要優(yōu)點(diǎn)主要包括:

(一)對(duì)空間的消耗較少,當(dāng)其與分支定界法共同使用時(shí),對(duì)所求最優(yōu)解在解答樹(shù)中層次較深的問(wèn)題時(shí)會(huì)獲得比較理想的效果。

(二)使用中依據(jù)貪心算法的思想,在時(shí)間分配時(shí)總是在未分配的時(shí)間片中選擇排課效果最好的課程,并在時(shí)間分配沖突時(shí),向上回溯搜索到發(fā)生沖突的前一個(gè)記錄,對(duì)其進(jìn)行重新選擇以解決問(wèn)題。

三、排課問(wèn)題分析

排課問(wèn)題是NP完全問(wèn)題和組合規(guī)劃問(wèn)題的結(jié)合,具有相應(yīng)的復(fù)雜性和不確定性。求解排課問(wèn)題時(shí),時(shí)間、課程、教室作為三個(gè)相互制約的主要因素和教學(xué)資源。排課的過(guò)程主要是針對(duì)教師、班級(jí)、課程、時(shí)間和教室這五個(gè)基本要素,根據(jù)不同的滿(mǎn)足條件進(jìn)行組合與規(guī)劃的問(wèn)題,并且課表的編排要求不能有教師、班級(jí)和教室這三個(gè)要素之間的沖突。課程表的編排還應(yīng)該充分考慮教師的時(shí)間安排、教學(xué)設(shè)備和教學(xué)資源的利用率、是否符合教學(xué)規(guī)律等相關(guān)因素,因此課表的編排必須遵循一些“硬性約束”和“軟性約束”。

此外,排課問(wèn)題實(shí)質(zhì)上是時(shí)間片、教師、班級(jí)、教室、課程這五維關(guān)系的沖突問(wèn)題,要合理的解決這個(gè)問(wèn)題首先要了解排課中的一些基本原則以及排課的一些基本要求。其中時(shí)間片的涵義是以課表的每一大節(jié)課(包含兩小節(jié))為單元來(lái)記作一個(gè)時(shí)間片,如某一天的某一大節(jié)課。本文將影響排課的五個(gè)要素按照對(duì)象、時(shí)間與空間的關(guān)系劃分為:對(duì)象資源、時(shí)間資源和空間資源。其中,教師,班級(jí)和課程稱(chēng)為對(duì)象資源;時(shí)間片稱(chēng)為時(shí)間資源;教室稱(chēng)為空間資源。

四、回溯算法在排課問(wèn)題中的實(shí)際應(yīng)用

在排課的過(guò)程中需要指定教師和班級(jí)的優(yōu)先級(jí),并且教室要按照其人數(shù)的容量從小到大進(jìn)行排列。其中,教師優(yōu)先級(jí)=老師上課數(shù)/總課時(shí),當(dāng)優(yōu)先級(jí)大于1時(shí)報(bào)錯(cuò),教師按其優(yōu)先級(jí)從大到小排列。班級(jí)優(yōu)先級(jí)=該班級(jí)所有課程的老師的優(yōu)先級(jí)總和,班級(jí)按其優(yōu)先級(jí)從大到小排列。

此外,算法在實(shí)現(xiàn)的過(guò)程中,需要做好三個(gè)基本表的設(shè)置工作,即教室使用表、課程安排限制表及教師排課限制表。設(shè)置工作主要包括教室使用、課程安排及教師排課在每天(周一到周五)每個(gè)時(shí)段(一天包括五大節(jié)課)使用情況。

依據(jù)排課問(wèn)題的相關(guān)設(shè)置及回溯法的的實(shí)現(xiàn)思想,可以得到回溯算法在排課問(wèn)題中的具體偽代碼如下:

int paike()

{ while(遍歷時(shí)間片)

{

if(排序失敗) return 1;// 調(diào)用優(yōu)先級(jí)排序函數(shù)重新排序

while(遍歷班級(jí))

{

得到一個(gè)班級(jí);

if(該班級(jí)已分配){ continue;}//已經(jīng)分配,繼續(xù)下一個(gè),否則嘗試分配

while(遍歷該班級(jí)的課程)

{

得到一門(mén)課程;

if(任課教師已分配或該課程已安排){ continue;}

while(遍歷教室)

{

得到一個(gè)教室;

if(教室已分配或教室總?cè)萘坎粔?

{ continue;}

else

{

設(shè)置教師已經(jīng)分配標(biāo)志位;

設(shè)置班級(jí)已經(jīng)分配標(biāo)志位;

設(shè)置班級(jí)本周已經(jīng)上課課時(shí);

設(shè)置教室已經(jīng)分配標(biāo)志位;

添加課表;

函數(shù)遞歸;

if(返回值== 2)

{

還原教師已經(jīng)分配標(biāo)志位;

還原班級(jí)已經(jīng)分配標(biāo)志位;

還原班級(jí)本周已經(jīng)上課課時(shí);

還原教室已經(jīng)分配標(biāo)志位;

還原課表;

continue;

}

if(返回值 == 0)

{ return 0;}

}

}

}

}

更換時(shí)間片,并設(shè)置各標(biāo)志位為假;

}

時(shí)間片遍歷完;

while(遍歷全部班級(jí))

{

得到一個(gè)班級(jí);

while(遍歷該班級(jí)課程)

{

得到一門(mén)課程

if(本門(mén)課程沒(méi)上完)

{ return 2;}

}

}

return0;}

}

paike()函數(shù)在執(zhí)行完畢以后會(huì)有相應(yīng)的返回值,其中0代表排課完成,1代表排序失敗,2代表課程沒(méi)上完。

五、結(jié)束語(yǔ)

本文主要針對(duì)回溯算法在排課問(wèn)題中的一些用進(jìn)行了相關(guān)探討研究,其主要思路是對(duì)回溯算法進(jìn)行了一些改進(jìn),加入了優(yōu)先級(jí),做了一些限定條件,提高了算法的實(shí)現(xiàn)效率。但排課問(wèn)題是非常復(fù)雜的NP完全問(wèn)題和組合規(guī)劃問(wèn)題的結(jié)合,其實(shí)現(xiàn)方式多種多樣,并且到目前為止沒(méi)有一個(gè)統(tǒng)一的解決方案,因此本文的研究只是對(duì)排課問(wèn)題解決的一種嘗試,具體還需要做更多的改進(jìn)。

[參考文獻(xiàn)]

[1]劉彥.基于優(yōu)先級(jí)與回溯算法的排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].黑龍江大學(xué),2012.

[2]甘茂杰.教務(wù)排課系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].電子科技大學(xué),2012.

作者簡(jiǎn)介:羅月映(1987-),女,廣西百色人,廣西師范學(xué)院師園學(xué)院,助理研究員,廣西大學(xué)2012級(jí)在讀工程碩士,從事教育管理工作。

中圖分類(lèi)號(hào):TP311.52

文獻(xiàn)標(biāo)識(shí)碼:A

文章編號(hào):1006-0049-(2016)07-0069-02

猜你喜歡
課表分配設(shè)置
學(xué)生出招解決”日課牌“問(wèn)題
中隊(duì)崗位該如何設(shè)置
如果我是校長(zhǎng)
船舶防火結(jié)構(gòu)及設(shè)置的缺陷與整改
應(yīng)答器THR和TFFR分配及SIL等級(jí)探討
遺產(chǎn)的分配
一種分配十分不均的財(cái)富
7招教你手動(dòng)設(shè)置參數(shù)
各地區(qū)學(xué)生課表
高職院校課表過(guò)程化管理探討*
鲜城| 买车| 延边| 甘孜| 大新县| 阜新市| 什邡市| 巴林左旗| 内江市| 遵化市| 潮州市| 手机| 三门县| 恩平市| 蓬安县| 伊吾县| 印江| 平安县| 乌鲁木齐县| 新龙县| 赤水市| 佛山市| 石渠县| 望江县| 辽源市| 喀喇沁旗| 天镇县| 房山区| 武冈市| 阳泉市| 亚东县| 肇东市| 海南省| 阜平县| 从化市| 台中市| 定州市| 页游| 星座| 久治县| 达孜县|