第一篇:排課程序
目錄
第1章 系統(tǒng)需求......................................................................................................2 第2章 分析問(wèn)題領(lǐng)域..............................................................................................2 2.1確定系統(tǒng)范圍和邊界..................................................................................2 2.2 確定活動(dòng)者.................................................................................................2 2.3 定義UserCase.........................................................錯(cuò)誤!未定義書(shū)簽。2.4 用例圖.........................................................................................................2.5 主要交互圖(順序圖)..................................................................................8 第3章 靜態(tài)結(jié)構(gòu)模型............................................................................................10 3.1 建立對(duì)象類(lèi)圖...........................................................................................10 3.2 數(shù)據(jù)庫(kù)表設(shè)計(jì)...........................................................................................11 3.3 建立包圖...................................................................................................12 第4章 動(dòng)態(tài)行為模型............................................................................................13 4.1 建立順序圖...............................................................................................13 4.2 建立狀態(tài)圖...............................................................................................13 4.3 建立活動(dòng)圖...............................................................................................14 第5章
總結(jié)............................................................................................................15
自動(dòng)排課系統(tǒng)
第1章 系統(tǒng)需求
系統(tǒng)功能描述:
(1)課程規(guī)劃人員必須在排課之前規(guī)劃好本學(xué)期各專(zhuān)業(yè)的課程,并且要保證各個(gè)專(zhuān)業(yè)學(xué)生學(xué)期總學(xué)時(shí)不高于某個(gè)規(guī)定值。
(2)教師可以提前申請(qǐng)教授課程,可以根據(jù)自己的代課課程提出對(duì)媒體教室的需求。需要教師填寫(xiě)個(gè)人代課意向申請(qǐng),教師意向?qū)⒃谙到y(tǒng)排課時(shí)被優(yōu)先考慮。
(3)系統(tǒng)根據(jù)教室的多媒體安裝情況、座位數(shù),專(zhuān)業(yè)課程設(shè)置情況,教師意向,選課學(xué)生數(shù)量等信息進(jìn)行排課,使盡可能滿(mǎn)足各種用戶(hù)的要求;支持教師對(duì)課表更改進(jìn)行申請(qǐng),系統(tǒng)給予微調(diào)整。
(4)教室管理員根據(jù)對(duì)教室設(shè)備的更新情況修改教室配置的基本信息。
(5)系統(tǒng)管理員規(guī)定一確定時(shí)間進(jìn)行系統(tǒng)自動(dòng)排課,到這一時(shí)間時(shí),系統(tǒng)將自動(dòng)進(jìn)行排課,生成課表。
(6)課表生成后,所有用戶(hù)將有權(quán)對(duì)課表按班級(jí)、教師、教室等不同方式進(jìn)行的查詢(xún)。
第2章 分析問(wèn)題領(lǐng)域
2.1確定系統(tǒng)范圍和邊界
經(jīng)過(guò)對(duì)自動(dòng)排課系統(tǒng)的的分析可知,自動(dòng)排課管理系統(tǒng)的主要功能模塊包括:
1.自動(dòng)排課系統(tǒng):對(duì)所有的課程進(jìn)行自動(dòng)安排,以達(dá)到所有的任課老師,學(xué)生的課程無(wú)沖突;
2.教室時(shí)間安排:對(duì)所有的教室的所有可用時(shí)間進(jìn)行安排,以達(dá)到教室使用權(quán)的不突出; 3.申請(qǐng)更改課程:對(duì)有意外情況或臨時(shí)狀況的課程變更,進(jìn)行更改,以達(dá)到正常的完成教學(xué)任務(wù)。2.2 確定活動(dòng)者
使用者主要是:系統(tǒng)管理員、教師、課程規(guī)化人員 2.3 用例圖
2.3 主要交互圖(用例圖)(1)自動(dòng)排課操作順序: 1.Main : 主界面 2.land:登陸界面 3.register:注冊(cè)界面
4.Requests:排課要求界面 5.Result :自動(dòng)排課生成結(jié)果 6.Remark :備注
(1)自動(dòng)排課操作順序圖
(2)教室時(shí)間安排操作順序: 1.Main : 主界面 2.land:登陸界面 3.register:注冊(cè)界面
4.Requests:教室安排要求 5.Result :自動(dòng)排課生成結(jié)果 6.Remark :備注
(2)教室時(shí)間安排操作順序圖
(3)申請(qǐng)更改課表: 1.Main : 主界面 2.land:登陸界面
3.Apply:查看更改課表的申請(qǐng) 4.Change:對(duì)課表進(jìn)行更改 5.Result :確定申請(qǐng),生成結(jié)果 6.Public:公布更改信息界面
(3)申請(qǐng)更改課表操作順序圖
2.5建立順序圖
2.7 建立狀態(tài)圖
(1)班級(jí)課程表狀態(tài)圖
(1)班級(jí)課程表狀態(tài)圖
(2)班級(jí)狀態(tài)圖
(3)班級(jí)狀態(tài)圖
(4)教室狀態(tài)圖
(5)教室狀態(tài)圖
2.6 建立活動(dòng)圖
(1)課表自動(dòng)生成活動(dòng)圖
(2)課表自動(dòng)生成活動(dòng)圖
(3)教師申請(qǐng)更改課表活動(dòng)圖
(4)教師申請(qǐng)更改課表活動(dòng)圖
總結(jié)
課程表問(wèn)題是一個(gè)受限于課程、時(shí)間、教師、教室因素的多元問(wèn)題因素,如果一定要滿(mǎn)足所有的約束條件往往是矛盾的,剛極有可能找不到完整解。同時(shí),必須考慮教學(xué)資源沖突和緊張的問(wèn)題,由此帶來(lái)的教師到不同的校區(qū)授課的調(diào)配問(wèn)題,學(xué)生到不同校區(qū)上課的時(shí)間調(diào)配問(wèn)題,以及學(xué)生、教師上課往返時(shí)間問(wèn)題和移動(dòng)代價(jià)問(wèn)題,能夠合理分配這四個(gè)因素,解決矛盾沖突使教師和學(xué)生的上課和休息合理的結(jié)合,是我們要解決的重要問(wèn)題;其次,它是一個(gè)標(biāo)準(zhǔn)很給統(tǒng)一的問(wèn)題:不同類(lèi)型的課程,需要不同的排課方法和優(yōu)先級(jí)別來(lái)減少系統(tǒng)的開(kāi)銷(xiāo)以及數(shù)據(jù)庫(kù)的開(kāi)銷(xiāo),做到快速準(zhǔn)備的執(zhí)行系統(tǒng),同一個(gè)排課結(jié)果,可能有不同的看法。因此對(duì)排課結(jié)果的評(píng)價(jià)標(biāo)準(zhǔn)很難達(dá)到固定的量化,那么對(duì)排課系統(tǒng)的評(píng)價(jià)分析也就十分重要。利用計(jì)算機(jī)輔助進(jìn)行課表編排工作,既提高了排課工作的科學(xué)性,又可大大減輕管理人員的工作強(qiáng)度,提高工作效率,從而使學(xué)校教務(wù)管理現(xiàn)代化邁上一個(gè)新臺(tái)階。
第二篇:排課步驟
排課步驟
1.首先把學(xué)期課程安排先設(shè)置好.先做排課屬性設(shè)置:?jiǎn)螁巍㈦p雙、全全、隨隨
再設(shè)置哪些課程不排課
2.在智能排課—排課課表設(shè)置中設(shè)置:
一周天數(shù):5上午:4下午:4晚上:3
課表設(shè)置:橫是星期一至星期五縱是第一節(jié)至第六節(jié)
3.排課屬性設(shè)置(重要):
(1)首先要在連排設(shè)置中設(shè)置:?jiǎn)螁?、雙雙、全全、隨隨
(2)周課時(shí)為偶數(shù):全部設(shè)置為2節(jié)連排
(3)周課時(shí)為奇數(shù):選中課時(shí)數(shù)相同的教學(xué)班名稱(chēng),如選中所有課時(shí)的教學(xué)時(shí),然后點(diǎn)擊相同周課時(shí)班級(jí)統(tǒng)一設(shè)置。
1課時(shí):改成隨隨*1
3課時(shí):改成全全*1,隨隨*1
5課時(shí):改成全全*2,隨隨*1
7課時(shí):改成全全*3,隨隨*1
4.排課性性設(shè)置里不能設(shè)置教室。
5.排課限制條件設(shè)置:(限制課時(shí)中進(jìn)行設(shè)置)
星期三下午不排、體育課老師上午一、二節(jié)課不排
6.全部設(shè)置完成后,點(diǎn)擊自動(dòng)排課
7.自動(dòng)排課完成后,進(jìn)行手動(dòng)調(diào)課
8.如果遇到課時(shí)為3課時(shí)的,就是單雙周上課問(wèn)題。
要想辦法把單雙周的課調(diào)到同一時(shí)間上。
方法:如遇到調(diào)不進(jìn)去的課,可以先把單(雙)周課刪除,再把在這個(gè)位置讓給其它課,再在雙(單)周課時(shí)增加剛才刪除的單(雙)周。
(增加課程的方法:先點(diǎn)擊添加課程,這時(shí)右邊出現(xiàn)一個(gè)未排的課程,選中課程,再選中連排屬性,再點(diǎn)擊要排課的位置就可以了)。不參與排課班級(jí)及課程課程
高中專(zhuān)護(hù)理09-5(與師院聯(lián)辦)不參與排課
1、職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)
2、軍訓(xùn)
國(guó)防教育及軍事技能訓(xùn)練
衛(wèi)生健康教育
心理健康教育
就業(yè)教育
職業(yè)生涯規(guī)劃與就業(yè)指導(dǎo)
社會(huì)實(shí)踐
形勢(shì)與政策
金工實(shí)習(xí)技能實(shí)訓(xùn) CET2考試培訓(xùn)、CET3考試培訓(xùn) 是否排課具體與系部聯(lián)系.專(zhuān)項(xiàng)技能訓(xùn)練
普專(zhuān)藥學(xué)營(yíng)銷(xiāo)09-1不參與排課
(1)2009 物流管理(普通專(zhuān)科)2009 連鎖經(jīng)營(yíng)管理(普通專(zhuān)科)
第三篇:排課流程(推薦)
拉法法兒童教育教務(wù)白皮書(shū)
第五章 教師排課流程
意義:合理安排教師資源。充分高效的利用教師的代課時(shí)間,增加教師的帶班量和課時(shí)收入,穩(wěn)定教師隊(duì)伍,降低人力成本。
流程:
1.確定班級(jí)數(shù)量:DEMO課結(jié)束以后,開(kāi)課前一周與幼兒園再次確認(rèn)以及更新《幼兒園報(bào)名收費(fèi)信息表》,根據(jù)前期設(shè)班信息將學(xué)生進(jìn)行分班,并按照每日增長(zhǎng)情況預(yù)留名額,確定該幼兒園班級(jí)數(shù)量并確保開(kāi)課后每班人數(shù)的合理性。最低不少于15人,最多不超過(guò)30人。不到15人或超過(guò)30人需向地區(qū)經(jīng)理申請(qǐng)拆分班或是合并班。詳見(jiàn)《設(shè)班流程》 2.確定開(kāi)課、結(jié)課日期:開(kāi)課日期可根據(jù)幼兒園時(shí)間安排以及招生課時(shí)間確定,一般招生課后1-2周開(kāi)課,結(jié)課日期根據(jù)課次安排依次排序,如遇到國(guó)家法定假日課次順延。3.確定上課時(shí)間:分8小時(shí)之內(nèi)和8小時(shí)之外兩種。商務(wù)盡量和園方協(xié)商安排在8小時(shí)之內(nèi),教師時(shí)間相對(duì)充裕,當(dāng)然,也要看現(xiàn)有排課情況而定。教務(wù)隨時(shí)為商務(wù)經(jīng)理共享排班表,以便隨時(shí)了解教師整體排課情況。詳見(jiàn)《教師排班總表模版》
4.確定每周課次以及每次課時(shí):根據(jù)公司商務(wù)合作模式,8小時(shí)之內(nèi)上課,每周課次可安排2-5次,為了有效利用教師代課時(shí)間,商務(wù)與幼兒園盡量推薦每周2次或每周3次,或者每周5次。8小時(shí)之內(nèi)上課每次課時(shí)一般分為30分鐘,這樣半天可以安排3個(gè)班級(jí)的課程。8小時(shí)之外上課一般每次課時(shí)是60分鐘或90分鐘,每周可安排一次或2次,為了更好的安排教師,8小時(shí)之外的課程盡量每周安排一次。
5.排教師:上課信息一一確定后,安排上課教師,根據(jù)幼兒園的的級(jí)別和招生總?cè)藬?shù),選擇不同級(jí)別的老師。在教師水平有差異的情況下,重點(diǎn)園和招生人多的園要安排最有經(jīng)驗(yàn)的老師。
6.開(kāi)課前至少提前3天由教務(wù)人員打印《教師上課通知單》,教師按照上課通知單的時(shí)間和幼兒園上課。通知單一式2份,教師和教務(wù)簽字留底。教務(wù)并將電子版排班總表共享給每個(gè)教師,以及商務(wù)經(jīng)理。更新即在線更新。見(jiàn)附件《教師上課通知單》
工具:
1.報(bào)名收費(fèi)流程、設(shè)班流程.doc 2.教師排班總表模版.xls 3.教師上課通知單.doc
4.附件一:設(shè)班調(diào)整申請(qǐng)表(并班、拆分班以及其他情況).xls
5-1
第四篇:排課原則(討論稿)
佳木斯大學(xué)課程表編排原則及程序
課程表是學(xué)校組織與實(shí)施教學(xué)過(guò)程的主要依據(jù),是學(xué)校教學(xué)工作有計(jì)劃、有秩序進(jìn)行的重要保障。為了穩(wěn)定教學(xué)秩序,規(guī)范教學(xué)過(guò)程管理,保證教學(xué)質(zhì)量,結(jié)合我校具體情況現(xiàn)將排課工作的原則和程序要求如下:
一、排課原則 1.符合教學(xué)計(jì)劃原則
所有教學(xué)任務(wù)安排必須以各專(zhuān)業(yè)培養(yǎng)方案為依據(jù),課程表中各教學(xué)任務(wù)的名稱(chēng)、學(xué)分、時(shí)間安排必須與教學(xué)計(jì)劃相符。夏季學(xué)期的教學(xué)任務(wù)應(yīng)與春季學(xué)期教學(xué)任務(wù)同時(shí)安排。
2.合理合班原則
除某些不適合合班上課的課程外,同年級(jí)、同專(zhuān)業(yè)、同學(xué)時(shí)課程都應(yīng)合班上課。通識(shí)課程、學(xué)科基礎(chǔ)課程組織合班,應(yīng)以專(zhuān)業(yè)或?qū)W院為單位,盡量避免跨學(xué)院合班或跨年級(jí)合班,合班人數(shù)以3-4個(gè)自然班為宜;專(zhuān)業(yè)課合班人數(shù)以2-3個(gè)自然班為宜。
3.優(yōu)化教室資源原則
在教室資源的使用上,要根據(jù)課程的特點(diǎn)和性質(zhì),合班人數(shù)的多少,以及教學(xué)方式和手段的要求,安排合適的教室(類(lèi)型、大?。?,保證教學(xué)資源得到充分利用。由教務(wù)處優(yōu)先安排全校范圍內(nèi)的通識(shí)教育課教室,待通識(shí)教育課安排完畢后,各教學(xué)單位可以在所轄教學(xué)資源內(nèi)自行合理化安排專(zhuān)業(yè)課的教室。
4.合理安排周次及周學(xué)時(shí)原則
除因入學(xué)教育等全年級(jí)學(xué)生參加的集中實(shí)踐環(huán)節(jié)影響外,所有課程必須從第一周開(kāi)始進(jìn)行排課;對(duì)于在同一學(xué)期中的課程如果存在先修和后修關(guān)系,先修課程應(yīng)與后修課程保持課程體系科學(xué)合理的邏輯關(guān)系。學(xué)期的最后一周為考試周,不安排教學(xué)活動(dòng)。
所有課程上課的結(jié)束周應(yīng)根據(jù)學(xué)分、總學(xué)時(shí)、每周課時(shí)數(shù)進(jìn)行精確計(jì)算后安排。安排周學(xué)時(shí)應(yīng)平均分配,除課程內(nèi)在要求外不允許以高周學(xué)時(shí)集中排課。
有整周實(shí)踐環(huán)節(jié)的班級(jí),請(qǐng)開(kāi)課單位在設(shè)置理論教學(xué)任務(wù)時(shí),務(wù)必空出實(shí)踐周次。對(duì)于實(shí)踐環(huán)節(jié)時(shí)間不一致的班級(jí)不能進(jìn)行合班安排理論教學(xué)任務(wù)。
5.合理安排節(jié)次原則
每周三5-6節(jié)一般不排課,教師進(jìn)行政治學(xué)習(xí)、業(yè)務(wù)學(xué)習(xí)等活動(dòng); 所有課程安排的順序?yàn)橹芤恢林芪?-6節(jié)、7-8節(jié),周六1-4節(jié),如果因教室等客觀原因,或以學(xué)院為單位以報(bào)告形式上報(bào)教務(wù)處經(jīng)審核同意后確有教學(xué)需要,方可安排晚上9-10節(jié)上課,或周六下午、周日時(shí)間上課。
相連課節(jié)應(yīng)盡量安排在同一學(xué)區(qū)教室授課。
班級(jí)每天上課節(jié)數(shù)大致均衡,不允許周內(nèi)某天不排課。
同一教學(xué)班,每周內(nèi)每門(mén)課時(shí)間間隔盡量均勻,同類(lèi)課程之間也要有一定的時(shí)間間隔。除實(shí)訓(xùn)、實(shí)驗(yàn)、研討以及設(shè)計(jì)類(lèi)課程外,同一門(mén)課程連排一般不得超過(guò)2學(xué)時(shí)。為了保證教學(xué)質(zhì)量和效果,在學(xué)生上午有空閑時(shí),教師不能要求在下午排課。通識(shí)教育課程、部分優(yōu)先安排的學(xué)科基礎(chǔ)課程同一學(xué)院的課程應(yīng)盡量同步安排;為保證專(zhuān)業(yè)課程能安排最佳教學(xué)時(shí)間,周學(xué)時(shí)超過(guò)4學(xué)時(shí)的通識(shí)教育課程、部分優(yōu)先安排的學(xué)科基礎(chǔ)課程應(yīng)盡量安排一節(jié)下午課節(jié);除大學(xué)英語(yǔ)、大學(xué)計(jì)算機(jī)基礎(chǔ)、高等數(shù)學(xué)、大學(xué)物理等課程之外的應(yīng)盡量安排在下午課節(jié);公共體育課程春季學(xué)期不安排第1-2節(jié);大學(xué)俄語(yǔ)、大學(xué)日語(yǔ)課程通常安排在周六或周日。
6.通識(shí)課程優(yōu)先原則
最佳教學(xué)時(shí)間應(yīng)優(yōu)先用于必修課程、考試課程等重要課程的安排;通識(shí)教育課安排要優(yōu)于專(zhuān)業(yè)課的安排。后安排課程不能擅自更改已經(jīng)安排完畢的課程表,先安排的通識(shí)教育等課程應(yīng)在本部門(mén)課程安排完畢后在教務(wù)管理系統(tǒng)中導(dǎo)出本門(mén)課程課表,作為產(chǎn)生糾紛的憑據(jù)。通識(shí)教育課程安排完畢后,教務(wù)科通知各學(xué)院安排專(zhuān)業(yè)課,各學(xué)院在安排專(zhuān)業(yè)課之前要檢查本學(xué)院的教室課表和班級(jí)課表,如有問(wèn)題要在通識(shí)教育課課程課表公布三日內(nèi)與教務(wù)科協(xié)商解決。
排課順序:通識(shí)教育課程、部分學(xué)科基礎(chǔ)課程-各學(xué)院專(zhuān)業(yè)課-公共選修課,如通識(shí)教育課程第二學(xué)期安排與第一學(xué)期相同,可適當(dāng)調(diào)整大學(xué)英(俄)語(yǔ),公共體育、大學(xué)計(jì)算機(jī)排課順序,優(yōu)先安排全部順延上一學(xué)期課節(jié)的課程。
7.以人為本原則
在保證課程表安排合理性的前提下,可適當(dāng)照顧年老體弱教師、懷孕教師、路途較遠(yuǎn)教師、需要接送孩子教師的排課需求。(要提供相應(yīng)證明材料)
8.嚴(yán)謹(jǐn)原則
課程表完成后,各教學(xué)單位應(yīng)及時(shí)認(rèn)真檢查課程表合理性,注意細(xì)節(jié)問(wèn)題。技巧課程等無(wú)法錄入教務(wù)管理系統(tǒng)中的課程應(yīng)在每學(xué)期期初第一周將紙質(zhì)課程表報(bào)教務(wù)處備案。課程表一經(jīng)確定,全體教師和學(xué)生都必須嚴(yán)格按照課程表執(zhí)行,也作為學(xué)校各級(jí)領(lǐng)導(dǎo)聽(tīng)課的基本依據(jù),不得輕易變動(dòng),如需變動(dòng),應(yīng)按照學(xué)校有關(guān)調(diào)課規(guī)定,嚴(yán)格履行審批手續(xù),對(duì)于私自調(diào)串課引起的教學(xué)后果,由相關(guān)責(zé)任人承擔(dān),視情節(jié)按教學(xué)差錯(cuò)和教學(xué)事故處理。
二、排課的程序
1.設(shè)置并核對(duì)教學(xué)計(jì)劃; 2.設(shè)置學(xué)期教學(xué)任務(wù);
3.通識(shí)教育課程、部分涉及面較廣的學(xué)科基礎(chǔ)課程進(jìn)行排課; 4.專(zhuān)業(yè)課程排課; 5.公共選修課程排課;
6.各學(xué)院檢查課程表安排的合理性; 7.公布并印刷課程表。
請(qǐng)各學(xué)院、部門(mén)按此原則規(guī)范排課和運(yùn)作,遵照?qǐng)?zhí)行。
佳木斯大學(xué)教務(wù)處 2015年11月10日
第五篇:智能排課
智能排課
就目前對(duì)于各高校而言,排課仍然是一個(gè)棘手的問(wèn)題。據(jù)調(diào)查好多高校仍然處于人工排課階段,這樣會(huì)給人帶來(lái)了很大的壓力和很多的麻煩。所以我們小組在老師的帶領(lǐng)之下開(kāi)發(fā)一種智能排課系統(tǒng)。這個(gè)智能系統(tǒng)的主要功能就是排課。將課程名導(dǎo)入系統(tǒng),然后按照一定的算法進(jìn)行排課(我們的系統(tǒng)主要結(jié)合了分治法,貪婪發(fā)和回溯法,借鑒遺傳算法),生成一張滿(mǎn)足要求的課程表。在排課過(guò)程中最令人擔(dān)心的問(wèn)題就是出現(xiàn)教師資源沖突與教室資源沖突的情況,所以我們所討論的主要問(wèn)題是:如何將教師,教室,課程,時(shí)間按照一定的要求排列成一張有序的表,然后將不同的班級(jí)在強(qiáng)加(也是按照一定的要求)在這張表上。
當(dāng)然在排課之前我們要先了解一下排課過(guò)程中涉及的幾個(gè)基本要素。
一、教師要素的基本信息包括:職工號(hào)、姓名、性別、出生日期、部門(mén)、聯(lián)系電話、E-mail、教職工類(lèi)別、學(xué)歷、職務(wù)、不可排字段(教師的特殊要求)、優(yōu)先級(jí);
二、教室(教學(xué)場(chǎng)所)要素的基本信息包括:教學(xué)場(chǎng)所編號(hào)、名稱(chēng)、座位數(shù)、類(lèi)別、是否安排;
三、課程要素的基本信息包括:課程編號(hào)、課程名稱(chēng)、理論學(xué)時(shí)、實(shí)踐學(xué)時(shí)、開(kāi)始周、結(jié)束周、學(xué)分、課程性質(zhì)(比如選修與必修)、班級(jí)編號(hào)、專(zhuān)業(yè)名稱(chēng)、職工號(hào)、教師要求,是否合班(幾個(gè)班級(jí)在一起上課)。
四、班級(jí)要素的基本信息包括:班級(jí)編號(hào)、班級(jí)名稱(chēng)、學(xué)生人數(shù)。這些是幾個(gè)基本的排課要素,在這幾個(gè)基本的要素里它們的主鍵又可以構(gòu)成一張排課表,這張表(排課表)包括:課程編號(hào)、職工號(hào)、班級(jí)編號(hào)、學(xué)時(shí)數(shù)、類(lèi)別。在以后的排課過(guò)程中主要是用到排課表中的元素。最后我們將生成一張已經(jīng)排好課的課程表,表中元素包括:課程編號(hào)、職工號(hào)、上課時(shí)間、教學(xué)場(chǎng)所編號(hào)。
在我們了解了排課的基本要素后,當(dāng)然我們就要著手于排課了。在排課之前我先大概說(shuō)一下我們開(kāi)發(fā)的整個(gè)思路。對(duì)于一個(gè)客戶(hù)端軟件來(lái)說(shuō),我們首先要有個(gè)用戶(hù)登錄界面(如同一般的軟件一樣),然后就是主界面(這將是我們的工作平臺(tái))。除了這些之外就是后臺(tái)支持了,我們使用的是mysql2005,將前面提到的各個(gè)基本元素生成基本表(后期我們將會(huì)生成B/S)。最后要處理的就是我們的核心了,就是算法設(shè)計(jì)。
排課的關(guān)鍵問(wèn)題是排課算法的使用。前人在排課算法的使用上已有許多成功的案例。主要的排課算法有:?jiǎn)l(fā)式算法(遺傳算法)、優(yōu)先級(jí)算法、應(yīng)用專(zhuān)家系統(tǒng)、人工智能應(yīng)用、分組優(yōu)化算法,約束滿(mǎn)足方法、搜素算法(回溯法、分支定界法)、數(shù)據(jù)挖掘相關(guān)算法等。在我們的系統(tǒng)里采用了分治法、貪婪法、回溯法三者思想,借鑒遺傳算法。下面我簡(jiǎn)單介紹一下這幾個(gè)算法。分治法也稱(chēng)分割求解法,設(shè)計(jì)思想是把一個(gè)大的問(wèn)題劃分成幾個(gè)小問(wèn)題,先求出子問(wèn)題的答案,然后將子問(wèn)題答案合并成整個(gè)大問(wèn)題的解。貪婪法是分段工作,在每個(gè)階段選擇局部最優(yōu),對(duì)最終解不追求最優(yōu)解,能夠得到某種意義下的近似解的分級(jí)處理方法?;厮莘ǖ幕舅枷胧?,在確定了解空間的組織結(jié)構(gòu)后,回溯法就從開(kāi)始結(jié)點(diǎn)(根結(jié)點(diǎn))出發(fā),以深度優(yōu)先的方式搜索整個(gè)解空間(如遇到不滿(mǎn)足要求時(shí)就返回上一步)。遺傳算法就好像是直接把每個(gè)節(jié)點(diǎn)當(dāng)成一個(gè)并行的種群看待。然后有機(jī)體根據(jù)不同的繁殖方法從一個(gè)節(jié)點(diǎn)遷移到另一個(gè)節(jié)點(diǎn)。我們的排課問(wèn)題是一個(gè)冗余度極其復(fù)雜的問(wèn)題,我們要做的就是利用這些算法將排課變得簡(jiǎn)單,減小問(wèn)題冗余度(復(fù)雜度)。
前面我們已經(jīng)提到了排課中遇到的幾個(gè)基本元素(教師,教室,課程,時(shí)間),現(xiàn)在我將具體介紹一下排課算法。第一步就是對(duì)課程進(jìn)行排序,而排課的前提就是將我們所用到的排課的課程等價(jià)話(就是它們沒(méi)有優(yōu)先級(jí)一說(shuō)),這樣課程就只有地點(diǎn)上的沖突沒(méi)有時(shí)間上的沖突,這樣就大大降低了算法的復(fù)雜度,提高了排課算法的效率。第二步是對(duì)時(shí)間進(jìn)行設(shè)置,設(shè)置時(shí)間可以提高上課安排的合理性。例如每天上課節(jié)數(shù)為八節(jié),分別為1-2節(jié)、3-4節(jié)、5-6節(jié)、7-8節(jié),我們將1-2節(jié)用“1”表示,3-4節(jié)用“2”表示,5-6節(jié)用“3”表示,7-8節(jié)用“4”表示。星期一到星期天共有七天分別用“1”—“7”表示。用一個(gè)時(shí)間串來(lái)表示某門(mén)課程的上課時(shí)間模式,如:“11”表示星期一的1—2節(jié)上課,“54”表示星期五的7—8節(jié)上課。在課程安排是對(duì)于課程數(shù)比較多的課程,要盡量隔天安排。在這里我們還需要構(gòu)建一個(gè)三維數(shù)組20*4*7,這個(gè)三維數(shù)組是用來(lái)表示教師、班級(jí)、教室的可排課程,其中第一維表示周數(shù)(就是第幾周),第二維表示上課的節(jié)數(shù)(如“1”,表示上午1—2節(jié)上課),第三維表示星期幾。這就是時(shí)間初始設(shè)置。第三步是構(gòu)建一個(gè)三維數(shù)組來(lái)表示字段的空忙,這個(gè)三維數(shù)組分別表示教師、教室、課程。如果該位置的值為“1”
表示可以排課,為“0”表示該字段已用,不可以排課。對(duì)于基本元素初始化以后就應(yīng)該為課程設(shè)計(jì)優(yōu)先級(jí)。對(duì)于課程而言設(shè)計(jì)優(yōu)先級(jí)是應(yīng)該考慮課程的周學(xué)時(shí)(Z),課程的級(jí)別(如選修和必修)(J),課程的參與人數(shù)(R)。對(duì)于優(yōu)先級(jí)問(wèn)題可以設(shè)定一個(gè)函數(shù),該函數(shù)可表示為:Y=Z*X1+J*X2+R*X3;(注:Z,J,R是分別取周學(xué)時(shí)、級(jí)別、人數(shù)的首字母);X1,X2,X3是調(diào)整的參數(shù),該參數(shù)可以根據(jù)具體情況進(jìn)行調(diào)整。設(shè)計(jì)優(yōu)先級(jí)后我們可以為某門(mén)課程安排最大的可排時(shí)間數(shù)組,為(1234 1234 1234 1234 1234)。然后找出參加該課程的所有班級(jí),在查詢(xún)每個(gè)班級(jí)的時(shí)間數(shù)組,得到已排的具體時(shí)間,然后與最大的可排時(shí)間數(shù)組與找出相同的時(shí)間,然后再依次處理時(shí)間,教室數(shù)組,最后就可以得到該課程的數(shù)組(就是班級(jí)、教室、教師的交集)。找到可排時(shí)間后就可以查找相應(yīng)的時(shí)間模式。排課過(guò)程大概就是如此,最后在根據(jù)具體的實(shí)際情況進(jìn)行人工干預(yù),使課程表更加符合要求和人性化。