小编导读:软件工程硕士毕业论文的选题中,我们经常可见的一类就是“高校排课系统”,选题泛滥导致很难让文章出彩,这是一个常见的问题。本文也是以此为论题,但是此论文修改经过本站导师之手后,在结构、意义上更进一步,在泛泛之辈中鹤立鸡群。——本文由无忧论文网软件工程硕士论文专区整理提供。
1绪论
1.1论文的研究目的
在我国高等教育中有两个主体:一是学生主体,二是教师主体。学生主体是指学校教育一切为着学生,教育目的是为了将学生培养成既具备较高的专业能力知识和技能,又有较好的道德修养,对社会有用的人才;另一个主体是教师,因为在校培养学生的工作主要来源于教师,培养学生的大部分工作都包含在教师对学生的日常教学工作中。高等院校的教学管理工作J下是将两个主体有效结合起来,保证教学工作能够顺利进行。
在高校各项教学管理工作中,排课一直是最基本的、最重要的工作,其实质就是给教学计划中设置的课程安排合适的时问和地点,保证整个教学工作能够顺利地进行;同时,排课工作也是一项很复杂的工作,排课是一个NP问题,就是始终找不到一个最优的方法能够解决的问题,因为这个问题涉及了多种因素进行组合规划,有教师、学生的因素,也有教室的因素。尤其在目前各高校规模不断扩大,教学资源面临紧张,教师总数不足的自订提下,排课工作问题更为凸出。
在学术界,大家对排课问题的研究由来己久,从上世纪60年代到21世纪的现在,各高校都相继开发了自己的排课系统,但设计系统的算法不统一,有用模拟人工算法、有用遗传算法,有用蚂蚁算法等,每种算法各有特点,但殊途同归,目的是设计出一个合理的排课系统,取代高校原本的人工排课的现状,但目前还没有一个算法能够使设计出的计算机排课系统完全摆脱人工的干预,大部分学校只是利用设计出的计算机排课系统产生出一个初始课表,然后,再由人工调试。这种排课的过程,有时比完全人工排课更加耗时耗精力,因此,有些高校干脆仍然继续进行完全人工排课。
本文详细研究了人工智能中的启发式搜索原理,提出了能够应用于排课问题的启发式排课搜索算法,并运用运筹学中的分层规划,对启发式搜索算法进行进一步的改进,提出了靠边策略、择优策略、前景探测策略和学习策略,并将此算法应用在江苏海事职业技术学院的排课系统中,减少了人工干预排课的次数,提高了系统的应用效果。
1.2 排课算法研究历史和发展
对排课算法的研究已经接近50年之久。从二十世纪六十年代,国外就有人开始对课程表问题进行了研究。直到1975年以前的一段时间里,人们主要从构造算法模型入手,研究其解决方法,目的是找到一个解决排课问题的有效算法。1962年,Gotl ieb提出了一个构造课程表的数学模型,接着人们对这个模型算法、解的存在性等问题作了许多探索,并提出过一些新的算法模型,但始终未能找出一个有效算法。1975年,Even等人在美国STAM J,COMPUTER上发表了“On thecomplexity oftimetable and multi•commodity flow problem”证明了课表问题是一个NP完全类问题。(NP就是Non.deterministic Polynomial的问题,也即是多项式复杂程度的非确定性问题。这类问题的答案通常无法按部就班,直接计算出来,只能通过问接的“猜算’’来得到结果。这类问题,虽无答案,却有算法,这个算法不能直接告诉你答案是什么,但可以告诉你,某个可能的结果是正确的答案,还是错误的,并在多项式时间内能够判断。)Even等人的论述确立了课表编排问题的学术地位,把人们对编排课表以及研究排课算法的问题提高到了理论的高度。进入20世纪90年代以后,国外对课表问题的研究仍然十分活跃。比较有代表的有印度的Uastapu大学管理学院和加拿大Montreal大学。杂志中讨论较多的排课算法有模拟人工算法、蚂蚁算法、遗传算法等。
国内对排课算法问题也一直有研究,设计出的排课系统,比如南京工学院的UTSS(A University Timetable Scheduling System)系统,清华大学的TISER(Timetable Scheduler)系统,大连理工大学的智能教学组织管理与课程调度系统等,这些系统地运行大都是模拟人工排课过程。
模拟人工算法(Simulative Artificial Algorithm,SAA)是根据排课者人工排课的思维和习惯,依次加入“班级、教师、课程”等信息和不同的限制条件,如:班级是否合班、某教师有空的时『白J段、课程合适安排的时间段等等,制定算法,设计排课系统。
蚂蚁算法(ant colony optimization,ACO),国外提及甚多,这是一种用来在图中寻找最优路径的算法,也称图论算法。这个算法由Macro Dorigo于1992年在他的博士论文中引用,其灵感来源于蚂蚁寻找食物过程中发现路径行为。要让蚂蚁找到食物,就需要让它们遍历空间上所有点;如果要找到最短路径,那么需要计算所有可能的路径,并且比较大小。这个算法本身就很复杂。
遗传算法,由美国Michigan大学教授J.Holland与1985年首先提出。这种算法模拟生物发展进化的过程:遗传、变异和选择。生物学中提出每种种群由不同基因编码的各种染色体组成。这个算法可以应用在现实中,种群即问题;每个染色体对应问题的一个解;从初始种群开始,对适应值进行选择,然后变异成一种新的种群;这样一代代演化下去,直到满足期待值为止。这种算法虽然能够解决一定的问题,但染色体本身也是一个NP问题。目前,对排课算法问题的讨论依然很多,但还没有一个算法能够作为计算机自动排课系统的依据,使这个系统能够真J下摆脱人工干预,或许对排课算法的研究可以从如何减少人工干预这一点入手,始终向完全自动排课方向迈进,排课系统的设计才能越来越如人意。
2 高校自动排课系统的需求分析
应用自动排课系统是所有高校排课工作的趋势,它可以降低排课人员的工作量,减少人为干预排课次数,提高排课工作的效率。合理地实施教学计划中的课程安排,保证教学工作顺利进行,高校自动排课系统的设计也必须建立在院校排课工作的基本原则之上,同时在功能、性能、运行环境、安全性等方面,满足各高校的要求。
2.1 高校排课工作的基本原则
随着高等院校办学规模的不断扩大,办学层次的不断提高,高等院校排课管理工作也显得越来越重要,学校要做好这项工作,关键要遵循科学的排课原则,采取有效的管理办法,实现课表编排现代化。
1)有利于充分利用教学设备和条件的原则
设计排课系统的算法具有一定的复杂性,设计教师、教室班级、课程和时间等信息对象,算法目标是为满足需求(如班级、课程等)进行合理资源(如教室、教师和时间等)分配,核心问题是避免资源冲突。在学校的教学工作中,有些课程需要共同使用学校的场地、设备、器材、实验室等。如公共体育课需要用到操场、游泳池、体育器材等,专业课程需要用到实验室、阶梯教室。在排课中必须根据实际情况给予科学的安排、周密的考虑,以提高设备的使用效率。规模较大的高校,教师一般采用“穿插使用”的办法,这些学校许多课程如公共课是跨系、跨专业进行的,一个班级没有固定的上课教室,一门课程或许是几个班级的学生坐在一起,而另--课程却在其它教室早上,像这样不时地变换上课地点的课程,排课是要避免“撞车”现象的发生。特别是近年来,随着各校招生规模的不断扩大,学校教学设备和条件普遍吃紧的情况下,更要合理安排和充分利用好现有教学条件和设备,避免“撞车”现象或闲置。
2)科学的制定教学计划,保证课程顺利开设原则
教学计划是学校教育、教学的指导性文件,是编排课程表的唯一依据。它根据学生的身心发展规律,按照教育原则和培养目标,根据学科的内在必然联系,合理的、科学的、有序的编订了每学期要开设的课程。课掌教学是按固定的课程表进行的,课程表是学校全面贯彻党的教育方针,培养具有一定规格的大学生的具体反映。它应该按照教育学和教育心理学的原理科学的将教学计划固定下来,并通过教学活动不断的得到实施和完成的。而且根据高职学校的教学特点,教学计划要求满足以下几点:
既要有便于执行的相对的稳定性,又要顺应职业社会需求的发展变化甚至要有超前意识;
既要明确理论教学的任务,又要规范技能训练的标准:
对于“复合型"专业,还要注意跨学科的各门课程之间的联系与衔接,甚至先后顺序、深浅程度、课时比例都要反复向有关专家征询。在编排课程表时,一定要严格按照教学计划制定,保证课程顺利丌设,不要随意改变或停开某一课程。
摘要:本文在查阅大量相关文献的基础上,对高校的排课问题进行了分析,通过对人工智能中的启发式搜索理论的研究,对优先权策略和分配策略加以分析和应用,设计出排课算法启发式排课算法(HTA)。同时,又对HTA算法中薄弱点(主要是对课程等对优先权过于敏感)进行进一步改造,即在HTA算法的基础