用混合进化法解决大学课程表问题.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
用混合进化法解决大学课程表问题

用混合进化法解决大学排课表问题 Salwani Abdullah1 , Edmund K. Burke2 , and Barry McCollum3 摘要 进化法结合局部搜索为许多排课表问题提供了最优解。本文描述的是一种大学课程表算法的延伸。这个问题与大学课程如何分配教室和时间有关。若要得出可行方案,就要满足大量的必要约束条件。而方案质量高低要由罚值来衡量,罚值代表了满足非必要约束条件的程度。混合进化算法通过建立数据集,对比文献资料中具有艺术性的运算技巧的方式进行测试。得到的结果证明:混合进化法可以用来制作课表方案,而且能够对文献中的基本问题给出一些最低罚值。因此,结论是混合进化算法是一种可以生成高质量大学课表方案的极其有效的研究方法。 I.引言(绪论) 在制表过程中,大多关注的是如何自动生成时间表结构问题,期间应用了各种技术包括模拟退火算法(如【1,2,3】),禁忌搜索法(如【4】)】Al.又提出了这一问题解决方案的模糊概念法。在(14)中 Socha et Al.建立蚁群算法并首次运用到本文讨论的数据中。Rossi-Dorica et al. 引用同样的数据提出大量元启发式比较法。Burke et al.引进了禁止搜索启发式算法并结合护士花名册编排方法运用到大学排课系统中。本论文旨在系统解决不同的问题而非特指时间表。Burke et al.也曾引用启发式图表的禁止搜索算法,而且在大学考试和课程安排的基本点中都得到了运用,那么,这又对处理不同问题的一般性提出了更高要求。Paechter 的生成结构也与以上数据有关,但他解决问题的方法只是为了参加2002年举行的课程表竞赛。对这些数据的调查报告不在本论文论述范围之内,而且对那些仅适用以上数据合在其他地方不适用的方法论也不在本文之列。 III. 混合进化算法 在此论述的混合法(即遗传算法和局部搜索结合)在各种文献中有其他的说法例如:基因算法,混合基因算法,,基因搜索算法【8】在【679】同样能找到大量解决大学时间表的方法案例。描述的方法是用基因算法解决大学排课系统,其中先用两个进化算符(一个轻罚值变量,另一个重罚值变量)然后用“爬山”算法计算,最后一组真实的考试数据上检测质量,可结果显示与单独使用进化算符方案要优于前一种。这采用了一种运用几种变量的基因算法解决排课问题,实验表明在方案中使用独立变量和相连变量能够极大地提高运算效率。在(19)里,作者引入了把分解法和进化法综合在一起的多层次进化算法。检验这一方法的实效性要使用真实数据。实验的结果是这个方法可以用来完善方案质量,并用来减少搜索最佳方案的时间。对此感兴趣的读者可以在(18,20)中找到更多有关混合进化算法的更多扩展内容。对于用来解决时间表问题的基因算法概论可以再(21)中找到。 IV.混合进化算法在大学排课系统中的运用 我们在进化算法中使用的主要技巧是:先用一个轻变量,再用随机性反复式算法。其中不包括交叉算符。 A.方案描述 如下直观描述: 每个基因包含某一课程的时间和地点信息,表1是基因集合:C1是第一节课,CN是课程最大值,记作i∈(1,……,N)例如课程C1安排在第5时段的2号教室; B.第一代运算 结构算法用来生成大量随机可行方案。先由空白表格创立,这类似于随机标图法(见22),然后通过增减适合必要条件下的课程来创建可行性方案,并用类似轮盘循环的方法为下一代集合群选择算符,由于刚开始测试,循环代定位100. C.进化算符:变异 对20%的课程我们将从选出的20%的下一代算符中随机运算轻变量,选择的百分比数建立在初试基础上,然后在任意点上随机选课并分配到下一组最早排课的时间段内,表2中是变量运算的虚拟算符。 D.随机性反复式发展运算 (12)讨论的方法用到了本地搜索算符中,在变量运算结束后使用。方案越优化,运算会变得越容易,但不排除特殊情况下产生的不理想方案。在这里要注意制表过程中,必要条件是不易受干扰的,以下要论述的是如何进行本地化搜索。假设有K组相邻单元可放入方案,记作TempSol(i)可以连续表示为 I ∈(1,……,k),TempSol(i)中最好的方案Sol * 跟现在正在使用中的方案 记作Sol(best)对比,如果方案质量得到了完善,那么就采用新的方案 Sol * 但是要用蒙特指数?接受度标准,如果随机生成的数量介于(0,1)之间,小于e-δ,β是新方案和老方案之间的差异度(如β=f(Sol *)-f(Sol) ),运算一直到生成最终的标准终止(这里终止标准定于200000,见12)随机性反复式运算虚拟编码详见于图3 E.运算 图表4和图表5展示了原理图和虚拟编码。注意进化法中不使用交叉算符,这种算符会给方案生成增加难度(如会修复新一代算符)包含在这里面的数据可以用到我们的方法中,运算开

文档评论(0)

wujianz + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档