遗传算法在高校排课系统中的应用

来源 :硅谷 | 被引量 : 0次 | 上传用户:hiketty
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  [摘要]提出并实现一种高校自动排课算法,利用遗传算法建立数据模型,定义一个包含教师编号、班级编号、课程编号、教室编号、上课时间段的染色体编码方案和适应度函数,通过初始化种群、选择、交叉、变异等过程不断进化,最后得到最优解。利用该算法对某高校的真实数据进行实验,结果显示无一例教室、教师、班级冲突,算法具有合理性和可行性。
  [关键词]遗传算法 排课系统 适应度函数
  中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2008)1110073-01
  
  高校排课问题很早以前就成为众多科研人员和软件公司的研究课题,其中算法的选择是最关键的一个问题,即若是用“穷举法”之外的算法找出最佳解是不可能的。然而由于穷举法根本无法在计算机上实现。因为假设一个星期有n个时段可排课,有m位教师需要参与排课,平均每位教师一个星期上k节课,在不考虑其他限制的情况下,能够推出的可能组合就有nm*k种,如此高的复杂度是目前计算机所无法承受的。因此众多研究者提出了多种其他排课算法,如模拟退火,列表寻优搜索,约束满意等。其中,遗传算法(Genetic Algorithm, 简称GA)是很有效的求解最优解的算法。
  
  一、遗传算法
  
  遗传算法采用类似基因演化的循环过程,其演算过程如下:①随机产生一定数目的初始种群。②对个体适应度进行评估,如果个体的适应度符合优化准则,则输出最佳个体及其代表的最优解,并结束计算,否则转向第3步。③依据适应度选择再生个体④按照一定的交叉概率和交叉方法生成新的个体。⑤按照一定的变异概率和变异方法生成新的个体。⑥由交叉和变异产生新一代的种群,然后返回第2步。以下是遗传算法的伪代码。
  BEGIN:
  I = 0;
  Initialize P(I);
  Fitness P(I);
  While(not Terminate-Condition)
  {
  I ++;
  GA-Operation P(I);
  Fitness P(I);
   }
  END.
  
  二、设计
  
  (一)染色体编码。GA中首要考虑的是如何表现其问题,即如何对染色体编码,使之适用于GA操作。在经典的遗传算法中,常采用浮点数或二进制的编码方法,而研究中,每条染色体代表每位教师的课表,染色体在程序中可用十进制数编码,随机产生上课时间,随机选择大于两班总人数的教室。适应度函数。遗传算法在进化中是以每个个体的适应度值为依据来选取下一代种群的。适应度函数设定的好坏直接影响到遗传算法的收敛速度和能否找到最优解。在本系统中,适应度函数的设计思想是对每条染色体中存在的冲突类型进行加权求和,其中权值Wi代表的是第i条规则的重要程度,若某条染色体违反了某条规则i,则将其值Pi置为1(若没有违反规则i,则Pi值为0),其受到的惩罚值为Wi*Pi,对染色体中存在的冲突进行加权求和并加上1后,再求其倒数,如以下公式所示。染色体适应度函数值越大,则表示其拥有较好的授课时段和教室,其在下一代的演化中的生存概率就较大。
  
  (二)遗传操作。初始化[Initialize]。初始化的目的在于为后面的遗传操作提供初始种群。在我们的算法中,由于每次对一位教师进行遗传操作,初始化时就需要考虑到教室及时间的设定,这其中包括教室可容人数的最优逼近(即避免一个30人的班级占用可容200人的教室这种情况),以及上课时间安排的合理性,这在排课问题描述中已有解释。
  选择[Select]。选择运算用于模拟生物界去劣存优的自然选择现象。它从旧种群中选择出适应度高的某种染色体,放入配对集合中,为染色体交叉和变异运算产生新种群做准备。适应度越高的染色体被选择的可能性越大,选择操作的方法有许多,如轮盘赌选择法(roulette wheel selection)。研究中,我们选用了局部选择法中的一种:截断选择法(truncation selection)。
  在截断选择法中,染色体按适应度函数值由高到低排序,只有最优秀的个体才能被选作父个体。其中,用于决定染色体被选作父个体的百分比的参数称为截断阀值Trunc,其取值范围为50%~10%。在该阀值之外的个体不能产生子个体。选择强度表示为:
  
  SelIntTrunc(Trunc) =
  式中fc为下列高斯分布的积分下限:
  
  Trunc =
  交叉[Crossover]。交叉是根据选择操作的结果,选取两条染色体作为父个体,再取一随机值(设为r)与系统预设的交叉率值(设为t)比较,若r  变异[Mutate]。变异是随机改变染色体中任一授课时段,将时段随机抽取一点在设定范围内改变。变异运算模仿了生物在自然遗传环境中由于各种偶然因素引起的基因突变,通过变异,染色体适应度有可能加强也有可能降低,但它确保了种群中遗传基因类型的多样性,使搜索能在尽可能大的空间中进行,获得最优解的可能性大大加强。
  
  三、冲突问题解决与结果评估
  
  排课问题是一个NP-Complete问题,无论采用哪种方法都无法避免各种冲突问题的出现,同一位教师在同一时段内排了两门课是冲突问题中最明显的一个。为了避免这种冲突产生,在本系统开发中引进了一个冲突检测函数fConflict(),当排完一位教师的所有课程之后,系统就会用该函数对此教师课程安排的冲突情况进行检测并作修正。
  
  四、结论
  
  本文论述了利用遗传算法求解高校课表的安排问题,实验证明文中提出的染色体编码方案和适应度函数是可行的,适应度函数值能够随着进化代数的增加而呈不断上升趋势,实验结果令人满意。在染色体编码方案方面,今后还准备考虑更复杂的课程安排要求。
  
  参考文献:
  [1]业宁、梁作鹏、董逸生,一种基于遗传算法的TTP问题求解算法,东南大学学报(自然科学版).2003(1):41-44.
  [2]唐勇、唐雪飞、王玲,基于遗传算法的排课系统. 计算机应用. 2002(1):93-94.97.
  [3]王小平、曹立明,遗传算法理论、应用与软件实现.西安:西安交通大学出版社,2002:31-33.
  
  注:“本文中所涉及到的图表、注解、公式等内容请以PDF格式阅读原文。”
