CN110047023B - 基于模拟退火算法的新高考排课算法 - Google Patents

基于模拟退火算法的新高考排课算法 Download PDF

Info

Publication number
CN110047023B
CN110047023B CN201910247246.1A CN201910247246A CN110047023B CN 110047023 B CN110047023 B CN 110047023B CN 201910247246 A CN201910247246 A CN 201910247246A CN 110047023 B CN110047023 B CN 110047023B
Authority
CN
China
Prior art keywords
class
teacher
constraint condition
teachers
lessons
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
CN201910247246.1A
Other languages
English (en)
Other versions
CN110047023A (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.)
Beijing University of Technology
Original Assignee
Beijing University of Technology
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 Beijing University of Technology filed Critical Beijing University of Technology
Priority to CN201910247246.1A priority Critical patent/CN110047023B/zh
Publication of CN110047023A publication Critical patent/CN110047023A/zh
Application granted granted Critical
Publication of CN110047023B publication Critical patent/CN110047023B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及基于模拟退火算法的新高考排课算法,解决了新高考“3+3”模式中的排课问题,结合教育部所规定的教师授课计划,考虑到中学排课的实际应用情况,最终可以得到最优化处理后的令人满意的随机排课结果。本发明能满足新高考政策下排课问题的硬约束条件,保证同一教师不同时出现在两个教室且无多名教师同时出现在一个班的情况。本发明能满足新高考政策下排课问题的软约束条件,保证每班每科目每天最多一节课,教学计划同步推进。同时保证所需教师数和教室数最少,将教学资源合理分配,减少教师和教室冗余。本发明能满足新高考政策下排课问题的用户自定义约束条件,输入科目与时间段对应的得分权重后,模拟退火算法的排课结果向用户输入条件方向移动。

Description

