![目前流行的幾種排課算法的介紹_第1頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/0b98b5de-1f00-446d-bc20-0a394c92e528/0b98b5de-1f00-446d-bc20-0a394c92e5281.gif)
![目前流行的幾種排課算法的介紹_第2頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/0b98b5de-1f00-446d-bc20-0a394c92e528/0b98b5de-1f00-446d-bc20-0a394c92e5282.gif)
![目前流行的幾種排課算法的介紹_第3頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/0b98b5de-1f00-446d-bc20-0a394c92e528/0b98b5de-1f00-446d-bc20-0a394c92e5283.gif)
![目前流行的幾種排課算法的介紹_第4頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/0b98b5de-1f00-446d-bc20-0a394c92e528/0b98b5de-1f00-446d-bc20-0a394c92e5284.gif)
![目前流行的幾種排課算法的介紹_第5頁(yè)](http://file3.renrendoc.com/fileroot_temp3/2022-3/2/0b98b5de-1f00-446d-bc20-0a394c92e528/0b98b5de-1f00-446d-bc20-0a394c92e5285.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、2 目前流行的幾種排課算法的介紹21. 自動(dòng)排課算法1 .問(wèn)題的描述我們討論的自動(dòng)排課問(wèn)題的簡(jiǎn)化描述如下:1 , C2 , ., Cn ,課程總數(shù)為n , 而各門課程每周安排次數(shù)(每次為連續(xù)的2 學(xué)時(shí)) 為 N1 , N2 , ., Nn 教學(xué)日最多安排4 次課程教學(xué),即1 2 節(jié)、3 4 節(jié)、5 6 節(jié)和7 8 節(jié)(以下分別稱第1 、2 、種假設(shè)下,顯然每周的教學(xué)總時(shí)間段數(shù)為5 ×4 = 20 ,并存在以下約束關(guān)系:n 20 , (1)? N = 6n, i =1, Ni 20. (2)適當(dāng)?shù)臄?shù)據(jù)結(jié)構(gòu)和算法, 以確定 C1 , C2 , ., Cn 中每個(gè)課程的教學(xué)應(yīng)占據(jù)的時(shí)間段,
2、并且保證任何一個(gè)時(shí)據(jù).2 .主要數(shù)據(jù)結(jié)構(gòu)配2 個(gè)字節(jié)的“時(shí)間段分配字”(無(wú)符號(hào)整數(shù)) : T1 , T2 , ., Tn . 其中任何一個(gè)時(shí)間段分配字(假設(shè)為Ti 格式定義為:unsigned int . Ti 的最高位是該課程目前是否是有效的標(biāo)志,0 表示有效,1 表示無(wú)效(如停課等)占連續(xù)的3 個(gè)位(bit) ,表示某教學(xué)日(星期一 星期五) 安排該課程的時(shí)間段的值,0 表示當(dāng)日未安排,1 時(shí)間段(超過(guò)4 的值無(wú)效) .時(shí)間段分配字的值應(yīng)小于32 768 (十六進(jìn)制8000) , 而大于等于32 768 的時(shí)間段分配字對(duì)應(yīng)于那些當(dāng)前無(wú)配位已設(shè)置好也如此) , 因此很容易實(shí)現(xiàn)停課/ 開課處理
3、.3 .排課算法在上述假設(shè)下,自動(dòng)排課算法的目標(biāo)就是確定 C1 , C2 , ., Cn 所對(duì)應(yīng)的 T1 , T2 , ., Tn .共有(即有A(20,(N-20))20 !/ (20 - N) !種排法( N 的含義見(2) 式) . 如果有4 門課,每門課一周上就會(huì)有20 !/ (20 - 8) ! = 5 079 110 400 ,即50 多億種. 如果毫無(wú)原則地在其中選擇一種方案,將會(huì)耗費(fèi)巨確定的排課原則. 我們采用輪轉(zhuǎn)分配法作為排課原則:從星期一第1 時(shí)間段開始按 C1 , C2 , ., Cn 中所列 ,再按該順序繼續(xù)向后面的時(shí)間段進(jìn)行安排,直到所有課程的開課次數(shù)符合 N1 ,
4、N2 , ., Nn 中給定的值用 C1 , C2 , ., C n 表示 C1 , C2 , ., Cn , 對(duì) N1 , N2 , ., Nn和 T1 , T2 , ., Tn 也采用同樣的表示法.算法1 排課算法輸入 C1 , C2 , ., Cn 、 N1 , N2 , ., Nn .輸出 T1 , T2 , ., Tn . 初始化:星期值week = 1時(shí)間段值segment = 1 T 1 , T 2 , ., T n 中各時(shí)間段分配字清零 新一輪掃描課程:置繼續(xù)處理標(biāo)志flag = 0對(duì)課程索引值c-index = 1 ,2 , ., n 進(jìn)行以下操作:如果Nc-index &g
5、t; 0 ,則做以下操作:把segment 的值寫入Tc-index 的第(week - 1) 3 3week 3 3 - 1 位中 Nc-index 的值減如果Nc-index > 0 ,則置flag = 1如果week = 5 并且segment = 4則:置flag = 1 并轉(zhuǎn)否則:如果segment = 4則:置segment = 1 且week 增1否則:segment 增1檢測(cè)是否已全部安排完畢:如果flag = 1則:轉(zhuǎn)否則:轉(zhuǎn) 檢測(cè)是否成功:如果flag = 1則:開課次數(shù)過(guò)多否則:課程安排成功 算法結(jié)束時(shí)間復(fù)雜度為O ( N) ( N 為每周總開課次數(shù), 見(2) 式
6、) , 而存儲(chǔ)時(shí)間段分配字所用空間為2 n 個(gè)字節(jié)( n4 .沖突檢測(cè)算法后,需要人工調(diào)整某些課程的安排時(shí)間,如把第i 門課程在人工干預(yù)下改成星期數(shù)為week 、時(shí)間段為segment據(jù)結(jié)構(gòu)需做如下運(yùn)算:T i = T i &( (7 << (week - 1) * 3) ) + (segment << (week - 1)*3) ,其中&、 和n 分別為按位與、按位取反和按位左移運(yùn)算符(下同) .問(wèn)題是如何判斷是否已有其它課程安排在同一個(gè)時(shí)間段上. 設(shè)人工調(diào)整的時(shí)間段分配描述為:判斷時(shí)間段分配字T 1 與 T2 , T 3 , ., T n 中的某個(gè)分
7、配字是否存在相同課程分配, T 3 , .,T n 中是否存在與T 1 沖突的時(shí)間段分配字. 為簡(jiǎn)化起見,在以下算法描述中假設(shè)所有時(shí)為0.算法2 沖突檢測(cè)算法輸入 T1 和 T2 , ., Tn .輸出 與T1 沖突的 T2 , ., Tn 中的時(shí)間段分配字. 對(duì)c-index = 2 ,3 , ., n 做以下操作:初始化屏蔽字mask = 7對(duì)星期值week = 1 ,2 ,3 ,4 ,5 做以下操作:如果T1 & mask 等于Tc-index & mask ,而且二者不等于0則: T 1 與Tc-index 相沖突,轉(zhuǎn)mask 左移3 位(或乘8) 算法結(jié)束本算法時(shí)間復(fù)
8、雜度為O ( n) ( n 為課程門數(shù))5.算法分析,進(jìn)行搜索匹配,取最先匹配的值;具有占有空間少,運(yùn)算速度快的特點(diǎn)。但其未對(duì)數(shù)據(jù)進(jìn)行擇優(yōu)選取,所也不能滿足一些特殊要求(比如有些老師喜歡上午上課,有些老師偏向于集中式上課;有些課程安排到上程不能安排到上午等)。22 基于優(yōu)先級(jí)的排課算法是一個(gè)在時(shí)間、教師、學(xué)生和教室四維空間, 以教學(xué)計(jì)劃和各種特殊要求為約束條件的組合規(guī)劃問(wèn)題。其實(shí)的沖突。在設(shè)計(jì)算法時(shí), 為了降低課程調(diào)度的算法復(fù)雜性, 我們主要采用了化整為零的思想及優(yōu)先級(jí)算法:1排課的預(yù)處理1等價(jià)類的劃分任務(wù)劃分在同一等價(jià)類中, 在每個(gè)等價(jià)類之間只存在地點(diǎn)上的沖突, 而沒(méi)有時(shí)間上的沖突。 然后按
9、照的大小等價(jià)類的劃分可以先按年級(jí)分, 然后再按系別分, 如下 所示:聽課對(duì)象等價(jià)類的劃分自控系機(jī)械系化工系管理系.99 級(jí)N 1 子類1 子類2 子類3 子類4 .98 級(jí)N 2 子類5 子類6 子類7 子類8 .97 級(jí)N 3 子類9 子類10 子類11 子類12 .96 級(jí)N 4 子類13 子類14 子類15 子類16 .個(gè)類: 99 級(jí)(N 1) , 98 級(jí)(N 2) , 97 級(jí)(N 3) , 96 級(jí)(N 4) , 而對(duì)每一個(gè)等價(jià)類N 1、N 2、N 3、N 4 又個(gè)子類, 然后對(duì)每個(gè)子類分別進(jìn)行排課處理, 這樣做就可以大大降低算法的復(fù)雜性2教室分類用教室, 我們采用了教室分類的辦法, 以便盡可能在課程編排過(guò)程中避免上課人數(shù)少的課程盲目強(qiáng)占容量大的分為若干個(gè)等價(jià)類, 如下所示,然后,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)四年級(jí)開學(xué)第一課《安全教育》聽評(píng)課記錄
- 青年委員工作計(jì)劃
- 商品房預(yù)售資金監(jiān)管合作協(xié)議書范本
- 電商供應(yīng)商合同范本
- 湘教版數(shù)學(xué)九年級(jí)上冊(cè)3.3《相似圖形》聽評(píng)課記錄2
- 魯教版地理六年級(jí)下冊(cè)7.1《日本》聽課評(píng)課記錄1
- 閥門維修合同范本
- 蘇教版一年級(jí)數(shù)學(xué)下冊(cè)第五單元教案
- Unit4-My-home教案設(shè)計(jì)-小學(xué)《英語(yǔ)》四年級(jí)上冊(cè)-人教PEP版
- 七年級(jí)歷史下冊(cè)第二單元遼宋夏金元時(shí)期:民族關(guān)系發(fā)展和社會(huì)變化11元朝的統(tǒng)治聽課評(píng)課記錄(新人教版)
- 云端數(shù)據(jù)加密與密鑰管理解決方案
- 毒麻藥品試題答案
- 元明時(shí)期左江上思州黃姓土司問(wèn)題研究
- 醫(yī)療器械專業(yè)知識(shí)培訓(xùn)課件
- 傳統(tǒng)體育養(yǎng)生學(xué)
- DB4401∕T 33-2019 電梯托管標(biāo)準(zhǔn)化管理規(guī)范
- 松原市人民政府關(guān)于印發(fā)松原市招商引資服務(wù)公司組建工作實(shí)施方案的通知
- 義工財(cái)務(wù)管理制度范文
- 西安旅游景點(diǎn)介紹PPT模板(推薦)
- 公司實(shí)際經(jīng)營(yíng)地與公司注冊(cè)地不一致的說(shuō)明
- 貴州省工傷待遇申請(qǐng)表(綜合柜員)
評(píng)論
0/150
提交評(píng)論