基于蚁群算法的高校排课系统优化策略
浅谈“基于蚁群算法的排课系统”

3 ) 概率确定是否转 移到城市 j 根据 , 若转移则把城 市 j 加入禁 忌表 , 同时更新各路径上的信息素变 化量 △ Tj △ T 的初始值 赋 , i
为 0 以后每当有蚂蚁从上面经过一次其值增加一个小正常数 e , 。
即 △r ≤△ + c ( 2)
田
H “
- B
系列 问 题 。 2蚂 蚁 算法 简 介 .
P(j — k,= i)
( ) 1
自然界中的蚂蚁在寻找食物源时, 能在走过的路径上释放一种 特有的分泌物——信息素 p eo n)使得一定范 围内的其它蚂蚁 hrmoe, 能够察觉 到并由此影响它们以后 的行为。当某路径比较短时 , 在单 位时间内来 回搬运食物的蚂蚁在上面通过的次数也越 多, 留下的 其 信息素也越来越多, 以致其强度不断增大( 当然 , 随时 问的推移会同
文献标识码 : A
,
解 决排 课 系统 的 问题 。 文 中还 讨 论 了在 编 程 实现 中所遇 到 的一 些 问 题 和这 些 问题 的解 决 方 法。
中图分类号 : 2 O1 1
1 引言 .
文章编号 :6 2 7 9 2 0 1 - 1 — 2 1 7 — 8 4( 0 7) 2 2 4 0 3,……时, 4 将会有更多的蚂蚁选择路径 B D。经过较 长时间运动 C
3 ns 0a t
4重复第 2、) , ) )3步 直到蚂蚁 k遍历所有 的城 市并 回到初 始位
置;
:
A
5重复 2、)4步 , ) 13、) 直到所有 m只蚂蚁完成~次遍历过程 , 更新
各路 径上的信息素强度。信息素 i j 的更新 规则为
△ : ≤ + r p △ 一
蚁群算法在优化问题中的应用

蚁群算法在优化问题中的应用蚁群算法是一种基于模拟蚂蚁行为的优化算法。
它主要适用于NP难问题(NP-hard problem),如图论、组合优化和生产调度问题等。
在这些问题中,找到近似最优解是非常困难的,蚁群算法通过模拟蚂蚁寻找食物的过程,利用蚂蚁的群智能来搜索最优解。
蚁群算法的基本思路是通过模拟蚂蚁找食物的过程,来寻找问题的最优解。
蚂蚁在寻找食物时,会在路径上释放一种信息素,这种信息素可以吸引其它蚂蚁跟随自己的路径。
信息素的浓度会随着路径的通行次数增加而增加,从而影响蚂蚁选择路径的概率。
在寻找最优解的过程中,蚂蚁的行为规则主要包括路径选择规则和信息素更新规则。
在路径选择规则方面,蚂蚁主要通过信息素浓度和距离来选择路径。
信息素浓度越高的路径,蚂蚁越有可能选择这条路径。
但是为了防止蚂蚁陷入局部最优解,蚂蚁也会有一定概率选择比较远的路径。
在信息素更新规则方面,主要是根据蚂蚁走过的路径长度和路径的信息素浓度来更新信息素。
如果一条路径被蚂蚁选中并走过,就会在路径上留下一定浓度的信息素。
而浓度高的路径会被更多的蚂蚁选择,从而增加信息素的浓度。
但是信息素会随着时间的推移而挥发,如果路径在一段时间内没有被选择,其上的信息素浓度就会逐渐减弱。
在实际应用中,蚁群算法主要用于优化问题,如图论、组合优化和生产调度问题等。
例如,在图论中,蚁群算法可以用来寻找最短路径问题。
在组合优化中,蚁群算法可以用来求解旅行商问题和装载问题等。
在生产调度问题中,蚁群算法可以用来优化生产过程和资源分配。
总之,蚁群算法是一种非常有用的优化算法,它可以利用群智能来搜索最优解,具有较好的鲁棒性和适应性。
未来,蚁群算法还可以应用于更多领域,如金融、医疗和物流等,为各行各业的优化问题提供更好的解决方案。
基于遗传-蚁群混合算法的排课系统

