论文部分内容阅读
【摘要】本文尝试性地提出了一种大学排课算法,并利用VC++和SQL Server开发工具开发而成小型排课系统。排课问题的研究主要是解决各种教学资源如教室、教师的合理有效利用问题,避免教师、班级在上课时间、地点上的冲突,使排课时间分配均匀。在算法设计中为排课操作设置了不同的优先级,逐级排课,有效地降低了排课时间冲突的几率。另外,系统为教师和教室分别设计了排课级别,从而能够避免教学资源过于集中地使用,实现均衡化利用。
【关键词】排课算法;冲突;教学资源
每到一个新学期的开始,对于学校教务工作人员来说首要的任务就是该学期的课程如何安排的问题,如何排出一个好并且适用的课程表是一件很头疼的事情,而课程安排又涉及系部、班级、教师、课程、学校等方方面面的因素。传统的人工排课,最令人担心的问题就是出现教室资源冲突或教师资源冲突的情况,而且工作繁琐,工作量巨大。计算机软件技术应用于学校的课程安排是发展的必然,充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义的人脑的“减负”。
排课管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性的完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
本系统用的前台开发语言是VC++,SQL Server做后台数据库。利用MICROSOFT公司的Visual C++提供的各种面向对象的接口,尤其是数据内部处理这一能方便而简洁操纵数据库的智能化对象,达到了Visual C++和SQL Server的完美结合,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修改和改进,直到形成用户满意的可行系统。
一、系统功能及性能要求
小型自动排课系统主要完成基本信息管理、数据处理、数据输出等功能,由于排课算法复杂,而对于海量的数据,算法要求更高,再加上本人能力和时间的限制,该系统更适用于数据信息量不是太大的排课,因此可以说只是一种试用模型。
作为一个完整的数据库系统,其各种功能也要求比较完善,小型自动排课系统的主要功能有:
1.基本信息管理:教师、教室、班级、课程、教学任务等数据的输入、编辑功能;
2.数据处理:自动排课、课程表修改、删除功能;
3.数据输出:桌面查询教师、教室、班级课程表,报表打印教师、教室、班级课程表;
4.帮助:指导用户使用该系统及其他相关说明。
分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突。在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有:
1.怎样的合班组合能避免冲突?
目前采取方式是相同或相近的专业的班级组合。
2.什么地方有空能排课?
对教室和班级而言是查空,对教师而言是有无排课需求。
3.有两个以上的空哪一个更好?
是要考虑离散和平衡问题。
4.排课前如何考虑教师宏观利用问题?
如:多媒体大班课:C语言、高等数学尽量拍上午,思想道德修养尽量排下午。
5.对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开销。
二、界面要求
在使用计算机的过程中,人和计算机是以人机界面为媒介传递信息的。界面是否亲切、友好、美观、舒适是用户看待计算机的第一印象,因此在设计界面时具有很多要求,本系统的开发过程中主要考虑了以下几点要求:
1.简单:要求用户界面能够很方面的处理各种基本的对话;
2.术语标准化和一致化:要求使用标准化的专业术语,技术用语符合软件工程规则,并且在输入输出的说明中,统一术语涵义应保持一致;
3.用户界面标准化:用户对操作方式不会感到陌生;
4.拥有完善的帮助功能:要求用户能够通过使用帮助在最短的时间内了解系统的总体概况,并能够进行各种相关操作。
三、排课算法研究
课程指派的结果会影响教师对任教课程的满意度,而所谓满意度在本研究定义为教师对某一课程希望任教的意愿程度。本研究利用整数规划法来完成课程指派作业,以便在各种的限制条件下寻求最佳指派结果,使教师对任教课程能得到较佳的满意度。研究过程中首先发出问卷调查教师专长以及该学期各课程个人愿意任教的意愿程度。意愿强度分别以0代表毫无原意、1代表有意愿及2代表极有意愿。目标函数与限制式中所用到的变数分别说明如下:
该学期总共课程数(输入)
该学期总共可任教老师总数(输入)
第i位老师对第j科课程的任教意愿强度(输入:0—毫无意愿,1—有意愿,2—极有意愿)
第i位老师该学期至少应任教时数(输入)
第i位老师该学期最多可任教时数(输入)
第j课程的时数(输入)
将j课程指派给i老师的变数(输出:1—指派,0—不指派)
目标函数可有两种不同的选择以作为比较。一是使全体教师的总满意度最大,二是极大化最不满意老师的满意度。第一种目标函数的选择将会产生最大的总满意度,但是个别老师的满意度差距可能很大,会形成不公平。第二种目标函数的选择会尽量拉近每位老师满意度差距,但降低总满意度。以公平性而言,第二种目标函数产生的结果可能较易被接受。目标函数(一):极大化总满意度
(代表全体教师对被指派课程满意度的总和)
限制式:
;i=1,…,Nt
(限制了每一位老师授课种点数,必须不小于最低应任教时数,且不大于最多任教时数)
=1;j=1,…,Nc
(限制了每一门课程只能指派给一位老师)
(确定每一门课都必须有老师任教)
目标函数(二):极大化最不满意老师之满意度MAX.β
限制式:
;i=1,…,Nt
(限制每一位老师的满意度必须大于β的值,即是将满意度最差之老师的满意度值尽量提升)
不论采用何种目标函数,学年课程都将安排给同一位教师。其做法乃是输入资料中以一个代码给于每一课程,学年课则将时数乘以二。
小型自动排课系统已经在江西应用工程职业学院使用,效果良好,利用计算机辅助进行课程编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。
参考文献
[1]范新刚.SQL Server 2008项目实训教程[M].北京交通大学出版社,2012,6.
[2]龚沛增,杨志强.C/C++程序设计[M].高等教育出版社,2008,9.
作者简介:王金强(1974—),男,硕士,江西应用工程职业学院副教授,研究方向:计算机应用。
【关键词】排课算法;冲突;教学资源
每到一个新学期的开始,对于学校教务工作人员来说首要的任务就是该学期的课程如何安排的问题,如何排出一个好并且适用的课程表是一件很头疼的事情,而课程安排又涉及系部、班级、教师、课程、学校等方方面面的因素。传统的人工排课,最令人担心的问题就是出现教室资源冲突或教师资源冲突的情况,而且工作繁琐,工作量巨大。计算机软件技术应用于学校的课程安排是发展的必然,充分发挥计算机的优势,将大量复杂的判断与运算交给计算机来做,是真正意义的人脑的“减负”。
排课管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性的完整性强、数据安全性好的库。而对于后者则要求应用程序功能完备,易使用等特点。
本系统用的前台开发语言是VC++,SQL Server做后台数据库。利用MICROSOFT公司的Visual C++提供的各种面向对象的接口,尤其是数据内部处理这一能方便而简洁操纵数据库的智能化对象,达到了Visual C++和SQL Server的完美结合,首先在短时间内建立系统应用原型,然后,对初始原型系统进行需求迭代,不断修改和改进,直到形成用户满意的可行系统。
一、系统功能及性能要求
小型自动排课系统主要完成基本信息管理、数据处理、数据输出等功能,由于排课算法复杂,而对于海量的数据,算法要求更高,再加上本人能力和时间的限制,该系统更适用于数据信息量不是太大的排课,因此可以说只是一种试用模型。
作为一个完整的数据库系统,其各种功能也要求比较完善,小型自动排课系统的主要功能有:
1.基本信息管理:教师、教室、班级、课程、教学任务等数据的输入、编辑功能;
2.数据处理:自动排课、课程表修改、删除功能;
3.数据输出:桌面查询教师、教室、班级课程表,报表打印教师、教室、班级课程表;
4.帮助:指导用户使用该系统及其他相关说明。
分析目前市场上流行的各种排课软件,它们都具有比较完善的功能,但在真正的排课算法上都会有些问题,因为排课算法最关键的问题是如何解决各式各样的冲突。在做需求分析的过程中,通过调查得知目前排课人员对排课算法的主要要求有:
1.怎样的合班组合能避免冲突?
目前采取方式是相同或相近的专业的班级组合。
2.什么地方有空能排课?
对教室和班级而言是查空,对教师而言是有无排课需求。
3.有两个以上的空哪一个更好?
是要考虑离散和平衡问题。
4.排课前如何考虑教师宏观利用问题?
如:多媒体大班课:C语言、高等数学尽量拍上午,思想道德修养尽量排下午。
5.对于数量巨大的信息,系统仍具有较快的响应速度和较小的系统开销。
二、界面要求
在使用计算机的过程中,人和计算机是以人机界面为媒介传递信息的。界面是否亲切、友好、美观、舒适是用户看待计算机的第一印象,因此在设计界面时具有很多要求,本系统的开发过程中主要考虑了以下几点要求:
1.简单:要求用户界面能够很方面的处理各种基本的对话;
2.术语标准化和一致化:要求使用标准化的专业术语,技术用语符合软件工程规则,并且在输入输出的说明中,统一术语涵义应保持一致;
3.用户界面标准化:用户对操作方式不会感到陌生;
4.拥有完善的帮助功能:要求用户能够通过使用帮助在最短的时间内了解系统的总体概况,并能够进行各种相关操作。
三、排课算法研究
课程指派的结果会影响教师对任教课程的满意度,而所谓满意度在本研究定义为教师对某一课程希望任教的意愿程度。本研究利用整数规划法来完成课程指派作业,以便在各种的限制条件下寻求最佳指派结果,使教师对任教课程能得到较佳的满意度。研究过程中首先发出问卷调查教师专长以及该学期各课程个人愿意任教的意愿程度。意愿强度分别以0代表毫无原意、1代表有意愿及2代表极有意愿。目标函数与限制式中所用到的变数分别说明如下:
该学期总共课程数(输入)
该学期总共可任教老师总数(输入)
第i位老师对第j科课程的任教意愿强度(输入:0—毫无意愿,1—有意愿,2—极有意愿)
第i位老师该学期至少应任教时数(输入)
第i位老师该学期最多可任教时数(输入)
第j课程的时数(输入)
将j课程指派给i老师的变数(输出:1—指派,0—不指派)
目标函数可有两种不同的选择以作为比较。一是使全体教师的总满意度最大,二是极大化最不满意老师的满意度。第一种目标函数的选择将会产生最大的总满意度,但是个别老师的满意度差距可能很大,会形成不公平。第二种目标函数的选择会尽量拉近每位老师满意度差距,但降低总满意度。以公平性而言,第二种目标函数产生的结果可能较易被接受。目标函数(一):极大化总满意度
(代表全体教师对被指派课程满意度的总和)
限制式:
;i=1,…,Nt
(限制了每一位老师授课种点数,必须不小于最低应任教时数,且不大于最多任教时数)
=1;j=1,…,Nc
(限制了每一门课程只能指派给一位老师)
(确定每一门课都必须有老师任教)
目标函数(二):极大化最不满意老师之满意度MAX.β
限制式:
;i=1,…,Nt
(限制每一位老师的满意度必须大于β的值,即是将满意度最差之老师的满意度值尽量提升)
不论采用何种目标函数,学年课程都将安排给同一位教师。其做法乃是输入资料中以一个代码给于每一课程,学年课则将时数乘以二。
小型自动排课系统已经在江西应用工程职业学院使用,效果良好,利用计算机辅助进行课程编排工作,既提高了排课工作的科学性,又可大大减轻管理人员的工作强度,提高工作效率,从而使学校教务管理现代化迈上了一个新台阶。
参考文献
[1]范新刚.SQL Server 2008项目实训教程[M].北京交通大学出版社,2012,6.
[2]龚沛增,杨志强.C/C++程序设计[M].高等教育出版社,2008,9.
作者简介:王金强(1974—),男,硕士,江西应用工程职业学院副教授,研究方向:计算机应用。