CN116843525B - 一种智能自动排课方法、***、设备及存储介质 - Google Patents
一种智能自动排课方法、***、设备及存储介质 Download PDFInfo
- Publication number
- CN116843525B CN116843525B CN202311083809.0A CN202311083809A CN116843525B CN 116843525 B CN116843525 B CN 116843525B CN 202311083809 A CN202311083809 A CN 202311083809A CN 116843525 B CN116843525 B CN 116843525B
- Authority
- CN
- China
- Prior art keywords
- data
- course
- course arrangement
- processed
- satisfaction rate
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000012545 processing Methods 0.000 claims abstract description 32
- 238000013178 mathematical model Methods 0.000 claims abstract description 21
- 238000007689 inspection Methods 0.000 claims abstract description 5
- 238000004891 communication Methods 0.000 claims description 11
- 230000003442 weekly effect Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 abstract description 9
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/20—Education
- G06Q50/205—Education administration or guidance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Tourism & Hospitality (AREA)
- Human Resources & Organizations (AREA)
- Marketing (AREA)
- General Physics & Mathematics (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种智能自动排课方法、***、设备及存储介质,本方法通过将多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;对多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;从多个满足率值中选取满足率最高值,并且对大于等于预期满足率的满足率最高值对应的待排课数据打上成功排课标志并删除待排课数据集中打上成功排课标志的待排课数据;采用删除待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代。本发明能够提升排课的效率和质量。
Description
技术领域
本发明涉及自动排课技术领域,尤其是涉及一种智能自动排课方法、***、设备及存储介质。
背景技术
随着高校办学规模的不断扩大,对学校的硬件资源要求更高,同时,为了提升教学质量,满足教师、学生对教务工作的满意度,使得排课工作变得日益繁重,排课难度越来越大。行业提出各种类型的自动排课方法提升排课的效率与质量。例如,传统的自动排课算法具有以下缺点:一是没有从并行角度去为随机特定数量的排课结果提供迭代;二是没有考虑软性约束多个维度上的配置期望参数,未提供用户可以介入的期望参数设定能力;三是没有考虑经过迭代多轮后,对于仍未排完的记录进行处理。因此,排课的效率与质量差。
发明内容
本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出一种智能自动排课方法、***、设备及存储介质,能够提升排课的效率和质量。
第一方面,本发明实施例提供了一种智能自动排课方法,所述智能自动排课方法包括:
获取待排课数据集,预设包含所述待排课数据集的多个第一模板;
将所述多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;
对所述多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足所述硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;
从所述多个满足率值中选取满足率最高值,并且对大于等于预期满足率的所述满足率最高值对应的待排课数据打上成功排课标志并删除所述待排课数据集中打上成功排课标志的待排课数据;
采用删除所述待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
与现有技术相比,本发明第一方面具有以下有益效果:
本方法首先对多个第二模板中的每条待排课数据进行硬性约束条件检查,能够减少排课冲突;然后对满足硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值,并从多个满足率值中选取满足率最高值,选取满足率最高值能够提高排课质量;本方法通过多台计算机同时迭代,能够提高排课的效率。
根据本发明的一些实施例,将所述多个第一模板分配至多台计算机,包括:
将所述第一模板的数量和所述计算机的数量进行比值,得到商和余数;
分配所述商对应数量的第一模板至每台计算机,并将所述余数对应数量的第一模板分配至最后一台计算机。
根据本发明的一些实施例,所述硬性约束条件为班级、教师、课程、地点在同一时间不发生冲突。
根据本发明的一些实施例,通过如下方式构建所述软性约束数学模型:
其中,表示每条待排课数据/>的满足率,/>、/>、/>、/>和/>表示权重参数,/>表示学生实际人数,/>表示教室容纳人数,/>表示当班级每周排课次数满足第一预设值时选择的取值,/>表示当教师每周排课次数满足第二预设值时选择的取值,/>表示当课程每周排课次数满足第三预设值时选择的取值,/>表示当时间每周每天排课平均次数满足第四预设值时选择的取值。
根据本发明的一些实施例,在对所述多个第二模板中的每条待排课数据进行硬性约束条件检查时,所述智能自动排课方法还包括:
若所述多个第二模板中的待排课数据不满足所述硬性约束条件,则将所述待排课数据对应的满足率置零并进行排课冲突记录。
根据本发明的一些实施例,在从所述多个满足率值中选取满足率最高值之后,所述智能自动排课方法还包括:
若从所述多个满足率值中选取的满足率最高值小于所述预期满足率,则对小于所述预期满足率的满足率最高值对应的待排课数据打上未排课标志。
根据本发明的一些实施例,在迭代次数达到预设收敛参数时,所述智能自动排课方法还包括:
在迭代次数达到预设收敛参数时,检查是否有未排课或排课冲突记录的待排课数据;
若有未排课或排课冲突记录的待排课数据,则采用贪心算法对所述有未排课或排课冲突记录的待排课数据进行排课。
第二方面,本发明实施例还提供了一种智能自动排课***,所述智能自动排课***包括:
数据获取单元,用于获取待排课数据集,预设包含所述待排课数据集的多个第一模板;
模板分配单元,用于将所述多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;
约束检查单元,用于对所述多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足所述硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;
数据排课单元,用于从所述多个满足率值中选取满足率最高值,并且对大于等于预期满足率的所述满足率最高值对应的待排课数据打上成功排课标志并删除所述待排课数据集中打上成功排课标志的待排课数据;
排课完成单元,用于采用删除所述待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
第三方面,本发明实施例还提供了一种智能自动排课设备,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如上所述的一种智能自动排课方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如上所述的一种智能自动排课方法。
可以理解的是,上述第二方面至第四方面与相关技术相比存在的有益效果与上述第一方面与相关技术相比存在的有益效果相同,可以参见上述第一方面中的相关描述,在此不再赘述。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是本发明一实施例的一种智能自动排课方法的流程图;
图2是本发明另一实施例的智能自动排课方法的步骤示意图;
图3是本发明一实施例的一种智能自动排课***的结构图;
图4是本发明一实施例的一种电子设备的结构示意图。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
在本发明的描述中,如果有描述到第一、第二等只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
本发明的描述中,需要说明的是,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
由于随着高校办学规模的不断扩大,对学校的硬件资源要求更高,同时,为了提升教学质量,满足教师、学生对教务工作的满意度,使得排课工作变得日益繁重,排课难度越来越大。行业提出各种类型的自动排课方法提升排课的效率与质量。例如,传统的自动排课算法具有以下缺点:一是没有从并行角度去为随机特定数量的排课结果提供迭代;二是没有考虑软性约束多个维度上的配置期望参数,未提供用户可以介入的期望参数设定能力;三是没有考虑经过迭代多轮后,对于仍未排完的记录进行处理。因此,排课的效率与质量差。
为解决上述问题,本发明首先对多个第二模板中的每条待排课数据进行硬性约束条件检查,能够减少排课冲突;然后对满足硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值,并从多个满足率值中选取满足率最高值,选取满足率最高值能够提高排课质量;本方法通过多台计算机同时迭代,能够提高排课的效率。
对本公开实施例进行进一步详细说明之前,对本公开实施例中涉及的名词和术语进行说明,本公开实施例中涉及的名词和术语适用于如下的解释:
贪心算法,它是一种对某些求最优解问题的更简单、更迅速的设计技术。贪心算法的特点是一步一步地进行,常以当前情况为基础根据某个优化测度作最优选择,而不考虑各种可能的整体情况,省去了为找最优解要穷尽所有可能而必须耗费的大量时间。贪心算法采用自顶向下,以迭代的方法做出相继的贪心选择,每做一次贪心选择,就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题的一个最优解。
参照图1,本发明实施例提供了一种智能自动排课方法,本智能自动排课方法包括但不限于步骤S100至步骤S500,其中:
步骤S100、获取待排课数据集,预设包含待排课数据集的多个第一模板;
步骤S200、将多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;
步骤S300、对多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;
步骤S400、从多个满足率值中选取满足率最高值,并且对大于等于预期满足率的满足率最高值对应的待排课数据打上成功排课标志并删除待排课数据集中打上成功排课标志的待排课数据;
步骤S500、采用删除待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
在本实施例中,为了提高排课的效率,本实施例通过获取待排课数据集,预设包含待排课数据集的多个第一模板,将多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板,能够通过多台计算机同时迭代模板;为了减少排课冲突,本实施例通过对多个第二模板中的每条待排课数据进行硬性约束条件检查;为了提高排课质量,本实施例通过对满足硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值,从多个满足率值中选取满足率最高值,并且对大于等于预期满足率的满足率最高值对应的待排课数据打上成功排课标志并删除待排课数据集中打上成功排课标志的待排课数据;采用删除待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
在一些实施例中,将多个第一模板分配至多台计算机,包括:
将第一模板的数量和计算机的数量进行比值,得到商和余数;
分配商对应数量的第一模板至每台计算机,并将余数对应数量的第一模板分配至最后一台计算机。
在本实施例中,通过将多个模板分配至多台计算机,通过多台计算同时进行迭代计算,能够提高排课效率。
在一些实施例中,硬性约束条件为班级、教师、课程、地点在同一时间不发生冲突。
在本实施例中,在排课时班级、教师、课程、地点在同一时间不发生冲突,即硬性约束条件包括存在同一个班级不能同时在两个地方上课,同一个老师不能同时在两个地方讲课,同一间教室不能同时上两种不同的课程等用于约束冲突发生的条件。因此,在排课时必须符合这些硬性约束条件,以避免排课冲突的发生,从而提高排课的质量。
在一些实施例中,通过如下方式构建软性约束数学模型:
其中,表示每条待排课数据/>的满足率,/>、/>、/>、/>和/>表示权重参数,/>表示学生实际人数,/>表示教室容纳人数,/>表示当班级每周排课次数满足第一预设值时选择的取值,/>表示当教师每周排课次数满足第二预设值时选择的取值,/>表示当课程每周排课次数满足第三预设值时选择的取值,/>表示当时间每周每天排课平均次数满足第四预设值时选择的取值。
在本实施例中,软性约束指班级、教师、课程、时间、地点五个维度上满足特殊要求。通过定义五个维度的软性约束数学模型来排课,考虑了软性约束五个维度上的配置期望参数,提供了用户可以介入的期望参数设定能力,因此,能够提升排课质量,满足教师、学生对教务工作的满意度,同时也提升了教学质量。
在一些实施例中,在对多个第二模板中的每条待排课数据进行硬性约束条件检查时,智能自动排课方法还包括:
若多个第二模板中的待排课数据不满足硬性约束条件,则将待排课数据对应的满足率置零并进行排课冲突记录。
在本实施例中,对不满足硬性约束条件的满足率置零,不满足硬性约束条件的课程相当于排课有冲突,无需计算满足率,能够减少计算量,提高排课效率,提高排课质量。
在一些实施例中,在从多个满足率值中选取满足率最高值之后,智能自动排课方法还包括:
若从多个满足率值中选取的满足率最高值小于预期满足率,则对小于预期满足率的满足率最高值对应的待排课数据打上未排课标志。
在本实施例中,对小于预期满足率的待排课数据打上未排课标志,使得排课质量能够提高。
在一些实施例中,在迭代次数达到预设收敛参数时,智能自动排课方法还包括:
在迭代次数达到预设收敛参数时,检查是否有未排课或排课冲突记录的待排课数据;
若有未排课或排课冲突记录的待排课数据,则采用贪心算法对有未排课或排课冲突记录的待排课数据进行排课。
在本实施例中,经过多轮计算机同时迭代后,可能还有未排课或排课冲突记录的待排课数据,对于这些待排课数据采用贪心算法进行收尾,贪心算法每做一次贪心选择,就将所求问题简化为一个规模更小的子问题,通过每一步贪心选择,可得到问题的一个最优解。因此,本实施例采用贪心算法进行收尾,既能保证剩余未排课或有排课冲突记录的待排课数据全部完成排课,又能保证待排课数据的排课结果得到一个最优解,通过贪心算法进一步提升了排课的质量。
为方便本领域人员理解,以下提供一组最佳实施例:
由于传统的自动排课算法具有以下缺点:一是没有从并行角度去为随机特定数量的排课结果提供迭代;二是没有考虑软性约束多个维度上的配置期望参数,未提供用户可以介入的期望参数设定能力;三是没有考虑经过迭代多轮后,对于仍未排完的记录进行处理。因此,自动排课的效率与质量比较差。
对于以上问题,参照图2,本实施例通过定义五个维度的软性约束数学模型和采用可收敛的贪心算法收尾,一是提升软性约束的满意度、二是提升算法的时间效率,三是通过配合贪心算法进行收尾,最终提升自动排课的质量要求。具体步骤包括:
1、初始化参数。
获取待排课数据集S,待排课数据集S中每一条待排课数据中的记录包含班级、教师和课程等属性。定义需要复制的待排课数据集S的第一模板数M(即复制M份待排课数据集S),M设置默认值20;定义可用的计算机台数C,C设置默认值4;定义预设收敛参数N,N设置默认值50。
软性约束数学模型有五个权重参数、/>、/>、/>和/>,五个权重参数之和为1,根据实际情况初始化五个权重参数的默认值为0.2,0.2,0.2,0.2和0.2,返回值为实际满足率。定义满足率的预期满足率为R,设置预期满足率的默认值为80%。
需要说明的是,本实施例的默认值都可以根据实际情况进行更改,本实施例不做具体限定。
2、随机模型进行随机分配。
首先根据第一模板数M和可用的计算机台数C,计算每一台计算机要完成的模板数,余数放至最后一台计算机,然后分配指令到每一台计算机,完成每个模板中待排课数据集S完成随机指定教室、时间,得到多个第二模板。
3、构建硬性约束和软性约束数学模型。
根据多个第二模板,检查待排课数据集S中每一条待排课数据是否满足硬性约束条件,如果待排课数据不满足硬性约束条件,则将待排课数据对应的实际满足率置0并进行排课冲突记录。对于满足硬性约束条件的待排课数据,根据软性约束数学模型计算该待排课数据的实际满足率。其中,硬性约束指班级、教师、课程、地点在同时一时间不能发生冲突,软性约束指班级、教师、课程、时间、地点五个维度上具有特殊要求,通过如下公式构建软性约束数学模型:
其中,表示每条待排课数据/>的满足率,/>、/>、/>、/>和/>表示权重参数,/>表示学生实际人数,/>表示教室容纳人数,/>表示当班级每周排课次数满足第一预设值时选择的取值,具体的,本实施例/>的第一预设值取值为[1,0.5,0],当班级每周排课次数小于8时取值1,当班级每周排课次数大于8且小于16时取值0.5,当班级每周排课次数大于等于16时取值0;/>表示当教师每周排课次数满足第二预设值时选择的取值,具体的,/>的第二预设值取值为[1,0.5,0],当教师每周排课次数小于10时取值1,当教师每周排课次数大于10且小于20时取值0.5,当教师每周排课次数大于等于20时取值0;/>表示当课程每周排课次数满足第三预设值时选择的取值,具体的,/>的第三预设值取值为[1,0.5,0],当课程每周排课次数小于12时取值1,当课程每周排课次数大于12且小于24时取值0.5,当课程每周排课次数大于等于24时取值0;/>表示当时间每周每天排课平均次数满足第四预设值时选择的取值,具体的,/>的第四预设值取值为[1,0.5,0],当时间每周每天排课平均次数相等时取值1,当时间每周每天排课平均次数的平均误差小于30%时取值0.5,当时间每周每天排课平均次数的平均误差大于等于30%时取值0。
采用上述软性约束数学模型,对每个模板中符合硬性约束条件的待排课数据计算出满足率。由于每个模板都是复制的待排课数据集S,因此每个模板都有该待排课数据,则每条待排课数据会对应有多个满足率值,从多个满足率值中选取满足率最高值,合并所有模板中所有满足硬性约束条件且满足率最高的待排课数据记录,对满足率最高值大于等于预期满足率R的待排课数据打上成功排课的标志,并在待排课数据集S中剔除该待排课数据记录;若从多个满足率值中选取的满足率最高值小于预期满足率,则对小于预期满足率的满足率最高值对应的待排课数据打上未排课标志。
对上述过程不断迭代,检查迭代次数是否达到预设收敛参数N,若迭代次数没有达到预设收敛参数N,则继续进行多台计算机同时迭代。
4、收尾模型。
在迭代次数达到预设收敛参数时,检查是否有未排课或排课冲突记录的待排课数据;若有未排课或排课冲突记录的待排课数据,则采用贪心算法作为收尾模型对有未排课或排课冲突记录的待排课数据进行排课。具体的:
在迭代次数达到预设收敛参数N后,检查待排课数据集S中是否还有未排课或排课冲突记录的待排课数据记录,对于未排课或有排课冲突记录的待排课数据记录调用贪心算法再次进行排课。
5、结果对比。
提示用户成功排课记录和未排课记录,并根据成功排课记录计算质量率。其中,质量率的计算公式如下:
其中,表示质量率,/>表示所有成功排课记录,/>表示每个成功排课记录对应的满足率,/>表示待排课数据集数量。
在本实施例中,将本实施例方法与其他自动排课算法进行比较。经过数十所高校的运行,通过质量率的计算公式得到本实施例方法的质量率和其他自动排课算法的质量率。结果表明,相对于其他自动排课算法,在同等环境条件与规模下的,本实施例方法的排课质量提升约15%,排课时间缩短约1/5。通过本实施例方法的实施,提升了学校排课满意度,提升了高校的管理水平,提升了教师、学生对教务工作的认可度。
参照图3,本发明实施例还提供了一种智能自动排课***,本智能自动排课***包括数据获取单元100、模板分配单元200、约束检查单元300、数据排课单元400和排课完成单元500,其中:
数据获取单元100,用于获取待排课数据集,预设包含待排课数据集的多个第一模板;
模板分配单元200,用于将多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;
约束检查单元300,用于对多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;
数据排课单元400,用于从多个满足率值中选取满足率最高值,并且对大于等于预期满足率的满足率最高值对应的待排课数据打上成功排课标志并删除待排课数据集中打上成功排课标志的待排课数据;
排课完成单元500,用于采用删除待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
需要说明的是,由于本实施例中的一种智能自动排课***与上述的一种智能自动排课方法基于相同的发明构思,因此,方法实施例中的相应内容同样适用于本***实施例,此处不再详述。
参见图4,本申请实施例还提供了一种智能自动排课设备,本智能自动排课设备包括:
至少一个存储器;
至少一个处理器;
至少一个程序;
程序被存储在存储器中,处理器执行至少一个程序以实现本公开实施上述的智能自动排课方法。
该电子设备可以为包括手机、平板电脑、个人数字助理(Personal DigitalAssistant,PDA)、车载电脑等任意智能终端。
下面对本申请实施例的电子设备进行详细介绍。
处理器1600,可以采用通用的中央处理器(Central Processing Unit,CPU)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本公开实施例所提供的技术方案;
存储器1700,可以采用只读存储器(Read Only Memory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(Random Access Memory,RAM)等形式实现。存储器1700可以存储操作***和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1700中,并由处理器1600来调用执行本公开实施例的智能自动排课方法。
输入/输出接口1800,用于实现信息输入及输出;
通信接口1900,用于实现本设备与其他设备的通信交互,可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信;
总线2000,在设备的各个组件(例如处理器1600、存储器1700、输入/输出接口1800和通信接口1900)之间传输信息;
其中处理器1600、存储器1700、输入/输出接口1800和通信接口1900通过总线2000实现彼此之间在设备内部的通信连接。
本公开实施例还提供了一种存储介质,该存储介质是计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令用于使计算机执行上述智能自动排课方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本公开实施例描述的实施例是为了更加清楚的说明本公开实施例的技术方案,并不构成对于本公开实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本公开实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本公开实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、***、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台电子设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory, ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序的介质。上面结合附图对本申请实施例作了详细说明,但本申请不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本申请宗旨的前提下作出各种变化。
Claims (10)
1.一种智能自动排课方法,其特征在于,所述智能自动排课方法包括:
获取待排课数据集,预设包含所述待排课数据集的多个第一模板;
将所述多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;
对所述多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足所述硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;
从所述多个满足率值中选取满足率最高值,并且对大于等于预期满足率的所述满足率最高值对应的待排课数据打上成功排课标志并删除所述待排课数据集中打上成功排课标志的待排课数据;
采用删除所述待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
2.根据权利要求1所述的智能自动排课方法,其特征在于,将所述多个第一模板分配至多台计算机,包括:
将所述第一模板的数量和所述计算机的数量进行比值,得到商和余数;
分配所述商对应数量的第一模板至每台计算机,并将所述余数对应数量的第一模板分配至最后一台计算机。
3.根据权利要求1所述的智能自动排课方法,其特征在于,所述硬性约束条件为班级、教师、课程、地点在同一时间不发生冲突。
4.根据权利要求1所述的智能自动排课方法,其特征在于,通过如下方式构建所述软性约束数学模型:
,
其中,表示每条待排课数据/>的满足率,/>、/>、/>、/>和/>表示权重参数,/>表示学生实际人数,/>表示教室容纳人数,/>表示当班级每周排课次数满足第一预设值时选择的取值,/>表示当教师每周排课次数满足第二预设值时选择的取值,/>表示当课程每周排课次数满足第三预设值时选择的取值,/>表示当时间每周每天排课平均次数满足第四预设值时选择的取值。
5.根据权利要求1所述的智能自动排课方法,其特征在于,在对所述多个第二模板中的每条待排课数据进行硬性约束条件检查时,所述智能自动排课方法还包括:
若所述多个第二模板中的待排课数据不满足所述硬性约束条件,则将所述待排课数据对应的满足率置零并进行排课冲突记录。
6.根据权利要求1所述的智能自动排课方法,其特征在于,在从所述多个满足率值中选取满足率最高值之后,所述智能自动排课方法还包括:
若从所述多个满足率值中选取的满足率最高值小于所述预期满足率,则对小于所述预期满足率的满足率最高值对应的待排课数据打上未排课标志。
7.根据权利要求6所述的智能自动排课方法,其特征在于,在迭代次数达到预设收敛参数时,所述智能自动排课方法还包括:
在迭代次数达到预设收敛参数时,检查是否有未排课或排课冲突记录的待排课数据;
若有未排课或排课冲突记录的待排课数据,则采用贪心算法对所述有未排课或排课冲突记录的待排课数据进行排课。
8.一种智能自动排课***,其特征在于,所述智能自动排课***包括:
数据获取单元,用于获取待排课数据集,预设包含所述待排课数据集的多个第一模板;
模板分配单元,用于将所述多个第一模板分配至多台计算机,并对每个第一模板随机指定教室和时间,得到多个第二模板;
约束检查单元,用于对所述多个第二模板中的每条待排课数据进行硬性约束条件检查,并对满足所述硬性约束条件的每条待排课数据采用软性约束数学模型计算满足率,得到每条待排课数据对应的多个满足率值;
数据排课单元,用于从所述多个满足率值中选取满足率最高值,并且对大于等于预期满足率的所述满足率最高值对应的待排课数据打上成功排课标志并删除所述待排课数据集中打上成功排课标志的待排课数据;
排课完成单元,用于采用删除所述待排课数据集中打上成功排课标志的待排课数据后的待排课数据集进行下一次迭代,若迭代次数达到预设收敛参数,并且所有待排课数据都成功排课,则完成排课。
9.一种智能自动排课设备,其特征在于,包括至少一个控制处理器和用于与所述至少一个控制处理器通信连接的存储器;所述存储器存储有可被所述至少一个控制处理器执行的指令,所述指令被所述至少一个控制处理器执行,以使所述至少一个控制处理器能够执行如权利要求1至7任一项所述的智能自动排课方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行如权利要求1至7任一项所述的智能自动排课方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311083809.0A CN116843525B (zh) | 2023-08-28 | 2023-08-28 | 一种智能自动排课方法、***、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311083809.0A CN116843525B (zh) | 2023-08-28 | 2023-08-28 | 一种智能自动排课方法、***、设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116843525A CN116843525A (zh) | 2023-10-03 |
CN116843525B true CN116843525B (zh) | 2023-12-15 |
Family
ID=88163747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311083809.0A Active CN116843525B (zh) | 2023-08-28 | 2023-08-28 | 一种智能自动排课方法、***、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116843525B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117036128A (zh) * | 2023-10-10 | 2023-11-10 | 湖南强智科技发展有限公司 | 一种智能辅助手工排课方法、***、设备及存储介质 |
CN117151947B (zh) * | 2023-10-31 | 2024-01-30 | 沈阳卡得智能科技有限公司 | 一种基于贪心算法的智能排课方法及*** |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902371A (zh) * | 2019-02-19 | 2019-06-18 | 校宝在线(杭州)科技股份有限公司 | 一种基于深度强化学习的智能排课方法 |
CN109961189A (zh) * | 2019-03-29 | 2019-07-02 | 北京工业大学 | 基于遗传算法的新高考排课算法 |
CN110472943A (zh) * | 2019-08-14 | 2019-11-19 | 河南礼乐国际教育科技有限公司 | 一种在线排课*** |
CN111080498A (zh) * | 2019-11-18 | 2020-04-28 | 贵州彩数网络技术有限公司 | 一种基于人工鱼群的走班排课方法、***、装置和介质 |
CN111898988A (zh) * | 2020-07-31 | 2020-11-06 | 四川千百年科技有限公司 | 一种基于np完全问题延伸的七爻排课方法 |
JP2021075161A (ja) * | 2019-11-08 | 2021-05-20 | 株式会社日立製作所 | 資源運用計画作成支援装置、資源運用計画作成支援方法、及びプログラム |
CN114328609A (zh) * | 2021-12-31 | 2022-04-12 | 江苏优利信教育科技有限公司 | 一种基于元启发式算法与贪婪算法结合的排课方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050106549A1 (en) * | 2003-11-18 | 2005-05-19 | Parija Gyana R. | Optimization of class scheduling under demand uncertainty |
US20190139171A1 (en) * | 2017-09-11 | 2019-05-09 | Assaf Cohen-Arazi | Cloud Integrated School Scheduling System |
-
2023
- 2023-08-28 CN CN202311083809.0A patent/CN116843525B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109902371A (zh) * | 2019-02-19 | 2019-06-18 | 校宝在线(杭州)科技股份有限公司 | 一种基于深度强化学习的智能排课方法 |
CN109961189A (zh) * | 2019-03-29 | 2019-07-02 | 北京工业大学 | 基于遗传算法的新高考排课算法 |
CN110472943A (zh) * | 2019-08-14 | 2019-11-19 | 河南礼乐国际教育科技有限公司 | 一种在线排课*** |
JP2021075161A (ja) * | 2019-11-08 | 2021-05-20 | 株式会社日立製作所 | 資源運用計画作成支援装置、資源運用計画作成支援方法、及びプログラム |
CN111080498A (zh) * | 2019-11-18 | 2020-04-28 | 贵州彩数网络技术有限公司 | 一种基于人工鱼群的走班排课方法、***、装置和介质 |
CN111898988A (zh) * | 2020-07-31 | 2020-11-06 | 四川千百年科技有限公司 | 一种基于np完全问题延伸的七爻排课方法 |
CN114328609A (zh) * | 2021-12-31 | 2022-04-12 | 江苏优利信教育科技有限公司 | 一种基于元启发式算法与贪婪算法结合的排课方法 |
Non-Patent Citations (2)
Title |
---|
一种改进的自适应遗传算法及在智能排课***中的应用研究;汪培萍;《中国优秀硕士学位论文全文数据库社会科学Ⅱ辑》;全文 * |
基于遗传算法的高校在线排课***的设计与实现;樊伟宏;杨文婷;王昊;刘文;;电子设计工程(第23期);19-23 * |
Also Published As
Publication number | Publication date |
---|---|
CN116843525A (zh) | 2023-10-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116843525B (zh) | 一种智能自动排课方法、***、设备及存储介质 | |
CN104126190A (zh) | 基于知识单元提供教育服务的方法、***和计算机可读记录介质 | |
CN111815169B (zh) | 业务审批参数配置方法及装置 | |
CN116957874B (zh) | 一种智能高校自动排课方法、***、设备及存储介质 | |
CN109699002B (zh) | 一种室内WiFi定位方法、装置及终端设备 | |
CN112489213A (zh) | 三维地形模型生成方法、装置、电子设备及存储介质 | |
CN109831518A (zh) | 一种地图数据下载方法及装置、计算设备和存储介质 | |
JP2022506493A (ja) | イメージの彩色完成方法、その装置及びそのコンピュータプログラム、並びに人工神経網学習方法、その装置及びそのコンピュータプログラム | |
CN106658538B (zh) | 一种基于泰森多边形的手机基站信号覆盖范围模拟方法 | |
CN111930742B (zh) | 基于建筑信息模型bim的数据存储方法及相关装置 | |
CN113077147B (zh) | 学员课程智能推送方法、***及终端设备 | |
CN109344294B (zh) | 特征生成方法、装置、电子设备及计算机可读存储介质 | |
Xu et al. | Gradient-based simulation optimization algorithms via multi-resolution system approximations | |
CN115374954A (zh) | 一种基于联邦学习的模型训练方法、终端以及存储介质 | |
CN115409947A (zh) | 三维结构对应的二维图纸获取方法、装置、设备及介质 | |
CN109362027B (zh) | 定位方法、装置、设备及存储介质 | |
CN116843526B (zh) | 一种提升学生选课概率的方法、***、设备及存储介质 | |
CN117172427B (zh) | 一种辅助高校学生选择课堂的方法、***、设备及介质 | |
CN112764923A (zh) | 计算资源分配方法、装置、计算机设备及存储介质 | |
CN113051406A (zh) | 一种人物属性预测方法、装置、服务器及可读存储介质 | |
CN117196259B (zh) | 一种智能提升高校教学任务安排的方法、***及设备 | |
CN117196909B (zh) | 一种基于自定义分类的高校排课方法、***、设备及介质 | |
CN117196561A (zh) | 一种课堂选课冲突检查方法、***、设备及存储介质 | |
CN117236497A (zh) | 一种基于分词方法的自动排课方法、***、设备及介质 | |
US20210371916A1 (en) | Computing device, storage medium, and method for managing sequencing progress |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |