资源描述
智能算法个案例分析第章、案例背景遗传算法(,)是一种进化算法,其基本原理是仿效生物界中的“物竞天择、适者生存”的演化法则。 遗传算法的做法是把问题参数编码为染色体,再利用迭代的方式进行选择、交叉以及变异等运算来交换种群中染色体的信息,最终生成符合优化目标的染色体。在遗传算法中, 染色体对应的是数据或数组,通常是由一维的串结构数据来表示,串上各个位置对应基因的取值。基因组成的串就是染色体,或者叫基因型个体( ) 。一定数量的个体组成了群体( ) 。群体中个体的数目称为群体大小(),也叫群体规模。而各个个体对环境的适应程度叫做适应度( ) 。、案例目录:理论基础1.1.1 遗传算法概述. 编码. 初始群体的生成. 适应度评估. 选择. 交叉. 变异1.1.2 设菲尔德遗传算法工具箱. 工具箱简介. 工具箱添加案例背景1.2.1 问题描述. 简单一元函数优化. 多元函数优化1.2.2 解决思路及步骤程序实现1.3.1 工具箱结构1.3.2 遗传算法中常用函数. 创建种群函数. 适应度计算函数. 选择函数. 交叉算子函数. 变异算子函数. 选择函数. 实用函数. 实用函数1.3.3 遗传算法工具箱应用举例1 / 108. 简单一元函数优化. 多元函数优化延伸阅读参考文献、主程序:. 简单一元函数优化:画出函数图(); 函数自变量范围【】(*),);画出函数曲线(自变量 )(函数值 )定义遗传算法参数; 个体数目; 最大遗传代数; 变量的二进制位数; 代沟; 交叉概率; 变异概率(); 寻优结果的初始值; 区域描述器(); 初始种群优化; 代计数器(); 计算初始种群的十进制转换(*);计算目标函数值(); 分配适应度值(); 选择(); 重组(); 变异(); 子代个体的十进制转换(*);计算子代的目标函数值();重插入子代到父代,得到新种群(); 代计数器增加获取每代的最优解及其序号,为最优解为个体的序号2 / 108();()(); 记下每代的最优值(); 记下每代的最优值(,:)(,:),);画出每代的最优点;(,*);画出最后一代的种群画进化图();(,:);(遗传代数 )(解的变化 )(进化过程 )();();( 最优解 :(),(),). 多元函数优化画出函数图(); 函数自变量范围【】; 函数自变量范围【】(*(*)*(*),);画出函数曲线;定义遗传算法参数; 个体数目; 最大遗传代数; 变量的二进制位数; 代沟; 交叉概率; 变异概率(); 寻优结果的初始值; 区域描述器(*); 初始种群优化; 代计数器(); 计算初始种群的十进制转换()();.*(*).*(*);计算目标函数值3 / 108;(,:);7 / 108(,:);();(); ; 记录每一代进化中最好的适应度和平均适应度进化结束结果显示 ();(),(),);( 函数值曲线 终止代数 ();(进化代数 )( 函数值 );(各代平均值 ,各代最佳值 );(函数值变量 );窗口显示( );第章基于遗传算法的神经网络优化算法、案例背景网络是一类多层的前馈神经网络。 它的名字源于在网络训练的过程中, 调整网络的权值的算法是误差的反向传播的学习算法, 即为学习算法。 算法是等人在年提出来的。 由于它的结构简单,可调整的参数多, 训练算法也多, 而且可操作性好, 神经网络获得了非常广泛的应用。据统计,有的神经网络模型都是采用了网络或者是它的变形。 网络是前向网络的核心部分,是神经网络中最精华、最完美的部分。神经网络虽然是人工神经网络中应用最广泛的算法,但是也存在着一些缺陷,例如:、学习收敛速度太慢;、不能保证收敛到全局最小点;、网络结构不易确定。另外,网络结构、 初始连接权值和阈值的选择对网络训练的影响很大, 但是又无法准确获得,针对这些特点可以采用遗传算法对神经网络进行优化。本节以某型号拖拉机的齿轮箱为工程背景,介绍使用基于遗传算法的神经网络进行齿轮箱故障的诊断。8 / 108、案例目录:第章 基于遗传算法的神经网络优化算法理论基础3.1.1 神经网络概述3.1.2 遗传算法概述案例背景3.2.1 问题描述3.2.2 解决思路及步骤. 算法流程. 神经网络算法实现. 遗传算法实现程序实现3.3.1 神经网络算法3.3.2 遗传算法主函数3.3.3 比较使用遗传算法前后的差别3.3.4 结果分析延伸阅读参考文献、主程序:加载神经网络的训练样本测试样本每列一个样本输入输出样本数据就是前面问题描述中列出的数据初始隐层神经元个数;输入向量的最大值和最小值;();输入层神经元个数();输出层神经元个数*;输入层到隐层的权值个数* 隐层到输出层的权值个数; 待优化的变量的个数定义遗传算法参数; 个体数目; 最大遗传代数; 变量的二进制位数; 代沟; 交叉概率9 / 108; 变异概率(); 寻优结果的初始值()()();区域描述器(*); 初始种群优化; 代计数器(); 计算初始种群的十进制转换(); 计算目标函数值 总距离:优化后的路线图:13 / 108图 最优解路线图最优解路线 : 总距离:优化迭代过程:图遗传算法进化过程图、主程序:14 / 108个城市坐标位置; 种群大小;交叉概率;变异概率; 代沟 ( )(); 生成距离矩阵();(*)初始化种群();在二维图上画出所有坐标点()(),);画出随机解的路线图(,:)()输出随机解的路线和总距离(初始种群中的一个随机值:)(,:);(,:);( 总距离: ();()优化;()(优化过程 )(代数 )(最优值 )();计算路线长度();计算适应度();计算路线长度()(,()()();();选择();交叉操作15 / 108();变异();逆转操作();重插入子代的新种群();更新迭代次数;画出最优解的路线图();计算路线长度();(),:)输出最优解的路线和总距离(最优解 :)(),:);( 总距离: ();()第 章基于遗传算法的控制器优化设计、案例背景控制在工程中得到了广泛的应用,对于最优控制, 其最优性完全取决于加权矩阵的选择,然而该加权矩阵如何选择并没有解读方法,只能定性地去选择矩阵参数,所以这样的 “最优 ”控制事实上完全是认为的。如果选择不当,虽然可以求出最优解,但这样的“最优解 ”没有任何意义。 另一方面, 加权矩阵的选择依赖于设计者的经验,需要设计者根据系统输出逐步调整加权矩阵, 直到获得满意的输出响应量为止,这样不仅费时, 而且无法保证获得最优的权重矩阵,因此获得的最优控制反馈系数不能保证使系统达到最优。遗传算法 ( ,)是模仿自然界生物进化机制发展起来的全局搜索优化方法,它在迭代过程中使用适者生存的原则,采用交叉、变异等操作使得种群朝着最优的方向进化,最终获得最优解。鉴于控制方法权重矩阵确定困难的问题, 本案例以汽车主动悬架作为被控对象,将遗传算法应用于控制器的设计中,利用遗传算法的全局搜索能力,以主动悬架的性能指标作为目标函数对加权矩阵进行优化设计,以提高的设计效率和性能。、案例目录:第章基于遗传算法的控制器优化设计16 / 108案例背景控制基于遗传算法设计控制器模型建立主动悬架及其控制器基于遗传算法的主动悬架控制器优化设计模型及算法实现模型实现遗传算法实现结果分析参考文献、案例实例及结果:17 / 108、主程序:; 适应度函数句柄;个体变量数目;下限;上限(,);算法参数设置(, ,);运行遗传算法第章遗传算法工具箱详解及应用、案例背景自带的遗传算法与直接搜索工具箱(, ) ,可以较好地解决与遗传算法相关的各种问题。可以通过界面调用,也可以通过命令行方式调用,使用简单方便。本案例将对函数库的遗传算法部分进行详细的代码分析和讲解,并通过求解非线性方程组介绍的使用方法。、案例目录:第章遗传算法工具箱详解及应用遗传算法与直接搜索工具箱遗传算法与直接搜索工具箱简介详解遗传算法的一些基本概念函数函数和函数函数函数的使用方式使用命令行方式使用案例分析模型建立的应用使用使用命令行结果分析参考文献、案例实例及结果:作为案例,这里将使用遗传算法与直接搜索工具箱() 求解一个非线性方程组。求解以下非线18 / 108性方程组:优化过程如下:得到的最优解为, 、主程序:; 适应度函数句柄;个体所含的变量数目(,);参数设置 (,)调用函数第章多种群遗传算法的函数优化算法、案例背景针对遗传算法所存在的问题,一种多种群遗传算法结构模型(,简称)可以用来取代常规的标准计算模型()。在的基础上主要引入了以下几个概念:19 / 108()突破仅靠单个群体进行遗传进化的框架, 引入多个种群同时进行优化搜索; 不同的种群赋以不同的控制参数,实现不同的搜索目的。()各个种群之间通过移民算子进行联系, 实现多种群的协同进化; 最优解的获取是多个种群协同进化的综合结果。()通过人工选择算子保存各种群每个进化代中的最优个体,并作为判断算法收敛的依据。图的算法结构示意图复杂二元函数求最值:图 二元函数图像、案例目录:第章多种群遗传算法的函数优化算法理论基础遗传算法早熟问题20 / 108多种群遗传算法概述案例背景问题描述解决思路及步骤程序实现移民算子人工选择算子目标函数标准遗传算法主函数多种群遗传算法主函数结果分析延伸阅读参考文献、主程序:多种群遗传算法; 个体数目; 变量的维数; 变量的二进制位数; 代沟; 种群数目(,);(,);译码矩阵(, *);创建初始种群()*();在【】范围内随机产生交叉概率()*();在【】范围内随机产生变异概率; 初始遗传代数; 初始保持代数; 最优个体最少保持代数; 最优值(, ) 计算各初始种群个体的目标函数值(); 记录精华种群(*); 记录精华种群的编码 判断当前优化值是否与前一次优化值相同(); 更新最优值; 最优值保持次数加进化过程图()(进化代数 )(最优解变化 )(进化过程 )()输出最优解();找出精华种群中最优的个体(,:), ); 最优个体的解码解( 最优值为: ()( 对应的自变量取值:()、运行结果:标准遗传算法运行次得到的结果图:22 / 108多种群遗传算法运行次得到的结果图:第章基于量子遗传算法的函数寻优算法、案例背景量子遗传算法就是基于量子计算原理的一种遗传算法。将量子的态矢量表达引入了遗传编码,利用量子逻辑门实现染色体的演化,实现了比常规遗传算法更好的效果。量子遗传算法建立在量子的态矢量表示的基础之上,将量子比特的几率幅表示应用于染色体的编码,使得一条染色体可以表达多个态的叠加,并利用量子逻辑门实现染色体的更新操作,从而实现了目标的优化求解。复杂二元函数求最值:23 / 108图 二元函数图像、案例目录:第章 基于量子遗传算法的函数寻优算法理论基础量子遗传算法概述量子比特编码量子门更新案例背景问题描述解决思路及步骤量子遗传算法流程量子遗传算法实现. 量子比特编码. 量子旋转门程序实现种群初始化量子比特编码测量函数得到二进制编码量子旋转门函数适应度函数量子遗传算法主函数结果分析延伸阅读参考文献24 / 108、主程序:;参数设置; 最大遗传代数; 种群大小 ;每个变量的二进制长度();最佳个体记录其适应度值、十进制值、二进制编码、量子比特编码(,);初始化种群(*();对种群实施一次测量得到二进制编码();求种群个体的适应度值,和对应的十进制值();使用目标函数计算适应度记录最佳个体到 ();找出最大值(,:);(*,:);(,:);();()进化()提示进化代数对种群实施一次测量();计算适应度();量子旋转门();();找到最佳值记录最佳个体到;(,:);(*,:);25 / 108(,:);();画进化曲线();(进化过程 );(进化代数 );(每代的最佳适应度);显示优化结果( 最优解: ()( 最大值 :();、运行结果:最优解:最大值量子遗传算法优化代得到的进化过程图如图所示。图进化过程图第章基于遗传算法的多目标优化算法、案例背景目前的多目标优化算法有很多,的(,带精英策略的快速非支配排序遗传算法)无疑是其中应用最为广泛也是最为成功的一种。自带的函数所采用的算法,就是基于改进的26 / 108一种多目标优化算法()。函数的出现, 为在平台下解决多目标优化问题提供了良好的途径。函数包含在遗传算法与直接搜索工具箱 ( , ) 中,这里我们称函数为基于遗传算法的多目标优化函数,相应的算法为基于遗传算法的多目标优化算法。本案例将以函数为基础,对基于遗传算法的多目标优化算法进行讲解, 并详细分析其代码, 同时通过一个简单的案例介绍函数的使用。、案例目录:第章基于遗传算法的多目标优化算法案例背景多目标优化及最优解函数程序实现组织结构函数中的一些基本概念函数分析函数结构及图形描述选择()交叉、变异、产生子种群和父子种群合并计算序值和拥挤距离(,)函数函数的调用通过方式调用函数通过命令行方式调用函数案例分析模型建立使用函数求解多目标优化问题结果分析参考文献、案例实例及结果:作为案例,这里将使用自带的基于遗传算法的多目标优化函数求解一个简单的多目标优化问题。待优化的多目标问题表述如下:可以看到,在基于遗传算法的多目标优化算法的运行过程中,自动绘制了第一前端中个体的分布情况, 且分布随着算法进化一代而更新一次。 当迭代停止后, 得到如图所示的第一前端个体分布图。同时,中返回了函数得到的解集及与对应的目标函数值,如表所示。27 / 108、主程序:;(,);(, );第章基于粒子群算法的多目标搜索算法、案例背景在实际工程优化问题中,多数问题是多目标优化问题。相对于单目标优化问题,多目标优化问题的显著特点是优化各个目标使其同时达到综合的最优值。然而,由于多目标优化问题的28 / 108各个目标之间往往是相互冲突的, 在满足其中一个目标最优的同时, 其他的目标往往可能会受其影响而变得很差。因此,一般适用于单目标问题的方法难以用于多目标问题的求解。多目标优化问题很早就引起了人们的重视,现已经发展出多种求解多目标优化问题的方法。多目标优化问题求解中的最重要概念是非劣解和非劣解集,两者的定义如下。非劣解():在多目标优化问题的可行域中存在一个问题解,若不存在另一个可行解,使得一个解中的目标全部劣于该解, 则该解称为多目标优化问题的非劣解。 所有非劣解的集合叫做非劣解集( )。、案例目录本案例的目录为:、主程序循环迭代权值更新()*;从非劣解中选择粒子作为全局最优解()();(,:);群体更新速度更新(,:)*(,:)*()*(,:)(,:)*()*(,:);29 / 108位置更新(,:)(,:)(,:);(,:)(,:)();(,:);()()();(,:)(*(,:);更新粒子历史最佳现在的支配原有的,替代原有的()()()() ()().()()()()()()(,:)(,:)没有记录目标值()()()()()();更新非劣解集合;更新升级非劣解集合()目前非劣解集合中元素个数先将非劣解集合和合并();();();()()();()()();()()();();(,:);(,:);筛选非劣解;30 / 108没有被支配判断该点是否非劣()()()() ()() .()()()()()() 有一次被支配;去掉重复粒子; 重复标志; 不同非劣解粒子数; 存储不同非劣解; 存储不同非劣解粒子位置(,:)(,:);(,:)(,:);(); 重复标志()(,:)(,:);()有重复粒子不同,存储;(,:)(,:);(,:)(,:);非劣解更新;31 / 108、运行结果第章基于多层编码遗传算法的车间调度算法案例背景遗传算法具有较强的问题求解能力, 能够解决非线性优化问题。 对于遗传算法中的染色体表示问题中的一个潜在最优解,对于简单的问题来说,染色体可以方便的表达问题的潜在解,然而,对于较为复杂的优化问题,一个染色体难以准确表达问题的解。多层编码遗传算法,把个体编码分为多层, 每层编码均表示不同的含义, 多层编码共同完整表达了问题的解, 从而用一个染色体准确表达出了复杂问题的解。多层编码遗传算法扩展了遗传算法的使用领域,使得遗传算法可以方便用于复杂问题的求解。、案例目录、主程序:基本参数; 个体数目; 最大遗传代数; 代沟; 交叉率; 变异率32 / 108; 代计数器工件个数工序个数 ();(, ); 寻优结果的初始值*;工序总个数初始化();工件个数(); 工序个数代码层,第一层工序,第二层机器(*);随机产成工序();()();第一层代码表示工序() ;()();第层代码表示机器();();随机产成工序机器() ();计算目标函数值();循环寻找 ();();第章免疫优化算法在物流配送中心选址中的应用.、案例背景34 / 108物流中心选址问题随着世界经济的快速发展以及现代科学技术的进步,物流业作为国民经济的一个新兴服务部门,正在全球范围内迅速发展。 物流业的发展给社会的生产和管理、人们的生活和就业乃至政府的职能以及社会的法律制度等都带来巨大的影响,因此物流业被认为是国民经济发展的动脉和基础产业,被形象地喻为促进经济发展的“加速器”。在物流系统的运作中, 配送中心的任务就是根据各个用户的需求及时、准确和经济地配送商品货物。 配送中心是连接供应商与客户的中间桥梁,其选址方式往往决定着物流的配送距离和配送模式, 进而影响着物流系统的运作效率;另外物流中心的位置一旦被确定,其位置难以再改变。 因此,研究物流配送中心的选址具有重要的理论和现实应用意义,一般说来,物流中心选址模型是非凸和非光滑的带有复杂约束的非线性规划模型,属问题。免疫算法的基本思想生物免疫系统是一个高度进化的生物系统,它旨在区分外部有害抗原和自身组织,从而保持有机体的稳定。 从计算的角度来看, 生物免疫系统是一个高度并行、分布、自适应和自组织的系统,具有很强的学习、识别和记忆能力。、案例目录第十二章 免疫优化算法在物流配送中心选址中的应用.理论基础物流中心选址问题免疫算法的基本思想案例背景问题描述解决思路及步骤程序实现免疫算法主函数多样性评价免疫操作仿真实验案例扩展参考文献、主程序免疫优化算法在物流配送中心选址中的应用免疫优化算法求解算法基本参数; 种群规模; 记忆库容量; 迭代次数; 交叉概率35 / 108; 变异概率; 多样性评价参数; 配送中心数;识别抗原 ,将种群信息定义为一个结构体(), (),(),);产生初始抗体群(); 记录每代最个体优适应度和平均适应度迭代寻优抗体群多样性评价()(,:);抗体与抗原亲和度(适应度值)计算()();抗体浓度计算综合亲和度和浓度评价抗体优秀程度,得出繁殖概率();记录当代最佳个体和种群平均适应度();找出最优适应度(,:);找出最优个体();计算平均适应度;记录根据,形成父代群,更新记忆库(加入精英保留策略,可由控制)();更新记忆库();形成父代群选择,交叉,变异操作,再加入记忆库中抗体,产生新种群();选择();交叉();变异();加入记忆库中抗体36 / 108第章粒子群优化算法的寻优算法、案例背景粒子群优化算法 ()是计算智能领域,除了蚁群算法, 鱼群算法之外的一种群体智能的优化算法,该算法最早由和在年提出的。算法源于对鸟类捕食行为的研究,鸟类捕食时,找到食物最简单有效的策略就是搜寻当前距离食物最近的鸟的周围区域。算法是从这种生物种群行为特征中得到启发并用于求解优化问题的,算法中每个粒子都代表问题的一个潜在解,每个粒子对应一个由适应度函数决定的适应度值。粒子的速度决定了粒子移动的方向和距离,速度随自身及其他粒子的移动经验进行动态调整,从而实现个体在可解空间中的寻优。算法首先在可行解空间中初始化一群粒子,每个粒子都代表极值优化问题的一个潜在最优解,用位置、速度和适应度值三项指标表示该粒子特征,适应度值由适应度函数计算得到,其值的好坏表示粒子的优劣。粒子在解空间中运动,通过跟踪个体极值和群体极值更新个体位置, 个体极值是指个体所经历位置中计算得到的适应度值最优位置,群体极值是指种群中的所有粒子搜索到的适应度最优位置。粒子每更新一次位置, 就计算一次适应度值,并且通过比较新粒子的适应度值和个体极值、群体极值的适应度值更新个体极值和群体极值位置。、案例目录本案例的目录为:第十三章粒子群优化算法的寻优算法理论基础案例背景问题描述解决思路及步骤程序实现37 / 108算法参数设置种群初始化初始极值寻找迭代寻优结果分析延伸阅读惯性权重的选择变化的算法性能分析.参考文献、主程序迭代寻优速度更新(,:)(,:)*(,:)(,:)*(,:);(,:);(,:);(,:) ()38 / 108(,:)(,:);()();群体最优更新() (,:);();();第章基于粒子群算法的控制器优化设计、案例背景控制器的性能取决于、 、这个参数是否合理,因此,优化控制器参数具有重要意义。目前,控制器参数主要是人工调整,这种方法不仅费时,而且不能保证获得最佳的性能。已经广泛应用于函数优化、神经网络训练、模式分类、 模糊系统控制以及其它应用领域,本案例将使用进行控制器参数的优化设计。、案例目录:第章基于粒子群算法的控制器优化设计案例背景粒子群算法原理控制器优化设计模型建立控制器模型算法流程优化过程粒子群算法实现编程实现部分的程序实现39 / 108部分的程序实现结果分析案例扩展参考文献、案例实例及结果:控制器的系统结构图如图所示。
展开阅读全文