收藏 分享(赏)

基于贪心算法的智能宿舍分配方法.doc

上传人:无敌 文档编号:174683 上传时间:2018-03-23 格式:DOC 页数:9 大小:88.50KB
下载 相关 举报
基于贪心算法的智能宿舍分配方法.doc_第1页
第1页 / 共9页
基于贪心算法的智能宿舍分配方法.doc_第2页
第2页 / 共9页
基于贪心算法的智能宿舍分配方法.doc_第3页
第3页 / 共9页
基于贪心算法的智能宿舍分配方法.doc_第4页
第4页 / 共9页
基于贪心算法的智能宿舍分配方法.doc_第5页
第5页 / 共9页
点击查看更多>>
资源描述

1、基于贪心算法的智能宿舍分配方法 曹雪雪 杭州电子科技大学计算机学院 摘 要: 针对传统宿舍分配方法未考虑学生自身情况的问题, 提出一种新的宿舍分配方法。以贪心算法为基础, 宿舍分配前, 先对学生的入睡习惯、起床习惯、性格特点和生活费用等属性进行问卷调查, 学生可根据个人情况对各个选项赋予权重。根据问卷结果, 计算学生间的匹配度, 将匹配度高的学生分配到一间宿舍。与传统宿舍分配方法相比, 该方法充分考虑学生的自身情况, 有助于学生的和谐相处。关键词: 贪心算法; 宿舍分配; 权重; 作者简介:曹雪雪 (1990-) , 女, 安徽宿州人, 杭州电子科技大学计算机学院硕士研究生, 研究方向:计算机

2、技术。收稿日期:2017-04-12基金:浙江省科技厅公益项目 (2015C34008) Intelligent Dormitory Allocation Method Based on Greedy AlgorithmCAO Xue-xue School of Computer Science and Technology, Hangzhou Dianzi University; Abstract: For the problem issued in the traditional method of dormitory allocation that lacking of consider

3、ation about students own situation, a new method of dormitory allocation is proposed in this paper. Based on the greedy algorithm, before the dormitory allocation, we survey sleep habits, get up habits, character and living expense of students, and students can give weight to each option based on in

4、dividual situation. This method can calculate the degree of match between students according to the results of questionnaire, and assign the students with the high degree of match to same room. Compared with the traditional method, this method takes into account the circumstances of students, contri

5、buting to the students to live in harmony.Keyword: greedy algorithm; dormitory allocation; weights; Received: 2017-04-120 引言随着高校逐年扩招, 学生规模和信息量已不可同日而语。在信息化的浪潮中, 学生公寓管理系统应运而生, 很好地解决了信息量的激增给宿舍管理人员带来的问题1。传统的学生公寓管理系统采用的宿舍分配方法是依据学院、性别和学号等参数按顺序分配学生宿舍2-3, 可能被分配到同一宿舍的学生性格迥异, 作息习惯千差万别, 无法和谐相处4。而新的宿舍分配方法中, 系统在

6、分配宿舍之前, 先对学生的作息习惯和性格特点等影响因素进行调查, 然后按照调查结果对学生进行匹配度计算, 将匹配度较高的学生分配到同一个宿舍。该方法让学生充分参与进来, 不仅促进了室友间的和谐相处, 而且减轻了宿舍工作人员的管理压力。1 系统设计1.1 关键技术宿舍分配系统采用 B/S 架构, 相比于 C/S 架构, 操作灵活、安全性高、更新方便5。此系统前台使用 Jquery Easy UI 框架, 该框架是一套基于 Jquery 的插件集合, 采用 JSON 数据格式与后台进行交互。Easy UI 框架界面清爽, 非常适合大量数据的前台展示6。后台使用 Java 语言编写, 它具有面向对象

7、、跨平台以及函数库丰富的特点7。为提高应用程序的开发效率, 减少系统复杂度, 该系统后台使用 SSM (Spring MVC, Spring 和 Mybatis) 三层框架, SSM 相比于传统的 SSH 框架耦合度更低、更轻量级、效率更高8。Spring MVC 是 Spring框架中用于 Web 快速开发的一个模块, 与 Structs 相比, 各组件和接口划分更加清晰合理, 可与 Spring 组件无缝衔接。Mybatis 作为持久层, 不同于Hibernate 的全自动化, 程序员可以自行编写 SQL, 使用更加灵活9。1.2 基本分配原则学生宿舍分配的约束条件存在硬约束和软约束 2

