一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种兼容多种个性化分班需求的新高考行政班分班方法与流程

2021-11-18 00:07:00 来源:中国专利 TAG:


1.本发明涉及新高考分班技术领域,特别是涉及一种兼容多种个性化分班需求的新高考行政班分班方法。


背景技术:

2.随着新高考改革在各个省份的推行,摒弃了传统的文理只分成两个课程系列的模式(文科为政治、历史、地理,理科为物理、化学、生物),每个学生需要根据自身能力水平和兴趣从6门课(浙江省为7门,包括技术)中任选三门作为高考科目,这造成了每个学生的选课组合由原来的2种变成20种甚至35种。“走班制”模式以行政班为单位,大部分课程在行政班上课,例如语文、数学、英语、美术、音乐、体育、班会以及该行政班所有学生均选择的选考科目等,还有一部分课程要求学生去其他教学班上课,例如政治、历史、地理、物理、化学和生物等。
3.在该种教学模式下,行政班分班涉及到的难度呈指数级增加,一是因为每个学生的选课组合多种多样,多个学生的选课组合则成指数级增长,而学校的教室以及教师资源有限,亟需一种智能、高效的能在短时间之内获取合理的行政班班分班方案,二是因为多种个性化的定制需求(班级成绩均衡、男女均衡、特长生均衡、住校生均衡等等)带来的算法搜索空间维度扩大以及最优解搜索的难度激增。该问题本质上是一个np

难问题,用传统的基于人工手动分班、调整的方法效率太低,有些学校学生数据量较大,人工方式甚至已经无法完成一个合理有效的分班任务,对学校的日常教学管理带来了极大的挑战。此外,多种均衡条件的设置大大增加了问题的复杂度,传统方法由于智能化程度较低,已经难以得到同时满足多个条件的最优解,亟需一种可以兼容多种个性化分班需求、根据学生基础信息(姓名、学号、性别)、选课科目、各科成绩、各项标签,通过满足各种规则条件的均衡、结合一定班额范围,划分出学生所在行政班的“新高考”行政班分班算法。


技术实现要素:

4.针对现有技术中存在的缺陷,本发明的目的在于提供一种兼容多种个性化分班需求的新高考行政班分班方法。
5.为了达到上述目的,本发明所采用的具体技术方案如下:
6.一种兼容多种个性化分班需求的新高考行政班分班方法,基于定二走一选课模式,具体包括以下步骤:
7.s1,初步分班:根据学生基础数据进行初步分班,每个班符合定二走一且班级人数满足班额要求;
8.s2,均衡优化:根据用户设定的规则调用均衡函数对分班结果进行优化;
9.s3,问题优化:对分班结果进行进一步的优化。
10.优选的,步骤s1初步分班中设有初步分班函数,初步分班函数的输入为学生的基础数据student_info和用户设置规则数据rule_info,输出为分班结果classes,具体包括
以下步骤:
11.s110,设置参数krange和maxiter的初始化值,参数krange为控制算法的寻优空间,参数maxiter为迭代次数;
12.s120,根据学生的基础数据student_info、用户设置规则数据rule_info和参数krange 进行一次分班;
13.s130,在每一轮迭代中进行设定次数的分班和分班调整,若分班调整的最优解满足终止条件则停止迭代,否则参数krange加一后开启新一轮迭代;
14.s140,返回最优解为分班结果。
15.优选的,步骤s120具体包括以下步骤:
16.s121,
17.s122,若有学生未分班,则进行以下循环:
18.统计所有的固2组合的人数并排序,从人数最多的前krange个组合中随机选择一种进行成班;若被选择的组合人数大于最大班额,则优先选择人数较少的选课组合成班temp_class;若被选择的组合人数大于最小班额且小于最大班额,则直接成班temp_class;若被选择的组合人数小于最小班额,则将剩余的所有人放在一个班级temp_class;classes=classes∪temp_class;若未分班的人数小于最小班额,则将剩余的人数成班作为classes的最后一个班级,跳出循环;
19.s123,返回分班结果classes。
20.优选的,步骤s130分班调整包括分班调整函数,输入为一次分班后的分班结果和学生的基础数据student_info,输出为调整后的分班结果;具体包括以下步骤:
21.统计所有未能按照定二走一成班的人中所有的固2组合人数,将人数最多的组合作为新班级的固2科目,并将这部分学生并入新班级中;
22.将其余班级的学生调整到新班级中,使得新班级的人数大于最小班额;
23.将未成班的人调整到其余班级中;
24.动态调整各个班级的人数,使其处于设定阈值范围内;
25.若有学生未成班则并入新班级中;
26.返回调整后的分班结果classes。
27.优选的,步骤s2根据用户设定的规则调用均衡函数对分班结果进行优化具体指的是
28.根据用户设定的规则调用成绩均衡函数、性别均衡函数和标签均衡函数中的一种或多种对分班结果进行优化。
29.优选的,成绩均衡函数具体包括以下步骤:
30.找出所有具有相同固2科目的班级,若具有相同固2科目的班级个数大于等于2,则将这些班级的学生按照成绩进行排序,按照u型分班策略重新分班,返回均衡后的分班结果。
31.优选的,性别均衡函数具体包括以下步骤:
32.统计所有班级的男女比例和年级平均男女比例,动态调整所有班级的性别比例,返回均衡后的分班结果。
33.优选的,标签均衡函数具体包括以下步骤:
34.逐个遍历所有班级,若该班级具有标签的学生人数大于全年级平均具有标签的学生人数,则将该班级中具有标签的学生调整到其他标签人数少于年级平均值的班级中,返回均衡后的分班结果。
35.优选的,步骤s3问题优化:对分班结果进行进一步的优化具体指的是
36.遍历每个班级,将班级中选课组合与其他班级中选课组合进行人数均衡,对分班结果进行进一步的优化。
37.本发明的有益效果在于:能根据学生基础信息,通过满足各种规则条件的均衡、结合一定班额范围,划分出学生所在行政班,该方法智能高效,能够满足绝大多数学校的分班时间要求。
附图说明
38.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
39.图1是本发明一种兼容多种个性化分班需求的新高考行政班分班方法的流程图。
具体实施方式
40.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的其他实施例,都属于本发明保护的范围。
41.行政班就是传统意义上的班级概念,也即学生学籍关系所在的班级。在行政班开设的课程,通常行政班所有人都需要上,如语数英美术体育等。由于当前定二走一是目前大多数学校都采用的一种选课模式,因此本发明针对定二走一模式进行算法介绍。
42.定二走一介绍:
43.定二走一指两门选考科目相同的学生组成行政班,语数外三门必考科目,以及两门选考科目和其他科目在行政班上课,剩下一门选考科目在教学班上课。(学考如何固定和走班取决于行政班的组合情况)。exp:物化生 物化政 物化地,组成一个行政班。则物化可以在行政班上课,各个学生分别要走生、政、地的选考。
44.如图1所示,本发明提出了一种兼容多种个性化分班需求的新高考行政班分班方法,基于定二走一选课模式,具体包括以下步骤:
45.s1,初步分班:根据学生基础数据进行初步分班,每个班符合定二走一且班级人数满足班额要求;首先满足优先级最高的需求,即每个班能定二走一且班级人数满足班额要求。
46.s2,均衡优化:根据用户设定的规则调用均衡函数对分班结果进行优化;根据用户设定的规则调用均衡函数对分班结果进行优化,如成绩均衡、标签均衡等。这里没有将分班过程和均衡过程融合在一起,一方面是对分班问题进行拆分以降低问题难度,另一方面规则的设定比较灵活,理论上用户可以设置任意多条规则,这样可以更好的满足用户的需求。
47.s3,问题优化:对分班结果进行进一步的优化。最后对分班结果进行进一步的优化,如消除每个班级学生的选课种类,避免班级出现选课人数特别少的组合等。
48.行政班分班函数如下所示:
49.输入:学生基础数据student_info,规则数据rule_info
50.输出:分班结果classes
51.1)利用find_fix2()得到分班结果
52.2)根据用户设置的多条规则(如成绩均衡、标签均衡),调用均衡函数
53.3)对分班结果进一步优化(如减少每个班级学生的选课种类)
54.4)返回classes
55.优选的,步骤s1初步分班中设有初步分班函数,初步分班函数的输入为学生的基础数据student_info和用户设置规则数据rule_info,输出为分班结果classes,具体包括以下步骤:
56.s110,设置参数krange和maxiter的初始化值,参数krange为控制算法的寻优空间,参数maxiter为迭代次数;
57.s120,根据学生的基础数据student_info、用户设置规则数据rule_info和参数krange 进行一次分班;
58.s130,在每一轮迭代中进行设定次数的分班和分班调整,若分班调整的最优解满足终止条件则停止迭代,否则参数krange加一后开启新一轮迭代;
59.s140,返回最优解为分班结果。
60.以下为定二走一的初步分班函数框架一个实施例,输入是学生的基础数据和用户设置的规则,krange用于控制算法的寻优空间,maxiter是算法的迭代次数,每轮迭代,krange会增加1(算法若在上一轮没有找到可行解,则下一轮迭代会扩大搜索范围)。在每一轮迭代中,会进行5000次分班,不断记录更优解,若满足终止条件(所有学生都成班)则停止迭代。其中find_classes()表示一次分班,adjustment()表示对分班结果进行调整,通常情况下,find_classes() 得到的分班结果难以满足所有人都成班(满足定二走一的要求),利用adjustment()进行调增可以有效的提高成班率。算法最终的返回值为分班结果。下面对find_classes()和adjustment()这两个重要的步骤进行详细解释。
61.输入:学生基础数据student_info,规则数据rule_info
62.输出:分班结果classes
63.1)krange初始化为4
64.2)maxiter初始化为5
65.3)classes=find_classes(student_info,rule_info,krange)
66.4)krange递加1共maxiter次
67.4.1)循环到5000次
68.4.1.1)temp_classes=find_classes(student_info,rule_info,krange)
69.4.1.2)temp_classes=adjustment(temp_classes,student_info)
70.4.1.3)若temp_classes优于classes,则用classes替换temp_classes
71.4.1.4)若满足终止条件,则停止迭代
72.5)返回classes
73.优选的,步骤s120具体包括以下步骤:
74.s121,
75.s122,若有学生未分班,则进行以下循环:
76.统计所有的固2组合的人数并排序,从人数最多的前krange个组合中随机选择一种进行成班;若被选择的组合人数大于最大班额,则优先选择人数较少的选课组合成班temp_class;若被选择的组合人数大于最小班额且小于最大班额,则直接成班temp_class;若被选择的组合人数小于最小班额,则将剩余的所有人放在一个班级temp_class;classes=classes∪temp_class;若未分班的人数小于最小班额,则将剩余的人数成班作为classes的最后一个班级,跳出循环;
77.s123,返回分班结果classes。
78.以下为find_classes()的基本流程的一个实施例,由于分班过程中有一定的随机性,因此进行了多次分班,选取成班率较高的结果。在选择成班组合的过程中,优先对选课人数较多的组合进行成班,一方面是压缩算法的搜索空间,另一方面,这种成班方法符合学校的实际需求(一般来说,选课人数较多的组合大概率是该学校的优势科目,那我们理应优先成班),并且从最终的结果来看,这种方案是有效的。
79.find_classes:
80.输入:学生基础数据student_info,规则数据rule_info,krange
81.输出:分班结果classes
82.1)
83.2)若有学生未分班,则进行以下循环
84.2.1)统计所有的固2组合的人数并排序
85.2.2)从人数最多的前krange个组合中随机选择一种进行成班
86.2.3)若被选择的组合人数大于最大班额,则优先选择人数较少的选课组合成班 temp_class;若被选择的组合人数大于最小班额且小于最大班额,则直接成班temp_class;若被选择的组合人数小于最小班额,则将剩余的所有人放在一个班级temp_class
87.2.4)classes=classes temp_class
88.2.5)若未分班的人数小于最小班额,则将剩余的人数成班作为classes的最后一个班级,跳出循环
89.3)返回classes
90.优选的,步骤s130分班调整包括分班调整函数,输入为一次分班后的分班结果和学生的基础数据student_info,输出为调整后的分班结果;在使用find_classes()得到分班结果之后,通常情况下最后一个班会存在一些未能按照定二走一成班的学生(除非数据的可分性特别好),因此提出了一项调整策略,目的就是为了使得这部分学生能成班,从实际的测试结果来看,这一策略能极大的提高成班率。以下为adjustment()的流程。具体包括以下步骤:
91.find_fix2:adjustment
92.输入:初步分班结果classes,student_info
93.输出:调整后的分班结果classes
94.1)统计所有未能按照定二走一成班的人中所有的固2组合人数,将人数最多的组
合作为最后一个班级(这里称为新班级)的固2科目,并将这部分人并入该班级中,这时会剩余一部分未能成班的人
95.2)尽可能的将其余班级的学生调整到新班级中,使得新班级的人数大于最小班额
96.3)尽可能的将未成班的人调整到其余班级中
97.4)动态调整各个班级的人数,避免出现大于最大班额的班级和小于最小班额的班级
98.5)若此时还有学生未成班,则将其作为最后一个班级
99.6)返回classes。
100.在完成初步分班之后,需要解析用户设置的均衡规则,调用均衡函数对分班结果进行均衡性的调整。对于多个均衡条件的处理,首先满足优先级最低的规则,然后按照优先级逐渐增加来进行处理,因为满足更高优先级规则的时候势必要破坏较低优先级的处理结果,因此按照这种策略我们可以尽可能满足最高的几个优先级条件,更加符合实际要求。以下介绍成绩、性别以及多种标签的均衡处理方法:
101.优选的,步骤s2根据用户设定的规则调用均衡函数对分班结果进行优化具体指的是
102.根据用户设定的规则调用成绩均衡函数、性别均衡函数和标签均衡函数中的一种或多种对分班结果进行优化。
103.优选的,针对定二走一的场景,目前的成绩均衡性优化主要针对固定相同科目的班级进行,成绩均衡函数具体包括以下步骤:
104.找出所有具有相同固2科目的班级,若具有相同固2科目的班级个数大于等于2,则将这些班级的学生按照成绩进行排序,按照u型分班策略重新分班,返回均衡后的分班结果。
105.均衡优化:成绩均衡
106.输入:classes,student_info
107.输出:均衡后的classes
108.1)找出所有具有相同固2科目的班级
109.2)若具有相同固2科目的班级个数大于等于2,则进行以下操作
110.2.1)将这些班级的学生按照成绩进行排序
111.2.2)按照u型分班策略重新分班
112.3)返回classes。
113.优选的,对全年级学生进行调整,参照年级的性别比例,动态调整所有班级的性别比例以达到均衡的目的。性别均衡函数具体包括以下步骤:
114.统计所有班级的男女比例和年级平均男女比例,动态调整所有班级的性别比例,返回均衡后的分班结果。
115.均衡优化:性别均衡
116.输入:classes,student_info
117.输出:均衡后的classes
118.1)统计所有班级的男女比例和年级平均男女比例(全年级男生人数/女生人数)
119.2)逐个对每个班级进行以下操作
120.3)若该班级男多女少(和全年级平均比例相比)
121.3.1)尽可能将该班级的男生与其他女多男少的班级的女生进行交换,或者直接将其调整至女多男少的班级,调整过程要注意班级固2科目的限制和班额限制
122.3.2)尽可能的将其他女多男少的班级的女生直接调整至该班级,注意固2科目限制和班额限制
123.4)若该班级女多男少,则进行与3)相反的操作
124.5)返回classes。
125.优选的,标签均衡针对所有学生进行动态调整,尽可能的使得所有的标签学生人数相近。标签均衡函数具体包括以下步骤:
126.逐个遍历所有班级,若该班级具有标签的学生人数大于全年级平均具有标签的学生人数,则将该班级中具有标签的学生调整到其他标签人数少于年级平均值的班级中,返回均衡后的分班结果。
127.均衡优化:标签均衡
128.输入:classes,student_info
129.输出:均衡后的classes
130.1)逐个遍历所有班级,进行以下操作
131.2)若该班级具有标签的学生人数大于全年级平均具有标签的学生人数(所有具有标签的学生人数除以班级个数),则尽可能将该班级中具有标签的学生调整到其他标签人数少于年级平均值的班级中,这个过程需要符合以下条件
132.2.1)若将班级a(高于年级平均值)具有标签的学生与班级b(低于年级平均值)不具有标签的学生进行交换,则进行交换的学生需要满足两个班级固2的要求
133.2.2)若将班级a具有标签的学生调整至班级b,则需要注意班级b的人数不能超过最大班额且班级a的人数不能小于最小班额
134.3)返回classes
135.优选的,步骤s3问题优化:对分班结果进行进一步的优化具体指的是
136.遍历每个班级,将班级中选课组合与其他班级中选课组合进行人数均衡,对分班结果进行进一步的优化。
137.在行政班分班的过程中,除了基础分班和均衡优化,还需要针对一些问题进行优化。比如消除一个班级中选课人数较少的组合。
138.消除一个班级中选课人数较少的组合是指,例如某个班级固2的科目是物理、化学,这个班级有选择物理、化学、生物的30人,物理、化学、地理的16人,物理、化学、历史的 4人。从学校的角度出发,虽然该班级已经满足了定二走一的要求,他们仍然不希望同一班级中出现物理、化学、历史只有4个人这种情况(主要还是考虑到每个学生的公平),这时就需要把物理、化学、历史这个组合想办法调整到其他的班级中(若全年级只有4个人选择该组合,则无法调整,因此最后的结果要结合实际,算法不一定能保证给出最优解)。最理想的情况就是每个班级中只有两种选课组合,且每种组合的人数适中。
139.以下为消除选课人数少的组合的基本过程,这里对2.2)操作做一个具体的说明以便于理解。举例来说,若班级a中有选择物理、化学、生物的30人,物理、化学、地理的16人,物理、化学、历史的4人,需要消除班级a中物理、化学、历史这一选课组合。遍历所有其他的班
级,若班级b中有选择物理、化学、历史的20人,物理、化学、地理的30人。这时,可以把班级a中选择物理、化学、历史的调整至班级b中,班级b中选择物理、化学、地理的调整部分人至班级a中。这样两个班级的班额都不会超出限制。
140.问题优化:消除选课人数少的组合
141.输入:classes,student_info
142.输出:均衡后的classes
143.1)遍历每个班级,进行以下操作
144.2)统计该班级a中的选课组合及其人数,若存在选课人数少的组合,则进行以下操作
145.2.1)遍历所有其他班级,若班级b中存在班级a选课人数少的组合,则将班级a中该组合的学生转移到班级b中,这时需要注意班级a的学生不能小于最小班额,班级b的学生不能大于最大班额
146.2.2)遍历所有其他班级,若班级b中存在班级a选课人数少的组合,且班级b中也存在班级a中的其他组合,这时可以将班级a和班级b的部分学生进行交换,这时需要注意避免出现新的选课人数少的组合的情况
147.3)返回classes
148.本发明的有益效果在于:能根据学生基础信息,通过满足各种规则条件的均衡、结合一定班额范围,划分出学生所在行政班,该方法智能高效,能够满足绝大多数学校的分班时间要求。
149.支持成绩、性别、特殊学生、毕业学校等分班均衡条件,可按多条规则及优先级自动分班,同时支持手动调整个别学生分班结果。
150.行政班分班框架流程思想:即初步分班:首先满足每个班能定二走一且班级人数满足班额要求,实现一个初步的分班结果。均衡优化:根据用户设定的规则调用均衡函数对分班结果进行优化,如成绩均衡、标签均衡等。对于多个均衡条件的处理,首先满足优先级最低的规则,然后按照优先级逐渐增加来进行处理,因为满足更高优先级规则的时候势必要破坏较低优先级的处理结果,因此按照这种策略可以尽可能满足最高的几个优先级条件,更加符合实际要求。这里没有将分班过程和均衡过程融合在一起,一方面是对分班问题进行拆分以降低问题难度,另一方面规则的设定比较灵活,理论上用户可以设置任意多条规则,这样可以更好的满足用户的需求。问题优化:最后对分班结果进行进一步的优化,如消除每个班级学生的选课种类,避免班级出现选课人数特别少的组合等。
151.以上述依据本发明的理想实施例为启示,通过上述的说明内容,本领域技术人员完全可以在不偏离本发明技术思想的范围内,进行多样的变更以及修改。本发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求书范围来确定其技术性范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献