排课方法及系统技术方案

技术编号:20161230 阅读:24 留言:0更新日期:2019-01-19 00:14
本发明专利技术适用于教学管理技术领域,提供了一种排课方法及系统,包括:获取课程数、课程对象数和周课表对象集,根据所述课程数和所述课程对象数对所述周课表对象集进行分组,建立分组组合几何模型,根据蚁群算法在所述分组组合几何模型中建立多条路径,所述路径携带信息素,根据所述信息素,选择多条路径中的一条作为排课结果。本发明专利技术基于分组组合几何模型,通过反复模拟蚁群路线,根据蚁群释放的信息素得到排课课表,解决了现有的排课方法时间复杂度高的排课问题,避免了采用遗传算法时因“基因突变”导致排课表不收敛的问题。

【技术实现步骤摘要】
排课方法及系统
本专利技术属于教学管理
,尤其涉及一种排课方法及系统。
技术介绍
排课表又称为时间表问题TTP(TimeTableProblem),解决TTP问题的一种方法是遗传算法GA(GeneticAlgorithm)。GA是一种抽象于生物进化过程的、基于自然选择和生物遗传机制的优化技术,按照“优胜劣汰,适者生存”的原则,通过快速随机搜索力求找到最优解或满意解。但GA容易产生早熟收敛的问题,导致得到的解为局部最优解而非全局最优解,存在因“基因突变”导致排课表不收敛的问题,同时GA算法实现复杂,当数据量大时,时间复杂度高。利用分组组合生成算法进行全枚举是解决TTP问题的另一种方法。由理论可知,分组组合可以生成TTP问题的所有解,但当数据量较大时,枚举所有解往往因计算量巨大而很难在实践中得到应用。例如将各有6节、6节、8节、6节和4节的5门课,排到一张5×6的课表中,利用分组组合生成算法,共有734,396,875,494,282,000种课表,通过全枚举得到所有的课表,再找到一个适合的课表显然难以实现。现有的排课方法在数据量较大时耗时大大增加,难以在实践中得到应用,亟需一种时间复杂度低、可快速得到全局最优解的排课方法。
技术实现思路
有鉴于此,本专利技术实施例提供了一种排课方法及系统,以解决现有的排课方法时间复杂度高,难以快速得到全局最优解的排课问题,避免采用遗传算法时因“基因突变”导致排课表不收敛的问题。本专利技术实施例的第一方面提供了一种排课方法,包括:获取课程数、课程对象数和周课表对象集;根据所述课程数和所述课程对象数对所述周课表对象集进行分组,建立分组组合几何模型;根据蚁群算法在所述分组组合几何模型中建立多条路径,所述路径携带信息素;根据所述信息素,选择多条路径中的一条作为排课结果。在一种可能的实现方式中,所述根据所述课程数和所述课程对象数对所述周课表对象集进行分组,包括:根据课程数k和课程对象数ni,将周课表对象集n分为k组,其中,所述课程对象数ni表示第i个课程的数量,i、k和n均为正整数。在一种可能的实现方式中,所述建立分组组合几何模型,包括:在平面直角坐标系中建立分组组合的起点和终点,确定由所述分组组合的起点沿坐标轴正方向前进到所述分组组合的终点的路径为所述分组组合几何模型。在一种可能的实现方式中,所述在平面直角坐标系中建立分组组合的起点和终点,包括:在平面直角坐标系中建立第1个分组的起点为(0,0),第1个分组的终点为(n1,n-n1);在所述平面直角坐标系中建立第j个分组的起点为(n1+n2+…+nj-1,(n-n1)+(n-n1-n2)+…+(n-n1-n2-…-nj-1)),第j个分组的终点为(n1+n2+…+nj,(n-n1)+(n-n1-n2)+…+(n-n1-n2-…-nj)),其中,2≤j≤k,j为正整数;确定所述第1个分组的起点为所述分组组合的起点,所述第k个分组的终点为所述分组组合的终点。在一种可能的实现方式中,所述确定由所述分组组合的起点沿坐标轴正方向前进到所述分组组合的终点的路径为所述分组组合几何模型,具体包括:确定由所述第1个分组的起点沿坐标轴正方向前进,途经每个分组的起点,到所述第k个分组的终点的路径为所述分组组合的几何模型。在一种可能的实现方式中,所述根据所述信息素,选择多条路径中的一条作为排课结果,具体包括:根据所述路径携带的信息素,选择多条路径中携带信息素最多的一条路径作为排课结果。在一种可能的实现方式中,所述排课方法还包括:显示所述排课结果。本专利技术实施例的第二方面提供了一种排课系统,包括:获取单元,用于获取课程数、课程对象数和周课表对象集;建模单元,用于根据所述课程数和所述课程对象数对所述周课表对象集进行分组,建立分组组合几何模型;所述建模单元,还用于根据蚁群算法在所述分组组合几何模型中建立多条线路,所述路径携带信息素;选择单元,用于根据所述信息素,选择多条路径中的一条作为排课结果。本专利技术实施例的第三方面提供了一种排课装置,包括:存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述所述方法的步骤。本专利技术实施例的第四方面提供了一种计算机可读存储介质,包括:所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述方法的步骤。本专利技术提供的排课方法,包括:获取课程数、课程对象数和周课表对象集,根据所述课程数和所述课程对象数对所述周课表对象集进行分组,建立分组组合几何模型,根据蚁群算法在所述分组组合几何模型中建立多条路径,所述路径携带信息素,根据所述信息素,选择多条路径中的一条作为排课结果,基于分组组合几何模型,通过反复模拟蚁群路线,根据蚁群释放的信息素得到适应度最高的课表,解决了现有的排课方法时间复杂度高,难以快速得到全局最优解的排课问题,避免了采用遗传算法时因“基因突变”导致排课表不收敛的问题。附图说明为了更清楚地说明本专利技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1是本专利技术实施例一提供的排课方法的实现流程示意图;图2是建立的几何模型示意图;图3是本专利技术实施例一提供的蚁群前进方向示意图;图4是本专利技术实施例二提供的排课方法的实现流程示意图;图5是建立的分组组合几何模型示意图;图6是蚁群在分组组合几何模型上的路径示意图;图7是本专利技术实施例三提供的排课系统的示意图;图8是本专利技术实施例四提供的排课装置的示意图。具体实施方式以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本专利技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本专利技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本专利技术的描述。分组组合生成问题应用广泛,分组组合是把n个对象分为k组,第1组有n1个对象数,第2组有n2个对象数,…,第k组有nk个对象数的分组组合数,其中,n1+n2+…+nk=n。现有技术中,利用分组组合生成算法解决时间表问题TTP所采用的方法是枚举法。尽管在理论上能找出分组组合生成的所有解,但通过枚举法往往因计算量巨大而很难在实践中得到应用。例如将5门课排到一张5×6的课表中,该5门课每周各有6节、6节、8节、6节和4节,可以计算共有734,396,875,494,282,000种课表。利用分组组合全枚举找出所有的课表,采用每秒生成107个排列的超高速电子计算机,需要时间T:T=734,396,875,494,282,000/(3.1536*1014)=2329(年)。如果用每秒10万亿(1013/s)次的运算能力的云计算枚举所有的课表,需要时间T:T=734,396,875,494,282,000/1013/(24×60×60)=0.849,996,383,673,937,5(天)。可见,由于分组组合数太大,即便依据云计算能力,枚举方法也不能及时得到课表。为解决排课表专门建立云计算平台,高额的成本本文档来自技高网...

