基于贪心算法的排课系统的设计与实现.docVIP

基于贪心算法的排课系统的设计与实现.doc

  1. 1、本文档共9页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
青岛农业大学 本 科 生 课 程 论 文 论 文 题 目 基于贪心算法的排课系统的设计与实现 专 业 班 级 计算机科学与技术08级2班 学生姓名(学号) 指 导 教 师 许海洋 完 成 时 间 2010年11月10日 2010年 11 月 10日 摘要:贪婪算法在解决诸如排课等NP完全问题中具有实用价值。本文通过描述排课问题及其数学模型,分析了基于优先级的贪婪算法在高校排课系统中的运用。利用该算法,既可以简化排课过程,缩短排课所花费的时间, 同时也能提高排课结果的满意度。 关键词:排课问题;教学模型;优先级;贪婪算法 引言 排课是高校教务管理中一项十分重要的工作。它直接关系到全校的教学工作能否有序地按计划进行。同时,排课又是一项相当复杂的工作,其复杂性源于排课中资源约束条件和特殊要求对有限时空目标的制约。随着我国教育体制改革的不断深入,高校办学规模连年扩大,在校学生人数、教师人数、课程门类都显著增加,这对高校教务排课工作提出了更高的要求。研究开发一个实用的排课系统具有十分重要的现实意义。 排课问题的本质是多维资源的冲突与争夺。它是一种典型的组合规划和目标不确定性调度问题。早在2O世纪7O年代,美国人S·Even等就证明了排课问题是一个NP完全问题,其算法的时间复杂度呈指数增长。目前,除了使用“穷举法”获得近似最优解外,数学上还没有一个通用的算法能获得NP完全问题的最优解。然而由于“穷举法” 时问长,成本高,并无实际的应用价值。因此,降低解决NP完全问题的算法复杂度便成为研究课题,即利用一个近似算法,建立一个简约的模型,使解决问题的算法复杂度从指数增长简化为多项式增长,便于程序运行。在实际的应用中,很多研究者都提出了各种解决排课问题的算法,包括遗传算法、动态规划法、回溯法、模拟退火算法等,其中基于优先级的贪婪算法是一种简便有效的解决最优化问题的基本方法。根据贪婪算法设计的排课系统,可以简化排课过程,在实际的运行中再通过少量的人工干预,在资源条件充足的前提下,基本可以解决排课过程中的冲突和死锁问题,使排课系统具有实用价值。 排课问题描述 排课原则 排课问题是一个集班级、课程、时间、教师、教室五维组合优化问题。排课的主要任务,就是根据学校的学期教学计划,对全校各班级所开设的课程在上课时间和上课地点的合理安排,确保排课不发生冲突。排课的目标,就是在满足各种约束条件的前提下,充分利用学校的教学资源,获得最好的教学效果。 一个好的课表应能符合学校的管理要求,满足所有参与者的基本要求,尽可能使绝大多数课程的安排能够令师生满意。为了编排出满意的课表,在排课中必须遵守以下基本原则: 一个班级的学生在同一时间只能安排一门课程; 一位教师在同一时间只能安排一门课程; 一间教室在同一时或只能安排一门课程且教室类型必须符合该门课程的要求; 同一时间安排的课程总数不能大于所能提供的教室总数; 每门课程参加学习的总人数不应大于所安排教室的座位数; 一个班级每门课程不能被重复安排; 体育课不排上午1、2节; 3课时的课安排在下午。 同时,为了使排出的课表更合理、更具人性化,排课还应考虑以下因素: 每门课程在一周内的上课时间尽可能分布合理; 尽可能使同一个班级连续的两门课之间更换教室的机率小,或就近安排; 同一课程的不同讲次尽可能安排在同一教室,而且要隔一天以上安排,使教师有充足的时间备课和批改作业,学生也有足够的时问复习消化; 学生每天的必修课安排尽可能趋于平衡: 尽可能满足每门课程教学的客观要求; 满足个别教师(如外聘教师)的特殊上课时间要求。 在排课中必须遵守的基本原则、人性化因素和特殊要求构成了排课约束条件。 排课问题数学模型 排课问题涉及班级、课程、时间、教师、教室五个方面数据,是一个典型的排列组合问题。由于排课前课程与教师的关系已经在教学计划中确定,因而,在排课时,只要对学校所有班级开设的每门课程,安排课程、教师、教室具有共同的空闲时间片上课即可,排课算法也就简化为班级、教师、教室三方面数据在具有共同的空闲时间片前提下的排列组合问题,三者关系如图1所示。它们在三维空间上的交点P表示一个排课组合的选择,即可能的教学安排。排课问题就是遵循一定的约束规则,在这个三维空间搜索空闲时间片集合,如果该集合存在,说明排课问题有解。 为了描述排课算法,定义CNi为课程课时单元,其中CN表示所开设的课程名称,下标表示该门课程的第i个课时,那么,课程的课时单元集合可以表示为{CNI,CN2,…,CNi },定义TC为排课瞬间班级空闲时间片集合,TT为排课瞬间教师空闲时间片集合,T

您可能关注的文档

文档评论(0)

小教资源库 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档