其他文献
分光光度计是光学、精密机械和电子技术三者紧密结合而成的光谱仪器,它依据物质对辐射产生的特征吸收光谱及朗伯——比尔定律测量物质对不同波长单色辐射的吸收程度,是一种常
[摘要]嵌入式操作系统的性能和选择是大多数嵌入式系统开发都要面临的问题。比较3种开源嵌入式操作系统嵌入式Linux、QNX和eCos,分析3种开源操作系统的主要性能,并根据分析结果指出各自的适用领域。  [关键词]嵌入式操作系统 RTOS 嵌入式系统  中图分类号:TP316.2 文献标识码:A 文章编号:1671-7597(2008)1110061-01    一、三种开源EOS介绍    (一
[摘要]目前计算机网络考试已成为高校考试的先进手段,这也是课程考试方式改革和发展的必然趋势,我们在充分分析考试需求和计算机网络考试特性的基础上,采用PB9.0软件以及Access数据库进行设计实现了一个简单实用、适应性强的计算机基础网络考试系统,并对系统的功能与设计、实现进行介绍。  [关键词]计算机基础 网络考试系统 设计  中图分类号:G71 文献标识码:A 文章编号:1671-7597(20
[摘要]设计一个无线传感器网络的应用模型婴儿物理行为系统。利用MoteWorks开发平台获取无线传感器网络的数据,通过数学建模的方式,利用Matlab和概率学等数学理论,定义两种婴儿物理行为的状态,并通过实际测试,对于非正常状态的婴儿物理行定义了警报,完成了实验应用目标。  [关键词]无线传感器网络 传感器节点加速计 应用 Matlab MoteWorks  中图分类号:TP3 文献标识码:A 文
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
作者报道以反应停300mg/d,连用6个月治疗1例严重广泛的硬化期慢性皮肤移植物抗宿主病,使皮肤硬化逐步好转。患者男,28岁,患严重再生障碍性贫血,在第1次试用骨髓移植后引起迟
分别介绍在Windows操作系统下的三种实时视频数据采集的方法,即基于VFW的实时视频采集,基于DirectShow的实时视频采集和基于视频卡附带软件开发工具箱(SDK)的实时视频采集,并给出实现的核心代码。
[摘要]随着科技的迅猛发展,数据挖掘技术已经成为当前一大技术热点。介绍数据挖掘的定义和应用,分析数据挖掘的发展趋势。  [关键词]数据挖掘 定义 应用 趋势  中图分类号:TP2 文献标识码:A 文章编号:1671-7597(2008)1110069-01    一、数据挖掘的定义    数据挖掘是随着数据库和人工智能技术的发展而出现的一种新兴的自动信息提取技术。数据挖掘,又称为数据库中的知识发现
该文从挂篮荷载计算、施工流程、支座及临时固结施工、挂篮安装及试验、合拢段施工、模板制作安装、钢筋安装、混凝土的浇筑及养生、测量监控等方面人手,介绍了S226海滨大桥
[摘要]网站界面无障碍设计可以服务于广泛用户群体,特别是视力或认知能力有障碍的用户、具有不同学习习惯的用户、老年用户、不同语言文化背景的用户、不擅长使用计算机和网络的用户等。从范围和领域、辅助技术以及无基本要求三个方面对无障碍网站进行探索和研究。  [关键词]网站界面 无障碍 设计 残疾人 障碍 互联网  中图分类号:TP3-05 文献标识码:A 文章编号:1671-7597(2008)11100