当前位置: 首页 > 专利查询>四川大学专利>正文

基于贪心算法的学生宿舍及班级分配方法及分配系统技术方案

技术编号:39239947 阅读:12 留言:0更新日期:2023-10-30 11:52
本发明专利技术公开了基于贪心算法的学生宿舍及班级分配方法,包括如下步骤:生成新生名册表,生成新生分寝表,生成新生分班表,分配同性新生中的第一类学生;直到遍历完整个学生列表,或者所有宿舍都已经分配到第一类学生,分配同性新生中的第二类学生;所有宿舍都已分配到第二类学生或所有第二类学生都已分配到不同宿舍中,分配同性新生中的乡村学生,直到所有宿舍都已分配到第三类学生或所有第三类学生都已分配到不同宿舍中,根据差异值分配剩余的学生;直到所有学生都已分配,完成学生宿舍分配;进行班级分配;同一宿舍的学生分到同一个班级,完成学生宿舍和班级的分配。通过本发明专利技术,可以实现具有很好的灵活性,可根据需求,对分配结果进行适当调整。结果进行适当调整。结果进行适当调整。

【技术实现步骤摘要】
基于贪心算法的学生宿舍及班级分配方法及分配系统


[0001]本专利技术涉及数据处理领域,具体是基于贪心算法的学生宿舍及班级分配方法及分配系统。

技术介绍

[0002]学生宿舍是学生学习和生活的重要场所,是高校教育管理工作的重要组成部分。目前不管是人工进行分宿舍分班工作,还是采用最新的大数据相关技术,分宿舍分班依然存在很多未解决的问题,而且目前并没有一个系统是既实现了宿舍分配又实现了班级分配的。

技术实现思路

