一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种自动排课方法及系统与流程

2021-10-24 05:39:00 来源:中国专利 TAG:排课 方法 教学 系统


1.本发明涉及教学领域,更具体地,涉及一种自动排课方法及系统。


背景技术:

2.在学校的教学工作中,对各位老师的课程进行排课是必须的,由于各位老师均对应有自己的排课要求,也就是说每位老师的课程安排都具有限制条件。
3.目前对于各位老师的排课均是教务人员人工进行的,面对各位老师复杂的课程安排要求,排课过程非常繁琐。


技术实现要素:

4.本发明针对现有技术中存在的技术问题,提供一种自动排课方法及系统。
5.根据本发明的第一方面,提供了一种自动排课方法,包括:s1,基于每一位老师的排课要求,对于每一位老师,按照班级节次顺序进行排课;s2,基于预设的冲突条件,检测当前老师的当前课程安排是否发生冲突;s3,若发生冲突,则将当前老师的当前课程调整到下一个班级节次,重复执行s2和s3,直到满足当前老师的课程安排结束条件;若没有发生冲突,则对当前老师的下一课程进行排课;s4,基于每一位老师的优先级,遍历每一位老师,对所有老师课程进行排课,输出所有老师课程的排课表。
6.在上述技术方案的基础上,本发明还可以作出如下改进。
7.可选的,根据每一位老师的排课要求,确定每一位老师的优先级;根据每一位老师的优先级,为每一位老师配置对应的id。
8.可选的,所述s2之前包括:按照班级顺序为每一个班级配置对应的id;以课程节次的时间顺序为每一节次配置对应的id;其中,班级id和节次id组成班级节次矩阵。
9.可选的,所述以节次的时间顺序为每一节次配置对应的id;以一周时间为单位,周一第一节课的id=0,则周n、第m节课的id=(n

1)*每日课程数 (m

1),其中,1≤m≤7,1≤n≤5,且、n均为正整数。
10.可选的,所述当前老师的课程安排结束条件为:当前老师的当前课程安排不发生冲突或者冲突调整次数达到预设的最大次数。
11.可选的,若当前老师的当前课程的冲突调整次数达到预设的最大次数,但依然存在冲突,记录当前老师的当前课程,并记录其排课发生冲突的原因。
12.可选的,所述预设的冲突条件为同一名老师不能安排不同班级节次,同一班级节次不能安排不同的老师课程。
13.根据本发明的第二方面,提供一种自动排课系统,包括:排课模块,用于基于每一位老师的排课要求,对于每一位老师,按照班级节次顺序进行排课;检测模块,用于基于预设的冲突条件,检测当前老师的当前课程安排是否发生冲突;执行模块,用于若发生冲突,则将当前老师的当前课程调整到下一个班级节次,调用所述检测模块和所述执行模块,直到满足当前老师的课程安排结束条件;若没有发生冲突,则对当前老师的下一课程进行排
课;基于每一位老师的优先级,调用所述排课模块遍历每一位老师,对所有老师课程进行排课,输出所有老师课程的排课表。
14.根据本发明的第三方面,提供了一种电子设备,包括存储器、处理器,所述处理器用于执行存储器中存储的计算机管理类程序时实现自动排课方法的步骤。
15.根据本发明的第四方面,提供了一种计算机可读存储介质,其上存储有计算机管理类程序,所述计算机管理类程序被处理器执行时实现自动排课方法的步骤。
16.本发明提供的一种自动排课方法及系统,根据每一位老师的优先级按照顺序为每一个老师进行排课,并对发生冲突的情况进行调整,实现了对老师课程的自动排课,减轻了学校教务人员的人工管理工作负担。
附图说明
17.图1为本发明提供的一种自动排课方法流程图;
18.图2为本发明提供的一种自动排课方法的整体流程图;
19.图3为本发明提供的一种自动排课系统的结构示意图;
20.图4为本发明提供的一种可能的电子设备的硬件结构示意图;
21.图5为本发明提供的一种可能的计算机可读存储介质的硬件结构示意图。
具体实施方式
22.下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
23.图1为本发明提供的一种自动排课方法流程图,如图1所示,方法包括:s1,基于每一位老师的排课要求,对于每一位老师,按照班级节次顺序进行排课;s2,基于预设的冲突条件,检测当前老师的当前课程安排是否发生冲突;s3,若发生冲突,则将当前老师的当前课程调整到下一个班级节次,重复执行s2和s3,直到满足当前老师的课程安排结束条件;若没有发生冲突,则对当前老师的下一课程进行排课;s4,基于每一位老师的优先级,遍历每一位老师,对所有老师课程进行排课,输出所有老师课程的排课表。
24.可以理解的是,基于学校教务管理工作人员排课工作的工作量负担,本发明实施例提供了一种自动排课方法,基于每一位老师的排课要求(即排课限制条件),对每一位老师进行优先级的确定,对优先级高的老师先排课,对优先级低的老师后排课,即按照优先级对各位老师进行排课,先将优先级高的老师的所有课程排完之后,再对优先级低的老师的课程进行排课。
25.在对每一位老师排课的过程中,对于当前老师的课程,按照班级节次顺序来安排,在对当前老师的当前课程安排后,根据预设的冲突条件,检测当前老师的当前课程安排是否发生冲突,如果发生冲突,则对当前老师的当前课程的安排进行调整,调整后再次检测是否还发生冲突,直到不发生冲突或者调整次数达到上限(预设的最大调整次数),此时结束当前老师的当前课程的安排,对当前老师的下一课程进行安排,直到将所有老师的所有课程均安排完毕,最终输出所有老师课程的排课表。
26.本发明根据每一位老师的优先级按照顺序为每一个老师进行排课,并对发生冲突的情况进行调整,实现了对老师课程的自动排课,减轻了学校教务人员的人工管理工作负
担。
27.在一种可能的实施例方式中,根据每一位老师的排课要求,确定每一位老师的优先级;根据每一位老师的优先级,为每一位老师配置对应的id。
28.可以理解的是,在确定各位老师的优先级时,根据各位老师对排课的不同限制条件对每一位老师课程进行评分,按照评分高低进行排序,评分高的老师先进行排课,评分低的老师后进行排课,也就是说,按照每一位老师的评分从高到低为每一位老师进行排课。
29.其中,具体的条件和评分如下表1:
30.表1老师的排课要求和评分
31.条件评分校领导或外聘老师6课程有关联场地4老师连天4老师连堂3课程连堂2老师禁止课程1老师总课程数1
32.某位老师的评分=是否是校领导或外聘老师
×
6 关联场地的课程数量
×
4 老师连天数量
×
4 老师连堂数量
×
3 课程连堂
×
2 禁止课程时间
×
1 老师总课程数量
×
1。
33.其中,本发明实施例在对各位老师进行排课时,评分高的老师通常排课要求比较多,在进行排课时,更容易出现冲突,因此,对评分高的老师先进行排课,而评分低的老师的排课要求通常要低一些,后对评分低的老师进行排课,这样会减少排课过程中的冲突情况。
34.在一种可能的实施例方式中,s2之前包括:按照班级顺序为每一个班级配置对应的id;以课程节次的时间顺序为每一节次配置对应的id;其中,班级id和节次id组成班级节次矩阵。
35.可以理解的是,上述实施例介绍了确定每一位老师的优先级,该实施例对老师课程、班级节次进行配置。原本需要处理班级、节次、老师、课程间的关系,但是老师和课程间有极强的对应关系,通常一位老师带一门课,比如,数学老师教数学课程,少数情况会存在一位老师带多门不同的课程,每一位老师与课程间有着直接的对应关系。因此,在后续排课是,只需要对各位老师进行排课即可,也就是对老师的课程进行了安排。本实施例按照不同老师的优先级为每一位老师配置对应的id。
36.对于班级和节次,按照班级的顺序为每一个班级配置对应的id,比如,一个年级有10个班级,那么按照顺序为每一个班级配置对应的id。对于课程节次,为了排出一周的课表,于是将一周的时间线拉直,每个课程节次给一个时间id,则周一第一节课id=0,周n,第m节课id=(n

1)*每日课程数 (m

1),其中,1≤m≤7,1≤n≤5,且、n均为正整数。将班级和节次构成班级节次的二维矩阵。
37.具体的,在对每一位老师进行排课的过程中,按照班级节次的顺序遍历班级节次矩阵,对当前老师每安排一次课程(即该老师的课程安排到对应的班级节次),根据预设的冲突条件检测当前的安排是否发生冲突,如果发生冲突就需要调整。通常的调整方法是将当前老师的当前课程调整安排到下一班级节次中,调整之后再次对冲突进行检测,如果再
次冲突,则再次进行调整,也就是不断进行调整。
38.其中,预设的冲突条件主要包括同一名老师不能在同一时间上两个班级的课、有场地限制的课程,同一时间场地容量不能超出等。
39.对发生冲突的老师课程进行不断调整,直到当前老师的当前课程不发生冲突或者冲突调整的次数达到预设的最大调整次数。对当前老师的当前课程的排课结束后,对当前老师的下一课程进行安排,同样的,对课程安排进行冲突检测,进行调整。当对当前老师的所有课程均排课结束后,再对下一个老师的课程进行安排,直到所有老师的所有课程均排课完毕,输出所有老师的所有课程的排课表。
40.在一种可能的实施例方式中,若当前老师的当前课程的冲突调整次数达到预设的最大次数,但依然存在冲突,记录当前老师的当前课程,并记录其排课发生冲突的原因。
41.可以理解的是,在当前老师的当前课程发生冲突进行调整后,若当前调整次数达到预设的最大调整次数后,依然解决不了冲突的问题,此时不再进行当前老师的课程安排,跳过当前老师课程,对下一个老师的课程进行安排,并记录当前老师一直发生冲突的课程,以及发生冲突的原因。
42.当所有老师的所有课程排课完成后,输出所有老师的所有课程的排课表,并输出每一位老师的发生冲突解决不了的课程和对应的原因。
43.下面结合图2对本发明提供的自动排课方法的整体流程进行介绍,首先,对各位老师id、班级id和节次id进行配置,按照各位老师的优先级顺序为每一位老师排课。
44.在为每一位老师进行排课的过程中,按照班级节次顺序为当前老师进行排课,当根据预设的冲突条件检测到当前老师的当前课程的安排发生冲突时,将当前老师的当前课程安排到下一班级节次中,即对当前老师的当前课程进行调整,调整后再次进行冲突检测,直到当前老师的当前课程的安排不再出现冲突,或者冲突调整的次数达到预设的最大调整次数。当前老师的当前课程安排完毕后,进行当前老师的下一课程的安排,当前老师的所有课程安排完成后,在进行下一个老师的课程的安排。
45.当所有老师的所有课程均排课完毕后,输出排课表,对于一直无法解决冲突问题的老师的课程进行记录,并输出对应的冲突原因,为后续冲突问题提供支持。
46.参见图3,提供了一种自动排课系统,包括排课模块301、检测模块302和执行模块303,其中:
47.排课模块301,用于基于每一位老师的排课要求,对于每一位老师,按照班级节次顺序进行排课;检测模块302,用于基于预设的冲突条件,检测当前老师的当前课程安排是否发生冲突;执行模块303,用于若发生冲突,则将当前老师的当前课程调整到下一个班级节次,调用所述检测模块302和所述执行模块303,直到满足当前老师的课程安排结束条件;若没有发生冲突,则对当前老师的下一课程进行排课;基于每一位老师的优先级,调用排课模块301遍历每一位老师,对所有老师课程进行排课,输出所有老师课程的排课表。
48.可以理解的是,本发明提供的一种自动排课系统与前述各实施例提供的自动排课方法相对应,自动排课系统的相关技术特征可参考自动排课方法的相关技术特征,在此不再赘述。
49.请参阅图4,图4为本发明实施例提供的电子设备的实施例示意图。如图4所示,本发明实施例提了一种电子设备400,包括存储器410、处理器420及存储在存储器410上并可
在处理器420上运行的计算机程序411,处理器420执行计算机程序411时实现以下步骤:s1,基于每一位老师的排课要求,对于每一位老师,按照班级节次顺序进行排课;s2,基于预设的冲突条件,检测当前老师的当前课程安排是否发生冲突;s3,若发生冲突,则将当前老师的当前课程调整到下一个班级节次,重复执行s2和s3,直到满足当前老师的课程安排结束条件;若没有发生冲突,则对当前老师的下一课程进行排课;s4,基于每一位老师的优先级,遍历每一位老师,对所有老师课程进行排课,输出所有老师课程的排课表。
50.请参阅图5,图5为本发明提供的一种计算机可读存储介质的实施例示意图。如图5所示,本实施例提供了一种计算机可读存储介质500,其上存储有计算机程序511,该计算机程序511被处理器执行时实现如下步骤:s1,基于每一位老师的排课要求,对于每一位老师,按照班级节次顺序进行排课;s2,基于预设的冲突条件,检测当前老师的当前课程安排是否发生冲突;s3,若发生冲突,则将当前老师的当前课程调整到下一个班级节次,重复执行s2和s3,直到满足当前老师的课程安排结束条件;若没有发生冲突,则对当前老师的下一课程进行排课;s4,基于每一位老师的优先级,遍历每一位老师,对所有老师课程进行排课,输出所有老师课程的排课表。
51.本发明实施例提供的一种自动排课方法及系统,根据每一位老师的优先级按照顺序为每一个老师进行排课,并对发生冲突的情况进行调整,实现了对老师课程的自动排课,减轻了学校教务人员的人工管理工作负担。
52.需要说明的是,在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其它实施例的相关描述。
53.本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd

rom、光学存储器等)上实施的计算机程序产品的形式。
54.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式计算机或者其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
55.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
56.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
57.尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造
概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
58.显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