基于概率启发式技术的中学生选科编班方法与流程

文档序号:18602592发布日期:2019-09-03 22:51阅读:356来源:国知局
基于概率启发式技术的中学生选科编班方法与流程

本发明属于物理技术领域,更进一步涉及信息处理技术领域中的一种基于概率启发式技术的中学生选科编班方法。本发明可用于对中学学生按照其所选科目进行编班,经过对行政班之间的男女比例和成绩调整得到均衡的行政班。



背景技术:

自2014年教育部新高改意见发布以来,全国各地各省市陆续进入新高考模式,学生自主的从物理、化学、生物、政治、历史、地理和技术这7门科目(部分省市是6门科目,没有技术)中选择三门作为选考科目,剩下没选的科目是学考科目,共有35(20)种选科组合,在如此多选科组合的情况下,绝大部分学校在教室和老师资源的限制下倾向于固二走一的分班模式,即由有两门选考科目相同的学生组成一个行政班,每位学生剩下的一门科目到相应的选考教学班上课。但是每个班级可能的固二类型有21(15)种,每个学生的固二类型也有3种,所以要找到全校各个行政班的两科组合类型以及学生分配组合、使得班级人数在规定范围之内并且学生尽可能多的分到行政班里,这是十分困难的,并且当学生数量和班级数量增加时,编班组合的搜索空间成指数增长。

上海亿阁信息科技有限公司在其申请的专利文献“一种新高考选科排课人工智能分班算法”(申请号:201810669894.1公开号:cn108846786a)中公开了一种人工智能分班方法。该方法首先使各组合分班数和行政班数相同,然后将待分配人数和每个班的空位数进行组合分配,最后将将各科目的选科人数分配到对应科目班。该方法存在的不足之处是:该方法受数据欺骗性很大,由该方法得到的分班结果存在大量学生不能分入班级的缺点,并且分得的班级之间性别比例、成绩比例等差距较大。

陈上仁在其申请的专利文献“一种学生选科报名编班方法及系统”(申请号:201810722508.0公开号:cn108961117a)中公开了一种学生选科报名编班方法及系统。该方法首先标定编班组合和普通组合,然后根据编班组合人数进行编班,最后如有人数不够组成一个班级,则从普通组合里面按一定优先级抽取学生组成班级。该方法存在的不足之处是:该方法没有进行班级的选择和调整,班级之间差距大,并且会出现部分班级只能固定一门科目的情况,对后续排课影响很大。



技术实现要素:

本发明的目的在于针对上述已有技术的不足,提出一种基于概率启发式技术的中学生选科编班方法,充分利用学生的选科信息,采用概率选择的方式,提高获得合理分班的可能性,得到所有班级都有两科相同选考科目的分班结果。

实现本发明目的的思路是:统计各种两科组合类型的人数,利用轮盘赌选择方法从人数最多的几种里选择一种,固定为一个行政班的两科组合类型,然后依男女生选择概率将该两科组合类型里的学生分配到班级,编成一个行政班,重复上诉步骤,得到所有行政班的分班,重复编班多次,将剩余人数最少的一次编班作为行政班编班结果,对编班结果进行男女比例调整和性别比例调整得到最后的行政班分班结果,然后再划分各教学班。

实现本发明目的的具体步骤如下:

(1)选取科目:

每个学生从门类科目表中任选3门科目,所述的门类科目表由规定的n门可选科目组成,每两门科目构成一种两科组合类型,共种两科组合类型,其中,n表示可选科目数,c表示组合数计算操作;

(2)统计未分入行政班学生的选科信息:

(2a)统计未分入行政班学生中各种两科组合的选科人数;

(2b)将两科组合类型按选科人数降序排列;

(3)划分行政班:

(3a)根据选科人数,用轮盘赌选择技术从前m种两科组合类型中选取一个,作为一个行政班的两科组合类型,其中,m表示备选两科组合类型的数量;

(3b)统计选取的两科组合类型包含的未分入行政班学生中的男生人数和女生人数;

(3c)利用男女生选择概率公式,分别计算两科组合类型包含的未分入行政班学生中男生和女生的选择概率;

(3d)将两科组合类型包含的学生依男女生选择概率编入当前行政班,完成一个行政班的编班;