基于模拟退火算法的新高考排课算法
技术领域:
本发明属于神经网络领域,设计实现一种新高考政策下运用模拟退火算法进行排课的方法。
背景技术:
随着我国教育事业的不断发展,计算机智能排课系统在教务信息管理系统中得到越来越广泛的应用。排课的本质就是为所有的课程安排一组适当的教学时间和地点,使教学工作能够顺利进行。排课问题是各学校在教学资源管理、最优化配置上面临的主要难题。新高考政策下的排课难度更大。
新高考政策许可考生从“史地政物化生”这六门课程中选取三门课程作为自己的考试科目,而不再仅仅受限于只能选文科或者理科。这样提高了学生选择的自由度,可以最大程度发挥学生的特点。学生选择自己擅长的三门课程参加高考以后,剩余的三科只需要通过会考即可,但同时带来的问题就是学校需要为他们开设不同选课模式的班级,大幅度增加了学校教务处的排课任务。
排课问题已经被证明是NP完全问题。针对于原始排课问题,有不少学者运用穷举法、模拟退火算法、遗传算法、蚁群算法等方法进行实现,可以达到较好的效果。但针对新高考政策下的排课问题,目前没有较成熟的实现方法。在侯发毅学者《基于3+3新高考模式下的走班教学管理系统设计与实现》中,虽对新高考政策的概念进行了阐述,并用UML建模的方法实现了走班教学管理系统,但该系统主要是通过对选课信息进行整理,自动排课后如果效果不好还需要人工调整,也就是说该系统中排课模块不具备自动优化功能。我们可以认为该系统更偏向于系统信息管理,排课模块并不完善。同时,智能排课目的就是要避免人工参与,如果不能得到资源配置合理的最优课表,那么排课的结果就不具有意义。除此以外,再无学者对新高考政策下的排课问题进行研究。
目前,模拟退火算法被广泛应用于最优化问题。模拟退火算法从某一较高初温出发,伴随温度参数的不断下降,结合概率突跳特性在解空间中随机寻找目标函数的全局最优解,即在局部最优解能概率性地跳出并最终趋于全局最优。针对于排课问题,我们通过模拟退火过程,寻找最优课表。
排课问题的约束条件分为三类:硬约束调价,软约束条件,用户自定义约束条件。其中硬约束条件包括:同一位教师同一时间不能在不同班级上课,同一个班级同一时间只能安排一门课,每个班级必须有一个班主任等。软约束调价包括:所需教师总数最少,所需教室总数最少,某科目不出现连堂或者不在一天上多节课等。用户自定义约束条件指排课系统使用者添加的特殊限制条件。本发明规定用户自定义约束条件为:副科和自习尽量不出现在上午,语数英尽量不出现在下午。当一组课表可以满足硬约束条件,才具有应用价值。在此基础上,课表越满足软约束条件,则越符合实际情况。在满足硬约束条件和软约束条件的情况下,课表越满足用户自定义约束条件,则课表的用户满意度越高,我们认为该课表越优。
在新高考政策下解决排课问题时,我们会遇到随之而来的更严峻的挑战。如果使用穷举法排课,无法得到随机结果,也就无法进行最优化处理,此时我们判断课表优劣后如果不满意就需要人为进行修改,与智能排课的目的相违背。
在新高考政策下,如果进行部分走班制排课,那么走班时间固定,在该时间内的课间学生们在楼道中忙于换教室。相比于课间长校园大的大学来说,在中学进行部分走班制显然不符合实际。同时,我们还要将优质教师资源分配给高水平的学生,这就要求我们对学生进行分层教学。综合考虑我们必须对教学班进行排课,将所选三科相同的学生分到一个班,再对教师和教室资源进行分配。
我们先考虑教师资源,教师数量就意味着学校的开销,我们希望教师资源充分利用,尽量不出现有很多教师课时数远远不达标的情况。因为不同班级涉及的“3+3”教师不同,所选三科与未选三科的教师针对同一个班的授课数不同,所选三科与未选三科的教师所需带班数不同,所以进行随机排课困难重重。在随机排课时,如果不考虑教师数量,可以轻松得到排课结果。如果兼顾教师数最少,当出现两个班都需要某教师上课且两个班其他课程已安排只剩同一个时间段时,由于同一个教师不能同时到两个教室上课,程序可能会陷入死循环,此时排课失败。
在考虑教室资源时,我们可以发现学生数量就决定了班级数,在教学楼中的教室数无需优化。但对于阅读课,音乐课,体育等副科,如果我们不将不同班级的上课时间错开,就需要很多音乐教室,甚至还要扩建操场,显然这是不符合实际的。所以我们要基于副科教室数最少进行排课。
首先,优化算法的输入是随机解(不一定满足条件),随着优化过程不断进行,最终得到符合要求的解。针对于新高考排课问题,符合要求的随机解产生是有困难的,但不加限制的产生随机解会给优化过程的控制条件带来极大困难。如果优化过程不能成功找到全局最优,对实际情况来说就是资源分配的不合理,需要付出更多财力人力物力。通过优化过程去控制条件是有风险的,因为如果人为检查最终课表是否符合要求,其工作量不亚于手动排课。如果等课表实施再发现bug会造成不必要的损失。对于优化算法来说,输入的产生是困难的。
其次,原始排课问题优化算法的输入限制条件较少,因为每个班都上一样的课,授课时间有冲突的教师可以给其他班授课。对于新高考排课问题,有些教师只需要给某两个班上课,如果其中一个班时间冲突,该名教师就处于半闲置状态,与此同时还需要该科目的另外一名教师,对于学校来说这是资源分配的不合理。
如果采用穷举法,输入确定时其输出固定,就算给输出添加评分系统,当课表无法让人满意时也无法改变。所以对于穷举法来说,产生高质量的输出是困难的。
原始排课问题穷举法可以得到很好的效果是因为所有班上课的科目相同,人为可以设计出一套完整的排课模板来满足需求。但新高考模式下不同选课模式班级数量不确定,这就会导致无法用一个模板解决全部问题。
不对新高考排课问题进行深入思考,是无法创造性地将二者结合,各取优势又能分别克服它们的难点。对于穷举法排课,本发明使用了4套模板,其中模板的选取和排布都经过缜密思考,可以得到符合要求的穷举法排课输出。将确定解作为优化算法的输入,其每一步更新条件都需要深入思考,包括变化,监督,比较,更新,最终各个模块的困难都被一一克服。
针对于新高考问题来说,这两种方法进行排课都不简单。只有深入研究才可能将它们创造性地结合。结合之后还有诸多问题,也需要不断解决,才能在新高考政策下进行排课并得到高水平的排课结果。
发明内容
针对目前新高考政策下智能排课的难题,本发明通过结合穷举法与模拟退火算法,先得到满足软约束条件和硬约束条件的可行性课表,然后对其进行模拟退火处理并对历代结果进行评分,最终得到高质量的教师数最少且教室数最少的随机课表,同时可保证教学进度同时推进以及每科目每班每天只有一节课。
算法流程可分为以下11步:
步骤1:输入不同选课模式班级数量。作为系统的输入,班级总数最大值为40。
40个班可以说是在音乐、美术、计算机、阅读教室只有一个,操场只能同时容纳两个班解散活动时,取的较为适宜的值。每周下午共20时间段,采用合班制(两个班同时在同一地点被同一教师授课),最多容纳40个班。如果副科可以大量出现在上午,最多可以容纳80个班。如果多一组副科各个教室,便可以多40个班。可以理解为总班级数适宜为40*副科教室组数~80*副科教室组数。
步骤2:选择语数英教师及六选三选中三科教师的带班数,可带两个班或三个班。
步骤3:利用稀疏矩阵的概念,简化时间-班级-教师的三维矩阵(在此三维矩阵中,数值为1代表存在这样一组时间-班级-教师对应关系),通过表示非零元素的位置信息和数据信息来消除数据冗余。我们将求取目标从上述三维矩阵变换为二维矩阵TS_TB_teacher和TS_TB_class。二维矩阵TS_TB_teacher中存放班级信息,二维矩阵TS_TB_class中存放教师信息。这两个二维矩阵可以互为监督,都蕴含着时间-班级-教师三维矩阵中的全部信息。
本发明以班级授课制为基础概念进行排课,故教室信息等同于班级信息。除副科外,第K号班级学生即在第K号教室上课。副科有固定教室,例如音乐在音乐教室上课。
步骤4:课表降维。按每天8节课,每周5天,即每周40节课。通过投影,将40个时间段划分为15种时间段(每种科目一种时间段),对降维的时间段进行排课。同一教师给不同班授课时,可以在课时数相同的科目间切换时间段。
至于15个时间段,是我们将40个时间段分配给15个科目,每个科目对应模板中几个固定的实际时间段。降维后的时间段维数与科目数相同。我们假设每周L节课,共有m个科目,其中每个科目课时数不同,我们假定科目1~科目m分别有N1~Nm节课。需要保证N1+…+Nm=L,此时即可将L维时间段矩阵降维成m维。将科目1~科目m对应的时间段分别固定,对m维时间段排课后,映射还原L维课表即可。
步骤5:使用模板对降维的课表进行排课。需要每十个班一个模板,模板之间相互影响(模板交界处需要特别处理,具体处理方式如下文)。
降维的课表用TB_teacher和TB_class表示,降维的课表1~10班用模板1进行排课,以此类推,31~40班用模板4进行排课。需要注意的是,如果语数英教师带三个班,10班用模板1,但11班和12班用模板2,他们使用同一组语数英教师,要考虑模板交界处的冲突问题。
关于模板设置阐述:在不同的模板设置中,更改语数英和五个副科的位置,不改变“3+3”涉及科目和自习课的位置。如果用W表示副科,X表示语文,Y表示数学,Z表示英语,每个科目均对应真实课表中的五节课,则四组模板按顺序分别设置为:XYZW,WYZX,YWZX,ZXWY。
当某班级的模板确定后,在对降维时间段课表排课过程中,课时数相同的科目可顺序交换。如果班级甲、乙、丙共用模板1,甲的降维班级课表为语数英物化生史地政自习音体美计阅(当甲班级选课模式为物化生时降维后15个时间段对应的课程),乙的降维班级课表为数英语化生物地政自习史体美计阅音,以此类推。
步骤6:还原真实课表。穷举法对降维的时间段进行排课后,得到降维的教师课表TB_teacher和降维的班级课表TB_class,通过映射还原真实时间段对应的教师课表TS_TB_teacher和真实的班级课表TS_TB_class。
模板用TS_TB表示。还原真实课表为TS_TB_teacher和TS_TB_class,也就是说如果降维课表时间段1对应教师S,降维课表时间段1对应真实课表时间段2、10、19、26、37,则真实课表中这5个时间段全部对应教师S。
步骤7:设置评估模块,对穷举法排课的结果进行评分。权重分布仅仅作为用户自定义约束条件的一个体现。用户自定义约束条件的不同,导致评分权重分布不同,影响优化方向,最终可得到用户满意度高的课表。评分系统还可以有其他权值分布,本系统设定该评分模式仅仅用于测试系统的优化性能,观察最终课表是否可以向预期方向变化。
在本例中我们仅仅设定语数英从早到晚8节课的得分情况为8到1,副科和自习从早到晚8节课得分情况为1到8。”3+3”所涉及科目不涉及评分,因为语数英被分配到早上,副科和自习被分配到晚上,其他科目此时自动被分配到一天的中间时段。将一组课表中所有时间段的得分求和后,将分数先除以班级数,再除以159(所有得分科目在一周中最优情况为159分),再乘以100,即可得到百分制的评分。
关于除以159的阐述:我们不可能将语(5节)数(5节)英(5节)15节课全都排在上午第一节课,副科(5节)和自习(2节)全都排在下午第四节课,因为一周40节课中早上第一节课只有5节。所以针对某班级课表来说,应用我们设定的权值分布进行评分时,最高分不是22节课*8分。最优情况应该是语数英排在每天上午前三节课,故得分为(8+7+6)*5=105。副科和自习一共七节课,2节课排在下午第三节课,5节课排在下午第四节课,故得分为8*5+7*2=54。所以我们归一化得分中间步骤需要除以159(105+54)。
步骤8:新解产生的过程是随机交换固定次数的某两节课,交换过程中,如果满足硬约束条件与软约束条件则交换,如不满足则不交换。这要求我们随机选取的用于交换的两个时间段要在同一个班中,即教师与班级对应关系不变。因为新解产生的目的是满足用户自定义约束条件,如果以破坏硬约束条件和软约束条件为代价,则不符合我们优化的目的。
我们也可以认为,优先级从高到低分别为硬约束条件、软约束条件、用户自定义约束条件。本发明在保证一定满足硬约束条件和软约束条件的基础上,尽可能满足用户自定义约束条件,力求得到高水准的符合实际情况的具备应用价值的课表。
在本发明中,硬约束条件为冲突问题,包括两点:两个教师不同时进入同一个班,以及同一个教师不同时到两个教室授课。软约束条件分为三个:每班每科目每天最多上一节课,总教师数最少,总教室数最少。用户自定义约束条件由用户决定,用评分模块体现,评分的数值反应排课结果与用户自定义约束条件的契合程度。
交换过程要保证换后每天每科目最多只有一节课,同时教师数最少,教室数最少。更新课表过程中,还要考虑副科的合班制,涉及副科要与合班的另一个班同时操作,要增添副科特殊教室监督矩阵。副科特殊教室监督矩阵作用是预防同一副科的两名教师同一时间段进入该副科对应的特殊教室。
步骤9:每一代新解(新课表)的评分高于旧解时,直接接受新解,即更新旧课表为新课表;当新解评分低于旧解时,则以变化概率接受差解,即新解与旧解差别大时大概率接受差解,新解与旧解差别小时小概率接受差解。在更新旧课表后,继续对更新后的旧课表进行变换得到下一代新解。
步骤10:将步骤6得到的穷举法排课结果作为模拟退火算法的输入,重复步骤8和步骤9,直至模拟退火算法结果收敛,此时将模拟退火算法排课的结果作为最终输出。
步骤11:生成和打印课表,将班级-时间段课表和教室-时间段课表分别存入.csv文件。
1)本发明运用模拟退火算法,解决了新高考“3+3”模式中的排课问题,可以得到最优化处理后的随机排课结果。
2)本发明能满足新高考政策下排课问题的硬约束条件,保证同一教师不同时出现在两个教室且无多名教师同时出现在一个班的情况。
3)本发明能满足新高考政策下排课问题的软约束条件,保证每班每科目每天最多一节课,教学计划同步推进。同时保证所需教师数和教室数最少,将教学资源合理分配,减少教师和教室冗余。
4)本发明能满足新高考政策下排课问题的用户自定义约束条件,输入科目与时间段对应的得分权重后,模拟退火排课结果向用户输入的条件移动。
5)本发明基于教育部的新高考政策,结合教育部所规定的教师授课计划,考虑到中学排课的实际应用情况,运用模拟退火算法对穷举法排课结果进行最优化处理,得到令人满意的随机课表。
附图说明
图1方法流程图
图2模拟退火排课系统主界面
图3模拟退火排课系统输入界面
图4模拟退火算法排课结果存入.CSV文件
图5 all_class.csv文件预览
图6 all_teacher.csv文件预览
具体实施方式:
下面将对本发明的一些技术细节进一步详细说明。方法流程图如图1所示,新高考政
策下模拟退火算法排课的界面如图2-3所示,排课结果如图4-6所示。
1)教师工作量设置
1.规定语数英教师需要给2~3个班授课,每班每周5节课。
2.规定六选三选中的三个主要科目教师带2~3个班,每班每周4节课。
3.规定六选三未选中的三个次要科目教师带4个班,每班每周2节课。
4.规定音乐、体育、美术、计算机、阅读五个副科教师各带10个班,每班每周1节课。
2)班级周课时安排
每个班每周有5天课,每天8节课,故每班每周40节课。我们分配这40节课按如下规则:语数英各5节课,六选三选中的三科各4节课,六选三未选中的三科各2节课,五个副科各1节课,自习2节课。
3)硬约束条件控制
硬约束条件决定课表的可行性,需要保证无两教师同时进入一个班级和无一个教师需要同时教不同地点的两个班级的情况。
可以针对班级-时间段课表进行排课,矩阵中存放内容为教师信息,同时用教师-时间段课表进行监督,即可预防冲突。需要特别指出的是,教师-时间段课表中存放的内容为班级信息。
4)软约束条件控制
软约束条件是排课问题中不可忽视的。软约束条件的满足与否直接决定了该课表的优劣,以及该课表是否具有实际应用价值。
1.每天每科目最多一节课
设置排课模板,模板中规定同一种课不在一天中重复出现,即将每周40个时间段明确划分为几种科目,科目-时间对应位置固定。这样可以保证每名教师不会出现在一天上多节课或者很多天没课的情况,同时可以保证一名教师带多班和多名同科目教师的教学进度同步推进。
2.教师数最少
在排课模板的基础上进行排课时,每周课时数相同的科目可以互换,即可实现教师数最少。唯一不足可能是每科目编号的最后一个教师可能会出现课时数不满的情况。
3.教室数最少
班级教室总数由输入不同模式班级数量已经确定,可以优化的只有副科教室。考虑到有些学校不可能开设多个音乐教室和计算机教室,所以副科我们设置合班上课方式。每名副科教师给合班上一节课,相当于两课时工作量,也符合教育部课时数规定。
4.模板轮换
因为五个副科轮转只有5种情况,当输入班级数量大于10时,我们需要增设模板,也就是设定一组新的各科时间段分配规则。
需要注意的是,当语数英教师和六选三选中的三科教师均带两个班级时,模板增设无要求,只需与上一组模板副科时间段无交集即可。
当语数英教师和六选三选中的三科教师中有带3个班的情况时,在模板的衔接处,需要保证无覆盖情况。比如10班按模板1排课,11班按模板2排课,但10班和11班此时教师有共用情况,即可能使模板控制的无冲突失去作用。
5)用户自定义约束条件
用户自定义约束条件是衡量用户满意度的标准。针对于每个学校的实际情况不同,我们可以设置科目-时间段权重,对课表进行评分。在评分过程中要注重归一化和百分制。某组课表评分越高,该组课表越满足用户自定义约束条件。
6)模拟退火算法排课更新机制
1.新解产生机制
旧解产生新解的过程,要同时保证硬约束条件和软约束条件成立,这样才有对比评分的意义。以牺牲硬约束条件和软约束条件来满足用户自定义约束条件,这样的做法是不可取的。
这要求我们互换的两节课需要在同一个班中,也就是某班级与为其授课的几位教师对应关系不变。我们还需要考虑的特殊情况是自习和副科。因为自习没有教师,只涉及互换不涉及监督,在更新教师监督二维矩阵时无需更新对应教师的课表。另外,副科采用合班制,每次涉及副科交换时,都应该两个班同时无冲突并且同时交换。
为保证每天每科最多只上一节课,在新解产生过程中,如果遇到交换后某一天出现两节相同课,需要停止交换,进行下一次随机换课位置选取。
此外,我们还要添加新的监督机制,除了需要用教师二维矩阵监督班级二维矩阵,还需要添加副科特殊教室监督矩阵。因为不同班级的其他科目在各自班级上课,不涉及地点冲突。当班级不同教师不同时,教室不同。以音乐课为例,多名音乐教师共用一个音乐教室,不能在同一时间使用教室,此时除了要考虑教师自身的课表,还要考虑相同副科的不同教师课表需要无冲突。
2.概率1接受更优解
当一组新课表产生后,对其进行评估,如果得分提高,则认为新解优于旧解,此时直接更新旧课表为新课表,再对更新后的旧课表进行随机交换操作,产生新课表,如此反复,直至评分收敛。
3.变化概率接受更差解
当差解产生后,我们以一定概率接受。此举是防止模拟退火排课的结果陷入局部最优。当连续两代评分差异大时,我们以大概率接受差解;当连续两代评分差异小时,我们以小概率接受差解。
变化概率的公式为:
Figure GDA0002094381530000101
4.算法终止条件
经过长期实验,我们发现由于不同班课表之间相互影响相互制约,无论输入情况如何变化,最终评分都在55~70之间。本系统设置当得分高于75或连续1000代评分及课表不变时,判定模拟退火算法排课终止。
7)课表生成与打印
1.课表生成
我们将穷举法的排课结果作为模拟退火算法的输入,将模拟退火算法的输出作为最终的排课结果。
2.课表打印
我们将排课结果打印在.CSV文件中,需要注意原教师二维矩阵与班级二维矩阵与打印的课表位置对应关系。
在输出班级-时间段课表时,我们要显示对应的教师及地点信息,特别注意“3+3”教师应分别标注A和B,来区分被选中或未被选中。
在输出教师-时间段课表时,我们要显示对应的班级及地点信息,特别注意副科教师所带班级为单班还是合班。

