一维下料的改进遗传算法优化

来源 :计算机时代 | 被引量 : 0次 | 上传用户:tjkjkfzx
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要: 针对一维下料优化问题,在对一维下料方案数学模型分析的基础上,提出了基于改进遗传算法的优化求解方案。主要思想是把零件的一个顺序作为一种下料方案,定义了遗传算法中的关键问题:编码、解码方法、遗传算子和适应度函数的定义。该算法设计了一种新颖的遗传算子,包括顺序交叉算子、线性变异算子、扩展选择算子。根据这一算法开发出了一维下料方案的优化系统。实际应用表明,该算法逼近理论最优值,而且收敛速度快,较好地解决了一维下料问题。
  关键词: 一维下料; 遗传算法; 最优交叉; 优化
  中图分类号:TH122;TP391.7 文献标志码:A 文章编号:1006-8228(2014)01-36-02
  0 引言
  一维下料优化问题是讨论从一种规格的材料中,分切出各种不同长度的坯料,以使材料的利用率最高。这类优化问题在机械、建筑、木材,甚至布料等行业中具有广泛而实际的应用。一维下料问题属于NP难问题。国内外关于这方面的研究十分活跃,并且提出了不少优化算法,如Dyckhoff H.提出的线性规划方法[1]以及Sarker B. R.提出的动态规划方法[2]等。但这些算法过于复杂,也未能有效地解决巨大数量切割方式的优选问题。本文讨论以传统遗传算法为基础,改进了传统的交叉算子、变异算子和选择算子,实现了不错的效果,能够在较短的时间内得到利用率较高的排样方式。
  1 一维下料问题的数学模型
  1.1 问题定义
  1.2 数学模型
  根据问题描述,首先找到这些零件的组合方式,即哪几个零件组合使得每一个原材料的余料最小,假设有m种下料方式。根据每种零件的需求量,求取每一种下料方式应用的次数:
  求出每种下料方式所产生的余料长度:
  2 一维下料方案优化问题的求解方法
  2.1 编码方法
  2.2 解码方法
  由编码方法产生个体的编码后,需通过解码算法得到其所需原材料的数目,计算其适应度值后,才能对该个体进行评价,相应的解码算法如下。
  2.3 适应度函数
  对于一维下料问题,用适应度函数来评价遗传算法时,适应度越大,解的質量越好,自然的想法是取所需原材料总概数的倒数,但当二种方案需要原材料根数相同时,则最后一根余料较长者显然更优,所以本算法采用的适应度函数是:,其中Qm为所用的原材料数量,L'为最后根原材料所用的长度。那么适应度最高为1。
  3 一维下料方案遗传算法的求解过程
  3.1 初始种群
  3.2 遗传算子
  ⑴ 交叉算子
  基于生物进化学说,两个优秀的父辈得到的子代往往是比较优良的,而两个较差的父辈得到的子代往往不会优秀。因此本算法交叉算子的设计采用顺序交叉的方案[4],即将父辈按适应度降序排序后,采用双点交叉算子按顺序相邻二二交叉,该算子是在父序列P1中随机产生两个交叉位b1与b2,在这两个随机位之内的元素将复制到新的序列Pnew的对应位置。剩余的元素按父序列P2的先后顺序依次复制到Pnew,得到新的序列Pnew。以同样的方法得到另一个新的子序列Qnew。
  ⑵ 变异算子
  传统遗传算法的变异算子主要有位置变异与颠倒位序变异。位置变异是在序列中随机得到两个随机位,并将这两个随机位的元素加以对换。颠倒位序变异是在序列中随机得到一个随机位,并在这随机位之后的元素加以颠倒。本算法还采用了模拟基因突变的缺失与增添。缺失是父序列中随机取出一个变异位,在该变异位之后的位都向前移一位,最后将取出的变异位添加到最末位。增添是在父序列上随机得到一个变异位。将在此变异位之后的位都向后移一位,最后将父序列中最后的位添加到变异位得到新的子序列。由这两种算子加上传统的位置变异与颠倒序列变异,在变异概率下,有一定概率执行前面四种变异算子,这样一来进化的多样性会大大提高,更有概率能接近最优解。
  传统的变异率是恒定不变的。基于生物进化学说,两个优秀的父代得到的子代往往是比较优良的,而两个较差的父代往往得到的子代不会优秀。所以在遗传算法进化的初期,上一代的适应度往往不会太高,经过交叉之后往往也不尽如人意。因此较高的变异率则是有助于尽快地进化得到较好的下一代。而在进化的后期,上一代的适应度往往趋近于最高,较高的变异率有可能破坏原有的优良基因,导致子代的适应度降低。基于这样考虑,该系统采用线性的变异率,变异率随着遗传代数的增加而降低。变异率的线性变化公式为:R=(0.8G-g)/G+0.1,其中R为当前代数的变异率,G表示的是遗传算法需要进化的总代数,而g表示当前的进化代数。可以看出变异率的范围是从0.1到0.9。这是因为在进化的后期也需要一定的变异率用来提高下代种群的适应度。
  ⑶ 选择算子
  传统的遗传算法是由上一代经过交叉与一定概率的变异得到两个下一代。而有可能存在的问题就是在上一代经过交叉之后就得到了适应度较高的个体,再经过变异之后适应度有所降低。因此本算法采用扩展选择算子,由上一代经过交叉后得到两个子代,与由这两个子代个体经过一定概率的变异得到两个子代个体并存。最后将得到的子代与父代通过计算适应度筛选出nScale个最优个体交给下一次进化。如此就避免进化途中的浪费,错过适应度较高的解。
  3.3 结束条件
  重复执行上面的⑴、⑵、⑶步骤,直到最好解的适应度值达到要求或满足了预定的进化代数,才能停止计算,并输出最优解。
  4 计算实例
  为了测试本算法的性能,我们借鉴文献[5]中的例子。原材料长3m,需切割的零件分别为长2.2m的3件、长1.8m的3件、长1.2m的4件、长0.5m的6件、长0.3m的6件。求最优下料方案(不考虑切口损失)。
  文献[5]采用启发式多级序列线性优化方法计算,能保证高的材料利用率,而且计算速度也高。但随着零件规模的扩大,计算时间也会爆炸。而基于改进遗传算法的求解方法虽然对同一问题需要多次运行,从多种下料方案中择优,但计算仅用0.6s就取得了最好解,而且是求解组合爆炸问题的最好选择。表1和表2是文献[5]与本文算法的对比。
  表2若不计编号8的原料,则余下的原料利用率都为100%。而编号8的原料具备最长的余料,还可以进一步利用。计算结果很理想。
  5 结束语
  本文针对工程实际中的一维下料问题,提出了求解该类问题的改进遗传算法,该算法设计简单,原理易于理解。实例计算结果证实了本算法的有效性,而且计算时间较短,同时,原材料的利用率也达到了较高的水平,对同一问题多次运行可以给出多种利用率相近的方案,便于从多个优化结果中择优,可以满足生产的需要。今后对于排样问题的研究,还须对多目标优化给予重视,以满足各种生产环境的需求。
  参考文献:
  [1] Dyckhoff H. A New Linear Programming Approach to the Cutting
  Stock Problem[J].Opns Res,1981.29(6):1094-1104
  [2] Sarker B R. An optimum solution for one dimensional slitting
  problems:A Dynamic Programming Approach[J].J opl Res Soc,1988.39(8):749-755
  [3] 贾志新,殷国富,胡晓兵等.一维下料方案的遗传算法优化[J].西安交
  通大学学报,2002.36(9):967-970
  [4] 吴迪,李长荣等.基于蜂群遗传算法的一维优化下料问题[J].计算机
  技术与发展,2010.20(10):82-85
  [5] 王小东,李刚,欧宗瑛.一维下料优化的一种新算法[J].大连理工大学
  学报,2004.44(3):407-411