基于遗传-蚁群混合算法的排课系统孙弋;胡粔珲【摘要】在高校的教务管理中,排课问题是复杂又关键的环节,科目数量众多,教学资源有限等等因素都制约着排课的复杂程度和结果.排课本质就是将课程、班级在合适的时间段安排到合适的教学位置,是一个NP问题的求解.随着规模的不断扩大,问题求解难度呈指数形式增加,当规模达到一定程度的时候就很难在短的时间内求出最优解.鉴于此,本文提出了遗传-蚁群混合算法,将两种算法混合使用,依靠遗传算法生成信息素分布,利用蚁群算法求最优解.实验结果表明,混合算法提高了排课的效率和课表的合理度.【期刊名称】《计算机系统应用》【年(卷),期】2019(028)002【总页数】6页(P81-86)【关键词】排课;NP问题;遗传算法;蚁群算法;混合算法【作者】孙弋;胡粔珲【作者单位】西安科技大学通信与信息工程学院,西安 710054;西安科技大学通信与信息工程学院,西安 710054【正文语种】中文引言教务管理是教育活动的重要支撑,随着高校教育改革的发展,高校人数的增加,但教学资源却相对有限的情况下,排课工作的难度和复杂程度都有所提高.因此,如何设计一个能满足多约束条件并且高效的排课系统成为了目前待解决的问题[1].排课系统的核心是排课,排课算法一个NP完全问题,即算法的计算时间呈指数增长[2].常用的排课算法有: 蚁群算法、遗传算法、贪心算法、图论算法等.遗传算法模拟生物进化过程,具有自适应全局寻优和智能搜索等优点,但是容易收敛得到局部近似最优解,进行大量的无用迭代,难以收敛于最优解[3,4].蚁群算法启发于蚂蚁寻找最优路径的行为,具有较强的鲁棒性,是一种正反馈算法.但当群体规模较大时,搜索初期信息素匮乏,容易产生停滞现象.单算法在解决问题时都会有局限性,花费的时间成本更多,求解的结果不理想[5,6].为了提高排课的效率和成功率,本文提出一种将遗传算法与蚁群算法结合使用的方法,首先使用遗传算法对初始种群进行优化选择,生成蚁群算法所需的信息素,再通过蚁群算法求得全局精确解.优劣互补,充分发挥两者的优势[7].1 排课问题的分析排课问题主要涉及教师、教室、课程、班级、上课时间等因素,排课的实质就是要求课程表在安排的时候不能在上述五个因素中发生冲突.可使用五个集合来表示这些因素.班级集合: C={C1,C2,C3,···,Cn}课程集合: S={S1,S2,S3,···,Sm}教师集合: T={T1,T2,T3,···,Tx}教室集合: R ={R1,R2,R3,···,Rt},教室有多种类型,例如实验室、多媒体教室、机房等,每个教室容纳的人数也不相同.时间段集合: P ={P1,P2,P3,···,Pi},Pi表示时间段,例如P 1为周一的1-2节课,P 2为3-4节课.时间和教室的笛卡儿积为: N = R * P ={(r1,p1),(r2,p2),…,(rn,pn)},N 中的元素是教室-时间对.排课问题由此转化为一门课寻找一个合适的教室时间对.1.1 硬约束条件硬约束是在排课过程中必须要遵守的约束条件,如果排课过程中无法遵守硬约束条件,则会导致日常的教学计划无法顺利的进行.例如:(1)同一个教师在同一时间段内只能够上一门课,并且教室的性质要和课程要求相吻合;(2)同一个班级在同一时间段内只能够接受一门课;(3)一门课程安排的教室座位数量要大于或等于本门课程上课的人数.1.2 软约束条件软约束条件需要将人体生物规律与排课进行结合.满足软约束条件越多,课表越能让教师与学生满意.例如:(1)尽量将专业课或者难度较大的课程安排在学生思维活跃的时间段;(2)体育课应安排在下午或者上午的第二大节,因为体育课后人体疲惫不适宜安排专业性过强的课程.2 算法概述2.1 遗传算法遗传算法是通过模拟生物界遗传选择和自然淘汰的生物进化过程的计算模型,借鉴了生物界适者生存、优胜劣汰的进化规律,从而演化的随机化搜索方法.遗传算法从一个种群开始,在这个种群中可能存在问题的潜在解,每个种群是由经过编码的N个个体组成,每个个体就是带有一定特征的染色体实体.在每一代中,选择适应度较大的个体进行培育,然后借助遗传学中的遗传算子进行多次组合交叉、变异等操作,产生出代表新的解集的种群.这样经过了多次演化之后得到的种群就可以看作问题的近似最优解.遗传算法的流程如下:(1)随机产生一定数量的初始种群,数量由业务需求定义.(2)对全部个体进行适应度的评估,如果某个个体的适应度已经满足最优化的要求,则输出此个体,并结束计算.否则转向第(3)步.(3)从所有个体中取出适应度较强的个体成为再生个体.(4)依据交叉概率,变异概率生成新的个体.(5)由上述两步交叉和变异产生新一代种群,然后返回第(2)步.2.2 蚁群算法蚁群算法是一个寻找最优路径的方法.蚂蚁在寻找食物的过程中,通过释放信息素留下信息,后面的蚂蚁就会根据路上的信息素来选择路径,信息素的浓度与行走的路程成反比,走的路途越长,信息素浓度越低,则越不容易找到,路途越短,信息素浓度含量越高.随着时间的推移最优路上的信息素浓度越大,最终蚁群会找到一个最优路径.2.3 遗传-蚁群混合算法遗传,蚁群算法是两大仿生算法,都有各自的优势和不足.遗传算法的优势在于在大范围内具有快速全局搜索的能力,但在处理反馈信息时利用率过低,容易过早的收敛,或求解到一定范围时会做大量的无用迭代,从而会降低求解过程中的效率.蚁群算法采用正反馈机制,具有较强的鲁棒性,使搜索过程不断收敛,有更好的全局优化能力.但是在搜索初期信息素分布较少时,求解速率较慢.而排课问题的实质就是一个NP完全问题,影响排课因素的细微变动,尤其是信息量一点点的增加,都会给排课带来“组合爆炸”灾难,当排课规模较大时,单算法在排课问题中就表现出局限性,会出现排课时间较长、排出的课表无法令教师学生满意等现象.因此,本文将两算法结合应用于排课问题中,首先利用遗传算法在大范围内快速的生成信息素分布,再利用蚁群算法求出全局最优解,优势互补,可以减少求解的时间,提高精确率.3 遗传-蚁群混合算法解决排课问题3.1 遗传算法在排课问题中的应用3.1.1 构造基因编码和染色体实施遗传算法的第一步就是对需要解决问题的参数进行基因编码,从而进行相关的遗传操作.本文采用二进制对编码数据进行设计.如表1所示.表1 编码方式教师ID 班级ID 课程ID 教室上课时间3.1.2 适应度函数在遗传算法的进化过程中,其根据适应度函数来确定进化方向.适应度是对课表优劣的一种体现.适应度越大则证明课表的效果越优秀.因此适应度函数直接决定着排课方案的寻优速率和能否找到最优解.所以这就需要制定一个合适的适应度函数(期望).在本文中,课表的期望值可以分为以下三种: 课程离散程度期望,节次优化度期望和特殊课程期望.(1)课程离散程度期望同一门课程安排的时间应该分布均匀,每周安排的时间不能分散也不能太集中.本文将每天的教学时间段分为4个,每周一共20个时间段.用编号相同课程的时差来表示离散程度的大小如表2所示.表2 课程离散程度期望时差 1,2,3,18,19 4,5,15,16,17 6,7,12,13,14 8,9,10,11期望 0.2 0.4 0.6 0.8每一个课程时差对应一个期望,期望函数公式为:(2)节次优化度期望值人体生物钟规律应与教学内容相匹配,逻辑思维活跃的时间段一般在早晨,而下午更容易疲倦所以学习效率较低.根据人体生物钟规律节次的不同的课程期望值也不同,如表3所示.表3 节次优化度期望值节次1,5,9,13,17 2,6,10,14,18 3,7,11,15,19 4,8,12,16,20期望 0.8 0.7 0.5 0.1对于难度比较大的课程就可以安排在期望值高的节次上,对于节次期望值函数的公式为:(3)特殊课程的期望值特殊课程包含体育课与自习课,此类课程最好安排在下午的第二节.当体育课结束后,人体处于疲倦状态,不适于将专业性过强的课程安排在体育课后.如表4对特殊课程给出了不同的期望.表4 特殊课程的期望值节次1,5,9,13,17 2,6,10,14,18 3,7,11,15,19 4,8,12,16,20期望 0 0 2 4对体育课排课就依据上表的期望值为:应将课表中没有课程的时间段安排给自习课.则计算特殊课程期望值的公式为:根据以上分析可得出适应度函数F,如下公式为:式中,K1,K 2,K 3为调控期望值对总期望影响程度的参数.3.1.3 种群操作当形成初始种群,并设计好适应度函数后,下一步就是要进行遗传操作.遗传算法包括三个基本操作: 选择、交叉和变异.(1)选择操作选择操作就是依照适应度的值保留优良的个体,适应度越高证明越近似于最优解.本文中保留优良个体的依据是期望值方法,选择期望值高的个体进行交叉变异操作.(2)交叉操作交叉操作就是把两个个体的部分结构进行替换重组从而产生新的个体.根据选择操作的结果,选择两条染色体作为父代,进行交叉操作.为了防止染色体的结构发生更改,本文的交叉操作只针对教室和上课时间,这样教师和班级都没有发生改变,维持了染色体原本的结构.同时设定交叉概率为 PJ ,若 P J大于随机值r(0<r<1),就进行交叉操作.(3)变异操作变异操作能够随机的对个体的局部进行搜索,提高种群的多样化.本文中的变异操作就是对染色体编码中教室和时间段的局部编码进行修改,可以提高染色体的适应度.同时设定变异概率为 P G ,若P G大于随机值r(0<r<1),就进行变异操作.3.2 蚁群算法在排课问题中的应用蚁群算法最初用于解决TSP(Traveling Salesman Problem),TSP具有广泛的代表意义,许多问题都可类似的抽象为TSP问题的求解.因此以TSP来描述蚁群算法的模型: 一只蚂蚁要去n个有食物的地区,它先随机选择一个地方作为起点,然后在逐个到达所有地区,留下信息素,最后再返回起点,每个地区只能到达一次,蚂蚁要怎么样选择顺序才能使行程最短.下面建立蚁群算法的数学模型:m为蚁群中的蚂蚁数量;n为问题的规模大小(有食物地方的个数);bi(t)为t时刻位于i地区的蚂蚁数量,故蚂蚁数量为:其中,τ ij(t)为 t时刻路径(i, j)上的信息素;µ ij(t)为蚂蚁从i到j地区的期望程度;pkij(t)为t时刻蚂蚁k从i转移到j的概率.蚂蚁k是根据τ ij(t)的结果来决定该往哪个方向前进,一般会选择τ ij(t)值高的路径,则蚂蚁k在t时刻由i地转移到j的概率为:其中,α为信息启发因子,表示在蚂蚁选择行走路径时信息量的影响;μ为期望启发式因子,表示启发信息对蚂蚁选择路径时产生的影响程度.在每只蚂蚁访问完所有的地区以后,每条路上的信息素浓度会发生变化,因此需要对信息素进行更新.其中,ρ是信息素挥发系数(0<ρ<1),1-ρ表示路径残留的信息素量;Δ τij(t)为从i到j地区路上增加的信息素量;Δ τkij(t)为蚂蚁k在i到j地区路上留下的信息素量;Q为表示信息素浓度;Lk为蚂蚁k需要行走的路径长度.3.2.1 蚁群算法的二分图模型当遇到需要用图结构解决的问题时可以使用蚁群算法.在本文中,用蚁群算法解决排课问题,首先需将排课问题用图结构G来描述:上式中, N是图的顶点;S是边的集合; C是边集有关的权值集合.排课问题涉及五个要素,在蚁群算法中这五个要素的关系可转化为“课程,教师,班级”关系与“时间,教师”关系,排课问题就是解决这两个关系所构成的二分图的最大匹配问题.(1)二分图的顶点集定义在本文将“课程,教师,班级”的关系定义为 R LSC,R LSC=L×S×C,R LSC 的元素组成的集合为G LSC,称其为二分图左侧的顶点集.“时间,教室”的的关系为RTR,RTR=T×R,R TR 的元素组成的集合为G TR,为二分图右侧的顶点集.(2)二分图的边集定义在排课中对教室的安排要满足两个要求: 一是安排人数不能大于教室座位数量,二是教室类型满足课程要求.因此,G LSC 与G TR之间只有满足上述两个基本要求的节点才能进行连接.二分图的边集就是G LSC中的节点与G TR中相匹配节点的连线.(3)二分图中边的权值每条边上的权值根据具体课程时间的期望度来构造.例如,较难的专业课嵌入式教师对课程的期望度是上午的第二节课,那么 GLSC中所有嵌入式课程与GTR中时间段为满足上午第二节的所有节点连接的边权值要尽可能的小.通过设置权值,才能更加合理的排出质量高的课表.3.2.2 二分图模型根据上节构造好的二分图模型,蚂蚁都是从左侧GLSC的顶点集出发,根据转移概率的值和边集在右侧GTR 寻找匹配的节点.然后再返回至G LSC进行下一次的搜索工作,如此反复直到蚂蚁为G LSC的顶点集全部安排好上课地点和时间后,一次循环结束.图1 二分图模型图1展示了蚂蚁一次循环的过程,蚂蚁从A1出发,则蚂蚁此次行走的路径为:其中,B1是第一次匹配的终点,A2是第二次匹配的起点,B1和A2可以看成是一个逻辑节点.同理,B4和A3在此次周游中也可以看成是相同的逻辑节点.3.3 遗传-蚁群混合算法在排课问题中的应用本文将遗传与蚁群算法进行混合,首先利用遗传算法生成信息素分布,在利用蚁群算法求出问题的精确解.在遗传算法生成信息素时,为了防止其在收敛后进行无用的迭代,要设置相应的终止条件.在运算工程中,当连续两次运算结果出现的差值小于0.01,或迭代100次,满足其中一个条件时可停止运算并将取得的最优解作为蚁群算法的初始解.蚁群算法在进行100次迭代之后,选择路径最短的解即可作为最优解.遗传-蚁群混合算法对排课问题解决步骤如图2所示.3.4 实验结果及分析为了验证遗传-蚁群混合算法在排课系统中的应用,选取一个学院对排课系统进行测试,该学院的专业数量为6,班级数量为21,约有800名学生,55名教师,22间教室,其中有16名教师对排课有特殊要求,排课单元为202.图2 遗传-蚁群混合算法流程图为了验证遗传-排课算法在排课系如中的实际使用效果,在排课单元为100,400,800的情况下,对遗传-蚁群混合算法、遗传算法、蚁群算法三种算法的排课效果、运算时间及适应度进行了比较.三种算法各测试10组数据后取得平均值.(1)实验参数设置遗传算法的参数设置如下: M=40,PJ=0.4,PG=0.02;蚁群算法设置的参数如下: m =6,α =1,β =4,ρ=0.25 ,Q =8 ,τ max=800 ,τ min=0.01 ,µ ij=1/cij,gen=100. (2)排课效果的比较通过以下四个指标来衡量排课课表的质量,如表5所示.1为违反硬约束的次数;2为一周有两次课程且间隔少于一天的次数;3为难度较大的课程安排在时间段不好的次数;4为教师的特殊要求未满足的次数.表5 排课效果比较排课方案遗传算法蚁群算法遗传-蚁群1 0 0 0 27.6 16.8 10.4 3 24.0 11.3 7.2 4 7.2 4.3 2.1 2如表5可以看出,遗传算法在软约束的冲突方面表现的最不理想,基于遗传-蚁群混合算法排出的课程表,在软约束方面的冲突次数最令人满意,课程表的可行性及质量都要优于单算法排出的课程表.(3)实验结果分析三种算法的平均运算时间如表5所示,平均适应度结果如表6所示.表6 运算时间比较排课单元遗传算法蚁群算法遗传-蚁群100 37 51 44 400 133 185 146 800 529 562 538表7 适应度比较排课单元遗传算法蚁群算法遗传-蚁群100 182 204 238 400 276 290 320 800 301 365 413由表6可得,每种算法随着排课单元的增加,所需要的排课时间随之增加.在排课单元相同的情况下,遗传算法需要的时间最短,而蚁群算法需要的时间最长.由表7可得,三种算法的适应度与排课的单元成正比.当排课单元相同时,遗传-蚁群混合算法的适应度最高.也就证明混合算法排出的课表最优.由此可见,在相同的条件下,遗传-蚁群混合算法排课消耗的时间比遗传算法高一些,但适应度却远远高于另外两个算法.说明混合算法解决排课问题具有良好的时间性能和优化性能.在选择最优课表时,可以将适应度最大的三个课表取出,根据定义排课质量的四个指标,满足软约束条件越多的课表则可作为最终使用的课表4 结论目前解决排课问题可使用的单算法很多,但混合算法却相对较少.本文提出了一种遗传-蚁群混合的排课算法,将两种算法的优势进行了结合.在经过测试后混合算法在运算时间上介于遗传与蚁群算法中间,但适应度高于单算法.混合算法不仅解决了单算法的局限性问题,还在排课效率上有所提高.参考文献【相关文献】1 薛冬梅.充分利用资源科学合理排课.中原工学院学报,2002,13(S1): 97-98.2 杜立智,陈和平,符海东.NP完全问题研究及前景剖析.武汉工程大学学报,2015,37(10): 73-78.3 朱剑冰,李战怀,赵娜.基于混合遗传算法的自动组卷问题的研究.计算机仿真,2009,26(5): 328-331,352.[doi: 10.3969/j.issn.1006-9348.2009.05.084]4 许秀林,胡克瑾.基于约束满足和遗传算法的排课算法.计算机工程,2010,36(14): 281-284.[doi: 10.3969/j.issn.1000-3428.2010.14.102]5 李俊,周虎,李波.基于虚拟蚂蚁的局部优化蚁群算法.控制与决策,1-10.[doi:10.13195/j.kzyjc.2018.0298]6 史文.基于遗传算法的自动排课系统设计与实现[硕士学位论文].成都: 电子科技大学,2013.7 宗薇.高校智能排课系统算法的研究与实现.计算机仿真,2011,28(12): 389-392.[doi: 10.3969/j.issn.1006-9348.2011.12.095]。
高校智能排课系统中蚁群算法的应用探讨