(4)判断已编行政班数量是否与规定的行政班数量相等,若是,则将当前分班次数加1后执行步骤(5),否则,执行步骤(2);

(5)判断当前分班次数是否小于最大的分班次数,若是,则执行步骤(6),否则,执行步骤(15);

(6)判断q<l是否成立,若是,则执行步骤(9),否则,执行步骤(7),其中,q表示剩余学生中选科情况不属于已编行政班中任意一个班级两科组合类型的学生人数,l表示当前所有次行政班分班中最少的剩余学生人数;

(7)将已编行政班中的所有学生归入未分入行政班学生;

(8)将已编行政班数量重置为0后执行步骤(2);

(9)处理剩余学生:

(9a)从剩余学生中任选一个未选过的学生;

(9b)判断所选学生是否满足编入条件,若是,则执行步骤(9c),否则,执行步骤(9d);

(9c)将所选学生编入行政班后执行步骤(9e);

(9d)将所选学生归入剩余学生后执行步骤(9e);

(9e)判断所有的剩余学生是否都被选过,若是,则执行步骤(10),否则,执行步骤(9a);

(10)转移已编行政班间的学生:

(10a)任选一个已编行政班;

(10b)判断所选行政班是否满足接收条件,若是,则执行步骤(10c),否则,执行步骤(10g);

(10c)从其它的已编行政班中任选一个未选过的学生;

(10d)判断所选学生是否满足转出条件,若是,则执行步骤(10e),否则,执行步骤(10f);

(10e)将所选学生转入所选行政班后执行步骤(10f);

(10f)判断是否选完其它的已编行政班中的所有学生,若是,则执行步骤(10g),否则,执行步骤(10b);

(10g)将迭代次数加1;

(11)判断t>t是否成立,若是,则将迭代次数置0后执行步骤(12),否则,执行步骤(9),其中,t表示迭代次数,t表示剩余学生处理最大迭代次数,参数t的取值范围为50-100;

(12)判断g<l是否成立,若是,则用g更新l后执行步骤(13),否则,执行步骤(7),其中,g表示剩余学生人数,l表示所有次行政班分班中最少的剩余学生人数;

(13)将各行政班保存为最好的各行政班;

(14)判断所有次行政班分班中最少的剩余学生人数是否为0,若是,则执行步骤(15),否则,执行步骤(7);

(15)将各行政班更新为最好的行政班分班中的各行政班;

(16)调整行政班的男女比例和平均成绩:

(16a)从所有行政班中任选一个行政班;

(16b)判断所选行政班的男女比例是否高于全校男女比例,若是,则执行步骤(16c),否则,执行步骤(16g);

(16c)将男女比例低于全校男女比例的行政班作为接收行政班;

(16d)从所选行政班中任选一名未选过的男生;

(16e)判断所选男生是否满足转移条件,若是,则将所选男生转移到接收行政班后执行步骤(16f),否则,执行步骤(16f);

(16f)判断所选行政班中的男生是否选完,若是,则执行步骤(16k),否则,执行步骤(16d);

(16g)将男女比例高于全校男女比例的行政班作为接收行政班;

(16h)从所选行政班中任选一名未选过的女生;

(16i)判断所选女生是否满足转移条件,若是,则将所选女生转移到接收行政班后执行步骤(16j),否则,执行步骤(16j);

(16j)判断所选行政班中的女生是否选完,若是,则执行步骤(16k),否则,执行步骤(16h);

(16k)判断所选行政班的平均成绩是否高于全校平均成绩,若是,则执行步骤(16l),否则,执行步骤(16n);

(16l)从平均成绩低于全校平均成绩的行政班中任选一个低分行政班;

(16m)若所选行政班中的学生成绩高于低分行政班中的学生成绩,且两学生选科情况同时属于两个班的两科组合类型,则将两学生进行交换后执行步骤(16p);

(16n)从平均成绩高于全校平均成绩的行政班中任选一个高分行政班;

(16o)若所选行政班中的学生成绩低于高分行政班中的学生成绩,且两学生选科情况同时属于两个班的两科组合类型,则将两学生进行交换;

(16p)将迭代次数加1;