Claims (1)

1.基于模拟退火算法的新高考排课的方法,其特征在于,分为以下11步:
步骤1:输入不同选课模式班级数量;作为系统的输入,班级总数最大值为40;
步骤2:选择语数英教师及六选三中三科教师的带班数,带两个班或三个班;
步骤3:利用稀疏矩阵的概念,简化时间-班级-教师的三维矩阵,通过表示非零元素的位置信息和数据信息来消除数据冗余;将求取目标从上述三维矩阵变换为二维矩阵TS_TB_teacher和TS_TB_class;二维矩阵TS_TB_teacher中存放教师信息,二维矩阵TS_TB_class中存放班级信息;
以班级授课制为基础概念进行排课,故除副科外教室信息等同于班级信息,第K号班级学生即在第K号教室上课;副科有固定教室;
步骤4:课表降维;按每天8节课,每周5天,即每周40节课;通过投影,将40个时间段划分为15种时间段,每种科目一种时间段,对降维的时间段进行排课;同一教师给不同班授课时,在课时数相同的科目间切换时间段;
至于15个时间段,是将40个时间段分配给15个科目,每个科目对应模板中几个固定的实际时间段;降维后的时间段维数与科目数相同;
步骤5:使用模板对降维的课表进行排课;需要每十个班一个模板,模板之间相互影响,模板交界处需要特别处理,具体处理方式如下;
降维的课表用TB_teacher和TB_class表示,降维的课表1~10班用模板1进行排课,以此类推,31~40班用模板4进行排课;
当语数英教师带三个班时,如果这三个班使用的不是一个模板,由于他们共用同一组语数英教师,要考虑模板交界处的冲突问题;当语数英教师带两个班时则不存在模板交界处的冲突问题;
关于模板设置阐述:在不同的模板设置中,更改语数英和五个副科的位置,不改变“3+3”涉及科目和自习课的位置;如果用W表示副科,X表示语文,Y表示数学,Z表示英语,每个科目均对应真实课表中的五节课,则四组模板按顺序分别设置为:XYZW,WYZX,YWZX,ZXWY;
当某班级的模板确定后,在对降维时间段课表排课过程中,课时数相同的科目能顺序交换;
步骤6:还原真实课表;穷举法对降维的时间段进行排课后,得到降维的教师课表TB_teacher和降维的班级课表TB_class,通过映射还原真实时间段对应的教师课表TS_TB_teacher和真实的班级课表TS_TB_class;
模板用TS_TB表示;还原真实课表为TS_TB_teacher和TS_TB_class,也就是说如果降维课表时间段1对应教师S,降维课表时间段1对应真实课表中多个时间段,则真实课表中多个时间段全部对应教师S;
步骤7:设置评估模块,对穷举法排课的结果进行评分;权重分布仅仅作为用户自定义约束条件的一个体现;用户自定义约束条件的不同,导致评分权重分布不同,影响优化方向;
设定语数英从早到晚8节课的得分情况为8到1,副科和自习从早到晚8节课得分情况为1到8;“3+3”所涉及科目不涉及评分,因为语数英被分配到早上,副科和自习被分配到晚上,其他科目此时自动被分配到一天的中间时段;将一组课表中所有时间段的得分求和后,将分数先除以班级数,再除以159,再乘以100,得到百分制的评分;
步骤8:设置新解产生机制;
新解产生的过程是随机交换固定次数的某两节课,交换过程中,如果满足硬约束条件与软约束条件则交换,如不满足则不交换;这要求随机选取的用于交换的两个时间段要在同一个班中,即教师与班级对应关系不变;因为新解产生的目的是满足用户自定义约束条件,如果以破坏硬约束条件和软约束条件为代价,则不符合优化的目的;
也认为,优先级从高到低分别为硬约束条件、软约束条件、用户自定义约束条件;在保证一定满足硬约束条件和软约束条件的基础上,尽可能满足用户自定义约束条件;
其中,硬约束条件为冲突问题,包括两点:两个教师不同时进入同一个班,以及同一个教师不同时到两个教室授课;软约束条件分为三个:每班每科目每天最多上一节课,总教师数最少,总教室数最少;用户自定义约束条件由用户决定,用评分模块体现,评分的数值反应排课结果与用户自定义约束条件的契合程度;
交换过程要保证换后每天每科目最多只有一节课,同时教师数最少,教室数最少;更新课表过程中,还要考虑副科的合班制,涉及副科要与合班的另一个班同时操作,要增添副科教室监督数组;副科教室监督矩阵作用是预防同一副科的两名教师同一时间段进入该副科对应的教室;
步骤9:每一代新解即新课表的评分高于旧解时,直接接受新解,即更新旧课表为新课表;当新解评分低于旧解时,则以变化概率接受差解,即新解与旧解差别大时大概率接受差解,新解与旧解差别小时小概率接受差解;在更新旧课表后,继续对更新后的旧课表进行变换得到下一代新解;变化概率的公式为:
Figure FDA0003006642570000031
步骤10:将步骤6得到的穷举法排课结果作为模拟退火算法的输入,重复步骤8和步骤9,直至模拟退火算法结果收敛,此时将模拟退火算法排课的结果作为最终输出;
步骤11:生成和打印课表,将班级-时间段课表和教室-时间段课表分别存入.csv文件。
CN201910247246.1A 2019-03-29 2019-03-29 基于模拟退火算法的新高考排课算法 Active CN110047023B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910247246.1A CN110047023B (zh) 2019-03-29 2019-03-29 基于模拟退火算法的新高考排课算法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910247246.1A CN110047023B (zh) 2019-03-29 2019-03-29 基于模拟退火算法的新高考排课算法