【技术保护点】
1.一种排课方法,其特征在于,包括:获取课程数、课程对象数和周课表对象集;根据所述课程数和所述课程对象数对所述周课表对象集进行分组,建立分组组合几何模型;根据蚁群算法在所述分组组合几何模型中建立多条路径,所述路径携带信息素;根据所述信息素,选择多条路径中的一条作为排课结果。

【技术特征摘要】
1.一种排课方法,其特征在于,包括:获取课程数、课程对象数和周课表对象集;根据所述课程数和所述课程对象数对所述周课表对象集进行分组,建立分组组合几何模型;根据蚁群算法在所述分组组合几何模型中建立多条路径,所述路径携带信息素;根据所述信息素,选择多条路径中的一条作为排课结果。2.如权利要求1所述的方法,其特征在于,所述根据所述课程数和所述课程对象数对所述周课表对象集进行分组,包括:根据课程数k和课程对象数ni,将周课表对象集n分为k组,其中,所述课程对象数ni表示第i个课程的数量,1≤i≤k,k≤n,i、k和n均为正整数。3.如权利要求2所述的方法,其特征在于,所述建立分组组合几何模型,包括:在平面直角坐标系中建立分组组合的起点和终点,确定由所述分组组合的起点沿坐标轴正方向前进到所述分组组合的终点的路径为所述分组组合几何模型。4.如权利要求3所述的方法,其特征在于,所述在平面直角坐标系中建立分组组合的起点和终点,包括:在平面直角坐标系中建立第1个分组的起点为(0,0),第1个分组的终点为(n1,n-n1);在所述平面直角坐标系中建立第j个分组的起点为(n1+n2+…+nj-1,(n-n1)+(n-n1-n2)+…+(n-n1-n2-…-nj-1)),第j个分组的终点为(n1+n2+…+nj,(n-n1)+(n-n1-n2)+…+(n-n1-n2-…-nj)),其中,2≤j≤k,j为正整数;确定所述第1个分组的起点为所述分组组合的起点,...

【专利技术属性】
技术研发人员:魏勇
申请(专利权)人:深圳信息职业技术学院
类型:发明
国别省市:广东,44

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

1