高校智能排课系统算法的研究与实现
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
N j
5 ) 教室容量不小于课程 l i 的授课对象总人数, 即有:
∑CNum( c )
j =1
i j
≤ Cap( l k ) 。
从高校排课的数学模型可知, 其是一个多目标、 有限资 带有约束条件的组合优化问题, 是一个典型的 NP 完全难 源、 题。由于约束条件多, 采用传统排课方法排课效率低, 课程 安排冲突率相当的高。 遗传算法是一种模拟生物界生物进 化机制的启发式智能算法, 在求解组合优化问题中体现出来 的智能性、 并行性和鲁棒性, 不需要太多的领域知识, 操作简 单, 对有约束的、 多目标的排课问题求解是十分适宜, 因此本 文采用自适应遗传算法来进行高校排课系统自动设计 。 根据确立的排课目标和建立的数学模型,把排课问题 求解过程可分为两阶段: 首先采用随机可行排课操作对无序 的原始数据进行求解, 即产生遗传算法的产生初始种群, 然 后利用遗传算法对随机可行排课方案进一步优化, 求得全局 最优排课方案。
第 28 卷
第 12 期
计
算
机
仿
真
2011 年 12 月
文章编号: 1006 - 9348 ( 2011 ) 12 - 0389 - 04
高校智能排课系统算法的研究与实现
宗 薇
( 外交学院计算机中心, 北京 100037 ) 摘要: 研究高校智能排课优化问题, 由于在资源的有限的条件下满足教学的有序性, 使高校自动排课成为一个多约束、 多目 成功率低, 导致课程之间冲突率高, 无法满足现代高校教务管理要求。为了提高排 标优化问题。传统排课方法排课效率低 、 提出一种自适应遗传算法的智能排课系统 。首先根据教师、 学生、 教室、 课程和课程时间段要求建立 课效率和排课成功率, 一个多约束条件的高校排课数学模型, 采用随机可行排课法操作产生可行排课方案, 然后利用遗传算法在可行方案中寻找 最优排课方案。仿真结果表明, 相对于传统排课方法, 自适应遗传算法不仅提高了排课效率, 而且提高排课的成功率, 有效 降低课程之间冲突率, 并能够解决高校排课难题 。 关键词: 排课问题; 遗传算法; 多重约束; 多目标优化 中图分类号: TP301 文献标识码: A
3
3. 1
遗传算法的高校自动排课模型
排课问题中的遗传算法设计 高校排课问题的编码 传统遗传算法采用二进制进行编码, 但是由于高校排课
3 . 1. 1
采用二进制编码方式难以正确表达排课信 问题的特殊性, 息。因此本文采用一种改进的编码方式: 自然编码。 采用 t i r i 表示上课地点, w i 表示开课任务, 表示上课时间, 这样遗传 算法中的个体可采用图 1 的方式表示。
1
引言
随着大学扩招, 学生日益增多, 课程表是教学工作正常
算法、 专家系统法、 图论方法, 这些方法只能针对个别的实际 问题, 没有通用性, 而且关联规则很难获取, 求解结果不理 想
[2 , 3 ]
运行指挥图, 是组织师生有序教学重要依据, 是教学管理人 员的核心工作。高校排课程问题是指在教师教室 、 和时间资 源有限的条件下, 对课程进行有效调度的组合整体优化问 题, 涉及因素多, 是一项比较复杂的系统工程 。目前, 高校排 课问题已被证明是一个 NP 完全问题, 由于其具有难解性和 复杂性, 因此一直没有得到很好解决受到研究者的关注
{
1, t n 时间给班级 g r 上 l k 课 教师 t i 在教室 c j , 0 ,otherwise
( 2)
图1
遗传算法的个体表示
映射关系需要满足的约束条件表示如下:
— 390 —
3. 1. 2
高校排课问题解的初始种群 Pm =
传统遗传算法采用随机方式产生初始种群, 该方法容易 出现早熟现象, 得到了局部最优排课方案, 为此本文采用均 匀设计方案产生初如种群, 使排课方案的初始解尽可能提均 匀分布在解的空间中, 这样可以保证遗传算法得到全局最优 排课方案, 而且收敛速度加快, 加快寻优时间, 提高排课效 很好避免了早熟现象的出现 。 率, 3. 1. 3 评价高校排课方案的适应度函数 排课问题是在满足多种约束条件下, 找到最佳资源分配 效果的排课方案。在遗传算法的进化过程, 其根据适应度函 因此适应度函数直接决定着排课方案的 数来确定进化方向, 寻优速度和能否找到最优 。由于排课问题具有多个目标, 那 么其适应函数应该满足各个目标达到最优, 即 f ( x ) = α f ( x1 ) + β f ( x2 ) + … + λ f ( x m ) 其中, α、 β 各目标的权值。 3 . 1. 4 选择操作 在排课问题中, 选择操作采用了轮盘赌选择 。轮盘赌方 每下区域的大小根据个 法将轮盘被划分为不同比例的区域, 体适应度值进行分配的, 个体的适应度高值越高, 那么占的 比例就越大, 生存的概率大, 即进入下一代种群的机会就越 “适者生存” 大, 体现 进化机制。图 2 所示轮盘赌方法。 ( 3) 3. 2
j i i =1 i
1 ) 一 位 教 师 在 同 一 时 间 只 能 上 一 门 课 程, 即 有:
j m t ic jl k g m t n
∑∑∑X
i =1 j =1 m =1 j k
≤ 1。
2 ) 一个 教 室 在 同 一 时 间 只 能 安 排 一 门 课 程,即 有:
∑∑∑X
j =1 k =1 k m
[7 ]
。
对于高校排课问题, 许多学者对其进行了广泛的研究,
基金项目: 中央高校基本科研业务费专项资金项目( ZQ2011B05 ) 收稿日期: 2011 - 05 - 01
。
— 389 —
为了提高高校排课效率和成功率, 降低课程间冲突, 提 出一种自适应遗传算法的高校排课系统 。 首先对基本遗传 然后对其交叉、 变异算法进行自 算法的编码方式进行改进, 适应操作, 加快收敛速度, 防止早熟现象, 并将其应用于高校 最后通过具体实验对其进行测试, 实验结果 排课问题求解, 表明, 自适应遗传算法提高了高校排课效率, 降低了排课冲 突率, 能满足排课问题的多重约束条件, 很好的解决了高校 排课问题。
t ic jl k g m t n
≤1
3 ) 一个 班 级 在 同 一 时 间 最 多 只 能 上 一 门 课,即 有:
∑∑∑X
j =1 k =1 m =1
t ic jl k g m t n
≤ 1。
2
2. 1
高校排课问题分析和描述
高校排课原则 高校的课表编排是一个复杂的工程, 涉及专业老师、 学
4 ) 即有同一门课的班级能同时上课, 同时要求每门课的
i l m j t ic jl k g m t n
即 有: 周上课次数符合规 定 要 求,
∑∑∑∏X
i =1 l =1 m =1 j =1
≤
k hk , 其中 h 表示一门课每周上课的次数 。
生多, 因此要合量对课程进行安排, 必须采取科学的排课原 主要原则有: 则, 1 ) 课程表要根据教学计划, 将授课教师、 教室和学生等 资源合理 起 合, 遵 守 时 间 没 有 冲 突 的 原 则, 局部服从全局 原则。 2 ) 在保证时间没有冲突的条件下, 将课程心量安排在上 此类课效果最好的时间 。例如难度大、 关键的课程安排每天 上午, 如体育课则安排在下午教学 。 3 ) 根据人的大脑活动规律, 课程应该交替编排, 理论课 与实践课要交替进行; 自然学科和人文学科交替进行; 同一 门课程中间保持合量的时间间隔, 不应连排。 4 ) 使每个班级一周课程尽量均衡 。 2. 2 高校排课目标 课表编排是一个充满着冲突的过程, 主要冲突包括所开 课程、 上课时间、 上课班级、 上课地点、 任课教师等多方面争 夺某一教学资源, 从而出现矛盾, 导致教学工作不能正常进 将教室、 班级、 教师和课 行。编排课表目标是依据教学计划, 程合理地安排在一周内某一个不发生冲突的时间里, 保证排 课系统正常工作, 因此实际是一个多约束条件下的资源分配 问题。 2. 2 排课问题的数学模型 设某高校教师位数为 g, 班级数目为 c, 课程门数为 l, 教 t2 , …, tg } , 室个数 r, 时间段数为 t, 则有教师集合为: T = { t1 , y2 , …, yg } , 每一位老师所上的课程数为: { y1 , 级集合为: G = { g1 , g2 , …, gc } , k2 , …, kc } , 各班的人数为: { k1 , 程集合: L = { l1 , l2 , …, ll } , 每一门课程都有一位老师和其相对应 。 教室 c2 , …, cr } , x2 , …, 集合为: C = { c1 , 每一个教的容量为: { x1 , xr } , 么教室和时间对的笛卡尔积为: M = { ( t1 , r1 ) , ( t1 , r1 ) , …, ( tt , rr ) } ( 1) 这样排课问题就是在满足相应的约束条件下, 为每一门 课寻找一个合适的时间教室对 。 课程 l 与时间 - 教室对 N 之间共有 2 映射, 排课是寻找课程的影射关系, 即: X t ic jl k g m tlization of University Timetable System Algorithm
ZONG Wei
( China Foreign Affairs University,Beijing 100037 ,China) ABSTRACT: Research university timetable problem. the intelligent automatic course arrangement is a NP complete problem ,and the traditional methods are of low efficiency and high conflict rate, and unable to meet the requirements of modern college educational administration management. In order to improve the efficiency and success rate,this paper put forward an improved genetic algorithm of intelligent arrangement system. First of all,according to the teachers and students,classrooms,courses and required course times,the algorithm made a multi - objective and constraint conditions of university curriculum model,then produced feasible solutions for timetabling randomly. Then genetic algorithm was used to find the optimal curriculum plan in the feasible solutions. Simulation results show that, compared with traditional methods,the improved genetic algorithm quickens the curriculum speed,improves the efficiency,enhancse the success rate,and reduces course of conflict rate,and can solve university timetable problem very well. KEYWORDS: Timetabling problem; Genetic algorithm; Multi - constraints; Multi - objective optimization 提出了许多解决此问题的算法 。传统高校排课算法有: 贪婪
[1 ]
。近几年, 由于智能技术的不断发展, 出现了模拟退火
[5 , 6 ]
算法、 遗传算法等启发式算法, 并取得了不错的效果, 成为当 前高校排课问题的主要解决方法 。但是模拟退火算法退 火实施温度难以确定, 以及降温的方式多样, 并且有时没有 考虑到实际应用中会出现的所有排课要求, 容易产生局部最 优解, 得到的结果无法满足大规模排课要求 。 遗传算法拟自 然界生物进化过程的随机搜索 、 优化算法, 具有自适应全局 寻优和智能搜索等优点, 且收敛性好, 其缺陷是交叉和变异 概率不能进行自适应调整, 导致排课时产生早熟现象 、 收敛 速度慢等缺陷, 排课冲突率相当的高
5 ) 教室容量不小于课程 l i 的授课对象总人数, 即有:
∑CNum( c )
j =1
i j
≤ Cap( l k ) 。
从高校排课的数学模型可知, 其是一个多目标、 有限资 带有约束条件的组合优化问题, 是一个典型的 NP 完全难 源、 题。由于约束条件多, 采用传统排课方法排课效率低, 课程 安排冲突率相当的高。 遗传算法是一种模拟生物界生物进 化机制的启发式智能算法, 在求解组合优化问题中体现出来 的智能性、 并行性和鲁棒性, 不需要太多的领域知识, 操作简 单, 对有约束的、 多目标的排课问题求解是十分适宜, 因此本 文采用自适应遗传算法来进行高校排课系统自动设计 。 根据确立的排课目标和建立的数学模型,把排课问题 求解过程可分为两阶段: 首先采用随机可行排课操作对无序 的原始数据进行求解, 即产生遗传算法的产生初始种群, 然 后利用遗传算法对随机可行排课方案进一步优化, 求得全局 最优排课方案。
第 28 卷
第 12 期
计
算
机
仿
真
2011 年 12 月
文章编号: 1006 - 9348 ( 2011 ) 12 - 0389 - 04
高校智能排课系统算法的研究与实现
宗 薇
( 外交学院计算机中心, 北京 100037 ) 摘要: 研究高校智能排课优化问题, 由于在资源的有限的条件下满足教学的有序性, 使高校自动排课成为一个多约束、 多目 成功率低, 导致课程之间冲突率高, 无法满足现代高校教务管理要求。为了提高排 标优化问题。传统排课方法排课效率低 、 提出一种自适应遗传算法的智能排课系统 。首先根据教师、 学生、 教室、 课程和课程时间段要求建立 课效率和排课成功率, 一个多约束条件的高校排课数学模型, 采用随机可行排课法操作产生可行排课方案, 然后利用遗传算法在可行方案中寻找 最优排课方案。仿真结果表明, 相对于传统排课方法, 自适应遗传算法不仅提高了排课效率, 而且提高排课的成功率, 有效 降低课程之间冲突率, 并能够解决高校排课难题 。 关键词: 排课问题; 遗传算法; 多重约束; 多目标优化 中图分类号: TP301 文献标识码: A
3
3. 1
遗传算法的高校自动排课模型
排课问题中的遗传算法设计 高校排课问题的编码 传统遗传算法采用二进制进行编码, 但是由于高校排课
3 . 1. 1
采用二进制编码方式难以正确表达排课信 问题的特殊性, 息。因此本文采用一种改进的编码方式: 自然编码。 采用 t i r i 表示上课地点, w i 表示开课任务, 表示上课时间, 这样遗传 算法中的个体可采用图 1 的方式表示。
1
引言
随着大学扩招, 学生日益增多, 课程表是教学工作正常
算法、 专家系统法、 图论方法, 这些方法只能针对个别的实际 问题, 没有通用性, 而且关联规则很难获取, 求解结果不理 想
[2 , 3 ]
运行指挥图, 是组织师生有序教学重要依据, 是教学管理人 员的核心工作。高校排课程问题是指在教师教室 、 和时间资 源有限的条件下, 对课程进行有效调度的组合整体优化问 题, 涉及因素多, 是一项比较复杂的系统工程 。目前, 高校排 课问题已被证明是一个 NP 完全问题, 由于其具有难解性和 复杂性, 因此一直没有得到很好解决受到研究者的关注
{
1, t n 时间给班级 g r 上 l k 课 教师 t i 在教室 c j , 0 ,otherwise
( 2)
图1
遗传算法的个体表示
映射关系需要满足的约束条件表示如下:
— 390 —
3. 1. 2
高校排课问题解的初始种群 Pm =
传统遗传算法采用随机方式产生初始种群, 该方法容易 出现早熟现象, 得到了局部最优排课方案, 为此本文采用均 匀设计方案产生初如种群, 使排课方案的初始解尽可能提均 匀分布在解的空间中, 这样可以保证遗传算法得到全局最优 排课方案, 而且收敛速度加快, 加快寻优时间, 提高排课效 很好避免了早熟现象的出现 。 率, 3. 1. 3 评价高校排课方案的适应度函数 排课问题是在满足多种约束条件下, 找到最佳资源分配 效果的排课方案。在遗传算法的进化过程, 其根据适应度函 因此适应度函数直接决定着排课方案的 数来确定进化方向, 寻优速度和能否找到最优 。由于排课问题具有多个目标, 那 么其适应函数应该满足各个目标达到最优, 即 f ( x ) = α f ( x1 ) + β f ( x2 ) + … + λ f ( x m ) 其中, α、 β 各目标的权值。 3 . 1. 4 选择操作 在排课问题中, 选择操作采用了轮盘赌选择 。轮盘赌方 每下区域的大小根据个 法将轮盘被划分为不同比例的区域, 体适应度值进行分配的, 个体的适应度高值越高, 那么占的 比例就越大, 生存的概率大, 即进入下一代种群的机会就越 “适者生存” 大, 体现 进化机制。图 2 所示轮盘赌方法。 ( 3) 3. 2
j i i =1 i
1 ) 一 位 教 师 在 同 一 时 间 只 能 上 一 门 课 程, 即 有:
j m t ic jl k g m t n
∑∑∑X
i =1 j =1 m =1 j k
≤ 1。
2 ) 一个 教 室 在 同 一 时 间 只 能 安 排 一 门 课 程,即 有:
∑∑∑X
j =1 k =1 k m
[7 ]
。
对于高校排课问题, 许多学者对其进行了广泛的研究,
基金项目: 中央高校基本科研业务费专项资金项目( ZQ2011B05 ) 收稿日期: 2011 - 05 - 01
。
— 389 —
为了提高高校排课效率和成功率, 降低课程间冲突, 提 出一种自适应遗传算法的高校排课系统 。 首先对基本遗传 然后对其交叉、 变异算法进行自 算法的编码方式进行改进, 适应操作, 加快收敛速度, 防止早熟现象, 并将其应用于高校 最后通过具体实验对其进行测试, 实验结果 排课问题求解, 表明, 自适应遗传算法提高了高校排课效率, 降低了排课冲 突率, 能满足排课问题的多重约束条件, 很好的解决了高校 排课问题。
t ic jl k g m t n
≤1
3 ) 一个 班 级 在 同 一 时 间 最 多 只 能 上 一 门 课,即 有:
∑∑∑X
j =1 k =1 m =1
t ic jl k g m t n
≤ 1。
2
2. 1
高校排课问题分析和描述
高校排课原则 高校的课表编排是一个复杂的工程, 涉及专业老师、 学
4 ) 即有同一门课的班级能同时上课, 同时要求每门课的
i l m j t ic jl k g m t n
即 有: 周上课次数符合规 定 要 求,
∑∑∑∏X
i =1 l =1 m =1 j =1
≤
k hk , 其中 h 表示一门课每周上课的次数 。
生多, 因此要合量对课程进行安排, 必须采取科学的排课原 主要原则有: 则, 1 ) 课程表要根据教学计划, 将授课教师、 教室和学生等 资源合理 起 合, 遵 守 时 间 没 有 冲 突 的 原 则, 局部服从全局 原则。 2 ) 在保证时间没有冲突的条件下, 将课程心量安排在上 此类课效果最好的时间 。例如难度大、 关键的课程安排每天 上午, 如体育课则安排在下午教学 。 3 ) 根据人的大脑活动规律, 课程应该交替编排, 理论课 与实践课要交替进行; 自然学科和人文学科交替进行; 同一 门课程中间保持合量的时间间隔, 不应连排。 4 ) 使每个班级一周课程尽量均衡 。 2. 2 高校排课目标 课表编排是一个充满着冲突的过程, 主要冲突包括所开 课程、 上课时间、 上课班级、 上课地点、 任课教师等多方面争 夺某一教学资源, 从而出现矛盾, 导致教学工作不能正常进 将教室、 班级、 教师和课 行。编排课表目标是依据教学计划, 程合理地安排在一周内某一个不发生冲突的时间里, 保证排 课系统正常工作, 因此实际是一个多约束条件下的资源分配 问题。 2. 2 排课问题的数学模型 设某高校教师位数为 g, 班级数目为 c, 课程门数为 l, 教 t2 , …, tg } , 室个数 r, 时间段数为 t, 则有教师集合为: T = { t1 , y2 , …, yg } , 每一位老师所上的课程数为: { y1 , 级集合为: G = { g1 , g2 , …, gc } , k2 , …, kc } , 各班的人数为: { k1 , 程集合: L = { l1 , l2 , …, ll } , 每一门课程都有一位老师和其相对应 。 教室 c2 , …, cr } , x2 , …, 集合为: C = { c1 , 每一个教的容量为: { x1 , xr } , 么教室和时间对的笛卡尔积为: M = { ( t1 , r1 ) , ( t1 , r1 ) , …, ( tt , rr ) } ( 1) 这样排课问题就是在满足相应的约束条件下, 为每一门 课寻找一个合适的时间教室对 。 课程 l 与时间 - 教室对 N 之间共有 2 映射, 排课是寻找课程的影射关系, 即: X t ic jl k g m tlization of University Timetable System Algorithm
ZONG Wei
( China Foreign Affairs University,Beijing 100037 ,China) ABSTRACT: Research university timetable problem. the intelligent automatic course arrangement is a NP complete problem ,and the traditional methods are of low efficiency and high conflict rate, and unable to meet the requirements of modern college educational administration management. In order to improve the efficiency and success rate,this paper put forward an improved genetic algorithm of intelligent arrangement system. First of all,according to the teachers and students,classrooms,courses and required course times,the algorithm made a multi - objective and constraint conditions of university curriculum model,then produced feasible solutions for timetabling randomly. Then genetic algorithm was used to find the optimal curriculum plan in the feasible solutions. Simulation results show that, compared with traditional methods,the improved genetic algorithm quickens the curriculum speed,improves the efficiency,enhancse the success rate,and reduces course of conflict rate,and can solve university timetable problem very well. KEYWORDS: Timetabling problem; Genetic algorithm; Multi - constraints; Multi - objective optimization 提出了许多解决此问题的算法 。传统高校排课算法有: 贪婪
[1 ]
。近几年, 由于智能技术的不断发展, 出现了模拟退火
[5 , 6 ]
算法、 遗传算法等启发式算法, 并取得了不错的效果, 成为当 前高校排课问题的主要解决方法 。但是模拟退火算法退 火实施温度难以确定, 以及降温的方式多样, 并且有时没有 考虑到实际应用中会出现的所有排课要求, 容易产生局部最 优解, 得到的结果无法满足大规模排课要求 。 遗传算法拟自 然界生物进化过程的随机搜索 、 优化算法, 具有自适应全局 寻优和智能搜索等优点, 且收敛性好, 其缺陷是交叉和变异 概率不能进行自适应调整, 导致排课时产生早熟现象 、 收敛 速度慢等缺陷, 排课冲突率相当的高