(17)判断s>s是否成立,若是,则执行步骤(18),否则,执行步骤(16),其中,s示迭代次数,s表示比例调整最大迭代次数,参数s的取值范围为100-200;

(18)划分选考教学班:

(18a)创建各科学生集合;

(18b)从每个行政班的学生中任选一个未选过的学生;

(18c)将所选学生分配到该学生所选的第三门科目对应的学生集合中;

(18d)判断是否选完所有行政班中的学生,若是,则执行步骤(18e),否则,执行步骤(18b);

(18e)根据每门科目对应的学生集合人数和班级人数范围确定每门科目的选考教学班数量;

(18f)将每门科目对应的学生集合根据每门科目的选考教学班数量分成每门科目的各个选考教学班;

(19)划分学考教学班:

(19a)计算各个学生上该生所有选学分开的学考科目所需要的时间段;

(19b)构建一个a×b的二维表格,其中,a表示各个学生需要的时间段中最大的一个,b表示所有选学分开的学考科目的数量,表格的行表示选学分开的学考科目的上课时间段,表格的列表示选学分开的学考科目;

(19c)从所有行政班中任选一个未选过的学生;

(19d)按照表格列固定的学考科目顺序确定所选学生的学考科目的编号;

(19e)找到所选学生的学考科目编号表示的行与学考科目表示的列对应的格子;

(19f)将所选学生分配到该学生对应的格子;

(19g)判断是否选完所有行政班中的学生,若是,则执行步骤(19h),否则,执行步骤(19c);

(19h)根据每个格子里的学生集合人数和班级人数范围确定各科各时段的学考教学班数量;

(19i)将每个格子里的学生集合根据各科各时段的学考教学班数量分成各科各时段的学考教学班;

(20)输出最后的行政班、选考教学班和学考教学班。

本发明与现有方法相比具有如下优点:

第一,由于本发明有划分行政班、处理剩余学生和转移已编行政班间的学生操作,可以依选科人数逐个确定行政班的两科组合类型,使每个两科组合类型的学生依男女生选择概率分入班级,能尽可能减少剩余学生,克服了现有技术所得的编班结果固定、容易陷入局部最优情况的缺点,使得本发明有使不能编入行政班的人数更少的优点。

第二,由于本发明划分行政班中,保证每个行政班都固定有两门科目相同,克服了现有技术所得的编班结果中只有固定一门科目相同的行政班的缺点,使得本发明得到的编班结果对学生更公平,也更方便后续的排课和教学管理。

第三,由于本发明存在男女比例调整和平均成绩调整,克服了现有技术没有考虑该方面因素的缺陷,使得本发明得到的班级更加平均,班级之间更加平衡,结果更符合实际需求。

第四,由于本发明在学考教学班划分中,使用学生集合组成的二维表格来进行学考教学班的划分,克服了现有技术没有考虑的分班问题,使得本发明能够使每个行政班用最短的课时供该行政班学生上其选学分开的学考科目,减少后续排课冲突。

附图说明

图1为本发明的流程图;

图2为本发明转移已编行政班间的学生的流程图;

图3为本发明调整行政班的男女比例和平均成绩的流程图;

图4为本发明仿真实验中显示男女比例调整的直方图;

图5为本发明仿真实验显示平均成绩调整的曲线图。

具体实施方式

下面结合附图,对本发明作进一步的详细描述。

参照附图1对本发明实现的具体步骤作进一步的详细描述。

步骤1,选取科目。

每个学生从门类科目表中任选3门科目,所述的门类科目表由规定的7门可选科目组成,每两门科目构成一种两科组合类型,共种两科组合类型。

步骤2,统计未分入行政班学生的选科信息。

统计未分入行政班学生中各种两科组合的选科人数。

将两科组合类型按选科人数降序排列。

步骤3,划分行政班。

根据选科人数,用轮盘赌选择技术从前m种两科组合类型中选取一个,作为一个行政班的两科组合类型,其中,m表示备选两科组合类型的数量,设定为5。

统计选取的两科组合类型包含的未分入行政班学生中的男生人数和女生人数。

利用男女生选择概率公式,分别计算两科组合类型包含的未分入行政班学生中男生和女生的选择概率。

所述男女生选择概率公式如下:

其中,pm表示两科组合类型所包含的学生中男生的选择概率,ra表示全校的男女比例,cn表示班级人数范围上下限的中位数,mn表示两科组合类型包含的学生中男生的人数,pf表示两科组合类型包含的学生中女生的选择概率,fn表示两科组合类型包含的学生中女生的人数。

将两科组合类型包含的学生依男女生选择概率编入当前行政班,完成一个行政班的编班。

步骤4,判断已编行政班数量是否与规定的行政班数量相等,若是,则将当前分班次数加1后执行步骤5,否则,执行步骤2。

步骤5,判断当前分班次数是否小于最大的分班次数,若是,则执行步骤6,否则,执行步骤15,最大的分班次数设定为4000。

步骤6,判断q<l是否成立,若是,则执行步骤9,否则,执行步骤7,其中,q表示剩余学生中选科情况不属于已编行政班中任意一个班级两科组合类型的学生人数,l表示当前所有次行政班分班中最少的剩余学生人数。

步骤7,将已编行政班中的所有学生归入未分入行政班学生。

步骤8,将已编行政班数量重置为0后执行步骤2。

步骤9,处理剩余学生。

(9.1)从剩余学生中任选一个未选过的学生。

(9.2)判断所选学生是否满足编入条件,若是,则执行本步骤的(9.3),否则,执行本步骤的(9.4)。

所述的编入条件是指,学生所选三科包含的三种两科组合与已编行政班中一个行政班两科组合类型相同,该行政班班级人数小于班级人数范围上限。

(9.3)将所选学生编入行政班后执行本步骤的(9.5)。

(9.4)将所选学生归入剩余学生后执行本步骤的(9.5)。

(9.5)判断所有的剩余学生是否都被选过,若是,则执行步骤10,否则,执行本步骤的(9.1)。

步骤10,转移已编行政班间的学生。

参照附图2对本发明转移已编行政班间的学生的步骤作进一步的详细描述。

(10.1)任选一个已编行政班。

(10.2)判断所选行政班是否满足接收条件,若是,则执行本步骤的(10.3),否则,执行本步骤的(10.7)。

所述的接收条件是指,所选已编行政班人数小于班级人数范围上限。

(10.3)从其它的已编行政班中任选一个未选过的学生。

(10.4)判断所选学生是否满足转出条件,若是,则执行本步骤的(10.5),否则,执行本步骤的(10.6)。

所述的转出条件是指,所选学生的选择科目包含所选行政班两科组合代表的科目,所选学生所在行政班的班级人数大于班级人数范围下限。

(10.5)将所选学生转入所选行政班后执行本步骤的(10.6)。

(10.6)判断是否选完其它的已编行政班中的所有学生,若是,则执行本步骤的(10.7),否则,执行本步骤的(10.2)。

(10.7)将迭代次数加1。

步骤11,判断t>t是否成立,若是,则将迭代次数置0后执行步骤12,否则,执行步骤9,其中,t表示迭代次数,t表示剩余学生处理最大迭代次数,t设置为50。

步骤12,判断g<l是否成立,若是,则用g更新l后执行步骤13,否则,执行步骤7,其中,g表示剩余学生人数,l表示所有次行政班分班中最少的剩余学生人数。

步骤13,将各行政班保存为最好的各行政班。

步骤14,判断所有次行政班分班中最少的剩余学生人数是否为0,若是,则执行步骤15,否则,执行步骤7。

步骤15,将各行政班更新为最好的行政班分班中的各行政班。

步骤16,调整行政班的男女比例和平均成绩。

参照附图3对本发明调整行政班的男女比例和平均成绩的步骤作进一步的详细描述。

(16.1)从所有行政班中任选一个行政班。

(16.2)判断所选行政班的男女比例是否高于全校男女比例,若是,则执行本步骤的(16.3),否则,执行本步骤的(16.7)。

(16.3)将男女比例低于全校男女比例的行政班作为接收行政班。

(16.4)从所选行政班中任选一名未选过的男生。

(16.5)判断所选男生是否满足转移条件,若是,则将所选男生转移到接收行政班后执行本步骤的(16.6),否则,执行本步骤的(16.6)。