…
}; 上 课班 级集 合 : C= { C 。 , C , C 一 C }; 上课
R=} R , R , R - - R }; 上 课教师集 合 : S 安排 一 门课 ; ( 3 ) 教 室 在 同一 时 间最 多 只 能 安排 一 门 教室 集合 : { S , S 2 , S 一 S }; 可 用 时 间 集 合 :T = { , , 课; ( 4 ) 教室 座位数 必须 满足上 课学 生人数 。同 时 , 还
务 排 课 系统 排 课 结 果 更 具 合 理 性 。
[ 关键 词]蚁群算法 ; 课程编排 ; 算法优化 [ 中图分类号]T P 3 0 1 . 6 [ 文献标 志码 ]A [ 文章编号 ]1 0 0 8 — 5 8 2 3 ( 2 0 1 3 ) 0 7 - 0 1 2 0 - 0 2 [ 收稿 日期 ]2 0 1 3— 0 4—2 5
第2 9卷
Vo 1 . 29
第 7期
No. 7
兰州教 育 学院 学报
J OU RNAL OF L ANZ H0U I N S T I T UT E OF EDU C AT 1 0N
2 0 1 3年 7月
J u 1 .2 01 3
高校智能排课系统中蚁群 算法 的应用探讨
优势 , 提高教 学质 量 。 l 1 为了全 面 优化 排课 结 果 , 在 课 在合 适 的时间 和教室 内且 不发 生 冲突 。 因此 , 排课 有 开 设 课 程 集 合 :L = { L , L , L , 程编 排 中应 该遵 循 以下 原 则 : ( 1 ) 学 生 在 同一 时间 以下 五 个 因 素 :
基于改进蚁群算法的机房排课问题及仿真研究

长春工程学院学报(自然科学版)2020年第21卷第4期J.Changchun Inst.Tech.(Nat.Sei.Edi.),2020,Vol.21,No.422/26 109-112ISSN1009-8984CN22-1323/Ndoi:10.3969/j.issn.1009-8984.2020.04.022基于改进蚁群算法的机房排课问题及仿真研究王文君(闽江学院,福州350108)摘要:为提高机房排课的质量,提出一种遗传算法结合蚁群算法的机房排课二分图模型求解方法。
在将机房排课问题转换为二分图的基础上,利用蚁群算法对排课二分图模型进行求解。
其中针对蚁群算法在路径搜索方面存在的局限,提出利用最大一最小蚂蚁系统对蚁群算法进行改进,同时结合遗传算法对蚁群算法初始信息素分布进行寻优。
仿真实验表明,提出的遗传结合蚁群的混合算法,无论是在排课质量还是在最优适应度值方面,都具有无可比拟的优势。
关键词:机房排课;蚁群算法;遗传算法;二分图中图分类号:TP301文献标志码:A机房排课一直是高校机房管理的难题,也是高校机房管理研究的热点。
人们对于机房的管理,以往采取的是手工排课,这种做法不仅费时、费力,且机房利用率低。
为解决人工排课的局限性,研究者尝试引入智能优化算法,将机房排课看成是NP难题,然后通过贪心算法[1]、粒子群算法[]、蚁群算法[-4]等对NP进行求解,以得到机房排课的最优解。
研究发现,高校机房排课面临很多复杂因素,如不同机房机位数不同,机房内部的软硬件配置不同,不同班级上课人数不同,不同课程对机房软硬件配置的要求不同等[]。
总的来说,机房排课除要考虑教师、教室、班级、上课时间外,还要权衡机房资源、课程要求等,这些约束在很大程度上增加了机房排课的难度。
而为得到排课的最优解,研究者开始尝试用包括粒子群算法、蚁群算法等[]在内的算法进行改进。
本研究在以往研究的基础上,将排课问题转换为二分图问题,并通过改进蚁群算法进行求解,以此尝试给机房排课提供新思路。
求解排课问题的遗传蚁群混合算法

, : 把课程安排在合理的时间段,专业相关课程安排在较好
的 时间段 ,每天 有 5 个 时 间段 ,每 个时 间段 的权 值 ,课 程 的重
要 性 权 值 为 , 优 化目 标: m a x ( f) => ( 木 0 9 i )
, ,: 同- -I ' q 课课时均匀分布 , 对于周学时大于等于 4 学时的课
排课的结果就是 厂:SXR — { L , C} 的映射, 即已经确
定 了课 程 ,教 师和班 级 之 间的关 系 ,需要 做 的就 是为 其合 理 的安排 时 间和教 室 ,确 定上述 映 射关 系 。
编 码和 适 应度 函数 。对于 适应 度函 数 ,我们 主要 考虑 软约 束 :
同一 时 间段 内 。一个 实验 室不 能排 一 门以上 的课 程 ;教 室能 够容 纳 上课 班级 的学 生人数 。 软约 束条 件 是指 在排 课方 案 中可 以满足 但又 可 以不 完全 满足 的
条件 ,根 据备 学 院情 况不 同而 有所 差别 ,包 含 以下几 个 方面 :专 业
优解。
约 束条 件
排 课方 案必 须 满足 两大 类约 束 :硬 约束 是衡 量一 个排 课 方案 是 否 可行 的标 准 。软 约束 是衡 量 一个排 课 方案 优劣 的标 准 ,而 反映 一 个 排课 方案 优 劣的标 准有 多种 情况 。 硬 约 束是 指在 排课 过程 中 必须 遵守 的规 则 ,一般 包 含 以下几 个 方 面 :同 一 时间段 内 ,一位 教 师不 能排 一 门以上 的课 程 ,不 能 占有
求解排课 问题 的遗传蚁群混合算法
◎ 王丽红 刘平 于光 华
排 课 问题涉 及到 教 师 、教室 、班 级 、课程 、时间等 诸 多 因素 , 个 N P完全 问题 ,也 是 一Hale Waihona Puke 很 有研 究价 值的 实际 问题 。
基于蚁群遗传算法的高校排课系统

法得到排课较优解。测试结果 表明, 蚁群遗传算法较大提高了高校排课 系统 中的效率和合理度 。
关键词 : 遗传算法 ; 蚁群算法 ; 高校排课 系统
中 图 分 类 号 : P 1 T38 文献 标 识 码 : A
A l g u s c d e Sy tm s d O COl e C0 r e S he ul se Ba e n GAAA g rt m e Al 0 ih
TAN a B o—h a u .P ENG e W i
( .Sh o o c ne , u e U i.o eh o g , hnH bi40 6 , hn ; 1 col f i c H b i nv f cnl y Wu a ue,3 o 8 C i Se T o a 2 0 9 6 2A n ,e ig1 10 , h a .N .3 8 H y B i O3 0 C i ; j n n
第2卷 第1期 5 2
义章编号 :o 6— 3 8 2 o )2一O9 o lo 94 ( o 8
仿
真
28 2 0 年1月 o
基 于 蚁群 遗 传 算 法 高 排 课 系统 的 校
谭 保 华 彭 , 伟
( .湖北工业大学理学院 , 1 湖北 武汉 40 6 3o 8;
,
3 o p t ol e H bi nv f ehooyWua u e4 0 6 ,C ia .C m u r l g , u e U i cnl , hnH b i 3 0 8 hn ) eC e .0 T g
ABS TRACT:T i o a C u s c e ue a r n e n to s h v a l n e i n y a d r t n l y T e e a e mdt n l 0 r e 8 h d l ra g me tmeh d a e fu t i 佑ce c n ai ai . h r r i s o t s me ds d a tg s i e d n n o ui gt n a yt r g i o ia v n a e n n e i gl gc mp t mea d e s 0b i o n i n mmau e c n e g n ew e n y u ig An o - t r o v r e c h n o l sn t l C o y Alo i m n n t l oi m.I r e 0 v h sp l m,t e p p rc mb n d g n t l0 i m t n n g rt a d Ge ei A g rt h c h n o d rt s l e ti mb e o h a e o ie e e i ag r h wi A t c t h ag rtm. ti erci e frr d cn h e l h n p c . l0 i h I s fe t 0 e u ig t e s a℃ i g s a e v Ac o dn o ml s h o u ai n wa ii e n o dv — c r i g t e ,te p p lt sd vd d i t ii o so s h t e s o h in . e 6 n s f mmo o sa d t e p e T c s me n h h mmo e 0 iiin ne a to a h o r n h n a p st e f e - n fd vs0 s i tr c n e c 山e ,a d t e o i v e d i b c s frn d I wo l r e山e a a k wa 0re . t u d d i v l
蚁群算法在排课问题中的应用研究的开题报告

蚁群算法在排课问题中的应用研究的开题报告一、研究背景随着大学生的数量不断增加和课程设置不断丰富,排课问题变得越来越复杂。
在传统的排课方法中,常常需要花费大量的时间和精力进行手工调整,而且存在着较高的人为干预和随机性。
因此,如何利用计算机的智能化方法,实现快速高效的排课,成为当前亟需解决的问题。
蚁群算法是一种模拟自然界中蚂蚁群体觅食行为的算法,具有全局搜索能力、并行性强、适应性强、鲁棒性强等优点,在许多优化问题的求解中得到了广泛应用。
由于排课问题涉及到诸多因素的综合考虑,因此蚁群算法在其解决过程中,有可能发挥出其更大的应用价值。
二、研究目的本研究旨在通过蚁群算法,设计并实现一个自动化排课系统,能够在尽可能地满足各种规定约束的前提下,实现更加优化的排课结果,提高排课效率和质量。
三、研究内容本研究的具体内容包括以下三个方面:1. 分析并确定排课问题的模型。
根据实际需求,结合蚁群算法的思路,确定合理的排课模型,并分析模型中各项参数的含义和作用。
2. 设计并实现自动化排课系统。
根据排课模型,利用Java等编程语言,对排课系统进行设计和开发。
实现过程中,需要考虑系统的可拓展性、易用性和安全性等问题。
3. 针对不同的排课需求,进行实验验证。
使用具体的排课数据进行系统测试,通过与其他常规排课算法的比较,评估蚁群算法在排课问题中的效果,并进行相关参数的优化。
四、研究意义研究智能化的排课系统,有以下几点重要的意义:1. 实现排课的自动化和优化,提高排课效率和质量,为教育教学的信息化发展提供支持。
2. 探索蚁群算法在复杂问题求解中的应用,拓宽其应用领域,具有较高的学术价值。
3. 具有广泛的实际应用价值,可在学校、培训机构等场景中得到推广和应用。
五、研究方法本研究使用实证研究方法,即依据排课实际情况,设计排课模型并开发相应的系统,通过系统测试和分析数据,评估蚁群算法在解决排课问题中的效果,并进行相关参数的优化。
同时,探究蚁群算法的求解原理和应用场景,结合排课问题的特点,寻求一种有效的应用方式。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1 排 课 问题 概 述
高校课 程编 排过 程 中需 要尽量 满 足多种 约束条 件, 而为 了编排 出令各 方 面都满 意的课 程表 , 程编 课 排过 程应 遵循一 定 的规 则 , 以满足 各种 约束条 件 : ) 1 同一班级 在相 同时 间最 多 安 排 一 门课 程 ; ) 2 同一老
课 表是 不存在 的 , 只能 编 排 出完 全 满 足硬 约 束 条件 并 尽可 能多地 满足 软 约束 条 件 的课 表 . 就 是 说实 也 际上要 完成 的任务 是通 过组合 规划生 成可行 且较 优
的课 表.
应 连续二 天 出现 ; ) 类 型课 程 要 安 排在 它 相 应类 7各 型 的教室 ( 例如 实验 室 、 房 、 图室 等) 8 数 学 、 机 绘 ;) 外
式中 表示 可安排 课程 的第 i 时间段 , T 表示 个 如 t
[ 者 简 介 ]齐 作
[ 稿 日期 ]2 0 —1 一2 收 09 O 3 萍(91 , , 北武汉人 , 18 一) 女 湖 湖北 工 业 大 学 硕 士研 究 生 , 究 方 向 : 研 计算 机 应 用 .
第2 5卷 第 2 期
软约束 .
2 排 课 系 统 分 析
排课 问题 实际上 是一个 如何 优化进 行排列 组合 的 问题 , 目标 的组 合规 划 问题 . 多 排课 的理想 状态是 对 资 源实现最 优化 配置 , 行最 合理科 学 的分配 , 进 也 就 是说满 足所 有约束 的课表 . 实证 明 , 事 绝对优 化 的
性. 本文结 合课程 编 排课 题 以及 高 校 的 自身 特 点提
出优 化课 程编排 的蚁 群算 法改进 办法 .
硬 约束 条件 的 即为可行 课 表 , 足 硬 约束 条 件 并满 满
足软约束 条件 的为 优化 课 表[ . 1 以上 列 出 的部 分排 ]
பைடு நூலகம்
课 问题所 涉及 的约束 条件 , 至 7 为硬 约束 , 1 ) ) 其余 为
师在 同时 间最多 安排 一 门课程 ; ) 3 同一 教 室 在 同时 间最 多安排 一 门课程 ; ) 室 容 量 必须 大 于 等 于需 4教 上课 学生 数 ; ) 5 同一 时 间 必须 保 证 总教 室 数 大 于等
于 总课 程 数 ; ) 一 班 级 的 同 一 课 程 在 一 周 之 内 不 6同
[ 文章 编 号 ]10 —4 8 (00 0 —0 80 0 3 6 4 2 1 )20 6 —2
基 于蚁 群算 法 的高校 排 课 系统优 化 策 略
齐 萍
( 北 工 业 大 学计 算机 学 院 ,湖 北 武 汉 4 0 6 ) 湖 30 8
[ 摘
要]针 对 高 校 课 程 编 排 系 统 面 I 临的挑 战 , 通过 分 析 蚁 群 算 法 抽 象 出排 课 问 题 的 基 本要 素 , 解 决 排 课 问 将
为 了不断 提高 教 学管 理 效 率 , 高教 学 管 理质 提
束, 即在排课 过程 中必 须 满 足 的约 束 条 件 和尽 可 能 满足 的约束条 件. 硬约束 必须满 足 , 则违 反教学 规 否 律, 必定 会产 生 冲突 , 致课 表 无 法 继续 运 行 , 在 导 而
量, 充分合 理利 用有 限资源 , 高校 自动 排课 系统 已经
齐 萍 基 于 蚁 群 算 法 的 高校 排 课 系统 优 化 策略
6 9
本周 能够 安 排 课 程 的第 一 个 时 间 段 , 一 第 1— 2 周
为人 们所 广泛关 注. 课 问题 之 所 以成 为 影 响 高校 排
教 学管理 效率 的重 要 因 素之 一 , 因为排 课 问题数 是
据规模 扩 大 、 种 限 制 复 杂 , 各 以及 执 行 过 程 的动 态
硬约 束完全满 足 的情 况 下 , 约束 的满 足程 度 即 课 软
表 优化 程度 , 性化地 编排 课程 . 人 一般来 说满 足全部
课 程 集合 K 一 { K , , , K , K。 … K ) ,
应安 排在 下午或 上午 3 —4节 , 午体 育课后 应避免 下 安排 其他 讲授课 程 ; 1 语 音 课 应 尽量 安 排 在 上午 , 1) 实验 课程 、 操作课 尽 量 排 在下 午 ;2 尽 可 能 满 足教 1) 师 的读 博 、 研等 特 殊 上课 时 间要求 ; 3 班 级 每周 科 1)
第2 5卷 第 2期
VO.2 1 5 NO. 2
湖 北 工 业 大 学 学
报
21 0 0年 4月
Apr 2 0 . 01
J u n lo b i ie st fT c n l g o r a fHu e v r i o e h oo y Un y
题 转 化 为 寻 求 二 部 图 的最 大 匹 配 问 题 , 给 出优 化 方 法 , 索 高 校 排 课 问 题 优 化 策 略 . 并 探 [ 键 词 ]课 程 编 排 ; 群 算 法 ;二 部 图 关 蚁 [ 中图 分 类 号 ]T 3 1 P 0 [ 献标 识 码 ] A 文 :
语等 基础课 程应 尽量排 在 上午 1 —2 ;) 节 9 有课 的教
师 和 学 生 在 二 节 课 之 间 最 好 在 同 一 教 区 ;0 体 育 课 1)
排课 时 , 要将 教 师 、 级 、 程 安 排 在一 定 时 需 班 课
间段 的某一个 教室并 且满 足硬 约束条 件. 由此可见 , 排 课 问题 中一 般存在 5 元素 , 个 即
教师集 合
S一 { £S , 3 … , ) S , zS , S ,
班 级集合 B一 { B , , , } B , B3 … B ,
课 时总量尽 量均 匀分 布.
这些 约束 涉 及 2种 : 种 是 硬约 束一 种 是 软约 一
时间集 合
T一 { T , 3 … , } T , 丁 , T ,