一种可控制的交互式排课方法 【技术领域】
本发明涉及一种运用计算机来实现编排学校课程的方法。
背景技术
目前,学校开始起来越多地采用计算机来实现学校课程的编排和布置。通常,计算机作为辅助工具,在排课过程中采用遍历算法检测教师冲突情况,然而具体的排课涉及到的问题远远超过这一点,显然这样的排课系统远远不能发挥计算机强大的运算能力,因此不能够真正帮助教育工作者减少排课所带来的巨大工作量。为了实现计算机排课的人性化,人们充分利用数据库工具,开发出的排课方法,采用该方法写出的程序不仅可以检测教师授课冲突情况,而且可以考虑到排课的时候应该考虑到的一些限制条件——安排连堂课、体育课不能排在上午一二两节课、语文课等文科应在上午一二两节等等,在一定程度上实现了人性化的排课;后来,人们在实际使用中发现完全的机器排课还是只能部分地反映实际情况,通过增加限定条件虽然可以让排课结果更科学,但是实际情况是过多的限定条件大大降低了排课效率的同时,在大部分情况下由于条件设置都是针对整个过程(过于呆板),使得根本无法排通;于是在这种情况下,人们设计出了一些系统,可以做到人工排课和智能排课相结合,如先进行人工预排,在进行机器排课;或者先用机器排课,在使用人工调整;但是,上述这些方法有一个共同的致命缺点:排课过程中机器排的部分不可见也不可以实时控制,排课条件的设置不可以实时修改。
【发明内容】
本发明地目的就是提供一种可实时控制、交互式排课方法。
本发明的可控制的交互式排课方法是这样设计的:我们做以下的约约定:
一次排课的行为数----------n(n∈N)
一次排课的课程总节数------T
排课行为----------BHi(i=1,2,...,n)
排课动作---------------SP
序号规则---------------NP
限定条件集合------Si(i=1,2,...,n)
一般将安排一节课定义为一个动作SP,在特定情况下可以自定义SP,连续的安排m节课的过程称为行为(m=1,2,...T),也就是指执行完m个连续动作,定义为:BHi(a,a+Δa),a为任意行为的排课起点,Δa表示该行为在第a节课后继续排Δa节课,i=1,2,...,n;每个行为与限定条件集合Si(i=1,2,...,n)相结合。行为的最大范围可以是从排第一节课到整个排课的结束,最小范围可以是排单独的一节课,也就是只有一个动作的行为。
1.排课前将课程按照排课者的意愿为每节课设定序号规则NP,依据规则设定所有课程序号。
2.将整个排课的过程分成n个行为。
3.按照S的不同将行为归为p类,并对各类分别设定统一的限定条件。
4.按下排课系统控制器进行顺序排课或乱序排课(根据行为优先级设定);并且在排课过程当中可以随时通过按下排课系统控制器上的暂停键和重做键中断排课程序,自行设定新的行为及其优先级,系统将根据优先级选择当前执行什么行为。
本发明排课方法,其优点可以归纳为如下几点:
1.可视化:实现课程安排全程的“可视化”,机器安排每一节课的过程都是可视的。
2.行为可控:排课过程的每一个行为都可以做到完美的控制,排课过程可以划分为多个行为,可以对行为进行自定义,同时行为的条可以适时修改,这一特点在安排特别复杂的大型课表的时候显示出了高度的灵活性和突出的高效率,而且安排的课程也会变得更加合理。
3.动作可控:对排课的控制精确到了每一节课,这为排出高质量的课表提供了十分可靠的保证。
4.控制方式十分简便、丰富:可以通过专门微电脑控制装置,实现暂停,暂停后可以续排;暂停后也可以撤销数步后再继续排,完全实现人机交互。
【附图说明】
附图1是本发明排课方法流程图。
附图2是本发明排课方法排的课控制器示意图。
【具体实施方式】
下面结合附图,对学校安排期中考试前后课程方法作进一步说明。此次排课简单分为3类不同的行为:
第一类行为是“安排期中考试前毕业班的课程”设置为BH1,条件为S1,优先级为2;
第二类行为是“安排期中考试前非毕业班的课程”设置为BH2,条件为S2,优先级为3;
第三类行为是“安排期中考试后毕业班的课程”设置为BH3,条件为S3,优先级为4;
第四类行为是“安排期中考试后非毕业班的课程”设置为BH4,条件为S4,优先级为5;
开始执行排课程序,执行顺序为BH1->BH2->BH3->BH4;
当操作员发现BH3的动作执行到一半时,课程安排不理想或者根本无法排通或者因故课表临时变动,按下排课控制器上的暂停键,中断程序执行,重新自定义一个行为BH5,条件S5,优先级1,用该行为代替当前行为,利用修改后的条件S5进行重新排课。