[0003]本专利技术的目的在于克服现有技术的不足,提供基于贪心算法的学生宿舍及班级分配方法,包括如下步骤:
[0004]步骤一,生成新生名册表,新生名册表包括新生的姓名、性别、学号、生源地、学生类别;生成新生分寝表,新生分寝表包括宿舍数,每个宿舍可容纳学生数量;生成新生分班表,新生分班表包括班级数、班级号;其中的学生类别包括:第一类学生、第二类学生和第三类学生;
[0005]步骤二,分配同性新生中的第一类学生;首先判断第一类学生人数是否小于宿舍数,若第一类学生人数小于宿舍数,添加相邻生源地学生代替第一类学生,循环学生列表,判断当前学生是否符合要求,若是,则将该学生添加进cur_room所指向的宿舍的学生列表,并将cur_room自增1;若否,则遍历下一个学生,直到遍历完整个学生列表,或者所有宿舍都已经分配到第一类学生,则进入步骤三;
[0006]步骤三,分配同性新生中的第二类学生;判断宿舍中已分配的第一类学生是否为第二类学生,若是,则跳过该宿舍,判断下一宿舍是否包含第二类学生;判断宿舍中已有的第一类学生是否是第三类学生,若是,则判断当前待分配学生是否是第三类学生,若是,则跳过当前学生,所有宿舍都已分配有第二类学生或所有第二类学生都已分配到不同宿舍中,则进入步骤四;
[0007]步骤四,分配同性新生中的第三类学生;判断当前学生是否是第三类学生,若不是,则跳过当前学生,判断下一个学生;若是,则判断当前宿舍是否包含第三类学生,若包含则跳过当前分配宿舍,若不包含,则将当前学生添加进当前宿舍,直到所有宿舍都已分配到第三类学生或所有第三类学生都已分配到不同宿舍中,则进入步骤五;
[0008]步骤五,根据差异值分配剩余的学生;判断待分配学生列表是否存在未分配学生,若不存在未分配学生,则分配结束;否则继续分配,循环遍历宿舍列表,若当前宿舍已满,则直接跳过,分配下一个宿舍,直到所有学生都已分配,完成学生宿舍分配;进入步骤六;
[0009]步骤六,进行班级分配;同一宿舍的学生分到同一个班级,完成学生宿舍和班级的分配。
[0010]进一步的,新生的类别属于第一类学生、第二类学生和第三类学生中的一类或多类。
[0011]进一步的,所述的差异值采用如下公式计算:
[0012][0013]其中:
[0014][0015][0016][0017][0018]其中的R为宿舍,S为学生,Diff(R,s)为宿舍R与学生s之间的差异值,Var1(R,s)为宿舍R中已分配的学生与学生s的成绩方差,Var2(R,s)为宿舍R中已分配的学生与学生s之间的地区映射值方差,μ1(R,s)为宿舍R中的学生与学生s的成绩均值,μ2(R,s)为宿舍R中的学生与学生s的地区映射值均值,R.ls[i]为宿舍R已分配学生中的第i个学生,n为宿舍R已分配学生人数,λ为权重系数。
[0019]进一步的,所述的进行班级分配,同一宿舍的学生分到同一个班级,完成学生宿舍和班级的分配,包括如下过程:创建班级列表,根据班号初始化班级,计算每个班班级列表中每个班的平均男女宿舍数,根据计算出的每个班级所需的男女宿舍数,依次向每个班级添加指定宿舍数。
[0020]进一步的,所述的计算每个班班级列表中每个班的平均男女宿舍数,包括如下过程:
[0021]首先计算出每个班级分配到的班平均男寝数和班平均女寝数,若为整数,则直接每班分配相同数量的男寝或相同数量的女寝,当计算出的每班平均寝室数不为整数时,则每班的男寝和女寝数交替取平均数的上界和下界。
[0022]应用所述的基于贪心算法的学生宿舍及班级分配方法的学生宿舍及班级分配系统,包括数据处理器、数据存储器、通信装置、宿舍分配模块、班级分配模块、云端数据服务器;所述的数据存储器、通信装置、宿舍分配模块、班级分配模块分别与所述的数据处理器连接,所述的云端数据服务器与所述的通信装置通信连接;
[0023]其中的宿舍分配模块用于根据新生数据进行宿舍分配,宿舍分配完成后,通过班级分配模块完成班级分配。
[0024]本专利技术的有益效果是:本专利技术所提出的分配系统不去考虑过多的主观因素,专注于宿舍及班级分配,并且使用本身就很高效贪心算法;灵活,即该系统具有很好的灵活性,
加入了手动调整的功能,系统操作人员可以在系统分配算法执行结束之后,根据自己的需求,对分配结果进行适当调整。
附图说明
[0025]图1为基于贪心算法的学生宿舍及班级分配方法的流程示意图;
[0026]图2为基于贪心算法的学生宿舍及班级分配系统;
[0027]图3为系统工作流程示意图;
[0028]图4为第一类学生分配流程示意图;
[0029]图5为第二类学生分配流程示意图;
[0030]图6为第三类学生分配流程示意图;
[0031]图7为差异最大化分配流程示意图。
具体实施方式
[0032]下面结合附图进一步详细描述本专利技术的技术方案,但本专利技术的保护范围不局限于以下所述。
[0033]如图1所示,基于贪心算法的学生宿舍及班级分配方法,包括如下步骤:
[0034]步骤一,生成新生名册表,新生名册表包括新生的姓名、性别、学号、生源地、学生类别;生成新生分寝表,新生分寝表包括宿舍数,每个宿舍可容纳学生数量;生成新生分班表,新生分班表包括班级数、班级号;其中的学生类别包括:第一类学生、第二类学生和第三类学生;
[0035]步骤二,分配同性新生中的第一类学生;首先判断第一类学生人数是否小于宿舍数,若第一类学生人数小于宿舍数,添加相邻生源地学生代替第一类学生,循环学生列表,判断当前学生是否符合要求,若是,则将该学生添加进cur_room所指向的宿舍的学生列表,并将cur_room自增1;若否,则遍历下一个学生,直到遍历完整个学生列表,或者所有宿舍都已经分配到第一类学生,则进入步骤三;
[0036]步骤三,分配同性新生中的第二类学生;判断宿舍中已分配的第一类学生是否为第二类学生,若是,则跳过该宿舍,判断下一宿舍是否包含第二类学生;判断宿舍中已有的第一类学生是否是第三类学生,若是,则判断当前待分配学生是否是第三类学生,若是,则跳过当前学生,所有宿舍都已分配有第二类学生或所有第二类学生都已分配到不同宿舍中,则进入步骤四;
[0037]步骤四,分配同性新生中的第三类学生;判断当前学生是否是第三类学生,若不是,则跳过当前学生,判断下一个学生;若是,则判断当前宿舍是否包含第三类学生,若包含则跳本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.基于贪心算法的学生宿舍及班级分配方法,其特征在于,包括如下步骤:步骤一,生成新生名册表,新生名册表包括新生的姓名、性别、学号、生源地、学生类别;生成新生分寝表,新生分寝表包括宿舍数,每个宿舍可容纳学生数量;生成新生分班表,新生分班表包括班级数、班级号;其中的学生类别包括:第一类学生、第二类学生和第三类学生;步骤二,分配同性新生中的第一类学生;首先判断第一类学生人数是否小于宿舍数,若第一类学生人数小于宿舍数,添加相邻生源地学生代替第一类学生,循环学生列表,判断当前学生是否符合要求,若是,则将该学生添加进cur_room所指向的宿舍的学生列表,并将cur_room自增1;若否,则遍历下一个学生,直到遍历完整个学生列表,或者所有宿舍都已经分配到第一类学生,则进入步骤三;步骤三,分配同性新生中的第二类学生;判断宿舍中已分配的第一类学生是否为第二类学生,若是,则跳过该宿舍,判断下一宿舍是否包含第二类学生;判断宿舍中已有的第一类学生是否是第三类学生,若是,则判断当前待分配学生是否是第三类学生,若是,则跳过当前学生,所有宿舍都已分配有第二类学生或所有第二类学生都已分配到不同宿舍中,则进入步骤四;步骤四,分配同性新生中的第三类学生;判断当前学生是否是第三类学生,若不是,则跳过当前学生,判断下一个学生;若是,则判断当前宿舍是否包含第三类学生,若包含则跳过当前分配宿舍,若不包含,则将当前学生添加进当前宿舍,直到所有宿舍都已分配到第三类学生或所有第三类学生都已分配到不同宿舍中,则进入步骤五;步骤五,根据差异值分配剩余的学生;判断待分配学生列表是否存在未分配学生,若不存在未分配学生,则分配结束;否则继续分配,循环遍历宿舍列表,若当前宿舍已满,则直接跳过,分配下一个宿舍,直到所有学生都已分配,完成学生宿舍分配;进入步骤六;步骤六,进行班级分配;同一宿舍的学生分到同一个班级,完成学生宿舍和班级的分配。2.根据权利要求1所述的基于贪心算法的学生宿舍及班级分配方法,其特征在于,新...

【专利技术属性】
技术研发人员:黎红友马从锂陈宇彭舰李梦诗
申请(专利权)人:四川大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1