排课方法、装置、计算机设备及存储介质制造方法及图纸

技术编号:23213440 阅读:18 留言:0更新日期:2020-01-31 22:06
本发明专利技术公开了一种排课方法、装置、计算机设备及存储介质。该方法包括:使用硬约束条件对第一数量的第一染色体进行校验,得到第二数量的第一染色体;根据交叉概率对第一染色体A和第一染色体B组进行排课单元的交叉,得到第二染色体;若交叉得到的第二染色体的适应度不符合预设适应度阈值,则根据变异概率,对待变异的第二染色体A和待变异的第二染色体B进行变异,得到第三染色体;重复执行迭代,直至满足迭代结束条。能够在初始化染色体之后,使用遗传算法根据染色体的适应度参数进行交叉以及变异,通过迭代的方式实现染色体的收敛,实现由机器完成自动排课,在大幅提升排课速度的同时,保证排课结果的可靠性,提高排课效率。

Course arrangement method, device, computer equipment and storage medium

【技术实现步骤摘要】
排课方法、装置、计算机设备及存储介质
本专利技术实施例涉及计算机技术,具体未办公自动化技术,尤其涉及一种排课方法、装置、计算机设备及存储介质。
技术介绍
在高等院校中,每个学期学生进行选课报名后,校方需要根据选课情况以及教学任务编排课课程表。目前,高校中通常采用人工排课。但是,面对大量繁琐的数据整理工作,需要统筹规划的脑力劳动,还要填写大量的表格,反复修正冲突的课程,对于人工而言工作量非常繁重而巨大,生成课程表格的时间很长,排课效率较低。
技术实现思路
本专利技术提供一种排课方法、装置、计算机设备及存储介质,以实现提高排课效率。第一方面,本专利技术实施例提供了一种排课方法,包括:步骤101、根据选课信息随机配置染色体中的教学资源,得到第一数量的第一染色体,染色体用于表示一套排课方案,染色体包含多个排课单元,每个排课单元表示一个教室、时间与课程内容的组合;步骤102、使用硬约束条件对第一数量的第一染色体进行校验,得到第二数量的第一染色体,硬约束条件用于表示排课不允许出现的情况;步骤103、计算第二数量的第一染色体中每个染色体的适应度参数;根据适应度参数的数值大小从第一染色体中确定待交叉的第三数量的第一染色体;步骤104、根据适应度参数从待交叉的第三数量的第一染色体中选择第一染色体A和第一染色体B;步骤105、根据适应度参数确定第一染色体A和第一染色体B中的排课单元的交叉概率;步骤106、根据交叉概率对第一染色体A和第一染色体B组进行排课单元的交叉,得到第二染色体;步骤107、若交叉得到的第二染色体的适应度不符合预设适应度阈值,则将第二染色体确定为待变异的第二染色体;步骤108、根据适应度参数确定待变异的第二染色体的变异概率;步骤109、根据变异概率,对待变异的第二染色体A和待变异的第二染色体B进行变异,得到第三染色体;重复执行步骤103至步骤109进行迭代,直至满足迭代结束条件;步骤110、当满足迭代结束条件时,根据迭代结果导出排课结果数据。第二方面,本专利技术实施例还提供了一种排课装置,包括:初始化模块、硬约束条件校验模块、适应度计算模块、复制模块、交叉模块、变异模块、迭代判定模块、输出模块;其中,初始化模块用于,根据选课信息随机配置染色体中的教学资源,得到第一数量的第一染色体,染色体用于表示一套排课方案,染色体包含多个排课单元,每个排课单元表示一个教室、时间与课程内容的组合;硬约束条件校验模块用于,使用硬约束条件对第一数量的第一染色体进行校验,得到第二数量的第一染色体,硬约束条件用于表示排课不允许出现的情况;适应度计算模块用于,计算第二数量的第一染色体中每个染色体的适应度参数;复制模块用于,根据适应度参数的数值大小从第一染色体中确定待交叉的第三数量的第一染色体;交叉模块用于,根据适应度参数从待交叉的第三数量的第一染色体中选择第一染色体A和第一染色体B;根据适应度参数确定第一染色体A和第一染色体B中的排课单元的交叉概率;根据交叉概率对第一染色体A和第一染色体B组进行排课单元的交叉,得到第二染色体;变异模块用于,若交叉得到的第二染色体的适应度不符合预设适应度阈值,则将第二染色体确定为待变异的第二染色体;根据适应度参数确定待变异的第二染色体的变异概率;根据变异概率,对待变异的第二染色体A和待变异的第二染色体B进行变异,得到第三染色体;迭代判定模块,用于控制重复执行适应度计算模块至变异模块进行迭代,直至满足迭代结束条件;输出模块用于,满足迭代结束条件时,根据迭代结果导出排课结果数据。第三方面,本专利技术实施例还提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,处理器执行程序时实现如第一方面所示的排课方法。第四方面,本专利技术实施例还提供了一种包含计算机可执行指令的存储介质,计算机可执行指令在由计算机处理器执行时用于执行如第一方面所示的排课方法。本专利技术实施例提供的排课方案,能够在初始化染色体之后,使用遗传算法根据染色体的适应度参数进行交叉以及变异,通过迭代的方式实现染色体的收敛,实现由机器完成自动排课,在大幅提升排课速度的同时,保证排课结果的可靠性,提高排课效率。附图说明图1是本专利技术实施例一中的排课方法的流程示意图;图2是本专利技术实施例一中的数据关系示意图;图3是本专利技术实施例一中的迭代效果示意图;图4是本专利技术实施例二中的排课装置的结构示意图;图5是本专利技术实施例三中的计算机设备的结构示意图。具体实施方式下面结合附图和实施例对本专利技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本专利技术,而非对本专利技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本专利技术相关的部分而非全部结构。实施例一图1为本专利技术实施例一提供的排课方法的流程图,本实施例可适用于校园排课的情况,例如指定多个教学班进行全新排课、指定多个教学班进行增量排课或对单个教学班手动排课进行校验约束等,该方法可以由计算机设备来执行。具体包括如下步骤:步骤101、根据选课信息随机配置染色体中的教学资源,得到第一数量的第一染色体,染色体用于表示一套排课方案,染色体包含多个排课单元,每个排课单元表示一个教室、时间与课程内容的组合。本专利技术实施例使用的排课场景中,如图2所示的数据框架图,在数据准备阶段所要获取的数据包括基本信息、培训计划以及开课信息。基本信息包括资源维度、任务维度以及时间维度。开课信息包括培养方案、培养计划等。资源维度角度包括校区数据,教学楼数据,教室数据、操场数据、实验室数据以及教师数据等。可将资源维度抽象为教室对象,教师独享包括教师约束条件、教学楼以及容纳人数等。教学楼可附带校区信息。任务维度包括教学班数据、课程数据、学生数据、教师数据以及开课信息等。课程数据包括总学时、周学时、教师约束条件、周次约束条件等。教学班还包括对教师的约束条件。任务维度可抽象为教学班对象,包括人数、课程、教师、约束条件、学生等变量。时间维度包括学期(一学期包括多个教学周),教学周(一教学周多个教学日),课时(一个教学日包括多个课时)。当得到排课结果后,可以到处课表抽象对象,如教室课表、教师课表以及学生课表。在导出周课表时,可包括单课时时间、大节时间(节假日)、工作日等。进而可进一步导入到校历中。在本申请实施例执行过程中,还可通过接口获取硬约束条件以及计算适应度参数所需的约束条件。具体的,前述二者均可在工厂模式中实施。冲突工厂中,配置有冲突规则列表,用于记录硬约束条件,通过调用冲突接口,可获取冲突工厂反馈的bool值,该值反馈为1或0,分别表示不存在硬约束条件冲突和存在硬约束条件冲突。约束工厂中配置有约束规则列表,用于记载计算适应度参数所需的约束条件。通过调用约束接口,可获取到约束工厂反馈的int类型的数值,该数本文档来自技高网...