8、种情况。硬约束是公寓管理人员规定的必须遵循的基本分配原则, 软约束是考虑了学生特点的个性化分配。1) 为了安全性, 男女生不允许住在同一栋宿舍楼。2) 为了方便学院管理, 同学院的学生尽量安排在一栋宿舍楼。3) 为了方便宿舍的安排与维护, 安排宿舍时, 尽量安排完一栋宿舍楼再安排下一栋宿舍楼, 一栋宿舍楼从下往上安排, 每一层从小序号往大序号安排, 尽量安排满一间房间再安排下一间房间。1.3 个性化分配原则随着时间的推移, 昔日的 90 后、00 后已经开始迈入大学校园, 个性、多样化是他们的标签。为了迎合新一批大学生的住宿需求, 目前很多高校都在探索各具特色的宿舍分配方式。如上海大学根据学生

9、兴趣分宿舍, 新生在入校前便可以按照兴趣爱好和生活习惯“定制”室友。河海大学按照体重标准分宿舍, 胖子不能住上铺。文献10对影响宿舍学生关系的因素进行研究, 得出了 10 个影响宿舍学生关系的重要因素, 即“睡得很晚”、“说梦话, 打呼噜”、“与舍友贫富差距大”、“来自外省”、“不注意个人卫生, 气味难闻”、“在宿舍打牌”、“喜欢玩游戏”、“喜欢运动”、“内外向性格”、“有无住校经历”。文献11对影响寝室人际关系的因素进行调查, 其中 51%的学生选择了“生活习惯”, 35%的学生选择了个性差异。文献12对影响宿舍人际关系的因素进行调查, 其中半数以上的学生都选择了家庭背景和经济条件这一选项。

10、本系统综合以上文献, 选出了最具代表性的 4 个因素, 即入睡习惯、起床习惯、性格特点、生活费用设计成调查问卷, 如表 1 所示。表 1 调查问卷 下载原表 2 学生宿舍分配问题2.1 多约束资源分配问题学生宿舍分配问题, 其实际属于多约束的资源分配问题, 即将定量资源分配给不同的需求个体, 同时满足一定的约束条件13。学生宿舍分配模型作为多约束资源分配模型的一种, 应该关注以下几个要素:1) 需求集。等待获取资源的集合。对于学生宿舍分配模型而言, 需求集是学生集合。2) 资源集。待分配的资源集合。对于学生宿舍分配模型而言, 资源集是学生公寓的房间集合。3) 约束条件群。需求集的元素与资源集的

11、元素相互作用形成的数学关系, 构成约束条件群。对于学生宿舍分配系统而言, 约束条件群为:男女不同宿;同学院同专业学生尽量安排在同一个宿舍楼;根据学生性格特点安排宿舍等。2.2 多约束分配问题的常用算法由于多约束分配依赖于分配对象的属性特点和约束条件, 迄今为止, 并没有哪一种算法可作为通用算法解决此类问题14-15。国内外研究人员都是根据自身的具体情况选择适合自己的算法, 如动态规划、贪心算法、遗传算法、模拟退火算法、蚁群算法等。2.3 宿舍分配算法的选择国内外关于宿舍分配算法的研究很少, 主要有回溯法和贪心算法。文献16采用回溯法进行宿舍分配, 将学生群体分为 m 组 (m 为房间容量) ,

12、 每组人数为n 人, 时间复杂度为 O (n (m) !) 。由于宿舍分配问题并不存在最优解, 只是能得到相对较优的解, 因此本系统不采用类似于枚举的回溯法, 而是采用可以得到局部最优的贪心算法来实现。贪心算法是一种逐步逼近最优解的算法。算法从问题的某一初始状态出发, 在一定条件下做出一系列的贪心选择, 选择一旦做出便无法更改, 即做出当前状态下看上去最好的选择, 逐步逼近给定的目标17。贪心算法不一定能求得问题的最优解, 但是对于很多问题来说, 可以得到整体最优或比较优秀的解。文献18采用贪心算法进行宿舍分配。假定房间容量为 m, n 为学生总量与 m 的比值, 每次选取 1 名目标学生与剩

