方案名称:智能排课系统。
方案目的:利用计算机替代传统的繁琐的手工排课方法。
方案阐述:本系统受游戏设计中A星算法中的广度搜索法启发,结合手中的文献,总结出来的一种排课方式。本方案先采用采用信息收集的方式,收集信息。然后利用回逆算法进行智能排课。最后,再进行适当的人为调整,即可生成符合要求的课表。
方案详解:当需要生成课表时,用户需先设定排课条件。基本条件有:周课时设置,课程信息,班级信息,教师信息,场地信息,教学计划(即那些
老师教那些班级、可以选择的空教室、是否有合班课等信息)。将所有信息存入数据库。自动排课,即系统自动调用数据库收集的信息然后利用设定的算法进行排课。最后,将系统生成的课表进行差错检查,分别在班级信息,教师信息,场地信息表中检测其有无冲突。然后进行查看和手工调课。最后生成所需求的课表。
算法详解:
回溯是一种优先搜索法。它按优先条件向前搜索,以达到目标,但当搜索到某一步时,发现原先的选择并不优或达不到目标,就退回一步重新选择。这种走不通就退回的技术为回溯法,而满足回溯条件的某个状态点称之为回溯点。具体到计算机智能排课系统中,选优条件即为排课数学模型中的约束条件群(需求集中的元素特征与资源集中的元素特征相互作用形成的数学关系)。换言之,若不满足约束条件群,该选择即为不优或达不到目标。当遍历该步骤的所有可能仍未满足约束条件群,则该状态满足了回溯条件,该状态点即为回溯点。下图即为回溯算法排课流程。
值得指出的是,当得到第一次满足选优条件的排课结果后,可以将课表输出到屏幕上,由系统管理员直接审视排课结果,若感觉不满意,则可回到第一次得出的排课结果,将该状态设为回溯点,继续运行该算法,可以得到另一种排课结果,直至程序管理员满意为止。
当然,也有可能使用该法遍历了所有的可能,仍无满足选优条件之排课结果,此时,计算机就根据反馈的结果,自动放宽约束条件,重新进行排课。该排课系统已在实际应用,排课结果较为理想,并且充分发挥了运算速度快的特点。 计算机自动排课也需要进行人工干预,以便可以使得各个高校能够根据自己的具体要求对排课算法中的一些参数进行设置和调整,并对计算机排出的课表进行调整.本算法所设计的人工干预过程有:等价类划分中参数的设置,教室类型的设置,时间模式库的设置,优先级函数中参数的设置.用户可以根据自己的具体要求对这些参数和库进行设置.另外,对于计算机排出的课程表,用户也可以通过人机交互进行适当调整,从而得到用户满意的课程表.
参考文献:《高校智能排课系统文献综述》
作者,日期不详。
《以代理人為基礎的中學排課系統研究》
臺灣高雄師大學 楊錦潭 歐文性
PS: 本人经过几天了解和获得老师的指点,觉得该系统如何能使用数据结构图和离散数学中的图论解决会能具有可操作性和智能性。另外,本人认为可以设计一个信息采集的接口,用于采集一些教师的需求信息(例如:不想上某个时段的课程。)这样可以使整个信息更加人性化,但实现起来也比较有难度。知识水平有限,只能在我所能想到的范围进行思考。