- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
排课系统算法及功能的实现.doc
排课系统算法及功能的实现
摘 要:文中介绍了回溯算法的基本思想和特点,分析了回溯算法在排课系统应用与其他算法的不同之处。针对排课系统理念分析,解决排课时教师时间、班级时间与教室利用时间三者之间冲突的判断方式。对排课系统的各项功能进行了设计。
关键词:回溯算法 排课 冲突
中图分类号:G434 文献标识码:A 文章编号:1672-3791(2016)08(a)-0108-02
课表是学校教学工作和其他活动的“调度指挥表”,是教师、学生上课的依据。不论学校是何等规模,都会有课表编排问题。传统的人工排课方式以其繁重的工作量和低下的效率为诟病。排课具有复杂性及系统性,目前仍然没有一个完美的解决办法。该文回顾国内外排课系统应用的发展现状,总结了各种常见算法在排课问题上的优缺点,选择回溯算法来解决这一问题。
1 回溯算法简介
1.1 回溯算法的基本思想
回溯算法的基本思想是:从一条路往前走,能进则进,不能进则退回来,换一条路再试。八皇后问题就是回溯算法的典型,第一步按照顺序放一个皇后,然后第二步符合要求放第2个皇后,如果没有符合条件的位置符合要求,那么就要改变第1个皇后的位置,重新放第2个皇后的位置,直到找到符合条件的位置就可以了。回溯在迷宫搜索中使用很常见,就是这条路走不通,然后返回前一个路口,继续下一条路。回溯算法实质就是穷举法。回溯算法使用剪枝函数,剪去一些不可能到达最终状态(即答案状态)的节点,从而减少状态空间树节点的生成。回溯法是一个既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一节点时,总是先判断该节点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该节点为根的子树的系统搜索,逐层向其祖先节点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问题的所有解时,要回溯到根,且根节点的所有子树都已被搜索遍才结束。而回溯法在用来求问题的任一解时,只要搜索到问题的一个解就可以结束。这种以深度优先的方式系统地搜索问题的解的算法称为回溯法 [1],它适用于解一些组合数较大的问题。
1.2 回溯算法的求解步骤
回溯算法求解过程包括如下步骤:(1)定义一个解空间,它包含问题的解。(2)利用适于搜索的方法组织解空间。(3)利用深度优先法搜索解空间。(4)利用限界函数避免移动到不可能产生解的子空间。问题的解空间通常是在搜索问题的解的过程中动态产生的,这是回溯算法的一个重要特性。
1.3 回溯算法在排课系统上的特点
回溯算法是一个既带有系统性又带有跳跃性的搜索算法。它在包含问题的所有解的解空间树中,按照深度优先的策略,从根节点出发搜索解空间树。算法搜索至解空间树的任一节点时,总是先判断该节点是否肯定不包含问题的解。如果肯定不包含,则跳过对以该节点为根的子树的系统搜索,逐层向其祖先节点回溯。否则,进入该子树,继续按深度优先的策略进行搜索。回溯法在用来求问题的所有解时,要回溯到根,且根节点的所有子树都已被搜索遍才结束。而回溯法在用来求问题的任一解时,只要搜索到问题的一个解就可以结束。它适用于解一些组合数较大的问题。高校排课的组合就是很巨大的,使用回溯算法能更好地保证排课的正确性与实用性。
2 排课系统算法分析
排课问题是涉及教师、教室、班级、课程和时间五个因素的排列组合问题。排课时,最基本的要求(硬性约束)就是避免教师、班级在时间和空间上产生冲突。解决的办法就是依次为开设的每门课程搜索到该课程教师、班级和教室共同空闲的时间片[2]。
排课算法的实质就是为课程安排上课时间和上课地点。但是,如果同时考虑这两者,必然会引起“组合爆炸”现象。所以为了避免这种情况,笔者采用回溯算法进行排课,首先算出符合时间要求的老师,然后选出符合时间要求的教室。
3 排课过程
自动排课系统,采用回溯算法,一层一层地进行查找合适的时间以及教室。
3.1 确定上课时间
首先确定上课的时间。上课的教师时间是否已被占用,没有占用,则进行下一步;如果被占用,则查找下一个时间片教师时间是否被占用。
3.2 确定上课教师
确定完上课时间后,还要确定上课地点。安排上课地点的原则是时间片不能与其他课程冲突。所以如果时间片不能满足要求,要重新进行时间安排。回溯算法中要对教师时间和教室时间是否被占用进行判断。教师和教室的时间片标记事先是写好在数据库里的,根据不同的代码和时间片代码从数据库中读取标记位,然后进行判断就可以了。教师时间冲突判断代码如下:
string mystr = ConfigurationManager.AppSettings[myconnst
您可能关注的文档
- 房屋建筑工程造价管理中的预决算编制问题及其措施.doc
- 房屋建筑施工中的渗漏原因及防渗漏施工技术分析.doc
- 房屋建筑施工技术及质量管理重点难点解析.doc
- 房屋建筑施工过程中的屋顶施工技术探讨.doc
- 房屋建筑的外保温材料与施工要点分析.doc
- 房屋建筑裂缝的成因及防治措施.doc
- 房山区监管水平大幅提升.doc
- 房建施工中的轴线及高程测量控制研究.doc
- 房建现场施工质量控制要点探析.doc
- 房颤射频消融术前经食管超声检测左房血栓应用价值.doc
- 2025年智能电网柔性直流输电技术在我国西部地区应用前景.docx
- 7.2 弹力-人教版八年级物理下册.pptx
- 2025年智能电网柔性直流输电技术在智能变电站中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化存储中的应用.docx
- 2025年智能电网柔性直流输电技术在新能源并网中的应用研究.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化控制中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化预测中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化服务中的应用.docx
- 2025年智能电网柔性直流输电技术在智能电网智能化运维中的应用.docx
- 2025年智能电网柔性直流输电技术智能化保护系统研究.docx
最近下载
- 英语A级2013年6月试题.docx VIP
- 亲子沟通方法ppt课件.pptx VIP
- DB23T 3758-2024 水稻立体育秧智慧工厂智能环境控制技术规范.docx VIP
- 中国美女最多五个地区第1名真是让人大跌眼镜.doc VIP
- (正式版)DB23∕T 3758-2024 《水稻立体育秧智慧工厂智能环境控制技术规范》.pdf VIP
- 《司马光》PPT课件-司马光ppt公开课.pptx VIP
- 2025主题班会-《心怀感恩与爱同行》感恩教育 课件(共34张PPT内嵌视频).pptx VIP
- 产教评技能生态链:内涵解析、价值意蕴与运行机制研究.docx VIP
- 《司马光》学习单.docx VIP
- “懂能会”让员工安全履责落地培训课件.pdf VIP
原创力文档


文档评论(0)