CN110020831A - 基于粒子群算法的新高考排课算法 - Google Patents
基于粒子群算法的新高考排课算法 Download PDFInfo
- Publication number
- CN110020831A CN110020831A CN201910247012.7A CN201910247012A CN110020831A CN 110020831 A CN110020831 A CN 110020831A CN 201910247012 A CN201910247012 A CN 201910247012A CN 110020831 A CN110020831 A CN 110020831A
- Authority
- CN
- China
- Prior art keywords
- class
- teacher
- school timetable
- constraint condition
- row
- 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.)
- Granted
Links
- 239000002245 particle Substances 0.000 title claims abstract description 33
- 238000009826 distribution Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 42
- 230000009467 reduction Effects 0.000 claims description 31
- 239000011159 matrix material Substances 0.000 claims description 18
- 238000005457 optimization Methods 0.000 claims description 16
- 230000007246 mechanism Effects 0.000 claims description 14
- 230000008569 process Effects 0.000 claims description 14
- 230000003442 weekly effect Effects 0.000 claims description 14
- 238000012552 review Methods 0.000 claims description 9
- 230000008859 change Effects 0.000 claims description 8
- 230000000694 effects Effects 0.000 claims description 8
- 238000012545 processing Methods 0.000 claims description 7
- 235000013399 edible fruits Nutrition 0.000 claims description 4
- 238000013507 mapping Methods 0.000 claims description 3
- 230000007115 recruitment Effects 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000013528 artificial neural network Methods 0.000 abstract description 2
- 230000033228 biological regulation Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 238000002922 simulated annealing Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010054949 Metaplasia Diseases 0.000 description 1
- 230000003466 anti-cipated effect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000032798 delamination Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 235000013305 food Nutrition 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002068 genetic effect Effects 0.000 description 1
- 238000011835 investigation Methods 0.000 description 1
- 238000005304 joining Methods 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000015689 metaplastic ossification Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000003860 storage Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- 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
- G06Q10/109—Time management, e.g. calendars, reminders, meetings or time accounting
- G06Q10/1093—Calendar-based scheduling for persons or groups
-
- 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
Landscapes
- Business, Economics & Management (AREA)
- Engineering & Computer Science (AREA)
- Human Resources & Organizations (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- Theoretical Computer Science (AREA)
- Tourism & Hospitality (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Educational Technology (AREA)
- Educational Administration (AREA)
- Computational Linguistics (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Evolutionary Computation (AREA)
- Biophysics (AREA)
- Primary Health Care (AREA)
- Computing Systems (AREA)
- Molecular Biology (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
基于粒子群算法的新高考排课算法属于神经网络领域,运用粒子群算法,解决了新高考“3+3”模式中的排课问题,结合教育部所规定的教师授课计划,考虑到中学排课的实际应用情况,得到最优化处理后的令人满意的随机排课结果。本发明满足新高考政策下排课问题的硬约束条件,保证同一教师不同时出现在两个教室且无多名教师同时出现在一个班的情况。本发明能满足新高考政策下排课问题的软约束条件,保证每班每科目每天最多一节课,教学计划同步推进,保证所需教师数和教室数最少,将教学资源合理分配,减少教师和教室冗余。本发明满足新高考政策下排课问题的用户自定义约束条件,输入科目与时间段对应的得分权重后,排课结果向用户输入条件方向移动。
Description
技术领域:
本发明属于神经网络领域,设计实现一种新高考政策下运用粒子群算法进行排课的方法。
背景技术:
随着我国教育事业的不断发展,计算机智能排课系统在教务信息管理系统中得到越来越广泛的应用。排课的本质就是为所有的课程安排一组适当的教学时间和地点,使教学工作能够顺利进行。排课问题是各学校在教学资源管理、最优化配置上面临的主要难题。新高考政策下的排课难度更大。
新高考政策许可考生从“史地政物化生”这六门课程中选取三门课程作为自己的考试科目,而不再仅仅受限于只能选文科或者理科。这样提高了学生选择的自由度,可以最大程度发挥学生的特点。学生选择自己擅长的三门课程参加高考以后,剩余的三科只需要通过会考即可,但同时带来的问题就是学校需要为他们开设不同选课模式的班级,大幅度增加了学校教务处的排课任务。
排课问题已经被证明是NP完全问题。针对于原始排课问题,有不少学者运用穷举法、模拟退火算法、遗传算法、蚁群算法等方法进行实现,可以达到较好的效果。但针对新高考政策下的排课问题,目前没有较成熟的实现方法。在侯发毅学者《基于3+3新高考模式下的走班教学管理系统设计与实现》中,虽对新高考政策的概念进行了阐述,并用UML建模的方法实现了走班教学管理系统,但该系统主要是通过对选课信息进行整理,自动排课后如果效果不好还需要人工调整,也就是说该系统中排课模块不具备自动优化功能。我们可以认为该系统更偏向于系统信息管理,排课模块并不完善。同时,智能排课目的就是要避免人工参与,如果不能得到资源配置合理的最优课表,那么排课的结果就不具有意义。除此以外,再无学者对新高考政策下的排课问题进行研究。
目前,粒子群算法被广泛应用于最优化问题。粒子群算法和模拟退火算法相似,它也是从随机解出发,通过迭代寻找最优解,它也是通过适应度来评价解的品质,但它比遗传算法规则更为简单,它通过追随当前搜索到的最优值来寻找全局最优。粒子群算法优势在于容易实现、精度高、收敛快。另外,粒子群算法是一种并行算法。针对于排课问题,本发明通过粒子群算法,寻找最优课表。
排课问题的约束条件分为三类:硬约束调价,软约束条件,用户自定义约束条件。其中硬约束条件包括:同一位教师同一时间不能在不同班级上课,同一个班级同一时间只能安排一门课,每个班级必须有一个班主任等。软约束调价包括:所需教师总数最少,所需教室总数最少,某科目不出现连堂或者不在一天上多节课等。用户自定义约束条件指排课系统使用者添加的特殊限制条件。本发明规定用户自定义约束条件为:副科和自习尽量不出现在上午,语数英尽量不出现在下午。当一组课表可以满足硬约束条件,才具有应用价值。在此基础上,课表越满足软约束条件,则越符合实际情况。在满足硬约束条件和软约束条件的情况下,课表越满足用户自定义约束条件,则课表的用户满意度越高,我们认为该课表越优。
在新高考政策下解决排课问题时,我们会遇到随之而来的更严峻的挑战。如果使用穷举法排课,无法得到随机结果,也就无法进行最优化处理,此时我们判断课表优劣后如果不满意就需要人为进行修改,与智能排课的目的相违背。
在新高考政策下,如果进行部分走班制排课,那么走班时间固定,在该时间内的课间学生们在楼道中忙于换教室。相比于课间长校园大的大学来说,在中学进行部分走班制显然不符合实际。同时,我们还要将优质教师资源分配给高水平的学生,这就要求我们对学生进行分层教学。综合考虑,我们必须对教学班进行排课,将所选三科相同的学生分到一个班,再对教师和教室资源进行分配。
我们先考虑教师资源,教师数量就意味着学校的开销,我们希望教师资源充分利用,尽量不出现有很多教师课时数远远不达标的情况。因为不同班级涉及的“3+3”教师不同,所选三科与未选三科的教师针对同一个班的授课数不同,所选三科与未选三科的教师所需带班数不同,所以进行随机排课困难重重。在随机排课时,如果不考虑教师数量,可以轻松得到排课结果。如果兼顾教师数最少,当出现两个班都需要某教师上课且两个班其他课程已安排只剩同一个时间段时,由于同一个教师不能同时到两个教室上课,程序可能会陷入死循环,此时排课失败。
在考虑教室资源时,我们可以发现学生数量就决定了班级数,在教学楼中的教室数无需优化。但对于阅读课,音乐课,体育等副科,如果我们不将不同班级的上课时间错开,就需要很多音乐教室,甚至还要扩建操场,显然这是不符合实际的。所以我们要基于副科教室数最少进行排课。
首先,粒子群算法的输入是随机解(不一定满足条件),随着优化过程不断进行,最终得到符合要求的解。针对于新高考排课问题,符合要求的随机解产生是有困难的,但不加限制的产生随机解会给优化过程的控制条件带来极大困难。如果优化过程不能成功找到全局最优,对实际情况来说就是资源分配的冗余,需要付出更多财力人力物力。通过优化过程去控制条件是有风险的,因为如果人为检查最终课表是否符合要求,其工作量不亚于手动排课。如果等课表实施再发现bug会造成不必要的损失。对于优化算法来说,输入的产生是困难的。
其次,原始排课问题优化算法的输入限制条件较少,因为每个班都上一样的课,授课时间有冲突的教师可以给其他班授课。对于新高考排课问题,有些教师只需要给某两个班上课,如果其中一个班时间冲突,该名教师就处于半闲置状态,与此同时还需要该科目的另外一名教师,对于学校来说这是资源分配的不合理。
如果采用穷举法,输入确定时其输出固定,就算给输出添加评分系统,当课表无法让人满意时也无法改变。所以对于穷举法来说,产生高质量的输出是困难的。
原始排课问题穷举法可以得到很好的效果是因为所有班上课的科目相同,人为可以设计出一套完整的排课模板来满足需求。但新高考模式下不同选课模式班级数量不确定,这就会导致无法用一个模板解决全部问题。
不对新高考排课问题进行深入思考,是无法创造性地将穷举法与粒子群算法结合,各取优势又能分别克服它们的难点。对于穷举法排课,本发明使用了4套模板,其中模板的选取和排布都经过缜密思考,可以得到符合要求的穷举法排课输出。将确定解作为优化算法的输入,其每一步更新条件都需要深入思考,包括变化,监督,比较,更新,最终各个模块的困难都被一一克服。
针对于新高考问题来说,分别使用穷举法或粒子群算法排课想要得到高水平的课表都不简单。只有深入研究才可能将它们创造性地结合。结合之后还有诸多问题,需要不断解决,才能在新高考政策下进行排课并得到高水平的排课结果。
发明内容
针对目前新高考政策下智能排课的难题,本发明通过结合穷举法与粒子群算法,先得到满足软约束条件和硬约束条件的可行性课表,然后对其进行粒子群算法优化处理使课表契合用户自定义约束条件,最终得到高质量的教师数最少且教室数最少的随机课表,同时可保证教学进度同时推进以及每科目每班每天只有一节课。
算法主要流程可分为以下14步:
步骤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:初始种群产生。以穷举法的排课结果作为输入,分别产生30个新解,将这30组不同的课表作为初始种群。此时历史最优解为穷举法排课结果。
步骤10:对种群的个体分别进行评分,用当前代评分最高的个体更新当前代最优解。比较当前代最优解和历史最优解,如果当前代最优解的评分高于历史最优解的评分,则用当前代最优解更新历史最优解。
步骤11:淘汰机制。保留评分前20的个体,淘汰评分后10的个体。淘汰的10个个体,5个用当前代最优解替代,5个用历史最优解替代。
步骤12:种群更新。以历经淘汰机制选择的种群为输入,种群中个体各自产生新解,形成下一代新种群。
步骤13:重复步骤10到步骤12,直至粒子群算法结果收敛(历经数代历史最优无变化),此时将粒子群算法排课的结果作为最终输出。
步骤14:生成和打印课表,将班级-时间段课表和教室-时间段课表分别存入.csv文件。
效果及优点:
1)本发明运用粒子群算法,解决了新高考“3+3”模式中的排课问题,可以得到最优化处理后的随机排课结果。
2)本发明能满足新高考政策下排课问题的硬约束条件,保证同一教师不同时出现在两个教室且无多名教师同时出现在一个班的情况。
3)本发明能满足新高考政策下排课问题的软约束条件,保证每班每科目每天最多一节课,教学计划同步推进。同时保证所需教师数和教室数最少,将教学资源合理分配,减少教师和教室冗余。
4)本发明能满足新高考政策下排课问题的用户自定义约束条件,输入科目与时间段对应的得分权重后,粒子群算法的排课结果向用户输入的条件移动。
5)本发明基于教育部的新高考政策,结合教育部所规定的教师授课计划,考虑到中学排课的实际应用情况,运用粒子群算法对穷举法排课结果进行最优化处理,得到令人满意的随机课表。
附图说明:
方法流程图如图1所示,新高考政策下粒子群算法排课的界面如图2-3所示,排课结
果如图4-6所示。
图1方法流程图
图2粒子群算法排课系统主界面
图3粒子群算法排课系统输入界面
图4粒子群算法排课结果存入.CSV文件
图5all_class.csv文件预览
图6all_teacher.csv文件预览
具体实施方式:
下面将对本发明的一些技术细节进一步详细说明。
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.初始种群产生
本系统将穷举法排课的最终结果作为粒子群算法的输入,在满足排课问题中硬约束条件和软约束条件的基础上,随机交换固定次数的原TS_TB_class课表中某两节课,产生30个不同的个体,同时生成30个对应的TS_TB_teacher教师监督矩阵。因为涉及副科的特殊教室,我们还需要设置30个对应的特殊教室监督矩阵。
3.种群更新机制
种群中30个个体分别以当代解为输入,历经新解产生机制,各自产生新解,即产生下一代新种群。
4.更新历史最优
当新种群产生后,对种群中每个个体进行单独评分,用当前代评分最高的个体更新前代最优解。
比较当前代最优解与历史最优解,如果当前代最优解评分高于历史最优解评分,则用当前代最优解更新历史最优解。
如果历史最优解满足算法结束条件时,算法优化过程结束。反之,不断循环,直至评分收敛。
5.淘汰机制
在种群不断寻找食物的过程中(寻找全局最优解的过程),种群中每个个体并行优化,同时保留历史最优解和当前代最优解。
本系统的淘汰机制为:淘汰每代中评分最低的10个个体,其中5个用历史最优解替代,另外5个用当前代最优解代替。然后,历经淘汰机制选择后的种群继续产生下一代新种群。
6.算法终止条件
经过长期实验,我们发现由于不同班课表之间相互影响相互制约,无论输入情况如何变化,新高考粒子群算法排课的最终评分都在55~80之间。本系统设置当得分高于85或连续1000代评分及课表不变时,判定粒子群算法排课终止。
7)课表生成与打印
1.课表生成
我们将穷举法的排课结果作为粒子群算法的输入,将粒子群算法的输出作为最终的排课结果。
2.课表打印
我们将排课结果打印在.CSV文件中,需要注意原教师二维矩阵与班级二维矩阵与打印的课表位置对应关系。
在输出班级-时间段课表时,我们要显示对应的教师及地点信息,特别注意“3+3”教师应分别标注A和B,来区分被选中或未被选中。
在输出教师-时间段课表时,我们要显示对应的班级及地点信息,特别注意副科教师所带班级为单班还是合班。
Claims (1)
1.基于粒子群算法的新高考排课算法,其特征在于,分为以下14步:
步骤1:输入不同选课模式班级数量;作为系统的输入,班级总数最大值为40;
步骤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个科目,每个科目对应模板中几个固定的实际时间段;降维后的时间段维数与科目数相同;
步骤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:初始种群产生;
以穷举法的排课结果作为输入,分别产生30个新解,将这30组不同的课表作为初始种群;此时历史最优解为穷举法排课结果;
步骤10:对种群的个体分别进行评分,用当前代评分最高的个体更新当前代最优解;比较当前代最优解和历史最优解,如果当前代最优解的评分高于历史最优解的评分,则用当前代最优解更新历史最优解;
步骤11:淘汰机制;保留评分前20的个体,淘汰评分后10的个体;淘汰的10个个体,5个用当前代最优解替代,5个用历史最优解替代;
步骤12:种群更新;以历经淘汰机制选择的种群为输入,种群中个体各自产生新解,形成下一代新种群;
步骤13:重复步骤10到步骤12,直至粒子群算法结果收敛,此时将粒子群算法排课的结果作为最终输出;
步骤14:生成和打印课表,将班级-时间段课表和教室-时间段课表分别存入.csv文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910247012.7A CN110020831B (zh) | 2019-03-29 | 2019-03-29 | 基于粒子群算法的新高考排课方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910247012.7A CN110020831B (zh) | 2019-03-29 | 2019-03-29 | 基于粒子群算法的新高考排课方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110020831A true CN110020831A (zh) | 2019-07-16 |
CN110020831B CN110020831B (zh) | 2021-03-16 |
Family
ID=67190285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910247012.7A Active CN110020831B (zh) | 2019-03-29 | 2019-03-29 | 基于粒子群算法的新高考排课方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110020831B (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458737A (zh) * | 2019-08-20 | 2019-11-15 | 暨南大学 | 基于神经网络修改高校教务安排的方法、装置、设备及介质 |
CN110738461A (zh) * | 2019-10-10 | 2020-01-31 | 青岛海信商用显示股份有限公司 | 排课方法及设备 |
CN111079976A (zh) * | 2019-11-15 | 2020-04-28 | 珠海丰实科技有限责任公司 | 基于改进模拟退火与爬山算法混合搜索的排课方法 |
CN111091344A (zh) * | 2019-11-15 | 2020-05-01 | 珠海丰实科技有限责任公司 | 基于爬山算法与并行扰动混合搜索的排课方法 |
CN111178751A (zh) * | 2019-12-27 | 2020-05-19 | 广东宜教通教育有限公司 | 新高考走班智能排课方法、系统、计算机设备及存储介质 |
CN112417748A (zh) * | 2020-11-19 | 2021-02-26 | 苏州浪潮智能科技有限公司 | 一种调度自动驾驶仿真任务的方法、系统、设备及介质 |
CN112766586A (zh) * | 2021-01-26 | 2021-05-07 | 绍兴文理学院 | 基于分步渐进策略的多目标优化排考方法及系统 |
CN113269532A (zh) * | 2021-06-08 | 2021-08-17 | 武汉拓森信息科技有限责任公司 | 一种基于紧迫度和回溯算法的高校排课方法 |
CN115146839A (zh) * | 2022-06-22 | 2022-10-04 | 闽江学院 | 基于数位型群落化与迁移机制萤火虫算法的排课方法 |
CN116797423A (zh) * | 2023-08-23 | 2023-09-22 | 湖南强智科技发展有限公司 | 一种基于全局优化的高校自动快速排课方法与系统 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120046986A1 (en) * | 2010-08-18 | 2012-02-23 | Hannon Meaghan | Optimizing organization and display of scheduling classes |
CN104217118A (zh) * | 2014-09-12 | 2014-12-17 | 河海大学常州校区 | 一种船舶引航排班问题模型与求解方法 |
US20150235561A1 (en) * | 2014-02-19 | 2015-08-20 | Pearson Education, Inc. | Dynamic and individualized scheduling engine for app-based learning |
CN105976156A (zh) * | 2016-04-25 | 2016-09-28 | 北京高思博乐教育科技有限公司 | 排课方法 |
CN106296042A (zh) * | 2016-09-28 | 2017-01-04 | 枣庄学院 | 面向高校工程实训中心的教学与生产管理信息系统 |
CN109255512A (zh) * | 2018-07-12 | 2019-01-22 | 浙江工业大学 | 一种基于蒙特卡洛遗传算法的高校排课方法 |
-
2019
- 2019-03-29 CN CN201910247012.7A patent/CN110020831B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120046986A1 (en) * | 2010-08-18 | 2012-02-23 | Hannon Meaghan | Optimizing organization and display of scheduling classes |
US20150235561A1 (en) * | 2014-02-19 | 2015-08-20 | Pearson Education, Inc. | Dynamic and individualized scheduling engine for app-based learning |
CN104217118A (zh) * | 2014-09-12 | 2014-12-17 | 河海大学常州校区 | 一种船舶引航排班问题模型与求解方法 |
CN105976156A (zh) * | 2016-04-25 | 2016-09-28 | 北京高思博乐教育科技有限公司 | 排课方法 |
CN106296042A (zh) * | 2016-09-28 | 2017-01-04 | 枣庄学院 | 面向高校工程实训中心的教学与生产管理信息系统 |
CN109255512A (zh) * | 2018-07-12 | 2019-01-22 | 浙江工业大学 | 一种基于蒙特卡洛遗传算法的高校排课方法 |
Non-Patent Citations (2)
Title |
---|
周静: ""离散粒子群算法在高校智能排课系统中的应用研究"", 《科技信息》 * |
王超: ""基于离散粒子群算法的机房排课问题研究"", 《计算机光盘软件与应用》 * |
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110458737A (zh) * | 2019-08-20 | 2019-11-15 | 暨南大学 | 基于神经网络修改高校教务安排的方法、装置、设备及介质 |
CN110458737B (zh) * | 2019-08-20 | 2023-09-26 | 暨南大学 | 基于神经网络修改高校教务安排的方法、装置、设备及介质 |
CN110738461B (zh) * | 2019-10-10 | 2022-09-30 | 青岛海信商用显示股份有限公司 | 排课方法及设备 |
CN110738461A (zh) * | 2019-10-10 | 2020-01-31 | 青岛海信商用显示股份有限公司 | 排课方法及设备 |
CN111079976A (zh) * | 2019-11-15 | 2020-04-28 | 珠海丰实科技有限责任公司 | 基于改进模拟退火与爬山算法混合搜索的排课方法 |
CN111091344A (zh) * | 2019-11-15 | 2020-05-01 | 珠海丰实科技有限责任公司 | 基于爬山算法与并行扰动混合搜索的排课方法 |
CN111091344B (zh) * | 2019-11-15 | 2023-09-22 | 珠海丰实科技有限责任公司 | 基于爬山算法与并行扰动混合搜索的排课方法 |
CN111079976B (zh) * | 2019-11-15 | 2023-09-01 | 珠海丰实科技有限责任公司 | 基于改进模拟退火与爬山算法混合搜索的排课方法 |
CN111178751A (zh) * | 2019-12-27 | 2020-05-19 | 广东宜教通教育有限公司 | 新高考走班智能排课方法、系统、计算机设备及存储介质 |
CN111178751B (zh) * | 2019-12-27 | 2024-01-23 | 广东宜教通教育有限公司 | 新高考走班智能排课方法、系统、计算机设备及存储介质 |
CN112417748B (zh) * | 2020-11-19 | 2022-06-21 | 苏州浪潮智能科技有限公司 | 一种调度自动驾驶仿真任务的方法、系统、设备及介质 |
CN112417748A (zh) * | 2020-11-19 | 2021-02-26 | 苏州浪潮智能科技有限公司 | 一种调度自动驾驶仿真任务的方法、系统、设备及介质 |
CN112766586A (zh) * | 2021-01-26 | 2021-05-07 | 绍兴文理学院 | 基于分步渐进策略的多目标优化排考方法及系统 |
CN113269532A (zh) * | 2021-06-08 | 2021-08-17 | 武汉拓森信息科技有限责任公司 | 一种基于紧迫度和回溯算法的高校排课方法 |
CN115146839A (zh) * | 2022-06-22 | 2022-10-04 | 闽江学院 | 基于数位型群落化与迁移机制萤火虫算法的排课方法 |
CN116797423A (zh) * | 2023-08-23 | 2023-09-22 | 湖南强智科技发展有限公司 | 一种基于全局优化的高校自动快速排课方法与系统 |
CN116797423B (zh) * | 2023-08-23 | 2023-11-14 | 湖南强智科技发展有限公司 | 一种基于全局优化的高校自动快速排课方法与系统 |
Also Published As
Publication number | Publication date |
---|---|
CN110020831B (zh) | 2021-03-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110020831A (zh) | 基于粒子群算法的新高考排课算法 | |
CN110047023A (zh) | 基于模拟退火算法的新高考排课算法 | |
CN109961189A (zh) | 基于遗传算法的新高考排课算法 | |
Nematillaevna | Methods for the formation of competencies in the technology of teaching students basic didactic units among mathematics teachers | |
Shu | Education in Cameroon | |
Caena et al. | Weaving the fabric: Teaching and teacher education ecosystems | |
Connor | The past is prologue: Teacher preparation in special education | |
CN110210649A (zh) | 校园走班排课方法及系统 | |
Sunarsi et al. | Management of Human Resource (HR) Empowerment Planning in Schools | |
Javkhlan et al. | Overview of the education system in Mongolia | |
Varga et al. | Teaching course on algorithms and data structures during the coronavirus pandemic | |
Reynolds et al. | The practice of freedom: A historical analysis of critical perspectives in the social foundations | |
Cormack | ‘Pupils differently circumstanced and with other aims': governing the post-primary child in early twentieth-century Australia | |
Arinushkina et al. | Public and Professional Discussion on the Results of the Updated Content of Subject Education: Approaches in Primary General and Basic General Education | |
Chan et al. | Co-evolutionary algorithm approach to a university timetable system | |
Lane | A description, analysis and evaluation of three approaches to the teaching of reading | |
Arendale | Postsecondary peer cooperative learning programs | |
Ulloa et al. | Active learning and cdio implementation in colombia | |
Fägerlind et al. | DAJ. | |
Lourie | Educational planning. | |
Erdos et al. | Assuring teaching quality in Hungary | |
Terziev | Competence model for social adaptation of servicemen, discharged from military service | |
Farrington | Collective Efficacy across Multiple Elementary Schools | |
Patterson et al. | DEVELOPING A CORE CURRICULUM FOR THE 21 ST CENTURY | |
Whitfield et al. | Middle school staff development |
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 |