智能排课系统的制作方法

文档序号:6376749阅读:535来源:国知局
专利名称:智能排课系统的制作方法
技术领域
本发明涉及教学的技术领域,具体说是一种在提高排课效率的同时,能够对课程、教师、学生、教室等多个因素优化组合的智能排课系统。
背景技术
目前大学学校排课大部分基于手工完成。由于专业增多,课程增多,学生班级增多,所以手工排课的工作效率低的问题凸显,往往占用教学管理人员大量时间。

发明内容
本发明要解决的技术问题是提供一种在提高排课效率的同时,能够对课程、教师、学生、教室等多个因素优化组合的智能排课系统。 本发明为解决公知技术中存在的技术问题所采取的技术方案是本发明的智能排课系统,由排课需求数据输入模块、排课算法执行模块、课程调整模块和排课结果输出模块构成;通过排课需求数据输入模块向上述系统中输入排课需求,输入五种不同基本数据教师Professor、学生集合Group、教室Room、课程Course和课程班Class,教师Professor中包括教师代码professorlD、教师名字professorName和教师所教的课程班,学生集合Group中包括集合代码groupID、集合名称groupName、集合人数groupSize和集合应学课程,教室Room包括教室代码RoomID、教室名称RoomName、实验室判别Lab、多媒体判别Media、教室座位数RoomSize,课程Course中包括课程代码courseID和课程名称courseName,课程班Class中包括课程班代码classID、教授代码professor = ID,课程代码course = ID、集合代码group = ID、实验室判别Lab、多媒体判别Media、节数duration、隔周判别OddEvenWeekBool、起始周startWeek、终止周endWeek、中意的sections ;另外还需加入课程设置的条件(I)必要条件一个课程班class只能放到一个在该class起始周和终止周内且所要求的隔周或全周空闲的room, —个professor或一个group不能同时有不止一个classes, —个room需要为一个group提供足够的座位,将一个class放到一个room,如果该class需要media必须该room有media,如果该class需要Iab必须该room是Iab ; (2)次要条件Professor 中意的某 class 时间段,Professor 中意的 room,Professor或group需要的时间,即学习周期;排课算法执行模块构建课程表的时空向量Vector size =5days*IOsections*#rooms+Class List,生成课程表 class schedule ;课程调整模块对class schedule进行调整,在class schedule中的每个class按以下规则赋值score,取值范围O 7的整数a、如果一个class用了一个满足class条件(起始到终止周内,隔周还是全周,等条件)的空的 room,则 score (class) := score (class) +1 ;b、如果一个class需要lab而安排的room是lab,或如果需要media而安排在有media 的 room,或 class 不需要 lab 矛口 media,贝U score (class) = score (class) +1 ;c、如果一个class被安排在一个座位充裕的room,则score (class)=score(class)+1 ;d、如果一个 class 的 professor 此时刻没有别的 class,则 score (class)=score(class)+1 ;e、如果一个 class 的 group 此时刻没有别的 class,则 score (class)=score(class)+1 ;f、如果一个 class 在一个 professor 中意的 section,则 score (class)=score(class)+1 ;
g、如果一个 class 在一个 professor 中意的学周,则 score (class)=score(class)+1 ;h、其他情形score (class)不变;i、求和所有class的 score !schedule—score = sum of score of all class ;j、Fitness = schedule—score/ (#classes*7),fitness 介于 0 和 I 之间 float 型,当=I时就找到满足所有条件的schedule ;给定一组(设η个)初始的class schedules,计算fitness值,如果其中最大的fitness = I,则对应的schedule即是理想的结果,否则循环执行下列步骤直到fitness =I (每次循环就产生一代generation):杂交从当前population中随机选择N对parents,对每对杂交,产生N个新的chromosomes (schedules);突变从当前population中随机选择N个chromosomes,将它们替换成新的chromosomes ;排课结果输出模块将取得的课程表结果输出。本发明具有的优点和积极效果是本发明的智能排课系统,由排课需求数据输入模块、排课算法执行模块、课程调整模块和排课结果输出模块构成;通过排课需求数据输入模块向上述系统中输入排课需求以及与课程相关的各种参数,排课算法执行模块构建课程表的时空向量\生成课程表,课程调整模块对课程表进行调整,最后由排课结果输出模块进行课表输出,本发明的只能排课系统综合考虑到排课所能够涉及的所有因素,通过对不同因素的协调,对课程、教师、学生、教室等多个因素进行优化组合,快速取得最优的课程排布效果。


图I是本发明的智能排课系统的结构示意图。
具体实施例方式以下参照附图及实施例对本发明进行详细的说明。图I是本发明的智能排课系统的结构示意图。如图I所示,本发明的智能排课系统,由排课需求数据输入模块、排课算法执行模块、课程调整模块和排课结果输出模块构成;通过排课需求数据输入模块向上述系统中输入排课需求,输入五种不同基本数据教师Professor、学生集合Group、教室Room、课程Course和课程班Class,教师Professor中包括教师代码professorlD、教师名字professorName和教师所教的课程班,学生集合Group中包括集合代码groupID、集合名称groupName、集合人数groupSize和集合应学课程,教室Room包括教室代码RoomID、教室名称RoomName、实验室判别Lab、多媒体判别Media、教室座位数RoomSize,课程Course中包括课程代码courseID和课程名称courseName,课程班Class中包括课程班代码classID、教授代码professor = ID,课程代码course = ID、集合代码group = ID、实验室判别Lab、多媒体判别Media、节数duration、隔周判别OddEvenWeekBool、起始周startWeek、终止周endWeek、中意的sections ;另外还需加入课程设置的条件(I)必要条件一个课程班class只能放到一个在该class起始周和终止周内且所要求的隔周或全周空闲的room,一个professor或一个group不能同时有不止一个classes,一个room需要为一个group提供足够的座位,将一个class放到一个room,如果该class需要media必须该room有media,如果该class需要Iab必须该room是Iab ; (2)次要条件Professor 中意的某 class 时间段,Professor 中意的 room,Professor或group需要的时间,即学习周期;排课算法执行模块构建课程表的时空向量Vector size = 5days*10sections*#rooms+Class List,生成课程表 class schedule ;课程调整模块对class schedule进行调整,在class schedule中的每个class按以下规则赋值score,取值范围O 7的整数a、如果一个class用了一个满足class条件(起始到终止周内,隔周还是全周,等条件)的空的room,则score (class)=score(class)+1 ;b、如果一个class需要lab而安排的room是lab,或如果需要media而安排在有media 的 room,或 class 不需要 Iab 矛口 media,贝U score (class) = score (class) +1 ;c、如果一个class被安排在一个座位充裕的room,则score (class)=score(class)+1 ;d、如果一个 class 的 professor 此时刻没有别的 class,则 score (class)=score(class)+1 ;e、如果一个 class 的 group 此时刻没有别的 class,则 score (class)=score(class)+1 ;f、如果一个 class 在一个 professor 中意的 section,则 score (class)=score(class)+1 ;g、如果一个 class 在一个 professor 中意的学周,则 score (class)=score(class)+1 ;h、其他情形score (class)不变;i、求和所有class的 score !schedule—score = sum of score of all class ;j、Fitness = schedule—score/ (#classes*7),fitness 介于 0 和 I 之间 float 型,当=I时就找到满足所有条件的schedule ;给定一组(设η个)初始的class schedules,计算fitness值,如果其中最大的fitness = I,则对应的schedule即是理想的结果,否则循环执行下列步骤直到fitness =
I(每次循环就产生一代generation):杂交从当前population中随机选择N对parents,对每对杂交,产生N个新的chromosomes (schedules);突变从当前population中随机选择N个chromosomes,将它们替换成新的chromosomes ;排课结果输出模块将取得的课程表结果输出。以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例公开如上,然而,并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当然会利用揭示的技术内容作出些许更动或修饰,成 为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均属于本发明技术方案的范围内。
权利要求
1. 一种智能排课系统,其特征在于由排课需求数据输入模块、排课算法执行模块、课程调整模块和排课结果输出模块构成; 通过排课需求数据输入模块向上述系统中输入排课需求,输入五种不同基本数据教师Professor、学生集合Group、教室Room、课程Course和课程班Class,教师Professor中包括教师代码professor ID、教师名字professorName和教师所教的课程班,学生集合Group中包括集合代码groupID、集合名称groupName、集合人数groupSize和集合应学课程,教室Room包括教室代码RoomID、教室名称RoomName、实验室判别Lab、多媒体判别Media、教室座位数RoomSize,课程Course中包括课程代码course ID和课程名称courseName,课程班Class中包括课程班代码classID、教授代码professor = ID,课程代码course = ID、集合代码group = ID、实验室判别Lab、多媒体判别Media、节数durat ion、隔周判别OddEvenWeekBool、起始周startWeek、终止周endWeek、中意的sections ;另外还需加入课程设置的条件(I)必要条件一个课程班class只能放到一个在该class起始周和终止周内且所要求的隔周或全周空闲的room,一个professor或一个group不能同时有不止一个classes,一个room需要为一个group提供足够的座位,将一个class放到一个room,如果该class需要media必须该room有media,如果该class需要Iab必须该room是Iab ; (2)次要条件Professor 中意的某 class 时间段,Professor 中意的 room,Professor或group需要的时间,即学习周期; 排课算法执行模块构建课程表的时空向量Vector :size =5days*10sections*#rooms+Class List,生成课程表 classschedule ; 课程调整模块对class schedule进行调整,在class schedule中的每个class按以下规则赋值score,取值范围O 7的整数 a、如果一个class用了一个满足class条件(起始到终止周内,隔周还是全周,等条件)的空的 room,则 score (class) = score (class) +1 ; b、如果一个class需要lab而安排的room是lab,或如果需要media而安排在有media的 room,或 class 不需要 Iab 矛口 media,贝U score (class) = score (class) +1 ; c、如果一个class被安排在一个座位充裕的room,则score(class)=score(class)+1 ; d、如果一个class 的 professor 此时刻没有别的 class,则 score (class)=score(class)+1 ; e、如果一个class的group此时刻没有别的class,则score(class)=score(class)+1 ; f、如果一个class 在一个 professor 中意的 section,则 score (class)=score(class)+1 ; g、如果一个class在一个professor中意的学周,则score(class)=score(class)+1 ; h、其他情形score(class)不变;i、求和所有class的 score schedule_score = sum of scoreof allclass ;j、Fitness = schedule score/ (#classes*7),fitness 介于 0 和 I 之间 float 型,当=I时就找到满足所有条件的schedule ;给 定一组(设η个)初始的class schedules,计算fitness值,如果其中最大的fitness = 1,则对应的schedule即是理想的结果,否则循环执行下列步骤直到fitness =I (每次循环就产生一代generation):杂交从当前population中随机选择N对parents,对每对杂交,产生N个新的chromosomes (schedules);突变从当前population中随机选择N个chromosomes,将它们替换成新的chromosomes ; 排课结果输出模块将取得的课程表结果输出。
全文摘要
一种智能排课系统,由排课需求数据输入模块、排课算法执行模块、课程调整模块和排课结果输出模块构成;通过排课需求数据输入模块向上述系统中输入排课需求以及与课程相关的各种参数,排课算法执行模块构建课程表的时空向量\生成课程表,课程调整模块对课程表进行调整,最后由排课结果输出模块进行课表输出,本发明的只能排课系统综合考虑到排课所能够涉及的所有因素,通过对不同因素的协调,对课程、教师、学生、教室等多个因素进行优化组合,快速取得最优的课程排布效果。
文档编号G06Q50/20GK102800039SQ20121033541
公开日2012年11月28日 申请日期2012年9月12日 优先权日2012年9月12日
发明者尚先桂 申请人:天津市府易科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1