郭 彤
人工智能算法在排课系统中的研究与应用
郭 彤
(天津市建筑工程职工大学,天津市 300074)
通过对人工智能算法的研究,结合排课问题的求解难点和目标,提出以时间为中心的求解排课问题方案的总体思路,进而设计了排课系统的具体实现方案,建立了基于人工智能算法的排课模型。
排课系统;人工智能;B/S结构
课程编排是高等院校日常教务管理中的重要而又繁重的工作,计算机排课可以提高排课质量,把教务工作者从繁重的排课工作中解脱出来,而且课表中的信息一目了然,对于合理安排学生四年的学习进程,评估每位教师对教学的贡献以及领导的合理决策等都具有重要的意义。
随着计算机技术的迅猛发展以及近年来高校招生规模的扩大,将计算机引入高校日常教务管理工作中已经成为降低工作强度的最佳方法。课表的编排是一项重要的教务工作,引起课程变化的因素多,工作量大,建立一套完善的计算机自动排课系统,可以大大提高排课效率。采用计算机排课是人们一直非常关注却又未能圆满解决的一个现实问题。排课问题就其实质而言可以抽象为一个时间与空间的数学组合问题,即在满足各种已知约束条件的情况下找出一个最优的时空组合,同时在具体实践上它又受到教学组织形式、客观物质条件等多种因素的相互影响,使这一问题在实际解决时呈现出受具体条件制约的特点。
因此,要解决排课问题不仅要建立完善的逻辑模型,还要深入了解教学组织形式及其客观或物质条件的特点。
排课系统主要完成的功能有:能根据教师要求(如某天不得排课)、课程约束(如体育不能排在上午第一节课)、班级约束(如某班星期五下午最后一节课不排课)、校级约束(如全校所有班级星期一下午第一节课都为班会)等信息自动为班级和教师生成课程表,要求主课尽量排在上午和下午一、二节课,副课尽量排在上午和下午的最后一节课,如体育课排在上午第一节课是不太合适的。对于软件不能安排的少数课程,管理员能够在自动排出的课程表上进行手工调课。
管理员、教师、学生分别以不同的权限登陆系统。管理员主要负责教学资源的录入、课程调整以及系统的维护。教师在规定的时间内登陆系统填写开课申请。学生在课表生成后,登陆系统查询。
排课系统从教学资源、课程需求、查询需求等方面进行设计。将应用对象划分为管理员、教师和学生。针对不同对象的特点及需求进行设计和开发,具有灵活、方便、实用的特点。各主要模块的功能有:
(一)教学资源管理
管理员登陆系统后,输入可用教学资源。并按照教室,实验室,多媒体教室等标准进行分类管理。
(二)课程管理
教师登陆后,提交开课申请,并对开设课程的各种要求作详细说明。由管理员根据课程类型的不同进行分类管理。
(三)课表查询
排课系统自动生成课表后,由管理员进行人工微调,最终生成有效课表,供师生查询。为了满足广大师生的多种查询需求,系统具备按时间查询、按地点查询、按教师查询、按教室查询等多种查询方式。
图1 排课系统构成图
(一)问题表述
由于本系统是以高校课表编排为例进行设计,所以在整体设计阶段对时间、教室、教师等资源根据其特点进行了分类,以便自动生成课表。
在课程的编排中应遵循一定的规则,只有按照基本规则来进行课程的编排才能够减少冲突的发生,这些基本规则主要有以下几条:
1.同一班级的学生在同一时间不能安排两门课程
2.同一教师在同一时间不能安排两门课程
3.同一教室在同一时间不能安排两门课程
4.同一时间安排的课程总数不能大于所能提供的教室总数
5.某一课程参加学习的总人数不应大于所安排教室的座位数
6.所提供教室的属性与课程所需教室的属性一致
在时间、教师、班级、教室、课程这五维关系中,时间、教师、班级三者之间存在着紧密关系。相对而言,教室与它们关系就不那么密切。
(二)解决问题的算法思想
通过对人工智能算法在排课系统中的应用可行性研究,本排课系统软件按照以时间为中心的思想进行设计。
本排课系统的思想:以时间为中心,教室、学生、教师每周有35个可用的时间段,通过选取三者都可用的时间段来安排一门课程,课程的选择基于在某时间段三者同时可用。
为了实现上述思想的排课,排课过程流程如下页图2所示:
1.选取一个尚未排课的课程;
2.通过筛选教师和学生可用时间段,选取出该课程可用的时间段;
3.随机抽取满足步骤2中的一个时间段,选择满足该时间段可用的教室;
4.完成一门课程的排课。
5.重复步骤1,进行下一门课程的排课。
如果没有时间段满足三者同时可用,则将显示时间冲突,如果没有满足某时间段的教室,则将显示教室冲突。
排课系统主要采用B/S架构和ASP动态网页技术实现课表的自动编排,是一个基于校园网络的信息管理系统,由用户端/WEB浏览器、IIS服务器和ASP应用系统以及数据库服务器组成。
该排课系统主要包括管理员模块、教师模块和学生查询模块。管理员主要负责信息的添加;教师可以添加课程信息,也可以查询课程;学生可以根据不同分类进行课表查询。
图2 排课过程流程图
(一)管理员模块
管理员登陆后,可以进行教室、班级和教师等信息的添加和维护,图3为教学资源管理信息添加界面。
(二)教师模块
教师模块的功能分为课程信息的添加和课表的查询。教师模块课程信息添加界面如图4所示:
图3 教学资源管理信息添加界面
图4 课程信息添加界面
教师模块的课表可以根据老师的姓名进行查询,如下图5为查询界面。
(三)学生查询模块
学生可以根据自己的需要按照班级、教师、教室和课程进行课表查询。
图5 教师模块课表查询界面和查询结果
实现计算机自动排课,是学校教学管理工作迈入科学化、规范化和现代化管理的关键步骤,其意义十分重大。然而,排课问题至今没有完善、成熟的解决方案。本文在详细研究人工智能算法的应用特点和关键要素的基础上,结合排课问题的求解难点和目标,综合考虑排课问题涉及到的各种因素和约束条件,确定了以时间为中心的求解排课问题方案的总体思路,设计了排课系统的具体实现方案。应用结果表明采用该排课系统进行排课可以大大降低工作量,提高工作效率。
人工智能算法解决排课问题还是一个较新的研究领域,本文目前的研究还具有一定的局限性,对于比较复杂的、通用的人工智能算法排课问题还有待于进一步研究。
[1]黄仙娇,张琳.高等院校排课系统的研究[J].河南教育学院学报(自然科学版),2005,(14).
[2]赵晓庆,熊璋,方义.高校智能排课系统的设计与实现[J].计算机与现代化,2004,(11).
[3]陈建伟,王祥仲.Dreamweaver8+ASP动态网页制作实用教程.[M].北京:清华大学出版社,2006.
[4]李劲,谢兆阳.SQL Ser ver 2000数据库设计与系统管理.[M].北京:清华大学出版社,2002.
[5]陈永强,谢维成,李茜.ASP数据库开发经典实例精解.[M].北京:机械工业出版社,2006.
Research and Application of Artificial Intelligence Algorith ms Used in Course Scheduling Syste m
GUO Tong
(Tianjin Constr uction and Engineering Staf f and Wor kers University,Tianjin 300074 China)
Through the research on artificial intelligence algorith m,the article puts for ward a general idea for a ti me-centered course scheduling solution ai ming to solve the problem of course scheduling puzzle.It also devises a practical scheme of the course scheduling system and a course scheduling model based on artificial intelligence algorith m.
course scheduling system;artificial intelligence;B/S structure
TP399
A
1673-582X(2012)02-0079-04
2011-12-06
郭彤(1983-),女,汉族,天津市,教务处副主任,从事教务管理工作,毕业于天津外国语大学。