13、余学生依次计算匹配度, 按照匹配度对学生进行重新排序, 然后选取剩余学生的前 m-1 名与该目标学生入住该房间, 时间复杂度为 O (mn) 。因为每次都要与所有剩余学生计算匹配度, 所以时间复杂度很高, 并且该方法只提到宿舍分配所涉及的参数, 并没有阐述每个参数所占的权重以及计算匹配度的具体方法。本系统运用贪心算法的基本理念, 并借鉴回溯法分层的思想, 将学生总量分为i 组 (i 为房间容量) , 每组人数为 j, 即 ij 的矩阵, 可以大大减少计算匹配度所需的时间。根据学生的 4 个属性 (入睡习惯、起床习惯、性格特点和生活费用) 为学生安排宿舍, 目标是同宿舍的学生彼此之间属性相近,

14、即标准差尽量小, 逐层计算标准差。一位学生入住一间宿舍之前, 计算出该学生加入该宿舍后该宿舍学生属性的标准差, 以求达到该学生入住比同层的其他学生入住标准差小。3 学生宿舍分配的数学模型3.1 学生宿舍分配流程新生入学前, 通知学生登录系统填写一份调查问卷, 该问卷调查学生的入睡习惯、起床习惯、性格特点及生活费用 4 个指标, 每个指标有 2 个选项, 如图 1所示, 赋值 1 和-1。图 1 HTML 页面调查问卷 下载原图学生根据这些指标对于自己的影响程度进行排序, 排序一栏 4 个下拉框分别代表前面的 4 个指标对应的分数 (权重) , 可选 1 分、2 分、3 分、4 分。为了匹配的准

15、确性, 若第一个下拉框选择 1 分, 那么第二个就只显示 2 分、3 分、4 分, 以此类推, 4 个下拉框的值不能重复。每个指标的值等于单选框的值乘以对应的下拉框的值, 所以每个指标有 8 种取值可能, 如图 2 所示。图 2 各指标取值范围 下载原图学生的问卷情况通过系统存入数据库, 管理员通过调取数据库中的调查结果匹配住宿, 具体流程如图 3 所示。图 3 智能宿舍分配时序图 下载原图3.2 模型建立3.2.1 模型假设1) 需求集来自于同一年级、同一专业的学生。2) 资源集来自于同一栋宿舍楼且每间房间类型相同。3) 房间的总容量大于学生数量。4) 需求集的学生都填写了调查问卷且都为有效

16、。5) 以男生入住宿舍为例。3.2.2 模型符号表 2 为符号说明。表 2 符号说明 下载原表 3.2.3 目标函数3.3 模型求解算法步骤如下:步骤 1 选取资源集 Rmn, 房间容量为 Rsum。步骤 2 从需求集 Sij的第一行中选择一名学生入住房间 Rmn, 获取该学生的调查结果 Yxy, 将该学生的入住状态改为已入住。步骤 3 从第二行中依次选择一名学生 (该学生未入住) , 同时从调查集 Yxy中选择对应学生的调查结果 (起床习惯、入睡习惯、性格特点和生活费用) 。按照目标函数 f (x, y) 求解该行每个学生入住后, 该宿舍学生 4 个属性的标准差之和。标准差之和最小值 f (

17、x, y) min对应的学生即为第二行学生中与该宿舍最匹配的学生, 将该学生入住该宿舍, 并将该学生的状态改为已入住。步骤 4 以此类推, 求解第三行, , 第 Rsum行与该宿舍最匹配的学生。每次只需确保该行的学生加入后, 目标函数的值最小即可, 不用确保目标函数是最优解。当 Rsum行循环完毕后, 所入住的 Rsum个学生即为该宿舍最匹配的学生。智能宿舍分配流程如图 4 所示。图 4 智能宿舍分配流程图 下载原图4 算法分析与实验结果4.1 算法分析本文将学生分为 i 组 (i 为房间容量) , 每组学生为 j 人, 并存入矩阵 Sij中。因为每次搜索学生计算匹配度只需在同一行进行, 所以