【技术保护点】
1.一种排课方法,其特征在于,包括:/n步骤101、根据选课信息随机配置染色体中的教学资源,得到第一数量的第一染色体,染色体用于表示一套排课方案,染色体包含多个排课单元,每个排课单元表示一个教室、时间与课程内容的组合;/n步骤102、使用硬约束条件对所述第一数量的第一染色体进行校验,得到第二数量的第一染色体,所述硬约束条件用于表示排课不允许出现的情况;/n步骤103、计算所述第二数量的第一染色体中每个染色体的适应度参数;根据所述适应度参数的数值大小从所述第一染色体中确定待交叉的第三数量的第一染色体;/n步骤104、根据适应度参数从所述待交叉的第三数量的第一染色体中选择第一染色体A和第一染色体B;/n步骤105、根据适应度参数确定所述第一染色体A和第一染色体B中的排课单元的交叉概率;/n步骤106、根据所述交叉概率对所述第一染色体A和第一染色体B组进行排课单元的交叉,得到第二染色体;/n步骤107、若交叉得到的第二染色体的适应度不符合预设适应度阈值,则将所述第二染色体确定为待变异的第二染色体;/n步骤108、根据适应度参数确定待变异的第二染色体的变异概率;/n步骤109、根据所述变异概率,对待变异的第二染色体A和待变异的第二染色体B进行变异,得到第三染色体;/n重复执行步骤103至步骤109进行迭代,直至满足迭代结束条件;/n步骤110、当满足迭代结束条件时,根据迭代结果导出排课结果数据。/n...

