程序的设计与应用(Java)实训指导书.docx

  1. 1、本文档共36页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
程序设计及应用实训指导书 (Java语言) 理工大学信息工程与自动化学院自动化系 志坤 勇编 2016 年 8 月 一、 题目 题目:利用遗传算法仿真猕猴桃组培苗变异 二、 目的 (1) 掌握Java语言开发环境的搭建,掌握 Java基础编程知识。 (2) 学习遗传算法的基本原理,利用遗传算法进行猕猴桃遗传变异模拟。 (3) 利用excel进行遗传变异数据分析,掌握数据分析方法 三、 指导教师 志坤、勇 四、 地点 理工大学呈贡校区信自楼 445。 五、 时间及进度安排 时间:2015 — 2016学年短学期(2016年8月31日至2016年9月9 日) 进度安排: 日期 环节进程安排摘要 2016-8-31 布置设计任务及环境搭建 2016-9-1 程序结构设计 2016-9-2 程序编与指导 2016-9-5 查阅资料 2016-9-6 查阅资料 2016-9-7 程序编写、分析数据 2016-9-8 报告书编写及指导 2016-9-9程序、报告检查及成绩评定 2016-9-9 程序、报告检查及成绩评定 六、 设备及器材 设备器材:计算机 软件:(1)JDK 1.7及以上;(2) Eclipse-standard-luna ; 七、 成果要求 实训同学要求完成(一)、(二)、(三)、(四八(七) 程序设计及应用同学要求完成(一) 、(二八(三)、(四八(五八(六八(七) (一)、遗传算法的基本原理 遗传算法(Genetic Algorithm )是模拟达尔文生物进化论的自然选择和遗传学机理的生 物进化过程的计算模型, 是一种通过模拟自然进化过程搜索最优解的方法。 已被人们广泛地 应用于组合优化、机器学习、信号处理、 自适应控制和人工生命等领域,是现代有关智能计 算中的关键技术。 遗传算法的基本运算过程如下: (1) 初始化:设置进化代数计数器 t=0,设置最大进化代数 T,使用M个个体作为初 始群体P(0)。 (2) 个体评价:计算群体 P(t)中各个个体的适应度。 (3) 选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传或通过 配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础 上,利用轮盘赌进行选择。 (4) 交叉运算:将交叉算子作用于群体。遗传算法中起核心作用的就是交叉算子。 (5) 变异运算:将变异算子作用于群体。即是对群体中的个体串的某些基因座上的基 因值作变动。群体 P(t )经过选择、交叉、变异运算之后得到下一代群体 P(t+1)。 (6) 终止条件判断:若 t=T,则以进化过程中所得到的具有最大适应度个体作为最优 解输出,终止计算。 图1遗传算法解决问题的步骤 遗传算法进行问题求解的实质是, 在解的空间中不断遗传, 而遗传过程过适应度值, 选 择更适应问题的解作为幸存者和后代,逐步逼近最优解。 1、 选择: 从群体中选择优胜的个体, 淘汰劣质个体的操作叫选择。 选择算子有时又称为再生算子 (reproduction operator)。选择的目的是把优化的个体 (或解)直接遗传到下一代或通过配对交 叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的, 目 前常用的选择算子有以下几种: 适应度比例方法、 随机遍历抽样法、局部选择法等。其中轮 盘赌选择法 (roulette wheel selection )是最简单也是最常用的选择方法。在该方法中,各 个个体的选择概率和其适应度值成比例。显然,概率反映了个体 i的适应度在整个群体的个 体适应度总和中所占的比例。个体适应度越大。其被选择的概率就越高、反之亦然。计算出 群体中各个个体的选择概率后,为了选择交配个体,需要进行多轮选择。每一轮产生一个[0, 1]之间均匀随机数,将该随机数作为选择指针来确定被选个体。个体被选后,可随机地组成 交配对,以供后面的交叉操作。 2、 交叉 在自然界生物进化过程中起核心作用的是生物遗传基因的重组 (加上变异)。同样,遗传 算法中起核心作用的是遗传操作的交叉算子。 所谓交叉是指把两个父代个体的部分结构加以 替换重组而生成新个体的操作。 通过交叉,遗传算法的搜索能力得以飞跃提高。 交叉算子根 据交叉率将种群中的两个个体随机地交换某些基因, 能够产生新的基因组合,期望将有益基 因组合在一起。根据编码表示方法的不同,可以有以下的算法: 1)实值重组( real valued recombination ) 离散重组( discrete recombination ) 中间重组( intermediate recombination ) 线性重组( linear recombination ) 扩展线性重组( extended linear recombinati

文档评论(0)

laugh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档