18、每次搜索的时间复杂度为 O (j) 。由于搜索深度为 i, 所以总的时间复杂度为 O (i*j) , 较同类问题的回溯法和贪心算法, 效率得到很大的提升。4.2 实验结果本文随机生成了 2000 名学生的基本信息, 500 间房间 (4 人间) 信息, 以及2000 名学生的调查结果 (同一学生不同参数权重不同) , 应用该方法进行宿舍分配。宿舍分配完毕, 逐个宿舍计算标准差, 所得标准差的平均值为 0.28, 而直接按学院、学号和性别分配所得的平均标准差为 1.46。采用新方法进行宿舍分配达到了预期的效果。以男生宿舍 01 栋 101 房间为例。表 3 是直接按学院、学号、性别分配的结果,

19、表 4 是根据调查问卷 (起床习惯、入睡习惯、性格特点和生活费用) , 运用新的宿舍分配方法得到的结果。由表 3 可以看出, 此结果是按照学号依次安排宿舍的结果, 由表 4 可以看出较相似的学生分配到了同一间宿舍。经计算得出表3 的标准差为 1.27, 表 4 的标准差为 0.30。新方法分配的宿舍, 同宿舍学生相似度更高。5 结束语基于贪心算法的宿舍分配方法可将性格、习惯相似的学生分配到同一间宿舍, 达到了预期的分配效果。与传统的宿舍分配方法相比, 分配宿舍更加合理化、人性化, 是一种合理、有效的智能化宿舍分配方法。表 3 传统方法分配宿舍的结果 下载原表 表 4 贪心算法分配宿舍的结果 下

20、载原表 参考文献1汪熙.基于 MVC 模式的学生宿舍信息管理系统的分析与设计D.武汉:华中师范大学, 2015. 2左臣婕, 陈展.高校学生公寓管理信息系统建设研究J.中国管理信息化, 2016, 19 (15) :141-142. 3袁伟.临沂大学学生公寓管理系统的设计与实现D.济南:山东大学, 2016. 4孙灿, 苗南南.改进贪心算法在智能宿舍分配系统中的应用J.信息通信, 2014 (9) :49. 5文佳.基于 Web 的会员管理系统的设计与实现D.西安:西安电子科技大学, 2012. 6熊惠敏.基于 SSH+Easy UI 的信用卡资金监管系统的设计与实现D.厦门:厦门大学, 20

21、14. 7鲍倩.基于 Java 语言的学生成绩管理系统设计与实现J.电子科技, 2013, 26 (9) :155-156. 8肖祥林.基于 SSM 的毕业设计管理系统设计与实现J.电子科技, 2016, 29 (10) :115-117. 9王艳清, 陈红.基于 SSM 框架的智能 web 系统研发设计J.计算机工程与设计, 2012, 33 (12) :4751-4757. 10郝鹃, 路美秀.大学生个性化宿舍分配算法研究J.信息通信, 2016 (5) :153-154. 11阿不力克木艾则孜, 孙兰英, 阿拉法特克依木.高校宿舍人际关系及宿舍管理研究J.中国职业技术教育, 2016 (

22、9) :92-96. 12彭春燕.当前高校本科生的宿舍人际关系研究D.南京:南京航空航天大学, 2015. 13路秀英, 崔兴凯, 霍新丽.求解多目标资源分配问题的改进蚁群优化算法J.微电子学与计算机, 2011, 28 (10) :87-90. 14丁博, 王怀民, 史殿习, 等.低约束密度分布式约束优化问题的求解算法J.软件学报, 2011, 22 (4) :625-639. 15梅舒.智慧教育云平台中多约束分配问题的算法设计与研究D.南昌:南昌大学, 2016. 16王文发, 马燕, 李宏达.基于矩阵存储的回溯算法在多约束分配问题中的应用探讨J.西南民族大学学报 (自然科学版) , 2008, 26 (5) :935-939. 17张华.智能排课算法的研究及实现D.济南:山东大学, 2010. 18王巧巧, 韦澍芃.基于贪心算法的学生宿舍分配系统设计与实现J.计算机光盘软件与应用, 2013 (10) :147-148.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 学术论文 > 期刊/会议论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报