【技术特征摘要】
1.一种排课方法,其特征在于,包括:
步骤101、根据选课信息随机配置染色体中的教学资源,得到第一数量的第一染色体,染色体用于表示一套排课方案,染色体包含多个排课单元,每个排课单元表示一个教室、时间与课程内容的组合;
步骤102、使用硬约束条件对所述第一数量的第一染色体进行校验,得到第二数量的第一染色体,所述硬约束条件用于表示排课不允许出现的情况;
步骤103、计算所述第二数量的第一染色体中每个染色体的适应度参数;根据所述适应度参数的数值大小从所述第一染色体中确定待交叉的第三数量的第一染色体;
步骤104、根据适应度参数从所述待交叉的第三数量的第一染色体中选择第一染色体A和第一染色体B;
步骤105、根据适应度参数确定所述第一染色体A和第一染色体B中的排课单元的交叉概率;
步骤106、根据所述交叉概率对所述第一染色体A和第一染色体B组进行排课单元的交叉,得到第二染色体;
步骤107、若交叉得到的第二染色体的适应度不符合预设适应度阈值,则将所述第二染色体确定为待变异的第二染色体;
步骤108、根据适应度参数确定待变异的第二染色体的变异概率;
步骤109、根据所述变异概率,对待变异的第二染色体A和待变异的第二染色体B进行变异,得到第三染色体;
重复执行步骤103至步骤109进行迭代,直至满足迭代结束条件;
步骤110、当满足迭代结束条件时,根据迭代结果导出排课结果数据。


2.根据权利要求1所述的排课方法,其特征在于,所述根据适应度参数从所述待交叉的第三数量的第一染色体中选择第一染色体A和第一染色体B,包括:
根据待交叉的第三数量的第一染色体的适应度确定第一染色体的被选中概率selA;
将待交叉的第三数量的第一染色体的被选中概率输入值俄罗斯转盘算法,分别确定第一染色体A和第一染色体B。


3.根据权利要求2所述的排课方法,其特征在于,所述根据待交叉的第三数量的第一染色体的适应度确定第一染色体的被选中概率selA,包括:
分别计算待交叉的第三数量的第一染色体中每个第一染色体的适应度参数adpA;
根据所述待交叉的第三数量的第一染色体的全部适应度参数,确定平均适应度adpU;
根据每个第一染色体的适应度参数adpA和平均适应度adpU的比值,确定第一染色体的被选中概率selA。


4.根据权利要求3所述的排课方法,其特征在于,所述根据适应度参数确定所述第一染色体A和第一染色体B中的排课单元的交叉概率,包括:
获取第一染色体A的适应度参数a和第二染色体B中较大的适应度参数f’;
如果所述较大的适应度参数f’大于等于第一染色体的平均适应度favg,则根据所述较大的适应度参数f’、所述第一染色体的平均适应度favg、第一染色体中最大的适应度fmax以及预设适应度参数确定交叉概率;
如果所述较大的适应度参数f’小于第一染色体的平均适应度favg,根据预设适应度参数确定交叉概率。


5.根据权利要求1所述的排课方法,其特征在于,所述根据所述交叉概率对所述第一染色体A和第一染色体B组进行排课单元的交叉,得到第二染色体,包括:
根据所述交叉概率从第一染色体A中获取排课单元集合a;
根据...

【专利技术属性】
技术研发人员:郑继权李赤峰霍俊龙
申请(专利权)人:深圳软通动力信息技术有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1