Publications (2)

Publication Number Publication Date
CN110047023A CN110047023A (zh) 2019-07-23
CN110047023B true CN110047023B (zh) 2021-05-28

Family

ID=67275508

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910247246.1A Active CN110047023B (zh) 2019-03-29 2019-03-29 基于模拟退火算法的新高考排课算法

Country Status (1)

Country Link
CN (1) CN110047023B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110458737B (zh) * 2019-08-20 2023-09-26 暨南大学 基于神经网络修改高校教务安排的方法、装置、设备及介质
CN110503269B (zh) * 2019-08-29 2022-08-26 华中师范大学 走班教学下的分班排课方法及装置
CN110738461B (zh) * 2019-10-10 2022-09-30 青岛海信商用显示股份有限公司 排课方法及设备
CN111079976B (zh) * 2019-11-15 2023-09-01 珠海丰实科技有限责任公司 基于改进模拟退火与爬山算法混合搜索的排课方法
CN111898989A (zh) * 2020-07-31 2020-11-06 四川千百年科技有限公司 一种基于np完全问题延伸的七爻组班方法
CN112037101B (zh) * 2020-11-06 2021-02-26 深圳英之泰教育科技有限公司 基于退火算法的课程自动配置方法、装置和计算机设备
CN113269532B (zh) * 2021-06-08 2022-02-18 武汉拓森信息科技有限责任公司 一种基于紧迫度和回溯算法的高校排课方法
CN114565152A (zh) * 2022-02-25 2022-05-31 合肥卓瑞信息技术有限公司 一种基于模拟退火算法的优化后智能排课方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319781A (en) * 1991-05-03 1994-06-07 Bolt Beranek And Newman Inc. Generation of schedules using a genetic procedure
JP2001175639A (ja) * 1999-12-16 2001-06-29 Fujitsu Fip Corp スケジュール作成装置並びにスケジュール作成プログラムを記録した記録媒体
CN107610012A (zh) * 2017-09-22 2018-01-19 皇晓琳 一种选课和排课系统及其选课和排课方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104700251B (zh) * 2015-03-16 2018-02-02 华南师范大学 一种车辆调度问题的改进最大‑最小蚁群优化方法及系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5319781A (en) * 1991-05-03 1994-06-07 Bolt Beranek And Newman Inc. Generation of schedules using a genetic procedure
JP2001175639A (ja) * 1999-12-16 2001-06-29 Fujitsu Fip Corp スケジュール作成装置並びにスケジュール作成プログラムを記録した記録媒体
CN107610012A (zh) * 2017-09-22 2018-01-19 皇晓琳 一种选课和排课系统及其选课和排课方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
一种改进的模拟退火算法求解中学排课问题;高健; 高培;《工业计量》;20180725;第72-75、91页 *