所述的转移条件是指,所选男生选择的三门科包括接收行政班的两科组合类型代表的两门科目。

(16.6)判断所选行政班中的男生是否选完,若是,则执行本步骤的(16.11),否则,执行本步骤的(16.4)。

(16.7)将男女比例高于全校男女比例的行政班作为接收行政班。

(16.8)从所选行政班中任选一名未选过的女生。

(16.9)判断所选女生是否满足转移条件,若是,则将所选女生转移到接收行政班后执行本步骤的(16.10),否则,执行本步骤的(16.10)。

所述的转移条件是指,所选女生选择的三门科包括接收行政班的两科组合类型代表的两门科目。

(16.10)判断所选行政班中的女生是否选完,若是,则执行本步骤的(16.11),否则,执行本步骤的(16.8)。

(16.11)判断所选行政班的平均成绩是否高于全校平均成绩,若是,则执行本步骤的(16.12),否则,执行本步骤的(16.14)。

(16.12)从平均成绩低于全校平均成绩的行政班中任选一个低分行政班。

(16.13)若所选行政班中的学生成绩高于低分行政班中的学生成绩,且两学生选科情况同时属于两个班的两科组合类型,则将两学生进行交换后执行本步骤的(16.16)。

(16.14)从平均成绩高于全校平均成绩的行政班中任选一个高分行政班。

(16.15)若所选行政班中的学生成绩低于高分行政班中的学生成绩,且两学生选科情况同时属于两个班的两科组合类型,则将两学生进行交换。

(16.16)将迭代次数加1。

步骤17,判断s>s是否成立,若是,则执行步骤18,否则,执行步骤16,其中,s示迭代次数,s表示比例调整最大迭代次数,参数s设置为200。

步骤18,划分选考教学班。

(18.1)创建各科学生集合。

(18.2)从每个行政班的学生中任选一个未选过的学生。

(18.3)将所选学生分配到该学生所选的第三门科目对应的学生集合中。

(18.4)判断是否选完所有行政班中的学生,若是,则执行本步骤的(18.5),否则,执行本步骤的(18.2)。

(18.5)根据每门科目对应的学生集合人数和班级人数范围确定每门科目的选考教学班数量。

所述的选考教学班是指,由不同行政班中上相同的选考科目的学生组成的教学班,选考科目是指,学生从门类科目表中选择的科目。

(18.6)将每门科目对应的学生集合根据每门科目的选考教学班数量分成每门科目的各个选考教学班。

步骤19,划分学考教学班。

(19.1)计算各个学生上该生所有选学分开的学考科目所需要的时间段。

所述的学考科目是指学生在可选科目中除了选择的科目之外该生要学习的科目,选学分开是指选考某科和学考某科的学生分别去选考教学班和学考教学班上课,学考教学班是指由不同行政班上相同的选学分开的学考科目的学生组成的教学班。

(19.2)构建一个a×b的二维表格,其中,a表示各个学生需要的时间段中最大的一个,b表示所有选学分开的学考科目的数量,表格的行表示选学分开的学考科目的上课时间段,表格的列表示选学分开的学考科目。

(19.3)从所有行政班中任选一个未选过的学生。

(19.4)按照表格列固定的学考科目顺序确定所选学生的学考科目的编号。

(19.5)找到所选学生的学考科目编号表示的行与学考科目表示的列对应的格子。

(19.6)将所选学生分配到该学生对应的格子。

(19.7)判断是否选完所有行政班中的学生,若是,则执行本步骤的(19.8),否则,执行本步骤的(19.3)。

本发明的实施例是对四名学生分配到各学生对应的集合,7门科目都是选学分开,四名学生a、b、c、d要走的学考科目依次是{物理、化学、生物、政治}、{化学、政治、历史、地理}、{生物、政治、地理、技术}、{物理、生物、政治、技术},每个学生上该生学考科目需要的时间段为4,构建一个4×7的二维表格,列固定的科目依次为物理、化学、生物、政治、历史、地理和技术。

按照表格列固定的学考科目顺序确定学生a的学考科目{物理、化学、生物、政治}的编号是{1、2、3、4},找到学生a的学考科目编号表示的行与学考科目表示的列对应的格子{(1,物理)、(2、化学)、(3、生物)、(4、政治)},将学生a分配到该学生对应的格子,对剩下3名学生按照相同操作分配到对应的格子,得到这四名学生分入的学生集合如表1所示。

