基于遗传算法的排课系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于遗传算法的高校排课系统
张燕宋锦斌刘红兵王安家
(长沙医学院湖南省长沙市)
摘要:近年来随着大学的扩招和规模的扩大,排课问题已成为一个非常棘手的问题,在教室资源有限的前提下课程编排显得更加繁重,同时课程的编排也更成为教学管理工作的关键,在一定程度和深度上影响着学生培养与教学质量的提高。利用计算机进行自动排课,不但能使教务人员从繁杂的排课任务中解脱出来,提高教务管理工作效率,而且能改善教学管理质量,合理、高效地利用有限的教学资源,使学校的各种教学活动、教学管理及其它相关的工作能够有序、规范地进行,维持正常的教学秩序,同时对推动教务管理的信息化起到非常重要的作用。
排课问题是一个有约束的、多目标的、难解的组合优化问题,是属于NP-完全问题。研究者提出了多种其他排课算法,例如模拟退火、列表寻优搜索、约束满意等,而遗传算法是很有效的求解最优解的算法。
遗传算法通过交叉、变异、选择三种遗传算子来实现遗传和变异的功能,并采用适应度函数保证排课结果趋于最优,对现有教学资源进行科学合理的安排,在实践中具有一定的应用价值。所以本文以遗传算法为基础,对排课问题进行了深入的研究,在实际应用中有一定的意义。
关键字:排课系统;遗传算法;自动排课系统;人工智能
中文分类号T301
Abstract In recent years, with the University Expansion and expansion of the scale.timetabling has become a very difficult problem. Limited resources in the classroom context, Curriculum has become more onerous. The courses become the key to teaching management at the same time. It affects students in developing and improving the quality of teaching to some extent. Arranging automatically by computer, not only to academic staff from the cumbersome task of freeing Arranging, improve efficiency of educational administration, but also to improve the quality of teaching management. Rational and efficient use of limited teaching resources, making variety of teaching activities, teaching management and other related work orderly and standardized manner, keeping the normal teaching order, At the same time promoting the academic management of information technology play a very important role.
Timetabling problem is a constrained, multi-objective, intractable combinatorial optimization problems, it belongs to NP-Complete problems. Researchers have proposed many other Timetabling Problem, such as Simulated Annealing, List of search optimization, Constraint satisfaction and so on. But genetic algorithm is very effective algorithm for solving the optimal solution .GA carry out genetic and functional variation through Crossover, mutation and selection of three genetic operators. And adopt fitness function ensure Arranging Results tend to the best. On existing teaching resources to conduct a
scientific and rational arrangements, it has a definite value in practice. So this article is based on GA ,On arranging for in-depth study of the application have a certain significance.
Key words curriculum arrangement; genetic algorithm; Priority strategy
1 基于遗传算法排课系统的问题背景:
随着近几年各个高校的合并与扩招,我国的综合性大学和各个高校中在校的学生数量的大大增加,对于高校教务部门来说,排课工作是非常令人头痛的事,经常会出现课程排列冲突,比如:一个教师在同一时间上两门课,有两个教师同时去一个教室上不同的课程,一些公共课程需要几个班合上(如计算机基础课),一些英语的基础课程必需安排在拥多媒体的语音室进行教学,有些教师在特定时间不可以上课等。如果没有很好地解决这些冲突,必将产生教学混乱等现象。可见,排课算法的正确性、高效性是非常关键的。
20世纪70年代中期,就有人论证了课表问题是NP完全问题。当课表所涉及的任何信息量稍有变化将会导致课表编排选择方案的剧增。课表问题存在固定的数学模型,能找到相应的解,且是一组解集。为此,现提出一些关于高校教学管理系统排课的算法。
2 遗传算法用生物学在计算机科学中的描述:
在生物系统中,进化被认为是一种成功的自适应方法,具有很好的健壮性遗传算法搜索的假设空间中,可以如下描述遗传算法。
●遗传算法(GA)是一种受生物进化启发的学习方法,它不再是从一般到特殊
或从简单到复杂地搜索假设,而是通过变异和重组当前已知的最好假设来生成后续的假设
●每一步,更新被称为当前群体的一组假设,方法是使用当前适应度最高的假设
的后代替代群体的某个部分
●这个过程形成了假设的生成测试的柱状搜索,其中若干个最佳当前假设的变体
最有可能在下一步被考虑
3 遗传算法一般共同结构及流程:
首先产生一个初始种群,然后对这个种群中的每一个个体进行适应度计算,适应度即表示了个体对环境的适应程度。计算后的个体进行是否满足优化准则判定,如果满足,那么算法找到了这个个体并停止,如果不满足准则,那么算法将对这个种群进行选择、复制、交叉、变异操作,遗传操作的目的是从初始种群中筛选出较优异的个体进行演变,这其中包括复制优秀个体重生、两个父个体进行交叉和单个个体的变异这三种方式,对演变后的子代群体,重新进行优化准则判定,如此循环下去,直到找到一个最优个体,或者达到其它循环条件为止。其基本结构如图2.1所示。
以下是遗传算法的伪代码。
Void yichuan()
{