CN117151947B - 一种基于贪心算法的智能排课方法及*** - Google Patents

一种基于贪心算法的智能排课方法及*** Download PDF

Info

Publication number
CN117151947B
CN117151947B CN202311422040.0A CN202311422040A CN117151947B CN 117151947 B CN117151947 B CN 117151947B CN 202311422040 A CN202311422040 A CN 202311422040A CN 117151947 B CN117151947 B CN 117151947B
Authority
CN
China
Prior art keywords
sets
classes
greedy
course
obtaining
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
Application number
CN202311422040.0A
Other languages
English (en)
Other versions
CN117151947A (zh
Inventor
葛志远
雒唯
范忠柳
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenyang Card Intelligent Technology Co ltd
Original Assignee
Shenyang Card Intelligent Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenyang Card Intelligent Technology Co ltd filed Critical Shenyang Card Intelligent Technology Co ltd
Priority to CN202311422040.0A priority Critical patent/CN117151947B/zh
Publication of CN117151947A publication Critical patent/CN117151947A/zh
Application granted granted Critical
Publication of CN117151947B publication Critical patent/CN117151947B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • G06Q50/20Education
    • G06Q50/205Education administration or guidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Economics (AREA)
  • Human Resources & Organizations (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Educational Technology (AREA)
  • Educational Administration (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • General Health & Medical Sciences (AREA)
  • Development Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于贪心算法的智能排课方法及***,涉及数据处理技术领域,基于待进行排课的M个班级和N种课程,获取M个成绩集合,并制定获取M个贪心规则集合,获取M个班级对N种课程进行排课的约束条件集合,按照M个贪心规则集合进行随机排课的M次主寻优,获得M个主寻优结果,进一步以提升上课的均匀程度为目的,进行次寻优,获得最优排课结果,解决了现有技术中对于排课的处理智能度不足,排课方法较为繁杂且工作量较大,导致排课效率低下,排课结果适配度不足的技术问题,基于成绩制定贪心目的,将各类课程量作为主寻优目的,将排课均匀度作为次寻优目的,配置约束条件进行智能排课寻优,提高排课效率,最大化保障排课适配度。

Description

一种基于贪心算法的智能排课方法及***
技术领域
本发明涉及数据处理技术领域,具体涉及一种基于贪心算法的智能排课方法及***。
背景技术
排课问题作为教学资源管理的主要难题,为减少排课的工作量,实现课程的优化配置,基于计算机的智能排课应用越来越广泛。目前,主要通过人工为主,计算机辅助的方式进行智能排课执行,存在一定的局限性。
现有技术对于排课的处理智能度不足,排课方法较为繁杂且工作量较大,导致排课效率低下,排课结果适配度不足。如何更加智能化的结合成绩与教师工作需求进行课程的合理安排成为教育排课的重点问题。
发明内容
本申请提供了一种基于贪心算法的智能排课方法及***,用于针对解决现有技术中存在的对于排课的处理智能度不足,排课方法较为繁杂且工作量较大,导致排课效率低下,排课结果适配度不足的技术问题。
鉴于上述问题,本申请提供了一种基于贪心算法的智能排课方法及***。
第一方面,本申请提供了一种基于贪心算法的智能排课方法,所述方法包括:
获取待进行排课的M个班级和N种课程,M和N为大于1的整数;
获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;
获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,所述约束条件集合内包括多个约束条件;
在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果,其中,所述主寻优中,分别按照所述M个贪心规则集合,计算寻优过程中解的适应度,且每个解迭代产生的子代解的数量与适应度的大小正相关;
在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果。
第二方面,本申请提供了一种基于贪心算法的智能排课***,所述***包括:
课程获取模块,所述课程获取模块用于获取待进行排课的M个班级和N种课程,M和N为大于1的整数;
规则制定模块,所述规则制定模块用于获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;
约束条件获取模块,所述约束条件获取模块用于获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,所述约束条件集合内包括多个约束条件;
排课寻优模块,所述排课寻优模块用于在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果,其中,所述主寻优中,分别按照所述M个贪心规则集合,计算寻优过程中解的适应度,且每个解迭代产生的子代解的数量与适应度的大小正相关;
结果获取模块,所述结果获取模块用于在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果。
本申请中提供的一个或多个技术方案,至少具有如下技术效果或优点:
本申请实施例提供的一种基于贪心算法的智能排课方法,获取待进行排课的M个班级和N种课程,获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,包括多个约束条件,在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果;在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果,解决了现有技术中对于排课的处理智能度不足,排课方法较为繁杂且工作量较大,导致排课效率低下,排课结果适配度不足的技术问题,基于成绩制定贪心目的,将各类课程量作为主寻优目的,将排课均匀度作为次寻优目的,配置约束条件进行智能排课寻优,提高排课效率,最大化保障排课适配度。
附图说明
图1为本申请提供了一种基于贪心算法的智能排课方法流程示意图;
图2为本申请提供了一种基于贪心算法的智能排课方法中约束条件集合获取流程示意图;
图3为本申请提供了一种基于贪心算法的智能排课方法中随机排课的M次主寻优流程示意图;
图4为本申请提供了一种基于贪心算法的智能排课***结构示意图。
附图标记说明:课程获取模块11,规则制定模块12,约束条件获取模块13,排课寻优模块14,结果获取模块15。
具体实施方式
本申请通过提供一种基于贪心算法的智能排课方法及***,基于待进行排课的M个班级和N种课程,获取M个成绩集合,并制定获取M个贪心规则集合,获取M个班级对N种课程进行排课的约束条件集合,在预设时间周期内的多个时间区间,分别按照M个贪心规则集合进行随机排课的M次主寻优,获得M个主寻优结果,进一步以提升上课的均匀程度为目的,进行次寻优,获得最优排课结果,用于解决现有技术中存在的对于排课的处理智能度不足,排课方法较为繁杂且工作量较大,导致排课效率低下,排课结果适配度不足的技术问题。
实施例一:如图1所示,本申请提供了一种基于贪心算法的智能排课方法,所述方法包括:
步骤S100:获取待进行排课的M个班级和N种课程,M和N为大于1的整数;
具体而言,排课问题作为教学资源管理的主要难题,为减少排课的工作量,实现课程的优化配置,基于计算机的智能排课应用越来越广泛。本申请提供的一种基于贪心算法的智能排课方法,基于成绩制定贪心目的,将各类课程量作为主寻优目的,将排课均匀度作为次寻优目的,将各类课程的基本上课时间、同时间同课程的排课量不大于教师数量作为约束,进行智能排课寻优,最大化保障排课适配度。
具体的,进行排课班级统计,获取待进行排课的M个班级,进行课程类型统计,确定所述N种课程,例如针对某年级,统计总的班级数量与授课类型,所述待进行排课的M个班级和所述N种课程为待进行智能排课分析的基础。
步骤S200:获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;
进一步而言,获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,本申请步骤S200还包括:
步骤S210:分别获取所述M个班级在过去预设时间范围内在所述N种课程上的N个成绩,获得M个成绩集合;
步骤S220:根据所述M个成绩集合,计算所述N种课程的N个平均成绩;
步骤S230:分别计算所述M个成绩集合内N个成绩与所述N个平均成绩的比值,获得M个成绩比集合;
步骤S240:将所述M个成绩比集合输入预设贪心标准内,获得所述M个贪心规则集合,其中,每个贪心规则集合内均包括N个贪心规则,所述N个贪心规则为根据每个成绩比集合内N个成绩比配置的排课时长,与 N 种课程一一对应。
进一步而言,将所述M个成绩比集合输入预设贪心标准内,获得所述M个贪心规则集合,本申请步骤S240还包括:
步骤S241:获取所述N种课程的N个样本成绩比集合;
步骤S242:分别根据所述N个样本成绩比集合,构建所述N种课程在预设时间周期内的上课时长,获得N个样本上课时长集合;
步骤S243:分别构建所述N个样本成绩比集合内的样本成绩比与所述N个样本上课时长集合内的样本上课时长的映射关系,获得N个映射关系,并获得所述预设贪心标准;
步骤S244:分别将所述M个成绩比集合内的成绩比输入所述预设贪心标准内,获得M个上课时长集合,作为所述M个贪心规则集合。
具体而言,通过根据每个班级对于每种课程的成绩,制定每个班级对每种课程应该进行上课的时长,如课时数量,作为对应的贪心规则。所述贪心规则为进行排课决策选择的基本准则,以预设时间范围内的成绩为基准,进行当前最优排课的决策,即,课程成绩与排课量呈负相关。具体的,所述预设时间范围为自定义设定的用于进行成绩调用的时间区间,例如将学期作为所述预设时间范围,对所述M个班级进行过去预设时间范围内的所述N种课程的成绩采集,进行规整确定映射对应于所述M个班级的所述M个成绩集合,各成绩集合分别包括了所述N种课程的对应成绩。基于所述M个成绩集合,针对任一课程,分别提取各个班级的对应成绩,进行成绩均值计算,确定该课程对应的平均成绩,对计算的N种课程的平均成绩进行集成,生成所述N个平均成绩。基于所述M个成绩集合,根据各个班级对应的成绩集合,对每一课程的成绩与所述N个平均成绩进行映射对应,基于映射结果进行比值计算,作为该班级的成绩比集合,对所述M个成绩集合,结合所述N个平均成绩分别进行比值计算,获取所述M个成绩比集合。进一步基于所述M个成绩比集合,构建M个贪心规则集合。
具体的,基于样本数据分析确定成绩与上课时长的映射关系,以确定对应的贪心规则。对所述N种课程进行样本成绩比采集,样本的采集范围不定,例如可以包括待排课目标范围之外的历史成绩数据,基于课程类目进行归属,确定所述N个样本成绩比集合。所述预设时间周期为进行总上课时长限定的时间区间,所述预设时间周期优选为一周。对所述N个样本成绩比集合进行所述预设时间周期内的上课时长确定,可人为进行时长配置,获取所述N个样本上课时长集合。对所述N个样本成绩比集合与所述N个样本上课时长集合进行映射对应,确定表征为成绩比-上课时长的N个映射关系。基于所述N个映射关系进行贪心标准的分析,示例性的,对所述N个映射关系基于成绩区段进行整合,确定不同成绩区段对应的上课时长,将其确定为评定参考,作为所述预设贪心标准。进一步的,分别将所述M个成绩比集合内的成绩比输入所述预设贪心标准内,遍历所述预设贪心标准进行匹配,确定各成绩比映射对应的上课时长,获得M个上课时长集合,作为所述M个贪心规则集合,所述M个贪心规格集合与所述M个成绩集合一一对应,各贪心规则集合内均包括N个贪心规则,其中,成绩越高,对应的排课时长越少,基于所述M个贪心规则集合进行排课寻优限定。
步骤S300:获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,所述约束条件集合内包括多个约束条件;
进一步而言,如图2所示,获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,本申请步骤S300还包括:
步骤S310:获取所述N种课程在所述预设时间周期内的N个最少上课时长,作为第一约束条件;
步骤S320:获取所述N种课程在每个时间区间内进行上课的最大时长,作为第二约束条件;
步骤S330:将在同一时间点进行同种课程上课的班级的数量不大于该课程的授课老师的数量,作为第三约束条件;
步骤S340:整合所述第一约束条件、第二约束条件和第三约束条件,获得所述约束条件集合。
具体而言,将各班级每天每类课程的基本上课时间、最大上课时间与同时间同课程的排课班级不得超过该课程授课老师作为衡量基准,逐班级逐课程进行约束分析,确定所述M个班级对所述N种课程进行排课的所述约束条件集合。
具体的,对所述预设时间周期进行划分,确定多个时间区间,其中,所述预设时间周期优选为一周,所述多个时间区间的划分区间为一天,即所述多个时间区间为五天,逐天对各课程的上课时长进行统计。具体的,针对所述M个班级集合中的各个班级,对所述N种课程进行统计所述多个时间区间内上课时长统计,即每种课程获取五项统计结果,例如,每天八节课,确定每种课程每天的节数。进行结果校对确定最小上课时长,将N种课程在预设时间周期内的上课时长不小于对应的最小上课时长,作为所述第一约束条件,N种课程的最小上课时长可基于本领域技术人员进行设置;确定最大上课时长,将N种课程在一个时间区间内的上课时长不大于对应的最大上课时长,作为所述第二约束条件,N种课程的最大上课时长可基于本领域技术人员进行设置;同时,将同一时间点,同种课程的上课班级的数量不大于该课程的授课老师数量作为所述第三约束条件。关联所述M个班级中,各课程所确定的所述第一约束条件、所述第二约束条件与所述第三约束条件,作为该班级中该课程对应的约束条件。逐班级逐课程进行约束条件的集成整合,生成所述约束条件集合,所述约束条件集合为进行智能排课的限制条件。
步骤S400:在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果,其中,所述主寻优中,分别按照所述M个贪心规则集合,计算寻优过程中解的适应度,且每个解迭代产生的子代解的数量与适应度的大小正相关;
进一步而言,如图3所示,在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,本申请步骤S400还包括:
步骤S410:在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间中,对所述M个班级和N种课程进行随机编排,获得第一初始解;
步骤S420:基于预设迭代数量J,对所述第一初始解内的课程进行预设调整数量课程的随机调整,获得J个第一迭代解,J为大于1的整数;
步骤S430:根据所述M个贪心规则集合内的第一贪心规则集合,计算所述J个第一迭代解的J个第一适应度;
步骤S440:根据所述J个第一适应度的大小,计算获取J个迭代数量;
步骤S450:基于所述J个迭代数量,分别对所述J个第一迭代解内的课程进行预设调整数量课程的随机调整,获得J个第二迭代解,进行迭代寻优;
步骤S460:继续迭代寻优达到预设寻优条件,将寻优过程中第一适应度最大的解作为第一主寻优结果;
步骤S470:继续根据其他的M-1个贪心规则集合,进行随机排课的主寻优,获得M-1个主寻优结果。
进一步而言,根据所述M个贪心规则集合内的第一贪心规则集合,计算所述J个第一迭代解的J个第一适应度,本申请步骤S430还包括:
步骤S431:根据所述第一贪心规则集合内的所述N种课程的N个上课时长;
步骤S432:获取所述J个第一迭代解内,所述第一贪心规则集合对应的第一班级对于所述N种课程的N个编排上课时长,获得J个编排上课时长集合;
步骤S433:分别计算获取J个编排上课时长集合内N个编排上课时长与所述N个上课时长的N个偏差参数,获得J个偏离参数集合;
步骤S434:将所述J个偏离参数集合内的N个偏差参数输入预设适应度标准内,获得J个课程适应度集合,每个课程适应度集合内包括N个课程适应度,其中,所述预设适应度标准内包括偏差参数与适应度的映射关系,偏差参数与适应度负相关;
步骤S435:根据所述N个上课时长的大小,对所述J个课程适应度集合内N个课程适应度进行加权计算,获得所述J个第一适应度。
进一步而言,根据所述J个第一适应度的大小,计算获取J个迭代数量,本申请步骤S440还包括:
步骤S441:计算所述J个第一适应度的期望值;
步骤S442:根据所述J个第一适应度与所述期望值的比值,对所述预设迭代数量J进行调整,获得所述J个迭代数量。
具体的,将所述约束条件集合作为绝对限制,逐班级逐课程提取对应的约束条件,于所述预设时间周期内的所述多个时间区间中进行课程随机编排,确定符合对应约束条件的初始排课结果,集成规整所述M个班级的N种课程对应的初始排课结果,作为所述第一初始解。进一步设定所述预设迭代数量J,即自定义设定的对初始解进行扩充的预设调整数量,例如为10。对所述第一初始解内的课程进行约束条件限制下的随机调整,获取满足所述预设迭代数量的所述J个第一迭代解,所述第一迭代解为基于所述第一初始解的初次扩充解。进一步的,进行第一迭代解的适应度计算。
具体的,确定待进行所述J个第一迭代解中对应的待分析班级,作为所述第一班级,遍历所述M个贪心规则集合,提取所述第一班级对应的贪心规则集合作为所述第一贪心规则集合。所述第一贪心规则集合包含所述第一班级对于所述N种课程的上课时长,针对所述J个第一迭代解,对各迭代解进行所述N种课程的上课时长确定,作为该迭代解对应的编排上课时长集,集成所述J个第一迭代解包含的编排上课时长集合,作为所述J个编排上课时长集合。进一步的,基于对应课程,对所述J个编排上课时长集合与所述N个上课时长进行映射对应,根据映射结果进行对应编排上课时长与上课时长的差值计算,将上课时长差值与上课时长的比值作为偏差参数,集成所述J个编排上课时长集合对应的偏差参数,作为所述J个偏离参数集合,各偏离参数集合分别包含N个偏差参数。进一步的,设定所述预设适应度标准,即进行迭代解适应度衡量的判定标准,示例性的,针对不同区间的偏差参数,自定义设定适应度,其中,偏差参数与适应度呈负相关,确定表征为偏差参数区间-适应度的多个序列,集成作为所述预设适应度标准。
进一步的,将所述J个偏离参数集合内的N个偏差参数输入所述预设适应度标准内,匹配对应的表征序列,识别对应的适应度作为该课程对应的适应度,对各偏离参数集合内的N个偏差参数对应的适应度进行集成,作为课程适应度集合,获取所述J个课程适应度集合。基于所述N个上课时长的大小,对所述N个课程适应度进行权重配置,其中,配置权重与上课时长呈正相关,例如计算每个上课时长与N个上课时长之和的比值。对所述J个课程适应度集合分别进行赋权,对各课程适应度集合对以后那个的N个课程适应度进行加权求和,作为第一适应度,集成所述J个课程适应度集合对应的第一适应度,确定所述J个第一适应度。所述J个第一适应度为度量所述J个第一迭代解的二次扩充解数量的指标。
进一步的,根据所述J个第一适应度的大小,计算获取J个迭代数量。具体的,对所述J个第一适应度进行均值计算,将适应度均值作为所述J个第一适应度的期望值。进一步分别对所述J个第一适应度与期望值进行比值计算,获取J个比值,对所述预设迭代数量J进行调整,以保障最终确定的迭代数量与适应度相契合,示例性的,对所述J个比值分别与所述预设迭代数量J进行乘积运算,将计算结果作为对应的二次扩充解数量,获取所述J个迭代数量,所述J个迭代数量为对应于各个第一迭代解,用于进行扩充解限制的数量,如此,适应度较大的解可以迭代产生更多的解,提升寻优准确性。
进一步的,对所述J个迭代解数量与所述J个第一迭代解进行映射对应,基于对应迭代解数量作为调整数量,进行课程的随机调整,确定该第一迭代解扩充的多个第二迭代解,分别进行各个第一迭代解的调整扩充,获取所述J个第二迭代解,以此类推继续进行迭代解扩充寻优。设定所述预设寻优条件,即进行寻优的终止条件,例如达到预设迭代次数或迭代解数量达到预定值等,若达到所述预设寻优条件,停止进行迭代寻优,对当前获得的所有迭代解进行适应度校对,确定最大适应度,获取最大适应度对应的迭代解作为所述第一主寻优结果。
进一步的,基于上述迭代解扩充寻优步骤,对其他的M-1个班级,匹配对应的贪心规则进行随机排课的主寻优,获得M-1个主寻优结果,进行主要寻优结果整合确定所述M个班级对应的主寻优结果。所述M个主寻优结果为结合贪心算法与入侵杂草优化算法的精准寻优结果,为与所述M个班级贪心规则相符合的局部最优排课结果。
步骤S500:在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果。
进一步而言,在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,本申请步骤S500还包括:
步骤S510:分别获取所述M个主寻优结果内,每个时间区间中,所述M个班级进行上课的课程类型数量,获得M个课程类型数量集合;
步骤S520:根据所述M个课程类型数量集合,计算获得M个总课程类型数量;
步骤S530:在所述M个总课程类型数量内进行遍历,获得最大值,将对应的主寻优结果输出,获得所述最优排课结果。
具体而言,在所述M个主寻优结果的基础上,进一步基于课程均匀度再次进行寻优,其中,M个班级中每个班级在一天内上课的类型越多,均匀度越高,以避免对应的时间区间中多次重复同一种课程。具体的,对所述M个主寻优结果中的各个主寻优结果,分别基于所述多个时间区间,进行各时间区间的课程类型数量统计,获取所述M个课程类型数量集合,其中,各课程类型数量集合包括了每个时间区间内的课程类型数量。进一步的,基于所述M个课程类型数量集合,对各课程类型数量集合内包含的多个时间区间的课程类型数量进行加和,作为总课程类型数量,获取所述M个课程类型数量。进一步遍历所述M个课程类型数量集合进行校对,确定最大值,并反向匹配对应的主寻优结果,将其作为最优排课结果进行输出,所述最优排课结果为满足贪心目的与课程均匀度的最适配排课结果,可展示给排课教师作为排课结果或作为参考进行进一步地调整。
在一个实施例中,每次考试后对所述最优排课结果进行更新,以保障所述最优排课结果的时效性。
实施例二:基于与前述实施例中一种基于贪心算法的智能排课方法相同的发明构思,如图4所示,本申请提供了一种基于贪心算法的智能排课***,所述***包括:
课程获取模块11,所述课程获取模块11用于获取待进行排课的M个班级和N种课程,M和N为大于1的整数;
规则制定模块12,所述规则制定模块12用于获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;
约束条件获取模块13,所述约束条件获取模块13用于获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,所述约束条件集合内包括多个约束条件;
排课寻优模块14,所述排课寻优模块14用于在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果,其中,所述主寻优中,分别按照所述M个贪心规则集合,计算寻优过程中解的适应度,且每个解迭代产生的子代解的数量与适应度的大小正相关;
结果获取模块15,所述结果获取模块15用于在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果。
进一步而言,所述***还包括:
成绩获取模块,所述成绩获取模块用于分别获取所述M个班级在过去预设时间范围内在所述N种课程上的N个成绩,获得M个成绩集合;
平均成绩计算模块,所述平均成绩计算模块用于根据所述M个成绩集合,计算所述N种课程的N个平均成绩;
成绩比计算模块,所述成绩比计算模块用于分别计算所述M个成绩集合内N个成绩与所述N个平均成绩的比值,获得M个成绩比集合;
规则获取模块,所述规则获取模块用于将所述M个成绩比集合输入预设贪心标准内,获得所述M个贪心规则集合,其中,每个贪心规则集合内均包括N个贪心规则,所述N个贪心规则为根据每个成绩比集合内N个成绩比配置的排课时长,与 N 种课程一一对应。
进一步而言,所述***还包括:
样本成绩比获取模块,所述样本成绩比获取模块用于获取所述N种课程的N个样本成绩比集合;
样本上课时长获取模块,所述样本上课时长获取模块用于分别根据所述N个样本成绩比集合,构建所述N种课程在预设时间周期内的上课时长,获得N个样本上课时长集合;
映射关系构建模块,所述映射关系构建模块用于分别构建所述N个样本成绩比集合内的样本成绩比与所述N个样本上课时长集合内的样本上课时长的映射关系,获得N个映射关系,并获得所述预设贪心标准;
贪心规则确定模块,所述贪心规则确定模块用于分别将所述M个成绩比集合内的成绩比输入所述预设贪心标准内,获得M个上课时长集合,作为所述M个贪心规则集合。
进一步而言,所述***还包括:
第一约束条件确定模块,所述第一约束条件确定模块用于获取所述N种课程在所述预设时间周期内的N个最少上课时长,作为第一约束条件;
第二约束条件确定模块,所述第二约束条件确定模块用于获取所述N种课程在每个时间区间内进行上课的最大时长,作为第二约束条件;
第三约束条件确定模块,所述第三约束条件确定模块用于将在同一时间点进行同种课程上课的班级的数量不大于该课程的授课老师的数量,作为第三约束条件;
约束条件整合模块,所述约束条件整合模块用于整合所述第一约束条件、第二约束条件和第三约束条件,获得所述约束条件集合。
进一步而言,所述***还包括:
第一初始解获取模块,所述第一初始解获取模块用于在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间中,对所述M个班级和N种课程进行随机编排,获得第一初始解;
第一迭代解获取模块,所述第一迭代解获取模块用于基于预设迭代数量J,对所述第一初始解内的课程进行预设调整数量课程的随机调整,获得J个第一迭代解,J为大于1的整数;
第一适应度获取模块,所述第一适应度获取模块用于根据所述M个贪心规则集合内的第一贪心规则集合,计算所述J个第一迭代解的J个第一适应度;
迭代数量获取模块,所述迭代数量获取模块用于根据所述J个第一适应度的大小,计算获取J个迭代数量;
第二迭代解获取模块,所述第二迭代解获取模块用于基于所述J个迭代数量,分别对所述J个第一迭代解内的课程进行预设调整数量课程的随机调整,获得J个第二迭代解,进行迭代寻优;
迭代寻优模块,所述迭代寻优模块用于继续迭代寻优达到预设寻优条件,将寻优过程中第一适应度最大的解作为第一主寻优结果;
主寻优模块,所述主寻优模块用于继续根据其他的M-1个贪心规则集合,进行随机排课的主寻优,获得M-1个主寻优结果。
进一步而言,所述***还包括:
参数提取模块,所述参数提取模块用于根据所述第一贪心规则集合内的所述N种课程的N个上课时长;
编排上课时长获取模块,所述编排上课时长获取模块用于获取所述J个第一迭代解内,所述第一贪心规则集合对应的第一班级对于所述N种课程的N个编排上课时长,获得J个编排上课时长集合;
偏差参数计算模块,所述偏差参数计算模块用于分别计算获取J个编排上课时长集合内N个编排上课时长与所述N个上课时长的N个偏差参数,获得J个偏离参数集合;
适应度获取模块,所述适应度获取模块用于将所述J个偏离参数集合内的N个偏差参数输入预设适应度标准内,获得J个课程适应度集合,每个课程适应度集合内包括N个课程适应度,其中,所述预设适应度标准内包括偏差参数与适应度的映射关系,偏差参数与适应度负相关;
适应度计算模块,所述适应度计算模块用于根据所述N个上课时长的大小,对所述J个课程适应度集合内N个课程适应度进行加权计算,获得所述J个第一适应度。
进一步而言,所述***还包括:
期望值计算模块,所述期望值计算模块用于计算所述J个第一适应度的期望值;
迭代数量获取模块,所述迭代数量获取模块用于根据所述J个第一适应度与所述期望值的比值,对所述预设迭代数量J进行调整,获得所述J个迭代数量。
进一步而言,所述***还包括:
课程类型数量获取模块,所述课程类型数量获取模块用于分别获取所述M个主寻优结果内,每个时间区间中,所述M个班级进行上课的课程类型数量,获得M个课程类型数量集合;
总课程类型数量计算模块,所述总课程类型数量计算模块用于根据所述M个课程类型数量集合,计算获得M个总课程类型数量;
最优排课结果获取模块,所述最优排课结果获取模块用于在所述M个总课程类型数量内进行遍历,获得最大值,将对应的主寻优结果输出,获得所述最优排课结果。
本说明书通过前述对一种基于贪心算法的智能排课方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种基于贪心算法的智能排课方法及***,对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (6)

1.一种基于贪心算法的智能排课方法,其特征在于,所述方法包括:
获取待进行排课的M个班级和N种课程,M和N为大于1的整数;
获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;
获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,所述约束条件集合内包括多个约束条件;
在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果,其中,所述主寻优中,分别按照所述M个贪心规则集合,计算寻优过程中解的适应度,且每个解迭代产生的子代解的数量与适应度的大小正相关;
在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果;
其中,获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,包括:
分别获取所述M个班级在过去预设时间范围内在所述N种课程上的N个成绩,获得M个成绩集合;
根据所述M个成绩集合,计算所述N种课程的N个平均成绩;
分别计算所述M个成绩集合内N个成绩与所述N个平均成绩的比值,获得M个成绩比集合;
将所述M个成绩比集合输入预设贪心标准内,获得所述M个贪心规则集合,其中,每个贪心规则集合内均包括N个贪心规则,所述N个贪心规则为根据每个成绩比集合内N个成绩比配置的排课时长,与 N 种课程一一对应;
其中,将所述M个成绩比集合输入预设贪心标准内,获得所述M个贪心规则集合,包括:
获取所述N种课程的N个样本成绩比集合;
分别根据所述N个样本成绩比集合,构建所述N种课程在预设时间周期内的上课时长,获得N个样本上课时长集合;
分别构建所述N个样本成绩比集合内的样本成绩比与所述N个样本上课时长集合内的样本上课时长的映射关系,获得N个映射关系,并获得所述预设贪心标准;
分别将所述M个成绩比集合内的成绩比输入所述预设贪心标准内,获得M个上课时长集合,作为所述M个贪心规则集合;
其中,在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,包括:
分别获取所述M个主寻优结果内,每个时间区间中,所述M个班级进行上课的课程类型数量,获得M个课程类型数量集合;
根据所述M个课程类型数量集合,计算获得M个总课程类型数量;
在所述M个总课程类型数量内进行遍历,获得最大值,将对应的主寻优结果输出,获得所述最优排课结果。
2.根据权利要求1所述的方法,其特征在于,获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,包括:
获取所述N种课程在所述预设时间周期内的N个最少上课时长,作为第一约束条件;
获取所述N种课程在每个时间区间内进行上课的最大时长,作为第二约束条件;
将在同一时间点进行同种课程上课的班级的数量不大于该课程的授课老师的数量,作为第三约束条件;
整合所述第一约束条件、第二约束条件和第三约束条件,获得所述约束条件集合。
3.根据权利要求1所述的方法,其特征在于,在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,包括:
在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间中,对所述M个班级和N种课程进行随机编排,获得第一初始解;
基于预设迭代数量J,对所述第一初始解内的课程进行预设调整数量课程的随机调整,获得J个第一迭代解,J为大于1的整数;
根据所述M个贪心规则集合内的第一贪心规则集合,计算所述J个第一迭代解的J个第一适应度;
根据所述J个第一适应度的大小,计算获取J个迭代数量;
基于所述J个迭代数量,分别对所述J个第一迭代解内的课程进行预设调整数量课程的随机调整,获得J个第二迭代解,进行迭代寻优;
继续迭代寻优达到预设寻优条件,将寻优过程中第一适应度最大的解作为第一主寻优结果;
继续根据其他的M-1个贪心规则集合,进行随机排课的主寻优,获得M-1个主寻优结果。
4.根据权利要求3所述的方法,其特征在于,根据所述M个贪心规则集合内的第一贪心规则集合,计算所述J个第一迭代解的J个第一适应度,包括:
根据所述第一贪心规则集合内的所述N种课程的N个上课时长;
获取所述J个第一迭代解内,所述第一贪心规则集合对应的第一班级对于所述N种课程的N个编排上课时长,获得J个编排上课时长集合;
分别计算获取J个编排上课时长集合内N个编排上课时长与所述N个上课时长的N个偏差参数,获得J个偏离参数集合;
将所述J个偏离参数集合内的N个偏差参数输入预设适应度标准内,获得J个课程适应度集合,每个课程适应度集合内包括N个课程适应度,其中,所述预设适应度标准内包括偏差参数与适应度的映射关系,偏差参数与适应度负相关;
根据所述N个上课时长的大小,对所述J个课程适应度集合内N个课程适应度进行加权计算,获得所述J个第一适应度。
5.根据权利要求3所述的方法,其特征在于,根据所述J个第一适应度的大小,计算获取J个迭代数量,包括:
计算所述J个第一适应度的期望值;
根据所述J个第一适应度与所述期望值的比值,对所述预设迭代数量J进行调整,获得所述J个迭代数量。
6.一种基于贪心算法的智能排课***,其特征在于,所述***包括:
课程获取模块,所述课程获取模块用于获取待进行排课的M个班级和N种课程,M和N为大于1的整数;
规则制定模块,所述规则制定模块用于获取在过去时间内所述M个班级在所述N种课程上的成绩,获得M个成绩集合,并制定获取M个贪心规则集合,每个贪心规则集合内包括N种课程的上课时长;
约束条件获取模块,所述约束条件获取模块用于获取对所述M个班级在预设时间周期内的多个时间区间中,对所述N种课程进行排课的约束条件集合,所述约束条件集合内包括多个约束条件;
排课寻优模块,所述排课寻优模块用于在满足所述约束条件集合的前提下,在所述预设时间周期内的多个时间区间内,分别按照所述M个贪心规则集合,进行随机排课的M次主寻优,获得M个主寻优结果,其中,所述主寻优中,分别按照所述M个贪心规则集合,计算寻优过程中解的适应度,且每个解迭代产生的子代解的数量与适应度的大小正相关;
结果获取模块,所述结果获取模块用于在所述M个主寻优结果内,以提升每个班级在所述多个时间区间内对所述N种课程进行上课的均匀程度为目的,进行次寻优,获得最优排课结果;
所述***还包括:
成绩获取模块,所述成绩获取模块用于分别获取所述M个班级在过去预设时间范围内在所述N种课程上的N个成绩,获得M个成绩集合;
平均成绩计算模块,所述平均成绩计算模块用于根据所述M个成绩集合,计算所述N种课程的N个平均成绩;
成绩比计算模块,所述成绩比计算模块用于分别计算所述M个成绩集合内N个成绩与所述N个平均成绩的比值,获得M个成绩比集合;
规则获取模块,所述规则获取模块用于将所述M个成绩比集合输入预设贪心标准内,获得所述M个贪心规则集合,其中,每个贪心规则集合内均包括N个贪心规则,所述N个贪心规则为根据每个成绩比集合内N个成绩比配置的排课时长,与 N 种课程一一对应;
样本成绩比获取模块,所述样本成绩比获取模块用于获取所述N种课程的N个样本成绩比集合;
样本上课时长获取模块,所述样本上课时长获取模块用于分别根据所述N个样本成绩比集合,构建所述N种课程在预设时间周期内的上课时长,获得N个样本上课时长集合;
映射关系构建模块,所述映射关系构建模块用于分别构建所述N个样本成绩比集合内的样本成绩比与所述N个样本上课时长集合内的样本上课时长的映射关系,获得N个映射关系,并获得所述预设贪心标准;
贪心规则确定模块,所述贪心规则确定模块用于分别将所述M个成绩比集合内的成绩比输入所述预设贪心标准内,获得M个上课时长集合,作为所述M个贪心规则集合;
所述***还包括:
课程类型数量获取模块,所述课程类型数量获取模块用于分别获取所述M个主寻优结果内,每个时间区间中,所述M个班级进行上课的课程类型数量,获得M个课程类型数量集合;
总课程类型数量计算模块,所述总课程类型数量计算模块用于根据所述M个课程类型数量集合,计算获得M个总课程类型数量;
最优排课结果获取模块,所述最优排课结果获取模块用于在所述M个总课程类型数量内进行遍历,获得最大值,将对应的主寻优结果输出,获得所述最优排课结果。
CN202311422040.0A 2023-10-31 2023-10-31 一种基于贪心算法的智能排课方法及*** Active CN117151947B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311422040.0A CN117151947B (zh) 2023-10-31 2023-10-31 一种基于贪心算法的智能排课方法及***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311422040.0A CN117151947B (zh) 2023-10-31 2023-10-31 一种基于贪心算法的智能排课方法及***

Publications (2)

Publication Number Publication Date
CN117151947A CN117151947A (zh) 2023-12-01
CN117151947B true CN117151947B (zh) 2024-01-30

Family

ID=88897217

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311422040.0A Active CN117151947B (zh) 2023-10-31 2023-10-31 一种基于贪心算法的智能排课方法及***

Country Status (1)

Country Link
CN (1) CN117151947B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127355A (zh) * 2016-07-19 2016-11-16 焦点科技股份有限公司 一种高效智能的排课方法及***
CN108734412A (zh) * 2018-05-28 2018-11-02 深圳市鹰硕技术有限公司 基于教学成绩的排课方法以及装置
CN110659819A (zh) * 2019-09-19 2020-01-07 安徽七天教育科技有限公司 一种新高考模式下选课走班的自动排课***
CN112101791A (zh) * 2020-09-16 2020-12-18 携程计算机技术(上海)有限公司 呼叫中心多目标排班方法、***、设备和介质
CN113240559A (zh) * 2021-04-30 2021-08-10 重庆工程职业技术学院 一种酒店管理教学用多媒体教学装置
CN116611246A (zh) * 2023-05-17 2023-08-18 阳光新能源开发股份有限公司 光伏***的寻优方法、装置、终端设备及存储介质
CN116843525A (zh) * 2023-08-28 2023-10-03 湖南强智科技发展有限公司 一种智能自动排课方法、***、设备及存储介质
CN116933485A (zh) * 2023-06-06 2023-10-24 江苏科技大学 一种遗传贪心组合算法的装配序列规划方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106127355A (zh) * 2016-07-19 2016-11-16 焦点科技股份有限公司 一种高效智能的排课方法及***
CN108734412A (zh) * 2018-05-28 2018-11-02 深圳市鹰硕技术有限公司 基于教学成绩的排课方法以及装置
CN110659819A (zh) * 2019-09-19 2020-01-07 安徽七天教育科技有限公司 一种新高考模式下选课走班的自动排课***
CN112101791A (zh) * 2020-09-16 2020-12-18 携程计算机技术(上海)有限公司 呼叫中心多目标排班方法、***、设备和介质
CN113240559A (zh) * 2021-04-30 2021-08-10 重庆工程职业技术学院 一种酒店管理教学用多媒体教学装置
CN116611246A (zh) * 2023-05-17 2023-08-18 阳光新能源开发股份有限公司 光伏***的寻优方法、装置、终端设备及存储介质
CN116933485A (zh) * 2023-06-06 2023-10-24 江苏科技大学 一种遗传贪心组合算法的装配序列规划方法
CN116843525A (zh) * 2023-08-28 2023-10-03 湖南强智科技发展有限公司 一种智能自动排课方法、***、设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
本研一体排课模式设计及其实现算法研究;宋玉坤;《中国优秀硕士学位论文全文库 信息科技辑》(第6期);全文 *
自动排课***的设计与实现;荀旭;《《中国优秀硕士学位论文全文库 社会科学Ⅱ辑》》(第01期);正文第11-44页 *

Also Published As

Publication number Publication date
CN117151947A (zh) 2023-12-01

Similar Documents

Publication Publication Date Title
Chanas et al. The use of fuzzy variables in PERT
Rastetter et al. Aggregating fine‐scale ecological knowledge to model coarser‐scale attributes of ecosystems
CN109284921B (zh) 基于隐马尔科夫模型的农业灌溉水质动态评价方法
CN110661727B (zh) 数据传输优化方法、装置、计算机设备和存储介质
CN108876021B (zh) 一种中长期径流预报方法及***
CN105163326A (zh) 一种基于无线网络话务特征的小区聚类方法和***
CN101710304A (zh) 一种软件过程实施质量评测方法
CN107919983B (zh) 一种基于数据挖掘的天基信息网络效能评估***及方法
CN107622801A (zh) 疾病概率的检测方法和装置
CN116028822B (zh) 一种电能表误差状态评估方法、***、设备及存储介质
CN107860889A (zh) 土壤有机质的预测方法和设备
CN104112062B (zh) 基于插值方法的风资源分布的获取方法
CN106952077B (zh) 一种工单处理策略的生成方法及装置
CN117151947B (zh) 一种基于贪心算法的智能排课方法及***
CN110716998A (zh) 一种精细尺度人口数据空间化方法
Savvides et al. Significance of patterns in data visualisations
CN117787508A (zh) 基于模型预测的建筑施工过程碳排放处理方法及***
Khabarov et al. Heuristic model of the composite quality index of environmental assessment
CN113610167B (zh) 基于度量学习与视觉感知的设备风险检测方法
Sun et al. Combining bootstrap and genetic programming for feature discovery in diesel engine diagnosis
CN116126827A (zh) 一种同时实现电力生产数据建模与可视化分析的方法
CN115907178A (zh) 一种净生态***co2交换量的预测方法
CN108763289A (zh) 一种海量异构传感器格式数据的解析方法
CN115238951A (zh) 一种电力负荷的预测方法及装置
CN112668784A (zh) 基于大数据的区域宏观经济预测模型及方法

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