一种智能排课建模验证方法、系统

文档序号:26754416发布日期:2021-09-25 03:31阅读:93来源:国知局
一种智能排课建模验证方法、系统

1.本发明属于系统形式化建模与验证领域和智能排课技术领域,尤其涉及一种智能排课建模验证方法、系统。


背景技术:

2.目前,在开展教学工作的过程中合理分配各类教学资源使教学工作顺利展开,这一过程称为排课。排课问题属于教育资源分配管理问题,涉及到授课教师、课程、学生、教室和上课时间这五个关键要素。在进行资源分配时,若可分配的资源是无限的,为保证资源的顺利分配通常可通过适当的增加资源来完成;若可分配的资源是有限的,需要优化分配计划来保证顺利分配。在排课问题中,学校的授课教师和教室等教学资源是相对有限的,所以解决排课问题的重点是在教学资源有限的情况下如何优化分配计划,合理高效利用学校有限的教学资源,制定出合理高效的课表,提高教学质量和排课效率。传统的排课采用人工排课的方式,教务人员根据学校的教学计划和教学资源以及自身的排课业务经验和排课过程中的具体观察进行调整,最终得到排课结果。但随着数据量的增大及约束条件的增加,人工排课已经无法完成编排高质量课表的目标。因此,亟需一种新的智能排课方法。
3.通过上述分析,现有技术存在的问题及缺陷为:传统的排课采用人工排课的方式,但随着数据量的增大及约束条件的增加,人工排课已经无法完成编排高质量课表的目标。
4.解决以上问题及缺陷的难度为:在使用msvl程序对系统进行建模的过程中,由于现有的转换工具中不含java语言到msvl的转换器,所以需要采用手工转换的方式建立msvl程序模型对智能排课系统程序进行分析。这一手工转换的方式无疑大大增加了验证过程的工作量。
5.解决以上问题及缺陷的意义为:在msvl统一模型检测框架下对智能排课java系统进行建模和验证可在满足学校教学管理要求的前提下,较为合理利用教学资源编排课表,并且可以及时响应教学资源和约束条件的变化,错误率小,效率高,降低了人力、财力和时间成本,提高排课系统安全性,保障课表编排质量。


技术实现要素:

6.针对现有技术存在的问题,本发明提供了一种智能排课建模验证方法、系统,尤其涉及一种基于msvl的智能排课建模验证方法、系统。
7.本发明是这样实现的,一种智能排课建模验证方法,所述智能排课建模验证方法包括以下步骤:
8.步骤一,使用msvl语言对排课系统的功能需求分析进行系统建模,自定义业务实体的msvl数据结构及算法,将核心模块编写为msvl代码,实现了msvl语言对系统进行建模,为验证过程做了模型准备;
9.步骤二,使用命题投影时序逻辑pptl公式描述系统期望性质,包括对课程、教师、教室、学生的约束在内的排课业务性质,实现了排课业务性质的抽象化且用pptl公式进行
描述,为验证过程做了性质准备;
10.步骤三,使用pptlcheck对系统msvl代码与pptl性质公式进行自动的模型检测验证,结果表明排课系统能够满足排课业务性质,尚未发现基本业务逻辑存在问题。
11.进一步,步骤二中,所述业务性质需要满足的约束条件分为硬约束条件和软约束条件;其中,所述硬约束为课表必须满足的基本规则,是指课程、授课教师、教室、上课学生、时间这五种核心要素之间的相互影响和制约,包括:
12.课程约束,同一节课在同一教学时间段内不能被重复安排;
13.教师约束,一个教师在同一教学时间段内只能上一节课;
14.教室约束,一个教室在同一教学时间段内只能安排一节课;
15.学生约束,一个学生在同一教学时间段内只能上一节课。
16.进一步,所述业务性质需满足的课程约束为:
[0017][0018]
变量propertycheckingflagofcourse的值为1,表示同一门课的同一节次没有被重复安排;命题np3定义为变量值不等于1,som(np3)表示在排课系统msvl程序运行区间内的某一时刻np3成立。
[0019]
进一步,所述业务性质需满足的教师约束为:
[0020][0021]
变量propertycheckingflagofteacher的值为1,表示一个老师在同一时间段只有一节课的上课安排;som(p4 and next np4)表示在排课系统msvl程序的运行区间内将来的某一状态p4成立,在下一状态np4成立,则说明课表结果中一个老师在同一时间内的课程安排冲突,其中next表示下一状态;满足该性质表示排课系统不符合同一教师在同一时间段内只上一节课的约束,不满足该性质则排课系统是满足约束的。
[0022]
进一步,所述业务性质需满足的教室约束为:
[0023]
[0024]
变量propertycheckingflagofroom的值为1,表示一个教室在同一时间段只有一节课的课程安排;som(p5 andnextnp5)表示在系统的运行区间内将来的某一状态p5成立,在下一状态np5成立,说明课表结果中一间教室的同一时间内安排两节课程,其中next表示下一状态;满足该性质表示排课系统不符合一个教室在同一时间段只有一节课的课程安排的约束,不满足该性质则表示排课系统满足约束。
[0025]
进一步,所述业务性质需满足的学生约束为:
[0026][0027]
变量propertycheckingflagofstudent值为1表示一个学生在同一时间段只能上一节课;命题p6定义为变量的值等于1,alw(p6)表示一个学生在同一时间段只能上一节课永远成立。
[0028]
进一步,步骤三中,所述使用pptlcheck对系统msvl代码与pptl性质公式进行自动的模型检测验证,包括:
[0029]
pptlcheck接受pptl公式和msvl程序,也可以将pptl公式附加在msvl程序前面执行,通过二者在验证器中的运行结果来判断排课系统msvl模型是否满足待验证性质。
[0030]
本发明的另一目的在于提供一种应用所述的智能排课建模验证方法的智能排课建模验证系统,所述智能排课建模验证系统包括:
[0031]
基础信息模块,用于完成排课业务所需要的各种基础信息输入,包括来自于教学过程中的基本信息和所要安排的当前学期全量时间段信息;在排课业务开始前需要计算现有的教学资源能否满足排课计划分配需求并完成排课所需的基础信息初始化;
[0032]
排课业务模块,用于完成系统的排课功能,该模块为核心模块;根据读取到的课程、教室、教学班、全量数据和已安排数据得到课程、教师、教室、学生的可安排的时间集合,并对四个维度的可安排时间进行计算,得到排课结果;
[0033]
课表生成模块,用于在实现完成排课业务后,将生成的排课结果进行输出,输出数据分为排课算法中间数据和课表数据两部分;
[0034]
性质校验模块,用于在排课系统完成排课操作后对性质验证所需的相关变量进行计算处理,包括对排课业务性质的相关变量进行计算处理。
[0035]
进一步,排课业务模块中,所述得到基本信息的可安排时间集合,包括:
[0036]
通过对全量数据和已安排数据求差集得到可安排时间的集合;将时间全量数据集合与当前教学班已安排数据集合求差集时,遍历教学班集合,全量数据集合与遍历到的当前学生已安排数据集合求差集,得到可安排的数据集合;依次与后续的学生已安排数据集合做差集,最终的结果集即为整个教学班的可安排数据集合。
[0037]
进一步,排课业务模块中,所述得到排课结果,包括:
[0038]
对课程、教师、教室和学生四个维度各自可安排的时间资源集合进行计算,算法实现是通过将这四个时间资源集合依次求交集可以获得当前排课业务的可安排时间资源集合。
[0039]
结合上述的所有技术方案,本发明所具备的优点及积极效果为:本发明提供的基于msvl的智能排课建模验证方法,对排课系统的业务场景进行功能需求分析后使用msvl语言进行系统建模,自定义业务实体的msvl数据结构及其算法,将其核心功能模块转换为msvl程序,使用命题投影时序逻辑pptl公式描述系统期望的排课业务性质,包括对课程、教师、教室、学生的约束等排课业务性质,并使用pptlcheck对系统msvl代码与pptl性质公式进行自动的模型检测验证。本发明能够有效检测出智能排课系统是否满足排课业务性质,进而判断是否存在业务逻辑问题。
[0040]
本发明在msvl统一模型检测框架下对智能排课java系统进行建模和验证,结果表明排课系统能够满足排课业务性质,尚未发现基本业务逻辑存在问题,能够在满足学校教学管理要求的前提下,较为合理地利用教学资源编排课表,且及时响应教学资源和约束条件的变化,使得效率提高、成本降低。同时,本发明提供的基于msvl的智能排课建模验证方法提高了有效性和可信性,是排课系统和基于msvl的验证方法的成功结合。
附图说明
[0041]
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图做简单的介绍,显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下还可以根据这些附图获得其他的附图。
[0042]
图1是本发明实施例提供的智能排课建模验证方法流程图。
[0043]
图2是本发明实施例提供的智能排课建模验证系统结构框图;
[0044]
图中:1、基础信息模块;2、排课业务模块;3、课表生成模块;4、性质校验模块。
具体实施方式
[0045]
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0046]
针对现有技术存在的问题,本发明提供了一种智能排课建模验证方法、系统,下面结合附图对本发明作详细的描述。
[0047]
如图1所示,本发明实施例提供的智能排课建模验证方法包括以下步骤:
[0048]
s101,使用msvl语言对排课系统的功能需求分析进行系统建模,自定义业务实体的msvl数据结构及算法,将核心模块编写为msvl代码;
[0049]
s102,使用命题投影时序逻辑pptl公式描述系统期望性质,包括对课程、教师、教室、学生的约束在内的排课业务性质;
[0050]
s103,使用pptlcheck对系统msvl代码与pptl性质公式进行自动的模型检测验证,结果表明排课系统能够满足排课业务性质,尚未发现基本业务逻辑存在问题。
[0051]
如图2所示,本发明实施例提供的智能排课建模验证系统包括:
[0052]
基础信息模块1,用于完成排课业务所需要的各种基础信息输入,包括来自于教学过程中的基本信息和所要安排的当前学期全量时间段信息;在排课业务开始前需要计算现有的教学资源能否满足排课计划分配需求并完成排课所需的基础信息初始化;
[0053]
排课业务模块2,用于完成系统的排课功能,该模块为核心模块;根据读取到的课程、教室、教学班、全量数据和已安排数据得到课程、教师、教室、学生的可安排的时间集合,并对四个维度的可安排时间进行计算,得到排课结果;
[0054]
课表生成模块3,用于在实现完成排课业务后,将生成的排课结果进行输出,输出数据分为排课算法中间数据和课表数据两部分;
[0055]
性质校验模块4,用于在排课系统完成排课操作后对性质验证所需的相关变量进行计算处理,包括对排课业务性质的相关变量进行计算处理。
[0056]
下面结合具体实施例对本发明的技术方案作进一步描述。
[0057]
本发明实施例提供的基于msvl的智能排课建模验证方法具体包括:
[0058]
第一步,使用msvl语言对排课系统的功能需求分析进行系统建模,自定义业务实体的msvl数据结构及其算法,将核心模块编写为msvl代码,在对系统排课的核心功能进行抽象建模时,msvl程序可分为以下四个部分:
[0059]
1.基础信息模块。该模块主要用来完成排课业务所需要的各种基础信息输入,主要包括来自于教学过程中的基本信息和所要安排的当前学期全量时间段信息等。在排课业务开始前需要计算现有的教学资源能否满足排课计划分配需求并完成排课所需的基础信息初始化。
[0060]
2.排课业务模块。该模块为核心模块,主要完成系统的排课功能。根据读取到的课程、教室、教学班、全量数据和已安排数据等得到课程、教师、教室、学生的可安排的时间集合,从而对以上四个维度的可安排时间进行计算,得到排课结果。
[0061]
该模块中得到基本信息的可安排时间集合过程具体为:通过对全量数据和已安排数据求差集得到可安排时间的集合。将时间全量数据集合与当前教学班已安排数据集合求差集时,遍历教学班集合,全量数据集合与遍历到的当前学生已安排数据集合求差集,得到可安排的数据集合,而后依次与后续的学生已安排数据集合做差集,最终的结果集为整个教学班的可安排数据集合。以课程的全量数据和已安排数据求差集为例,求差集算法代码示例如下:
[0062]
[0063][0064]
该模块得到排课结果的过程具体为:对课程、教师、教室、学生这四个维度各自可安排的时间资源集合进行计算,算法实现是通过将这四个时间资源集合依次求交集可以获得当前排课业务的可安排时间资源集合。以课程和教室可安排时间集合求交集为例,求交集算法代码示例如下:
[0065]
[0066][0067]
3.课表生成模块。该模块实现的是完成排课业务后,将此次流程生成的排课结果进行输出,输出数据分为排课算法中间数据和课表数据两部分。
[0068]
4.性质校验模块。该模块实现的是在排课系统完成排课后对性质验证所需的相关变量进行计算处理。业务性质需要满足的约束条件分为硬约束条件和软约束条件,硬约束为课表必须满足的基本规则,是指课程、授课教师、教室、上课学生、时间这五种核心要素之间的相互影响和制约。具体为:
[0069]
课程约束:同一节课在同一教学时间段内不能被重复安排。
[0070]
教师约束:一个教师在同一教学时间段内只能上一节课。
[0071]
教室约束:一个教室在同一教学时间段内只能安排一节课。
[0072]
学生约束:一个学生在同一教学时间段内只能上一节课。
[0073]
第二步,使用命题投影时序逻辑pptl公式描述系统期望性质,包括对课程、教师、教室、学生的约束等排课业务性质。
[0074]
排课业务性质中课程、教师、教室、学生需满足的约束具体为:
[0075]
1.课程约束:同一节课在同一教学时间段内不能被重复安排。
[0076][0077]
变量propertycheckingflagofcourse的值为1,表示同一门课的同一节次没有被
重复安排。命题np3定义为变量值不等于1,som(np3)表示在排课系统msvl程序运行区间内的某一时刻np3成立。
[0078]
2.教师约束:一个教师在同一教学时间段内只能上一节课。
[0079][0080]
变量propertycheckingflagofteacher的值为1,表示一个老师在同一时间段只有一节课的上课安排。som(p4 and next np4)表示在排课系统msvl程序的运行区间内将来的某一状态p4成立,而下一状态np4成立,则说明课表结果中一个老师在同一时间内的课程安排冲突了,其中next表示下一状态。满足该性质表示排课系统不符合同一教师在同一时间段内只上一节课的约束,不满足该性质则排课系统是满足约束的。
[0081]
3.教室约束:一个教室在同一教学时间段内只能安排一节课。
[0082][0083]
变量propertycheckingflagofroom的值为1,表示一个教室在同一时间段只有一节课的课程安排。som(p5 and next np5)表示在系统的运行区间内将来的某一状态p5成立,在下一状态np5成立,说明课表结果中一间教室的同一时间内安排了两节课程,其中next表示下一状态。满足该性质表示排课系统不符合一个教室在同一时间段只有一节课的课程安排的约束,不满足该性质则表示排课系统满足约束。
[0084]
4.学生约束:一个学生在同一教学时间段内只能上一节课。
[0085][0086]
变量propertycheckingflagofstudent值为1表示一个学生在同一时间段只能上一节课。命题p6定义为变量的值等于1,alw(p6)表示一个学生在同一时间段只能上一节课永远成立。
[0087]
第三步,使用pptlcheck对系统msvl代码与pptl性质公式进行自动的模型检测验证,结果表明排课系统能够满足排课业务性质,尚未发现基本业务逻辑存在问题。
[0088]
使用pptlcheck对系统msvl代码与pptl性质公式进行自动的模型检测验证,具体
state disk(ssd))等。
[0099]
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,都应涵盖在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1