表1.学考教学班学生集合表

(19.8)根据每个格子里的学生集合人数和班级人数范围确定各科各时段的学考教学班数量。

(19.9)将每个格子里的学生集合根据各科各时段的学考教学班数量分成各科各时段的学考教学班。

步骤20,输出最后的行政班、选考教学班和学考教学班。

下面结合仿真实验对本发明的效果做进一步的说明:

1.仿真实验条件:

本发明的仿真实验的硬件平台为:处理器为inteli74710mqcpu,主频为2.5ghz,内存8gb。

本发明的仿真实验的软件平台为:windows10操作系统和codeblocks17.12。

本发明仿真实验使用的实验数据来自浙江某中学的真实学生选课数据,该数据共包含896人的选课信息,学校要求的班级人数范围为55-60,可选科目有物、化、生、政、历、地、技七门,其中除了政治之外其余科目都为选学分开科目。

2.仿真内容及其结果分析:

本发明仿真实验是采用本发明对896人的选课数据集进行实验,得到行政班和教学班的编班结果,记录分班次数和程序运行时间以及剩余未分入行政班人数。分班次数是得到行政班编班结果总共进行的行政班分班次数,运行时间是整个实验运行的时间,包括行政班编班、调整行政班男女比例和平均成绩、划分选考教学班和学考教学班所需要的总时间,剩余未分入行政班人数表明行政班编班结束后剩余不能编入行政班的学生人数。重复实验10次,各次实验结果如表2所示。

表2.仿真实验结果一览表

从表2实验结果可见看出,本发明方法能在短时间内获得所有学生的编班结果,所有行政班中的学生都有两门相同的选考科目,并且没有未能分入行政班的学生,证明本发明方法在选择行政班两科组合类型和学生分配中采用的依选科人数的启发式方法和概率选择方法对编班组合有很好的探索性,编班所需要的时间与实际的分班次数成正相关关系,最长时间会由设定的最大分班次数限定,确保在一定时间内肯定会得到一个合适的结果。

将本发明仿真实验中的选课学生进行编班得到行政班的男女比例和经过调整后的男女比例绘制成直方图,如图4所示。图4中的横坐标表示行政班班级序号,在本发明的仿真实验中共有16个行政班。图4中的纵坐标表示每个行政班男女比例。图4中的深黑色条柱表示行政班调整前的班级男女比例,灰色条柱表示行政班调整后的班级男女比例,浅灰色条柱表示全校平均男女比例,全校平均男女比例为1.523944。

将本发明仿真实验中的选课学生进行编班得到行政班的平均成绩和经过调整后的平均成绩绘制成曲线图,如图5所示。图5中的横坐标表示行政班班级序号,在本发明的仿真实验中共有16个行政班。图5中的纵坐标表示每个行政班平均成绩。图5中以黑色方块标示的曲线表示行政班调整前的班级平均成绩,以黑色圆点标示的曲线标示行政班调整后的班级平均成绩,以“×”标示的曲线表示全校平均成绩,全校平均成绩为535.9257分。

由图4和图5可以看出,调整行政班的男女比例和平均成绩之后,班级之间的性别比例和平均成绩都有所改善,更靠近全校平均男女比例和平均成绩,使得班级之间的差距更小,保证本发明得到的编班结果更加平均,班级之间更加平衡,更符合实际需求。

以上仿真实验表明:本发明利用启发式方法根据选科人数确定行政班两科组合类型,能够有效的搜索可行的行政班组合类型,利用轮盘赌选择技术以及依概率选择的方式将学生分入班级,能够加大搜索的空间,获得剩余不能分入行政班学生人数更少的编班结果,固定所有的行政班内的学生都有两门相同的选考科目,方便后续班级排课以及学校管理,对编班结果加以调整,使得行政班之间的男女生比例和平均差距更小,利用启发式方式和概率选择相结合并采用调整手段的编班方法,解决了现有技术存在学生很大可能无法全部分入班级、班级之间固定的科目数量不一致,班级之间差距大的缺点,是一种非常有效实用的编班方法。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1