其他文献
摘 要: 为了充分利用现代信息技术构建信息化教学环境,有效地获取和利用丰富的信息资源,借助丰富的教学方法和教学手段来优化教学效果,有必要进行科学合理的信息化教学设计。以职业核心能力培养为核心,围绕“微课”资源开发与应用这个主题进行信息化教学设计,以帮助学生进行自主学习,提高学生的学习兴趣,培养学生的创新能力,增强学生的职业竞争能力。  关键词: 信息化教学设计; 学生自主学习能力; 教学方法  中
期刊
摘 要: 实训实习是应用型人才培养的重要组成部分,针对基于Web的实训实习管理系统进行了研究,分析了基于Web的实训实习管理系统的需求,详细设计了系统的功能模块和结构框架,给出了系统的实现方案。采用基于角色的访问控制来提高本系统的安全性,采用JFreeChart技术生成各种报表来提高系统的可用性。  关键词: Web; 实训实习; 信息管理系统; 访问控制; JFreeChart  中图分类号:T
期刊
摘 要: 对目前虚拟漫游系统的瓶颈进行分析,提出并实现了一个基于Flash 3D的、优化了的在线虚拟旅游系统。系统对三维场景文件包括模型文件、材质文件及其构建步骤进行优化,并在实现了对多种媒体元素支持的基础上,设计了独创的热点系统,实现对三维场景按需进行加载和展示,以及游客在场景中的互动漫游。系统测试结果表明,该设计方案优化效果显著,系统性能得到了极大的提升。  关键词: 在线虚拟漫游; 三维场景
期刊
摘 要: 针对数字化校园建设中存在的信息孤岛问题,设计开发了基于客户服务架构的能支持多种手机客户端的校园信息发布系统。分析了系统功能,描述了系统拓扑结构和软件架构,对数据交换接口、网页和手机客户端信息提醒等关键技术进行了探讨。试用结果表明系统运行良好,达到了设计目的。  关键词: 信息发布系统; 手机客户端; 数字化校园; 客户服务架构; Android; iOS; Windows Phone  
期刊
摘 要: 网络拓扑的建设在以网络平台为依托的研究领域发挥着重要的作用,是相关研究得以展开的基础。将目前流行的两种网络拓扑生成算法——正向反馈优先和热模型算法,与时下最强大网络仿真工具OPNET相结合,给出了一种OPNET平台上基于EMA的、规模可控的、仿真度较高的网络拓扑自动化建模方法。实验结果表明,该方法能够更好地模拟真实网络拓扑环境,达到网络仿真的规模要求,满足相关领域的研究需要。  关键词:
期刊
摘 要: 第一堂课如何上,很大程度上决定了课程教学的成败。首先介绍了第一堂课的教学内容和教学方法,然后重点介绍了我们课程组在“编译原理”第一堂课中采用的教学手段和教学方法,如图表法、动态演示法等。本研究对计算机相关专业的课程教学,以及其他工科专业的课堂教学可起到一定借鉴作用。  关键词: 第一堂课; 编译原理; 教学; 动态演示  中图分类号:TP314 文献标志码:A 文章编号:1006-822
期刊
摘 要: 传统模式下的高校毕业生信息管理效率低、保密性差;而基于面向对象Java语言与ExtJS Web开发技术的学生就业信息管理系统,能满足数据信息集中管理和维护、实时查询的需求,提高管理的效率和质量。本系统为B/S系统,采用tomcat进行部署运行,所有的页面统一为JSP,后台使用主流的SSH框架,运用MVC模式进行系统设计。  关键词: 信息管理系统; Java; ExtJS Web; B/
期刊
摘 要: 分析了目前高校多出口网络环境下存在的诸多问题,提出了适合青岛职业技术学院现状的解决方案,即利用DNS view功能实现按源请求地址返回服务器不同IP地址,并配合防火墙路由策略较好地解决了校外用户快速访问校内资源,以及校内用户快速访问互联网的问题。  关键词: 多出口环境; 路由策略; DNS VIEW; 校园网  中图分类号:TP393.07 文献标志码:A 文章编号:1006-8228
期刊
摘 要: 传统的人才储备库系统已不能适应现在的市场需求,因此提出以“订单式教育”的模式开发、设计和实现职业院校人才储备库系统。针对南宁职业院校和人才市场进行了需求分析,明确系统的主要设计目标、总体框架和主要模块功能,提出了“订单式教育”软件的实现模型和解决方案。已取得的阶段性成果是为职业院校和企业决策层提供了“订单式”人才数据分析系统。总结分析了未来的研究开发方向和面临的问题。  关键词: 职业院
期刊
摘 要: 为了方便快捷地为旅客提供旅游信息,设计并开发了一个基于安卓操作系统的西北地区旅游信息查询系统。该系统基于C/S模式,服务器端使用JSP语言和Struts2+Spring+Hibernate开源框架编写,实现旅游景点信息的浏览、添加、修改和删除,同时为客户端提供下载和更新数据的接口;客户端为基于Android平台的智能手机,可以浏览、搜索旅游景点信息,也可以通过无线网络从服务器端下载和更新
期刊