[发明专利]一种基于紧迫度和回溯算法的高校排课方法有效
申请号: | 202110638948.X | 申请日: | 2021-06-08 |
公开(公告)号: | CN113269532B | 公开(公告)日: | 2022-02-18 |
发明(设计)人: | 张伟;刘梦豪 | 申请(专利权)人: | 武汉拓森信息科技有限责任公司 |
主分类号: | G06Q10/10 | 分类号: | G06Q10/10;G06Q50/20 |
代理公司: | 深圳峰诚志合知识产权代理有限公司 44525 | 代理人: | 张腾 |
地址: | 430081 湖北省武汉市东湖新技术开发*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 紧迫 回溯 算法 高校 方法 | ||
1.一种基于紧迫度和回溯算法的高校排课方法,其特征在于,包括以下步骤,
步骤1. 通过收集全校某学期的教学计划和教室资源信息,教室资源信息包括:各教室对应的教室类型相同,各教室的教室容量分为a1~ak共k类,a1~ak表示该教室的座位数与各班级的人数的比值的取整数,即该教室能容纳的班级数,各班级的人数均为s ,a1~ak共k种容量的教室能满足被排课的所有课程的教学要求,a1~ak依次递增,a1~ak共k种容量的教室的数量分别为n1~nk,在本方法中教室类型都是通用教室;
教学计划包括:g种课程;f个班级中第i班级对g种课程中的第j个课程所需求的课程学时ji;各班级对j课程所需求的课程学时总数;对j课程所需求的各班级总数Fj,即对j课程所需求的课程学时ji不为0的班级数,Fj不大于k种容量的所有教室的总容量;
教师资源信息包括:全校有r名教师,g种课堂工种,各课堂工种的教师数量为Mj,一学期有D个教学日;
步骤2. 通过教学计划和教室资源信息的需求程度或被需求程度,计算出相对紧迫度,包括:
评价各课程对各类教室的教室紧迫程度:Pc=第k’类教室的数量/j课程需要用的教室数量H=nk/(Fj/(ak)),Pc越大,说明第k’类教室可用的教室越多,各课程对第k’类教室的紧迫程度越小,k’为1~k之间的常数,H表示j课程需要用的教室数量;
计算出每个课堂工种的教师紧迫度: Pt=一学期中第j种课堂工种总课时数/(第j种课堂工种的人数*D),即,Pt越大,说明该课程j对该课堂工种的紧迫度越高;
计算出各班级每日平均课时数,即所有课程对班级的紧迫度:,表示第i班级对g种所需求的课程学时总数;
步骤3. 按的降序对各课程进行排序得到课程的优先级数,按Pc的降序对每种课程对应的k种教室的Pc值进行排序得到教室优先级数,按Pt的升序对g种课堂工种的Pt值进行排序得到教师优先级数,按Pz的降序对f个班级的Pz值进行排序得到班级优先级数;
步骤4.采用回溯法进行排课包括以下步骤:
S41.建立4 个编码矩阵:
用矩阵B表示一个班级可能的排课表,矩阵B的行值为课程编号,第一列为课程种类,第二列开始每列的列值为一天内时间片编号,其中课程编号按课程的优先级数降序排列,矩阵内的1表示已经占用,0表示该课程在该时间片内为可用,一个时间片为1课时,
;
用矩阵class表示一个课程可能的排班表,矩阵class的行值为班级编号,第一列为各班级对该课程所需求的课程学时ji,第二列开始每列的列值为一天内时间片编号,其中班级编号按班级的优先级数降序排列,矩阵内的1表示已经占用,0表示该班级在该时间片内为可用,
;
用矩阵room表示一个教室可能的占用时间,矩阵room的行值对应教室编号,第一列记录各教室的容量,从第二列开始每列表示教室一天内的时间片编号,其中教室编号按教室的优先级数升序排列,矩阵内的1表示已经占用,0表示该教室在该时间片内为可用,
;
用矩阵teacher表示一个教师可能的占用时间,矩阵teacher的行值对应教师工种编号,第一列记录各教师的教师工种,从第二列开始每列表示教师一天内的时间片编号,其中教师编号按教师的优先级数升序排列,矩阵内的1表示已经占用,0表示该教师在该时间片内为可用,
;
S42. 从矩阵B和矩阵class中读取数据到矩阵B和矩阵class的暂存矩阵,优先在课程优先级高的课程和班级优先级高的班级对应的时间片内按时间顺序将矩阵点赋值为1,形成所有课程和班级在第n天的时间片分配结果,即课程、班级、时间片的三维坐标系;
S43.按约束条件一检查步骤S42形成的三维坐标系,判断当前分配结果是否有不满足以下约束条件一:
(1) 一个班级不能在同一时间片上课超过两门;
(2) 一个班级学习同一课程的时间在一天内上不能超过1个时间片;
(3)一个班级对一课程所需求的课程学时ji为0时该课程不排课;
若不满足约束条件一,则按照步骤S42重新分配;
S44. 从矩阵room中读取数据到矩阵room的暂存矩阵,按照步骤S043中满足约束条件一的分配结果,优先将对应的时间片占用值按教室优先级的排序依次给对应的时间片分配教室,更新矩阵room的暂存矩阵,形成所有教室在第n天的时间片分配结果,即教室、时间片的二维坐标系;
S45.按约束条件二检查步骤S44形成的第n天的二维坐标系,判断当前教室是否有不满足以下约束条件二:
(1)一个教室不能在同时被两门课程占用;
(2)一个教室不能在同时被超过教室能容纳的班级数的多个班级占用;
若不满足约束条件二,则按照步骤S44重新分配教室;
S46. 从矩阵teacher中读取数据到矩阵teacher的暂存矩阵,按照步骤S045中满足约束条件二的分配结果,优先将对应的时间片占用值按教师工种优先级的排序依次给对应的时间片分配教师工种,更新矩阵teacher的暂存矩阵,形成所有教师工种在第n天的时间片分配结果,即教师工种、时间片的二维坐标系;
S47.按约束条件三检查步骤S46形成的第n天的二维坐标系,及该二维坐标系与矩阵B的关系,判断当前教师是否有不满足以下约束条件三:
(1) 一个教师不能同时在两个以上教室上课;
(2)一个教师在被分配的教室教学的课程的种类与教师工种对应;
若不满足约束条件三,则按照步骤S47重新分配教师;
若满足所有约束条件则形成第n层数据,并计算矩阵B当前班级的各行课程的累计时间片,并用该班级对该行课程所需求的课程学时ji减去得到的累计时间片,得到该班级对该行课程所需求的课程学时残余值Tcanyu;
步骤5. 如果第n层数据不满足约束条件,则重复步骤S42~S47尝试第n层的其他解决方法;
步骤6. 如果经过尝试,在第n层找到合适的解,则进入到第n+1层继续寻找n+1层的解,将矩阵B中该班级对该任一一行课程所需求的课程学时ji更新为步骤S47计算得到的残余值Tcanyu;
步骤7. 如果经过尝试,在第n层无法找到不冲突的解,则回溯到第n-1层,尝试该层的其他解法;
步骤8. 按照步骤S42~步骤7的迭代求解过程,计算机可以在有限次计算后,回到第0层找不到合适解,或顺利完成所有层数的解法找寻,输出可用解,即每门课程每一天的排课表。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于武汉拓森信息科技有限责任公司,未经武汉拓森信息科技有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110638948.X/1.html,转载请声明来源钻瓜专利网。
- 上一篇:电动车控制器外壳用毛边处理设备
- 下一篇:一种环保型三角带及其制备工艺
- 同类专利
- 专利分类
G06Q 专门适用于行政、商业、金融、管理、监督或预测目的的数据处理系统或方法;其他类目不包含的专门适用于行政、商业、金融、管理、监督或预测目的的处理系统或方法
G06Q10-00 行政;管理
G06Q10-02 .预定,例如用于门票、服务或事件的
G06Q10-04 .预测或优化,例如线性规划、“旅行商问题”或“下料问题”
G06Q10-06 .资源、工作流、人员或项目管理,例如组织、规划、调度或分配时间、人员或机器资源;企业规划;组织模型
G06Q10-08 .物流,例如仓储、装货、配送或运输;存货或库存管理,例如订货、采购或平衡订单
G06Q10-10 .办公自动化,例如电子邮件或群件的计算机辅助管理