Also Published As

Publication number Publication date
CN110047023A (zh) 2019-07-23

Similar Documents

Publication Publication Date Title
CN110047023B (zh) 基于模拟退火算法的新高考排课算法
CN110020831B (zh) 基于粒子群算法的新高考排课方法
MirHassani et al. Solution approaches to the course timetabling problem
Burke et al. Automated university timetabling: The state of the art
Clark et al. The Hidden World of Teaching: Implications of Research on Teacher Planning. Research Series No. 77.
Carrasco et al. A multiobjective genetic algorithm for the class/teacher timetabling problem
CN109961189A (zh) 基于遗传算法的新高考排课算法
CN110503269B (zh) 走班教学下的分班排课方法及装置
CN110837976B (zh) 一种走班制下智能选科分班方法及系统
CN102222155A (zh) 一种在多约束条件下高效分班、排课的方法
CN110659819A (zh) 一种新高考模式下选课走班的自动排课系统
Movchan et al. THE ROLE OF ELECTIVE COURSES IN STUDENTS’PROFESSIONAL DEVELOPMENT: FOREIGN EXPERIENCE
Caena et al. Weaving the fabric: Teaching and teacher education ecosystems
CN109472410B (zh) 一种动态智能分班排课方法
Burke et al. The automation of the timetabling process in higher education
Mushi Tabu search heuristic for university course timetabling problem
Elen et al. SOLVING OF SCHEDULING PROBLEM WITH HEURISTIC OPTIMIZATION APPROACH.
Hosny et al. A mutation-based genetic algorithm for room and proctor assignment in examination scheduling
Chan et al. Co-evolutionary algorithm approach to a university timetable system
Saat et al. The examination timetabling problem based on expert system: a case study in malaysia
Ferdoushi et al. Highly constrained university course scheduling using modified hybrid particle swarm optimization
Constantino et al. Iterated heuristic algorithms for the classroom assignment problem
Wyne et al. Multi-Semester Course Staffing Optimization
Kocheva et al. In quest of the third learning space
Ossai et al. Resolving timetable scheduling problem based on bio-inspired genetic algorithm

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