求解多目标考试时间表问题的NNIA改进算法_雷雨_焦李成_公茂果_李玲玲
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
解决考试时间表问题的主要方法可以归纳为图着色方法[1]、基于种群方法[2,3]、局部搜索方法[4,5]、变邻 域搜索以及混合和超启发方法[6-7]等。关于考试时间表问题的建模,通常是将考试时间表问题的时间表长度 固定,将各个考试的冲突关系作为唯一的目标函数,然后将此问题作为一个单目标优化问题处理。这种建 模方式的优势是许多经典成熟的单目标优化算法都可以处理此问题, 并且可以最终获得一个确定的最优值。 然而,若需要得到多个不同时间长度的考试安排,仍采用单目标方式建模,则必须多次运行算法,无疑增 加了一定的资源成本。随着进化多目标技术的发展[8-10],Cheong 等学者在 2009 年提出了一种解决考试时 间表的进化多目标优化算法[11],并且将时间表长度和考试间的冲突关系作为两个目标函数,将考试时间表 问题建模为一个多目标优化问题。采用此种方法,算法只需运行一次,便可得到多个不同长度的考试时间 表,而管理者只需要挑选其中最为符合实际情况的一种考试安排表即可。针对多目标考试时间表问题,出 现了一些以经典进化多目标算法为基本框架优化算法[12-13]。上述论文的仿真实验显示,采用多目标进化算 法处理多目标考试时间表问题是可行的,但需要设计出更加高效的算法,以便更好的解决多目标考试时间 表问题。因此,在文献 12 所提出的解决考试时间表的 NNIA 基础上,笔者设计了一种资源分配模型,引
3 仿真实验
本文选取 Carter 标准数据集[14]进行测试。近几十年来,几乎所有关于考试时间表算法的研究都采用此 数据集进行性能测试,但此数据仍是开放数据,理论最优解仍然未知。本文选取了该数据集中的十个具有 代表性的数据,对提出的算法进行仿真实验。以下仿真均为 10 次独立运行实验,运行环境为 2.8GHz Core Personal Computer。具体参数如表 1 所示: 表1 r multi-objective examination timetabling problems
LEI Yu, JIAO Licheng, GONG Maoguo, LI Lingling
(Key Laboratory of Intelligent Perception and Image Understanding of Ministry of Education, Xidian Univ., Xi’an 710071, China) Abstract: In this paper, an enhanced NNIA was introduced for multi-objective examination timetabling problems. With the framework of NNIA, the hyper-heuristic approach is utilized to generate the initial population. In addition, the resource allocation model was designed to dynamically adjust the clone percentage of potential individuals. Experimental results on ten benchmark datasets proved that the proposed algorithm solved examination timetabling problems effectively and obtained competitive results. Key Words: multi-objective optimization; examination timetabling; evolutionary algorithm; resource allocation model; NNIA
______________________________ 收稿日期: 网络出版时间: 2015-05-21 09:02 基金项目:国家自然科学基金资助项目(61273317) 作者简介:雷雨(1985-),男,西安电子科技大学博士研究生,E-mail:xdleiyu@ 网络出版地址: /kcms/detail/61.1076.TN.20150521.0902.024.html
lse91 200
sta83 11
tre92
适应度函数值
Parameter m : 种群大小 e: 每一种启发式算法所要安排的考试数量 Pc: 交叉概率 Pm: 变异概率 Gmax: 算法最大迭代次数 values 100 2 0.8 0.2 100
170
西安电子科技大学学报(自然科学版)
第 43 卷
car91 6.5 6
f1
4 s 0
s N s
S
(4)
f2 P
2 求解考试时间表问题的进化多目标优化算法
本文是在文献 12 的基础上,针对算法的种群初始化操作,引入了超启发方法;在算法的克隆操作中, 设计了一种新的资源分配模型,是一种关于多目标考试时间表问题的 NNIA 改进算法,所以除种群初始化 操作与克隆操作外, 算法中的其他所有操作算子, 以及算法流程与文献 12 完全相同, 算法流程如图 1 所示。
min sub.
E -1 i=1
E j=i+1
P -1 p=1 P -1 p=1
aip a j p+1cij
(1) (2) (3)
E -1 i=1
E j=i+1
aip a jp cij 0,
P p=1
aip 1, i 1, , E
本文将考试时间表建模为 2 目标优化问题,将在单目标考试时间表问题中十分常见的惩罚函数作为目 标函数 1,将时间表长度 P 作为目标函数 2. 其中 ωs=2s, s=0,1,2,3,4 表示被安排的冲突考试的时间间隔为 4, 3, 2, 1, 0 的相应惩罚值。Ns 表示参加这些考试的学生总数。S 表示学生总人数。 min
第2期
雷雨等:求解多目标考试时间表问题的 NNIA 改进算法
169
在资源分配模型中,根据非支配排序关系,待克隆的个体首先被划分为不同的等级(R1,…,Rn) 。其中, Ri 代表了第 i 等级的个体的数量。通常情况下,R1 中的个体优于其他个体。根据 R1 个体在所有待克隆个体 中所占的比例 r,将资源分配模型分解为早期模型、中期模型和后期模型。算法在运行过程中,根据不同 的模型,采用相应的克隆策略。 早期模型(r≤1/3):在此阶段只有很少的优秀个体(R1 个体) 。根据博弈论的相关概念,需要抑制 R2 中个体的克隆数量,以保证其无法影响到 R1 中的个体。 如公式(5)所示, 其中 Si 表示原始的克隆尺寸, Mi 表示资源分配模型计算过后,克隆后第 i 级别的克隆规模。
n M 1 S1 (1 a) i 2 Si Mi a S (2 i n ) i
(6)
后期模型(r≥2/3):在此阶段优秀个体已经占据了很大的比例,其他个体对其影响可忽略不计,因此, 只需按照所有个体之间的拥挤度距离进行等比例克隆。
2016 年 4 月 第 43 卷 第 2 期
西安电子科技大学学报(自然科学版) JOURNAL OF XIDIAN UNIVERSITY
Apr.2016 Vol.43 No.2
doi:10.3969/j.issn.1001-2400.2016.02.027
求解多目标考试时间表问题的 NNIA 改进算法
car92 45
ear83 18
hec92
适应度函数值
适应度函数值
适应度函数值
适应度函数值
25 30 35
6
16 14 12 10
5 4 3
40 35 30
5.5 5 40 50 60
4.5
时间表长度
35
40
(a)
时间表长度
45
50
55
(b)
时间表长度
18
20
(c)
时间表长度
22
24
26
28
(d)
kfu93 20 16
168
西安电子科技大学学报(自然科学版)
第 43 卷
入了超启发方法的相关技术,提出了一种用于处理多目标考试时间表问题的 NNIA 改进算法。
1 考试时间表问题
考试时间表问题是一个典型 NP-难的组合优化问题。问题可以描述为:将一定数量的考试安排在一个 固定的时间段中, 并且安排过程中必须满足一定的约束条件。 即将一组考试 E={e1,e2,…,eE}排入一个长度为 P={1,2,…,P}的时间段内。具体数学描述如下:其中,式 1 表示此问题的最小化冲突值,等式 2 为此问题的 约束条件之一,表示同一学生在某一时段只能参加一门考试。等式 3 为另一约束条件,指出每一门考试科 目只能在整个时间段中安排一次。若考试 ei 被排如时间段 p 中,则 aij=1,eij 代表同时参加考试 ei 与 ej 的学 生总数。
M1 S1 (1 a ) S 2 , MS 2 a S2 M i Si (3 i n), a S1 S1 S 2
(5)
中期模型(1/3<r<2/3):在此阶段优秀个体的数量增多,但依然无法忽视其他级别的个体对其影响,因 此需要抑制除 R1 外的其他个体的克隆数量。
种群初始化 交叉、变异 N 输出结果 Y 终止 条件? 多样性 保持策略 局部搜索 非支配 排序 克隆
图1 算法流程图
2.1
资源分配模型
NNIA 是一种经典的进化多目标优化算法,在此算法的运行过程中,只是采用少数的非支配个体进行 操作,考虑到本文采用的多目标考试时间表的建模方式,在算法运行过程中,当出现非支配解数量不足的 情况时, 必然会对 NNIA 框架下的算法性能产生十分明显的影响。 顾本文在采用 NNIA 算法框架的基础上, 在个体克隆阶段,设计了一种基于博弈论的资源分配模型,通过动态控制优势个体的克隆数量手段,更加 合理的分配计算资源。
nondominatedneighborimmunealgorithmnnia解决考试时间表问题的主要方法可归纳为图着色方法变邻域搜索及混合和超启发方法关于考试时间表问题的建模通常是将考试时间表问题的时间表长度固定将各个考试的冲突关系作为惟一的目标函数然后将此问题作为一个单目标优化问题处理这种建模方式的优势是许多经典成熟的单目标优化算法都可处理此问题并且可最终获得一个确定的最优值然而若需要得到多个不同时间长度的考试安排仍要采用单目标方式建模则必须多次运行算法这无疑增加了一定的资源成本随着进化多目标技术的发展810文献112009年提出了一种解决考试时间表的进化多目标优化算法并且将时间表长度和考试间的冲突关系作为两个目标函数将考试时间表问题建模为一个多目标优化问题次便可得到多个不同长度的考试时间表而管理者只需要挑选其中最为符合实际情况的一种考试安排表即可针对多目标考试时间表问题出现了一些以经典进化多目标算法为基本框架的优化算法1213上述论文的仿真实验显示采用多目标进化算法处理多目标考试时间表问题2016年4月第43卷西安电子科技大学学报自然科学版journalxidianuniversityapr2016vol43wwwxdxbnet是可行的但需要设计出更加高效的算法以便更好地解决多目标考试时间表问题因此在文献12提出的解决考试时间表的非支配邻域免疫算法nondominatedneighborimmunealgorithmnnia基础上笔者设计了一种资源分配模型引入了超启发方法的相关技术提出了一种用于处理多目标考试时间表问题的nnia改进算法考试时间表问题考试时间表问题是一个典型np难的组合优化问题问题可描述为将一定数量的考试安排在一个固定的时间段中并且安排过程中必须满足一定的约束条件具体数学描述如下minp1cij为此问题的约束条件之一表示同一学生在某一时段只能参加一门考试式ij代表同时参加考试文中将考试时间表建模为两目标优化问题将在单目标考试时间表问题中十分常见的惩罚函数作为目标函数可表示为minf1表示参加这些考试的学生总数求解考试时间表问题的进化多目标优化算法笔者是在文献12的基础上针对算法的种群初始化操作引入了超启发方法在算法的克隆操作中设计算法流程图了一种新的资源分配模型是一种关于多目标考试时间表问题的nnia改进算法所以除种群初始化操作与克隆操作外算法中的其他所有操作算子及算法流程与文献12的完全相
2.2
基于超启发方法的种群初始化 许多学者的研究及仿真实验表明[1],基于图着色的超启发方法十分适合处理单目标考试时间表问题。 采用超启发方法拥有更大几率快速找到可行解或潜在的优势个体。针对本文所面对的多目标考试时间表问 题,若能快速得到可行解或潜在的优势个体,在固定的算法迭代次数的条件下,则更加有利于得到更好的 结果。 因此, 本文采用基于图着色的超启发方法生成初始种群。 其中, 初始种群是由一定数量的初始解 (时 间表)构成的。首先,随机产生由不同图启发算法构成的启发式链表,根据启发式链表,产生初始解(考试 时间表) 。在产生初始解的过程中,每当产生一个新的考试时间表示,通过这些不同的启发式算法,可以产 生一个考试科目安排顺序, 在不违反硬约束的条件下, 根据考试安排顺序, 每门考试随机安排在时间段中。 [1] 具体的超启发方法请参看文献 。另外,本文采用二进制编码方式,其中每一列代表一个时间段,每一行 代表一门考试,数字 1 表示在此时段安排某门考试,0 表示在此时段未安排考试。
雷 雨,焦李成,公茂果,李玲玲
(西安电子科技大学 智能感知与图像理解教育部重点实验室,陕西 西安 710071)
摘要:提出一种用于求解多目标考试时间表问题的 NNIA 改进算法。采用经典多目标进化算法 NNIA 的 算法框架,为了改善该算法的收敛性和多样性,本文利用超启发方法生成初始种群,同时采用一种新的 资源分配模型,在克隆过程中动态调节优秀个体的克隆比例,改善算法的性能。十组标准测试数据对算 法的性能进行测试,表明该算法对于多目标考试时间表问题十分有效,并且在某些测试数据上可以得到 令人满意的结果。 关键词:多目标优化;考试时间表;进化算法;资源分配模型;非支配邻域免疫算法 中图分类号:TP18 文献标识码:A 文章编号:1001-2400(2016)02-0167-06