面向对象的遗传算法平台设计与应用

面向对象的遗传算法平台设计与应用

论文摘要

遗传算法在复杂优化问题求解方面的优异性能,受到了广大研究人员的关注。但具体的代码实现以及在工程项目中的应用,还存在着许多困难,这大大限制了遗传算法在工业优化领域的进一步推广。因此本论文研究工作试图解决在遗传算法应用开发时碰到的困难与不便,提高它的应用实施效率。本文首先介绍了遗传算法的发展历史,应用范围,和在软件设计方面已取得的成果等内容,然后详细讨论了它的基本原理和技术实现。在这些分析研究基础上,利用面向对象的程序设计思想和方法,实现了遗传算法开发平台。该平台按照分层次,模块化进行架构设计和开发,以高效运行,使用简便和从仿真实验到实际生产部署的代码平滑迁移为目标,提供了遗传算法计算的总体框架,预置实现了常见的二进制编码,实数编码,符号编码等编码方式,和与之相关的遗传算子等基础类库组件,并提出了引擎驱动的遗传算法的使用方法。在这些工作之上,还提供了一系列辅助的参数设置,实验分析等的图形化工具。通过该平台,遗传算法的应用人员能将主要精力集中于业务相关的算法设计和调整部分,减少大部分通用的框架和算子代码实现工作,提高工作效率。在程序实现方面,充分利用了C++模板的语言特性,将遗传进化个体类型作为模板参数,使遗传算子等其他组件在程序编译期得到实例化确定,相对于传统的使用运行时多态来解决遗传编码不确定的问题,提高了运行时的执行效率。使用面向对象的设计技术,配合相应的设计模式,将程序与数据流相分离,合理组织底层组件类的关系,减少了对象之间的藕合关系,增强了平台的可扩展性和代码的可维护性。借助于标准C++和wxPython库的跨平台特性,平台中的底层类库和图形化工具能在Windows和Linux等多种操作系统下运行。使用平台对MaxOne问题,函数优化问题,TSP问题进行实验仿真,展示了基于平台进行遗传算法建模的一般性步骤和使用方法的一致性。在实验仿真过程中,结合各自问题特性,讨论了与编码相关的交叉、变异算子的设计,对于遗传算子和参数对优化效果的影响进行了各种实验,得出了精心选择的参数组合能大幅提高优化效果和优化领域“没有免费的午餐”的结论,这有助于用户在使用遗传算法时选择合适的参数。最后对炼钢组炉实例进行建模,用遗传算法对出钢记号和余材量进行优化计算,提出了一种改进的符号编码方式和启发式的变异操作方法,借助于平台快速完成了程序原型和相关的对比实验,获得的优化效果也令人满意。这些仿真和现场实例都说明了平台的应用价值和应用前景。

论文目录

  • 摘要
  • ABSTRACT
  • 第1章 绪论
  • 1.1 遗传算法的发展与应用
  • 1.1.1 遗传算法的发展历史
  • 1.1.2 遗传算法的应用范围
  • 1.2 遗传算法软件简介
  • 1.3 本文主要工作介绍
  • 1.4 本章小结
  • 第2章 遗传算法基本理论和技术问题
  • 2.1 遗传算法概述
  • 2.2 遗传算法的基本流程
  • 2.3 遗传算法的基础理论
  • 2.3.1 模式定理
  • 2.3.2 积木块假设
  • 2.3.3 收敛性分析
  • 2.4 遗传算法的实现技术问题
  • 2.4.1 编码方法
  • 2.4.2 适应度函数
  • 2.4.3 选择算子
  • 2.4.4 交叉算子
  • 2.4.5 变异算子
  • 2.4.6 算法控制参数
  • 2.4.7 遗传算法的性能评价
  • 2.5 本章小结
  • 第3章 遗传算法平台的设计与开发
  • 3.1 设计思想和架构
  • 3.2 算法平台的特点
  • 3.3 基础类库实现
  • 3.3.1 个体类型类
  • 3.3.2 进化群体类
  • 3.3.3 个体操作类
  • 3.3.4 群体操作类
  • 3.3.5 检查点类
  • 3.3.6 其他辅助设计
  • 3.4 计算引擎的构建
  • 3.5 平台图形用户界面实现
  • 3.5.1 wxPython跨平台图形库
  • 3.5.2 GUI功能界面
  • 3.6 本章小结
  • 第4章 平台遗传算子设计和仿真研究
  • 4.1 平台的使用方法和步骤
  • 4.2 MaxOne问题优化
  • 4.2.1 问题描述与编码选择
  • 4.2.2 交叉算子
  • 4.2.3 变异算子
  • 4.2.4 模拟仿真分析
  • 4.3 函数问题优化
  • 4.3.1 问题描述与编码选择
  • 4.3.2 交叉算子
  • 4.3.3 变异算子
  • 4.3.4 模拟仿真分析
  • 4.4 TSP问题优化
  • 4.4.1 问题描述与编码选择
  • 4.4.2 交叉算子
  • 4.4.3 变异算子
  • 4.4.4 模拟仿真分析
  • 4.5 本章小结
  • 第5章 炼钢组炉中的遗传算法应用研究
  • 5.1 背景介绍
  • 5.2 问题分析和模型设计
  • 5.2.1 问题分析
  • 5.2.2 遗传算法模型设计
  • 5.3 仿真结果说明
  • 5.4 本章小结
  • 第6章 总结和展望
  • 6.1 全文总结
  • 6.2 展望
  • 参考文献
  • 致谢
  • 攻读学位期间发表的学术论文
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    面向对象的遗传算法平台设计与应用
    下载Doc文档

    猜你喜欢