遗传算法的pid控制器的设计内容摘要:
上不用搜索空间的知识或其它辅助信息,而仅用适应度函数值来评估个体,在此基础上进行遗传操作。 适应度函数不仅不受连续可微的约束,而且其定义域可以任意设定。 这一特点使得遗传算法的应用范围大大扩展。 (4) 遗传算法不是采用确定性规则,而是采用概率的变迁规则来指导他的搜索方向。 (5) 具有自组织、自适应和自学习性。 遗传算法利用进化过程获得的信息自行组织搜索时,适应度大的个体具有较高的生存概率,并获得更适应环境的基因结构。 遗传算法的基本步骤步骤一:参数编码和解码在遗传算法中如何描述问题的可行解,即把一个问题的可行解从其解空间转换到遗传算法所能处理的搜索空间的转换方法称为编码。 一般把问题的各种参数用编码构成子串,然后把子串并接成染色体串。 二进制编码方法是遗传算法中最常用的一种编码方法。 本文中采用的编码方式就是二进制编码。 PID 中三个参数Kp,Ki和Kd作为编码对象,采用如下公式进行编码:其中,u是编码对象,和是U的取值范围,是二进制编码的长度。 n是位的二进制数。 步骤二:适应度函数的选择适应度函数表明个体对环境适应能力的强弱,它与所选取的目标函数有关。 本文采用了绝对误差积分模型: () 定义适应度函数f为: () 本文中应用Simulink完成适应度函数的选择。 步骤三:遗传算法(1) 选择(selection operator)遗传算法使用选择算子来对群体中的个体进行优胜劣汰操作。 在选择时,以适应度为选择原则。 适应度准则体现了适者生存,不适应者被淘汰的自然法则。 适应度较高的个体被遗传到下一代群体中的概率较大,适应度较低的个体被遗传到下一代群体中的概率较小。 最常用的选择算子是基本遗传算法中的比例选择算子,本文采用的就是这种方法。 其基本思想是:各个个体被选中的概率与其适应度大小成正比例关系。 设群体大小为,个体的适应度为, ()从上式就可以看出:适应度高的个体,繁殖下一代的数目比较多。 适应度低的个体,繁殖下一代的数目比较少,甚至被淘汰。 这样,就产生了对环境适应能力比较强的后代。 对于问题求解角度来讲,就是选择出和最优解比较接近的中间解。 (2) 交叉(crossover operator)对于选中用于繁殖下一代的个体,随机的选择两个个体的相同位置,按交叉概率p在选中的位置实行交换。 这个过程反映了随机信息交换;目的在于产生新的基因组合,也即产生新的个体。 交叉时,可以执行单点交叉和多点交叉。 交叉算子是指对2个相互配对的染色体按某种方式相互交换其部分基因,从而形成2个新的个体。 本文采用中间重组双点交叉法,即在群体中随机选取2个个体,并在个体编码串中只随机设置2个交叉点,然后在该点以一定的概率Pc相互交换2个配对个体的部分染色体。 ~。 (3) 变异(mutation operator)根据生物遗传中的基因变异的原理,以变异概率pm对某些个体的某些位执行变异。 在变异时,对要执行变异的位求反,就是把1变成0,把0变成1。 变异概率Pm与生物变异极小的情况一致,变异运算是指将个体染色体编码串中某些基因座上的基因值用该基因座的其它等位基因来替换,形成一个新的个体。 本文采用的变异操作是高位变异。 ~,又可维持群体的多样性,避免出现初期收敛问题,也就是说变异增加了全局优化的可能性。 (4) 初始种群的产生为保证在整个解空间进行搜索,采用随机产生初始种群。 (5) 遗传操作迭代终止的条件 遗传算法的应用关键遗传算法在应用中最关键的问题有如下3个:串的编码方式:遗传算法不能直接处理问题空间的参数,必须把它们转换成遗传空间的由基因按一定结构组成的染色体或个体,这一转换操作就叫做编码。 评估编码策略常采用以下3个规范:完备性(pleteness):问题空间中的所有点(候选解)都能作为GA空间中的点(染色体)表现。 健全性(soundness): GA空间中的染色体能对应所有问题空间中的候选解。 非冗余性(nonredundancy):染色体和候选解一一对应。 目前的几种常用的编码技术有二进制编码,浮点数编码,字符编码,变成编码等。 而二进值编码是目前遗传算法中最常用的编码方法。 即是由二进值字符集{0, 1}产生通常的0, 1字符串来表示问题空间的候选解。 它具有以下特点:(1) 简单易行;(2) 符合最小字符集编码原则;(3) 便于用模式定理进行分析,因为模式定理就是以基础的。 一般把问题的各种参数用二进制编码构成子串,然后把子串拼接成染色体串(串的长度及编码形式对算法收敛影响很大)。 适应度函数的确定:进化论中的适应度,是表示某一个体对环境的适应能力,也表示该个体繁殖后代的能力。 遗传算法的适应度函数也叫评价函数,是用来判断群体中的个体的优劣程度的指标,它是根据所求问题的目标函数来进行评估的。 遗传算法在搜索进化过程中一般不需要其他外部信息,仅用评估函数来评估个体或解的优劣,并作为以后遗传操作的依据。 由于遗传算法中,适应度函数要比较排序并在此基础上计算选择概率,在不少场合,将目标函数映射成求最大值形式且函数值非负的适应度函数是必要的。 适应度函数的设计主要满足以下条件:(1) 单值、连续、非负、最大化;(2) 合理、一致性;(3) 计算量小;(4) 通用性强。 在具体应用中,适应度函数的设计要结合求解问题本身的要求而定。 适应度函数设计直接影响到遗传算法的性能。 适应函数也称为对象函数,这是问题求解品质的测量函数,往往也称为问题的“环境”。 一般可以把问题的模型函数作为对象函数,但有时也需要另行构造。 遗传算法自身参数设定:遗传算法自身参数有3个,即群体大小、交叉概率和变异概率。 群体大小太小时难以求出最优解,太大则增长收敛时间。 交叉概率太小时难以向前搜索,太大则容易破坏高适应值的结构。 交叉概率太小难以产生新的基因结构,太大会使遗传算法成了单纯的随机搜索。 遗传算法中初始群体中的个体是随机产生的。 一般来讲,初始群体的设定可采取如下的策略: (1) 根据问题固有知识,设法把握最优解所占空间在整个问题空间中的分布范围,然后,在此分布范围内设定初始群体。 (2) 先随机生成一定数目的个体,然后从中挑出最好的个体加到初始群体中。 这种过程不断迭代,直到初始群体中个体数达到了预先确定的规模。 本章主要介绍了遗传算法的原理及特点以及它的应用关键和基本步骤,通过对本章的学习可以对遗传算法有一个比较完整的了解,对遗传算法应用中的一些关键技术和存在的问题有了较为全面的认识,为下文遗传算法的编码,适应度函数的选定,遗传算法自身参数的设定奠定了基础。 第3章 遗传算法的Matllab实现第3章 遗传算法的MATLAB实现MATLAB是一种开放式软件,经过一定的程序可以将开发的优秀的应用程序集加入到MATLAB工具的行列。 Matlab作为一种拥有高性能数值计算能力的通用科技计算机语言在其简单易用的操作环境中集成了数值分析、矩阵计算、图视能力、可视化建模仿真和实时控制能力,适合多学科和多部门的发展。 这样,许多领域前沿的研究者和科学家都可以将自己的成果集成到MATLAB中,被全人类继承和利用。 因此,MATLAB中含有诸多的面向不同应用领域的工具箱。 例如:信号处理工具箱、图象处理工具箱、通信处理工具箱、优化工具箱、遗传算法工具箱等,而且这些工具箱还在不断的扩展中。 本文将重点讲述遗传算法工具箱函数及其功能。 遗传算法工具箱总体介绍根据Matlab的强大的数值计算能力、大量的内建辅助函数和开放、可扩展的体系结构这些性质,将Matlab引入遗传算法,在Matlab平台上开发遗传算法工具箱,可帮助人们更好地认识和了解遗传算法,并为进一步开发遗传算法提供基础和帮助。 它给出了各种MATLAB的高级语言并将这点与MATLAB的发展、数据分析、形象化工具、专用应用领域工具箱和那些被提供用来探索遗传算法潜能的一种相同的环境相符合。 遗传算法有许多算子(如选择、交叉、变异等),都是针对所谓的染色体进行的,染色体实质上就是一个向量,可以将其看成一个的矩阵,因此这些算子的运算实质上就是一些矩阵的运算。 而Matlab的基本数据单元就是一个维数不加限制的矩阵,在这种环境下,用户无需考虑大量有关矩阵算法的复杂运算问题,更不必深入了解相应算法的具体细节,因而利用Matlab编程可以节省大量的时间和精力。 遗传算法工具箱使用MATLAB基本功能,为实现广泛遗传算法创建遗传算法工具箱使用MATLAB基本功能,为实现广泛遗传算法创建了一套多用途的工具,它是常规性的收索,主要利用编写M文件,这是遗传算法中最主要的功能。 遗传算法工具箱函数应用本文运用遗传算法工具箱函数在MATLAB运行环境下进行程序编写,以达到对PID参数寻优的目的。 下面是对在程序中用到遗传算法工具箱函数的详细说明:(1).Rep功能:矩阵复制。 格式:matout=rep(matin,repn)描述:rep是一个低位复制函数,通常不直接应用,rep被遗传算法工具箱的许多函数调用。 rep执行的是一个矩阵的复制,matin是repn指定的数值,随后返回一个复制的矩阵,matout。 repn包含了各个方向的复制,repn(1)指定了垂直方向的复制的数值,repn(2)指定了水平方向的复制的数值。 (2).crtbp功能:创建一个初始种群。 格式:[chrom,lind,basev]=crtbp(nind,lind)[chrom,lind,basev]=crtbp(nind,lind,base)[chrom,lind,basev]=crtbp(nind,basev)描述:遗传算法的第一步是创建一个由随机产生的染色体组成初始化种群,crtbp产生一个矩阵chrom,元素中包含随机产生的值。 chrom=crtbp(nind,lind)创建一个大小为nindlind的随机二进制矩阵,其中nind指定种群中个体的数量,lind指定个体的长度,另外,chrom=crtbp([nind,lind])可以用来指定染色体矩阵的维数。 [chrom,lind,basev]=crtbp(nind,lind,base)产生一个染色体矩阵base,如果base是一个向量,base中元素的值就指定为base中染色体的轨迹。 在这种情况下,二次争论就忽略了,chrom=crtbp(nind,basev)[chrom,lind,basev]=crtbp(nind,basev)=crtbp(nind,basev)也是返回一个染色体结构的长度lind,和基于染色体轨迹的向量basev。 (3).bs2rv目的:二进制数转化为实值。 功能:phen=bs2rv(chrom,fieldd)格式:phen=bs2rv(chrom,fieldd)是把用二进制的表示方法表示种群chrom转化成实值。 染色体被看作是已经给出长度的二进制串,用标准二进制或者是灰色二进制解码到实值矩阵fieldd。 最后的结果矩阵phen包含着与种群相应的显型。 矩阵fieldd的结构如下: 矩阵的行由以下组成: len,一个在染色体中包含每一个子串长度的行向量。 注意:sum (len) =length (chrom)lb和ub是包含了每一个使用的变量的上,下限范围的行向量。 code是指定每一个子串的解码方式的二进制行向量。 选择code(i)=0是标准二进制。 选择code(i)=1是灰色二进制。 scale是指定对于每一个子串是用算术采样还是用对数采样的二进制行向量。 选择scale(i)=0是算术采样。 选择scale(i)=1是对数采样。 lbin和ubinshi1是指定要不要包含每一个表示范围的上下限。 选择{l|u}bin(i)=0 是从表示范围中排除{l|u}b(i)。 lbinubin{l|u}bin(i)=1 把{l|u}b(i)包含在表示范围中。 (4).ranking功能:按适应度等级排序。 格式: fitnv=ranking (objv) fitnv=rank(objv,rfun) fitnv=rank(objv,rfun,subpop)描述:ranking是根据它们的目标函数值分等级的,objv返回一个包含个体适应度函数值的列向量,fitnv,这个函数按个体等级排序。 rfun是一个随机的向量1,2或者length(objv)参数。 subpop是一个任意的参数并且在objv中指定了后代的个数。 如果subpop被忽略或者取值为nan, 则subpop=1。 所有在subpop中的后代必须由相同的类型。 如果ranking被多余一个个体调用,它也将只执行一个后代的操作。 (5).select功能:从种群中选择出个体(高位选择)。 格式: selch=select(sel_f,chrom,fitnv)selch=select(sel_f,chrom,fitnv,ggap)selch=select(sel_f,chrom,fitnv,ggap,subpop)描述:select函数是从种群中选择出个体,chrom返回的是从种群中选择出来的个体,Selch。 Chrom中的每一列和selch与每一个个体相对应。 sel_f是一个串,它包含了低位选择函数的名称,比如rws或者sus。 Fitnv是一个列向量,它包含了chrom中的个体的适应度。 适应值显示每一个个体的预期的可能性。 ggap是一个指定一代与一代差距的任意的参数,种群的片断被重新生成。 如果ggap被忽略或者取值nan,则ggap=(100%),ggap也可能比1大,也就是说可以产生比父代多的后代。 如果chrom由多余一个后代组成,ggap就指定了相对于后代的大小的每一个后代中的即将被选择的个体的数目。 subpop是一个参数,它决定了chrom中的后代的数目。 如果subpop被忽略或者取值为nan,则subpop=1。 所有chrom 中的后代必须由相同。遗传算法的pid控制器的设计
相关推荐
资料 《连锁门店店长综合实训》实训视频教学资料 试题库 《连 锁经营》、《连锁门店营运实务》、《连锁企业采购管理》、《连锁经营法规》、《连锁门店店长综合实训》试题库 案例库 《连锁经营》、《连锁门店营运实务》、《连锁企业采购管理》、《连锁经营法规》、《连锁门店店长综合实训》案例库 技 能 培 训 包 学习领域 连锁企业门店理货、收银和总台服务作业;连锁企业门店的理货、收银、总台主管的技能
穿越不同防火分区的线路有防火隔堵措施 疏散照明线路采用耐火电线、电缆,穿管明敷或在非燃烧体内容刚性导管暗敷,暗敷保护层厚度不小于 30 ㎜。 电线采用额定电压不低 于750V 的铜芯绝缘电线。 、桥架安装 工艺流程: 测量定位 用弹线法标识桥架的安装位置,确定好支架的固定位置,做好标记。 竖井内桥架定位应先用悬钢丝法确定安装基准线,如预留洞不合适,应及时调整,并做好修补。 通州区半壁店大街 25
1X 插槽, 1 PCIE 16X 扩展插槽; 2 DIMM内存插槽 (或芯片组 MATX 主板,并且综合性能指标不低于 MATX/H61 PCI IVY/GN 或者 RS760,具备 DVI+VGA 接口)。 4 内存: 4GDDRIII 1。 5 显卡:主板集成 HD3000 或以上,支持 DX10。 6 声卡:集成 ALC 662,支持 声道,前 2 后 3 音频。 7 硬盘:≥
产率和降低加工成本 提高劳动生产率,降低单件时间定额的主要技术措施是增大切削用量和压缩辅助时间。 采用机床夹具,既可以提高工件加工时的刚度,有利于采用较大的切削用量,又可以省去划线找正等工作,使安装工作的辅助工时大大减小,因此能显著地提高劳动生产率和降低成本。 ③改善工人 劳动条件 采用夹具后,工件的装卸显然比不用夹具方便、省力、安全。 使用专用夹具安装工件,定位方便、迅速,夹紧可采用增力
30米的绿化带,绿带中开辟步行游览道,并沿水系流经的区域建设特色公园、游憩广场、景观标志等,形成一条城市文化景观长廊。 两轴: 为交通轴线和景观轴线,其中交通轴线由康安路和规划三环路组成;景观轴线主轴线为齿轮路的延长段 ——江边广场,次轴线为天平路的延长段 ——江边广场。 远大购物广场(暂定名)可行性研究报告 7 / 34 三带: 分别为沿康安路规划的景观绿化带,在节点处设置主题公园