




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Matlab部分智能优化算法 第七讲 本章主要学习matlab中三个智能优化算法及其实现 一 遗传算法1 算法的相关知识2 ga及gatool二 人工神经网络1 算法的相关知识2 newff newlvq train sim及nntool三 粒子群算法 一 遗传算法 1 算法简介遗传算法是一种通过模拟自然进化过程搜索最优解的方法 在解决复杂优化问题方面效果显著 算法原理如下 第一步 产生染色体 随机产生一定数目的初始染色体 它们组成一个种群 种群中染色体的数目称为种群的大小或规模 第二步 评价染色体 用评价函数来评价每一个染色体的优劣 即用染色体对环境的适应 程度 简称为适应度 来作为以后遗传操作的依据 第三步 进行选择操作 选择的目的是为了从当前种群中选出优良的染色体 判断染色体优良与否的准则是各自的适应度 即染色体的适应度越高 其被选择的机会就越多 第四步 进行交叉操作 对选择出来的新种群进行交叉操作 第五步 进行变异操作 变异操作的目的是为了挖掘种群中个体的多样性 克服有可能陷入局部解的弊病 进行了上述三个操作所产生的染色体称为后代 对后代重复进行选择 交叉 变异操作 经过给定次数的迭代处理以后 把最好的染色体作为优化问题的最优解 2matlab指令与计算举例格式一 x ga fitnessfun nvars 求解 优化问题minf x 其中nvar为优化问题中变量的个数 fitnessfun写成如下的m函数形式 fitnessfit m functionf fitnessfun x f f x 当求解有约束优化问题时 可将约束条件用逻辑语句写进上述fitnessfun函数 如functionf fitnessfun x if x4 f inf else f f x end 即上述优化问题有约束x 0和x 4 格式二 x f reason ga fitnessfun nvars 同时返回解x处的函数值f和算法终止原因 matlab还提供了遗传算法运算工具命令gatool 例1分别用优化工具箱中的fminunc函数和遗传算法计算非线性规划 maxf x xsin 10pix 2 x in 1 2 首先用遗传算法求解 编写程序如下 functionf ga exam1 x if x2 f 100 else f x sin 10 pi x 2 end 如果用fminunc求解的话 由于对初值的高度敏感性而难以得到全局最优解 而遗传算法的整体优化搜索则可以得到或逼近整体最优值 例2运用遗传算法计算约束非线性规划 minf x e x1 4x1 2 2x2 2 4x1x2 2x2 1 s t 1 5 x1x2 x1 x20 x 1 x 2 10 f 100 elsef exp x 1 4 x 1 2 2 x 2 2 4 x 1 x 2 2 x 2 1 end例3运用遗传算法计算下列函数最大值 maxf x y 0 5 sin 2 sqrt x 2 y 2 0 5 1 0 01 x 2 y 2 2 函数f x y 的复杂度较高 它有无限个局部极大值点 其中只有一个 0 0 为全局最大值点 最大值为1 functionf ga exam3 x f 0 5 sin sqrt x 1 2 x 2 2 2 0 5 1 0 01 x 1 2 x 2 2 2通过对比 遗传算法在整体最优化方面强于matlab其他优化命令 但明显弱于1stopt 二 人工神经网络 1 预备知识 人工神经网络基本知识 1 生物神经元 大脑的一个重要成分是神经网络 神经网络由相互关联的神经元组成 2 人工神经元与神经网络1943年美国心理学家W McCulloch和数学家W Pitts提出了一个简单的神经元模型 MP模型 如下图 人工神经网络是由若干个人工神经元相互连接组成的广泛并行互联的网络 见下图 因联结方式的不同 有 前馈神经网络 简称BP网络 和 反馈神经网络 下图是BP网络拓扑结构图 2 matlab命令与计算举例 1 net newff PR S1 Sn TF1 TFn 生成一个BP网络 其中 PR是由R个输入中各样本值的最小和最大构成的R 2矩阵 Si表示第i层的节点数 共有n层 TFi表示第i层的传输函数字符串 默认为 tansig 2 net newlvq PR N PC 生成一个学习向量量化 lvq 神经网络 其中 PR含义同上 N表示隐层数目 PC表示各类别所占的百分比 3 net tr Y E train net P T 对上面生成的神经网络net的参数进行训练 其中 P为n N样本输入矩阵 n为输入变量维数 N为样本组数 T为m N输出矩阵 m为输出变量维数 net返回训练后得到的神经网络 tr为结构体数据 返回训练的相关跟踪信息 tr epoch为训练步数 tr perf为各步目标函数值 4 Y sim net P 应用第 3 步训练后得到的神经网络net 计算新的输入数据的值Y 即是仿真 或称泛化 另 nntool神经网络工具命令 例1用人工神经网络拟合函数y 0 12e 0 23x 0 54e 0 17x sin 1 23x 首先生成样本数据 x 0 0 25 10 y 0 12 exp 0 23 x 0 54 exp 0 17 x sin 1 23 x 其次 生成BP网络 net newff minmax x 20 1 tansig purelin 然后利用样本数据训练网络 net tr train net x y 最后 应用经过训练的net仿真 y1 sim net x 对比仿真效果 E y y1 MSE mse E 计算仿真误差 holdon plot x y r x y1 b holdoff 从结果可以看出 仿真效果很好 在图形上 红色 是原数据 蓝色实线 是仿真结果 应用人工神经网络拟合函数 y 0 12e 0 23x 0 54e 0 17x sin 1 23x 红色 是原数据 蓝色实线 是仿真结果 例2蠓虫分类 美国1989年建模赛题 两种蠓虫Apf和Af已由生物学家Grogan和Wirth于1981年根据他们的触角长度和翅长加以区分 现测得6只Apf蠓虫和9只Af蠓虫的触长 翅长的数据如下 Apf 1 14 1 78 1 18 1 96 1 20 1 86 1 26 2 00 1 28 2 00 1 30 1 96 Af 1 24 1 72 1 36 1 74 1 38 1 64 1 38 1 82 1 38 1 90 1 40 1 70 1 48 1 82 1 54 1 82 1 56 2 08 请用恰当的方法对3只触长 翅长分别为 1 24 1 80 1 28 1 84 1 40 2 04 的蠓虫进行识别 设计一个lvq神经网络进行分类 程序如下 clearApf 1 14 1 78 1 18 1 96 1 20 1 86 1 26 2 00 1 28 2 00 1 30 1 96 Af 1 24 1 72 1 36 1 74 1 38 1 64 1 38 1 82 1 38 1 90 1 40 1 70 1 48 1 82 1 54 1 82 1 56 2 08 x Apf Af 输入向量 y0 ones 1 6 2 ones 1 9 类1表示Apf 类2表示Af y ind2vec y0 将下标向量转换为单值向量作为目标向量net newlvq minmax x 8 0 60 4 建立lvq网络net trainParam show 100 net trainParam epoch 1000 设置参数net train net x y ytmp sim net x y1 vec2ind ytmp xt 1 241 281 40 1 801 842 04 yttmp sim net xt yt vce2ind yttmp figureplot Apf 1 Apf 2 Af 1 Af 2 o xt 1 xt 2 legend Apf Af samples 运行上述程序 得结果图形如后 三 粒子群算法 粒子群算法是模仿生物社会系统 更确切地说 是由简单个体组成的群体与环境以及个体之间的互动行为 是一种基于群智能方法的进化计算技术 也是一种基于群体迭代的优化工具 1995年源于Eberhart与Kennedy对鸟群捕食行为的研究 此处粗略讲解其算法原理 操作步骤及应用 假设在一个D维的目标搜索空间中 有m 个粒子组成的一个群体 其中第i个粒子表示为Xi xi1 xi2 xiD 即其位置为Xi 换言之 每个粒子的位置就是一个潜在的解 将Xi代入目标函数 就可以计算出其适应值 根据适应值的大小衡量其优劣 它经历过的最好位置记为Pi pi1 pi2 piD 整个群体所有粒子经历过的最好位置记为Pg pg1 pg2 pgD 粒子i的速度表示为Vi vi1 vi2 viD 粒子群算法采用下列公式对粒子进行操作 vij wvij c1r1 pij xij c2r2 pgj xij xij xij avij 其中i 1 2 m j 1 2 D w为非负数 称为惯性因子 c1 c2为非负数 称为学习因子 r1 r2为 0 1 内变化的随机数 a称为约束因子 目的是控制速度的权重 其意义是时间 此外 vi in vmax vmax 即粒子的速度被一个最大速度
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小学三年级数学应用题专项练习卷
- 土方运输安全文明施工方案
- 四年级清明节安全教育主题班会方案
- 员工关系融洽团建方案设计
- 2025年药品管理法试题及答案
- 2025年食品安全知识竞赛试题(附答案)
- 初中应用文写作专项训练课件合集
- 2025年国际航海日知识竞赛考试题库(含答案解析)
- 职业生涯规划指导手册范例
- 职业危害因素风险评估报告模板
- GB 20072-2024乘用车后碰撞安全要求
- 新课标高中化学实验目录人教
- 【培训课件】《统计法》宣传课件 建立健全法律制度依法保障数据质量
- 九年级(上册)历史教材课后习题参考答案【人教部编版】
- 食堂日管控周排查月调度记录表
- 初中音乐教学课件走进京剧
- 智能传感与检测技术 课件 第4章压电式传感器
- 心内科心衰一病一品护理成果汇报
- 甲状腺癌的围手术期护理
- 散文阅读-2024-2025学年北京七年级语文上学期期中试题分类汇编(学生版)
- 2024个人借款抵押合同范本个人借贷抵押合同范本2
评论
0/150
提交评论