基于Java+Springboot+遺傳算法實(shí)現(xiàn)高校自動(dòng)排課系統(tǒng)梳码,課程管理系統(tǒng)

目前很多高校內(nèi)部的課程管理及排課過程均是采用人工排課后再導(dǎo)入系統(tǒng)內(nèi)部生成課程表隐圾,提供給學(xué)生用戶查看。人工排課過程較為復(fù)雜掰茶,增加了排課錯(cuò)誤的可能性暇藏,本次畢業(yè)設(shè)計(jì)基于java實(shí)現(xiàn)遺傳算法實(shí)現(xiàn)自動(dòng)排課,整體提供學(xué)生管理濒蒋,課程管理盐碱,教師管理,班級(jí)管理沪伙,排課管理瓮顽,教室管理等功能。

一围橡、程序設(shè)計(jì)

本次基于遺傳算法的自動(dòng)排課系統(tǒng)主要內(nèi)容涉及:

主要功能模塊:班級(jí)設(shè)置暖混、教室設(shè)置、課程設(shè)置翁授、教師設(shè)置拣播、排課管理、用戶管理收擦,查看分課贮配、查看課表、查看空教室等
主要包含技術(shù):java炬守,Mysql牧嫉,springboot,mybatis,javascript酣藻,html曹洽,css,layerUI
主要包含算法及方法:遺傳算法

系統(tǒng)采用前端采用LayerUI框架實(shí)現(xiàn)辽剧,后臺(tái)服務(wù)基于springboot+Mysql+mybatis搭建送淆,配合遺傳算法實(shí)現(xiàn)自動(dòng)排課解決排課過程中的沖突問題,系統(tǒng)前后端數(shù)據(jù)交互怕轿,采用Ajax異步調(diào)用傳輸JSON實(shí)現(xiàn)偷崩。

二、效果實(shí)現(xiàn)

系統(tǒng)登錄

image.png

班級(jí)設(shè)置

image.png

課程分配

image.png

教室設(shè)置

image.png

自動(dòng)排課

image.png
image.png

查看課表

image.png

其他效果省略

三撞羽、排課算法設(shè)計(jì)

本次畢設(shè)系統(tǒng)在自動(dòng)排課過程中阐斜,主要采用遺傳算法,針對(duì)排課需要考慮的課程信息诀紊,教師信息谒出,教室信息,班級(jí)信息等抽象成排課因素邻奠,實(shí)現(xiàn)排課沖突解決笤喳,生成學(xué)生課程表等。系統(tǒng)遺傳算法實(shí)現(xiàn)的主要邏輯流程碌宴,如下圖所示:


image.png

排課算法代碼

// 1杀狡、獲得開課任務(wù)
List<ClassTask> classTaskList = classTaskDao.selectBySemester(classTask);
QueryWrapper<ClassTask> wrapper = new QueryWrapper<ClassTask>().eq("semester", semester);
List<ClassTask> classTaskList = classTaskDao.selectList(wrapper);
// 沒有任務(wù),排課失敗
if (classTaskList == null) {
    return ServerResponse.ofError("排課失敗贰镣,查詢不到排課任務(wù)呜象!");
}
// 2、將開課任務(wù)的各項(xiàng)信息進(jìn)行編碼成染色體八孝,分為固定時(shí)間與不固定時(shí)間
List<Map<String, List<String>>>  geneList = coding(classTaskList);
// 3董朝、給初始基因編碼隨機(jī)分配時(shí)間,得到同班上課時(shí)間不沖突的編碼
List<String> resultGeneList = codingTime(geneList);
// 4干跛、將分配好時(shí)間的基因編碼以班級(jí)分類成為以班級(jí)的個(gè)體子姜,得到班級(jí)的不沖突時(shí)間初始編碼
Map<String, List<String>> individualMap = transformIndividual(resultGeneList);
// 5、遺傳進(jìn)化
individualMap = geneticEvolution(individualMap);
// 6楼入、分配教室并做教室沖突檢測(cè)
List<String> resultList = finalResult(individualMap);
// 7哥捕、解碼最終的染色體獲取其中的基因信息
List<CoursePlan> coursePlanList = decoding(resultList);
// 8、寫入tb_course_plan上課計(jì)劃表
coursePlanDao.deleteAllPlan(); // 先刪除原來的課程計(jì)劃
for (CoursePlan coursePlan : coursePlanList) {
    coursePlanDao.insertCoursePlan(coursePlan.getGradeNo(), coursePlan.getClassNo(), coursePlan.getCourseNo(),
coursePlan.getTeacherNo(), coursePlan.getClassroomNo(), coursePlan.getClassTime(), semester);
}
log.info("完成排課,耗時(shí):" + (System.currentTimeMillis() - start));
return ServerResponse.ofSuccess("排課成功嘉熊!");
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末遥赚,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子阐肤,更是在濱河造成了極大的恐慌凫佛,老刑警劉巖讲坎,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異愧薛,居然都是意外死亡晨炕,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門毫炉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來瓮栗,“玉大人,你說我怎么就攤上這事瞄勾》鸭椋” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵进陡,是天一觀的道長愿阐。 經(jīng)常有香客問我,道長四濒,這世上最難降的妖魔是什么换况? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮盗蟆,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘舒裤。我一直安慰自己喳资,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布腾供。 她就那樣靜靜地躺著仆邓,像睡著了一般。 火紅的嫁衣襯著肌膚如雪伴鳖。 梳的紋絲不亂的頭發(fā)上节值,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音榜聂,去河邊找鬼搞疗。 笑死,一個(gè)胖子當(dāng)著我的面吹牛须肆,可吹牛的內(nèi)容都是我干的匿乃。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼豌汇,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼幢炸!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拒贱,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤宛徊,失蹤者是張志新(化名)和其女友劉穎佛嬉,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體闸天,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡暖呕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了号枕。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片缰揪。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖葱淳,靈堂內(nèi)的尸體忽然破棺而出钝腺,到底是詐尸還是另有隱情,我是刑警寧澤赞厕,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布艳狐,位于F島的核電站,受9級(jí)特大地震影響皿桑,放射性物質(zhì)發(fā)生泄漏毫目。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一诲侮、第九天 我趴在偏房一處隱蔽的房頂上張望镀虐。 院中可真熱鬧,春花似錦沟绪、人聲如沸刮便。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽恨旱。三九已至,卻和暖如春坝疼,著一層夾襖步出監(jiān)牢的瞬間搜贤,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國打工钝凶, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留仪芒,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓腿椎,卻偏偏與公主長得像桌硫,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子啃炸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容