




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、智能控制学习报告一、基于遗传算法的函数逼近1 遗传算法的特点及优化设计1.1 遗传算法的特点(1)遗传算法是对参数的编码进行操作,而非对参数本身,这就是使得我们在优化计算过程中可以借鉴生物学中染色体和基因等概念,模仿自然界中生物的遗传和进化等机理;(2)遗传算法同时使用多个搜索点的搜索信息。传统的优化方法往往是从解空间的单个初始点开始最优解的迭代搜索过程,单个搜索点所提供的信息不多,搜索效率不高,有时甚至使搜索过程局限于局部最优解而停滞不前。遗传算法从由很多个体组成的一个初始群体开始最优解的搜索过程,而不是从一个单一的个体开始搜索,这是遗传算法所特有的一种隐含并行性,因此遗传算法的搜索效率较高
2、。(3)遗传算法直接以目标函数作为搜索信息。传统的优化算法不仅需要利用目标函数值,而且需要目标函数的导数值等辅助信息才能确定搜索方向。而遗传算法仅使用由目标函数值变换来的适应度函数值,就可以确定进一步的搜索方向和搜索范围,无需目标函数的导数值等其他一些辅助信息。遗传算法可应用于目标函数无法求导数或导数不存在的函数的优化问题,以及组合优化问题等。 第 2 页 (共 24 页)智能控制学习报告(4)遗传算法使用概率搜索技术。遗传算法的选择、交叉、变异等运算都是以一种概率的方式来进行的,因而遗传算法的搜索过程具有很好的灵活性。随着进化过程的进行,遗传算法新的群体会更多地产生出许多新的优良的个体。(5
3、)遗传算法在解空间进行高效启发式搜索,而非盲目地穷举或完全随机搜索;(6)遗传算法对于待寻优的函数基本无限制,它既不要求函数连续,也不要求函数可微,既可以是数学解析式所表示的显函数,又可以是映射矩阵甚至是神经网络的隐函数,因而应用范围较广;(7)遗传算法具有并行计算的特点,因而可通过大规模并行计算来提高计算速度,适合大规模复杂问题的优化。 1.2 遗传算法的优化设计(1)染色体编码方法 基本遗传算法使用固定长度的二进制符号来表示群体中的个体,其等位基因是由二值符号集0,1所组成。初始个体基因值可用均匀分布的随机值生成,如就可表示一个个体,该个体的染色体长度是18。(2)个体适应度评价:基本遗传
4、算法与个体适应度成正比的概率来决定当前群体中每个个体遗传到下一代群体中的概率多少。为正确计算这个概率,要求所有个体的适应度必须为正数或零。因此,必须先确定由目标函数值J到个体适应度f之间的转换规则。(3)遗传算子:基本遗传算法使用下述三种遗传算子: 第 3 页 (共 24 页)智能控制学习报告 选择运算:使用比例选择算子; 交叉运算:使用单点交叉算子; 变异运算:使用基本位变异算子或均匀变异算子。(4)基本遗传算法的运行参数有下述4个运行参数需要提前设定:M:群体大小,即群体中所含个体的数量,一般取为20100;G:遗传算法的终止进化代数,一般取为100500;Pc:交叉概率,一般取为0.40
5、.99;Pm:变异概率,一般取为0.00010.1。2 遗传算法逼近仿真实例利用遗传算法求下述函数的极大值:求解该问题遗传算法的构造过程:(1)确定决策变量和约束条件;(2)建立优化模型;(3)确定编码方法 用长度为10位的二进制编码串来分别表示两个决策变量,。10位二进制编码串可以表示从0到1023之间的1024个不同的数,故将,的定义域离散化为1023个均等的区域,包括两个端点在 第 4 页 (共 24 页)智能控制学习报告内共有1024个不同的离散点。从离散点-3.282到离散点3.282,分别对应于从0000000000(0)到1111111111(1023)之间的二进制编码。将,分别
6、表示的两个10位长的二进制编码串连接在一起,组成一个20位长的二进制编码串,它就构成了这个函数优化问题的染色体编码方法。使用这种编码方法,解空间和遗传算法的搜索空间就具有一一对应的关系。例如: 表示一个个体的基因型,其中前10位表示,后10位表示。(4)确定解码方法:解码时需要将20位长的二进制编码串切断为两个10位长的二进制编码串,然后分别将它们转换为对应的十进制整数代码,分别记为和。依据个体编码方法和对定义域的离散化方法可知,将代码转换为变量的解码公式为 例如,对个体它由两个代码所组成上述两个代码经过解码后,可得到两个实际的值(5)确定个体评价方法:由于此函数的值域总是非负的,并且 第 5
7、 页 (共 24 页)智能控制学习报告优化目标是求函数的最大值,故可将个体的适应度直接取为对应的目标函数值,即选个体适应度的倒数作为目标函数(6)设计遗传算子:选择运算使用比例选择算子,交叉运算使用单点交叉算子,变异运算使用基本位变异算子。(7)确定遗传算法的运行参数:群体大小,终止进化代数,交叉概率,变异概率。上述七个步骤构成了用于求函数极大值的优化计算基本遗传算法。采用上述方法进行仿真,经过200步迭代,最佳样本为即当 时,函数具有极大值,极大值为610.7693。遗传算法的优化过程是目标函数和适应度函数的变化过程。由仿真结果可知,随着进化过程的进行,群体中适应度较低的一些个体被逐渐淘汰掉
8、,而适应度较高的一些个体会越来越多,并且它们都集中在所求问题的最优点附近,从而搜索到问题的最优解。二进制编码遗传算法求函数极大值程序见附录。 第 6 页 (共 24 页)智能控制学习报告仿真结果如图所示:图2 目标函数J的优化过程图3适应度函数F的优化过程 第 7 页 (共 24 页)智能控制学习报告附录 遗传算法逼近仿真程序:%Generic Algorithm for function f(x1,x2) optimumclear all;close all; %ParametersSize=50; G=200; CodeL=10; umax=3.282umin=-3.282; E=roun
9、d(rand(Size,2*CodeL); %Initial Code %Main Programfor k=1:1:Gtime(k)=k; for s=1:1:Sizem=E(s,:);y1=0;y2=0; %Uncodingm1=m(1:1:CodeL);for i=1:1:CodeL y1=y1+m1(i)*2(i-1);endx1=(umax-umin)*y1/1023+umin;m2=m(CodeL+1:1:2*CodeL);for i=1:1:CodeL y2=y2+m2(i)*2(i-1);endx2=(umax-umin)*y2/1023+umin; F(s)=55*x12+(
10、1-x2)2;end Ji=1./F;%* Step 1 : Evaluate BestJ *BestJ(k)=min(Ji); 第 8 页 (共 24 页)智能控制学习报告fi=F; %Fitness FunctionOderfi,Indexfi=sort(fi); %Arranging fi small to biggerBestfi=Oderfi(Size); %Let Bestfi=max(fi)BestS=E(Indexfi(Size),:); %Let BestS=E(m), m is the Indexfi belong to max(fi)bfi(k)=Bestfi; %* S
11、tep 2 : Select and Reproduct Operation* fi_sum=sum(fi); fi_Size=(Oderfi/fi_sum)*Size; fi_S=floor(fi_Size); %Selecting Bigger fi value kk=1; for i=1:1:Size for j=1:1:fi_S(i) %Select and Reproduce TempE(kk,:)=E(Indexfi(i),:); kk=kk+1; %kk is used to reproduce end end %* Step 3 : Crossover Operation *p
12、c=0.60;n=ceil(20*rand);for i=1:2:(Size-1) temp=rand; if pc>temp %Crossover Condition for j=n:1:20 TempE(i,j)=E(i+1,j); TempE(i+1,j)=E(i,j); end endendTempE(Size,:)=BestS;E=TempE; %* Step 4: Mutation Operation *%pm=0.001;%pm=0.001-1:1:Size*(0.001)/Size; %Bigger fi, smaller Pm%pm=0.0; %No mutationp
13、m=0.1; %Big mutation 第 9 页 (共 24 页)智能控制学习报告 for i=1:1:Size for j=1:1:2*CodeL temp=rand; if pm>temp %Mutation Condition if TempE(i,j)=0 TempE(i,j)=1; else TempE(i,j)=0; end end end end %Guarantee TempPop(30,:) is the code belong to the best individual(max(fi)TempE(Size,:)=BestS;E=TempE;end Max_Val
14、ue=BestfiBestSx1x2figure(1);plot(time,BestJ); xlabel('Times');ylabel('Best J');figure(2);plot(time,bfi);xlabel('times');ylabel('Best F'); 第 10 页 (共 24 页)智能控制学习报告二、模糊控制器设计及应用利用模糊数学的基本思想和理论的控制方法。在传统的控制领域里,控制系统动态模式的精确与否是影响控制优劣的最主要关键,系统动态的信息越详细,则越能达到精确控制的目的。然而,对于复杂的系统,由于变
15、量太多,往往难以正确的描述系统的动态,于是工程师便利用各种方法来简化系统动态,以达成控制的目的,但却不尽理想。换言之,传统的控制理论对于明确系统有强而有力的控制能力,但对于过于复杂或难以精确描述的系统,则显得无能为力了。因此便尝试着以模糊数学来处理这些控制问题。1 模糊控制器结构在确定性控制系统中,根据控制器输出的个数,可分为单变量控制系统和多变量控制系统。在模糊控制系统中也可类似地划分为单变量模糊控制和多变量模糊控制。1. 1单变量模糊控制器在单变量模糊控制器(Single Variable Fuzzy ControllerSVFC)中,将其输入变量的个数定义为模糊控制的维数。(1)一维模糊
16、控制器 如图所示,一维模糊控制器的输入变量往往选择为受控量和输入给定的偏差量E。由于仅仅采用偏差值,很难反映过程的动态特性品质,因此,所能获得的系统动态性能是不能令人满意的。这种一维模糊控制器往往被用于一阶被控对象。(2)二维模糊控制器 如图所示,二维模糊控制器的两个输入变量基本上都选用受控变量和输入给定的偏差E和偏差变化EC,由于它们能够较严格地反映受控过程中输出变量的动态特性,因此,在控制效果上要比一维控制器好得多,也是目前采用较广泛的一类模糊控制器。 第 11 页 (共 24 页)智能控制学习报告(3)三维模糊控制器 如图所示,三维模糊控制器的三个输入变量分别为系统偏差量E、偏差变化量E
17、C和偏差变化的变化率ECC。由于这些模糊控制器结构较复杂,推理运算时间长,因此除非对动态特性的要求特别高的场合,一般较少选用三维模糊控制器。模糊控制系统所选用的模糊控制器维数越高,系统的控制精度也就越高。但是维数选择太高,模糊控制规律就过于复杂,这是人们在设计模糊控制系统时,多数采用二维控制器的原因。1.2 多变量模糊控制器一个多变量模糊控制器(Multiple Variable Fuzzy Controller)系统所采用的模糊控制器,具有多变量结构,称之为多变量模糊控制器。要直接设计一个多变量模糊控制器是相当困难的,可利用模糊控制器本身的解耦特点,通过模糊关系方程求解,在控制器结构上实现解
18、耦,即将一个多输入-多输出(MIMO)的模糊控制器,分解成若干个多输入-单输出(MISO)的模糊控制器,这样可采用单变量模糊控制器方法设计。2 模糊控制器的设计模糊控制器最简单的实现方法是将一系列模糊控制规则离线转化为一个查询表(又称为控制表)。这种模糊控制其结构简单,使用方便,是最基本的一种形式。 第 12 页 (共 24 页)智能控制学习报告下面以单变量二维模糊控制器为例,介绍这种形式模糊控制器的设计步骤,其设计思想是设计其他模糊控制器的基础。模糊控制器的设计步骤如下:(1)模糊控制器的结构单变量二维模糊控制器是最常见的结构形式。(2)定义输入输出模糊集误差E、误差变化EC及控制量u的模糊
19、集及其论域定义如下:E、EC和u的模糊集均为:E、EC的论域均为:-3,-2,-1,0,1,2,3u的论域为:-4.5,-3,-1.5,0,1,3,4.5(3)定义输入输出隶属函数模糊变量误差E、误差变化EC及控制量u的模糊集和论域确定后,需对模糊语言变量确定隶属函数,确定论域内元素对模糊语言变量的隶属度。(4)建立模糊控制规则根据人的经验,根据系统输出的误差及误差的变化趋势来设计模糊控制规则。模糊控制规则语句构成了描述众多被控过程的模糊模型。按照系统的动态行为可以合理地选择和确定模糊规则根据e和e的方向和大小,选择控制量。有四种情况:有交叉点和峰、谷点。(5)建立模糊控制表模糊控制规则可采用
20、模糊规则下表来描述,共49条模糊规则,各个模糊语句之间是或的关系,由第一条语句所确定的控制规则可以计算出u1。同理,可以由其余各条语句分别求出控制量u2,u49,则控制量为模糊集合U可表示为 第 13 页 (共 24 页)智能控制学习报告 (6)模糊推理模糊推理是模糊控制的核心,它利用某种模糊推理算法和模糊规则进行推理,得出最终的控制量。(7)反模糊化通过模糊推理得到的结果是一个模糊集合。但在实际模糊控制中,必须要有一个确定值才能控制或驱动执行机构。3 应用实例洗衣机的模糊控制以模糊洗衣机的设计为例,其控制是一个开环的决策过程,模糊控制按以下步骤进行。2.1 模糊控制器的结构选用单变量二维模糊
21、控制器。控制器的输入为衣物的污泥和油脂,输出为洗涤时间。2.2 定义输入输出模糊集,定义隶属函数 将污泥分为三个模糊集:SD(污泥少),MD(污泥中),LD(污泥多),取值范围为0,100。选用如下隶属函数:采用三角形隶属函数实现污泥的模糊化.采用Matlab进行仿真,污泥隶属函数设计仿真程序见附录程序1.m,仿真结果如下图所示。 第 14 页 (共 24 页)智能控制学习报告污泥隶属度与污泥量关系将油脂分为三个模糊集:NG(无油脂),MG(油脂中),LG(油脂多),取值范围为0,100。选用如下隶属函数:采用三角形隶属函数实现油脂的模糊化,如下图。仿真程序2.m。油脂隶属度与油脂量关系 第
22、15 页 (共 24 页)智能控制学习报告将洗涤时间分为三个模糊集:VS(很短),S(短),M(中等),L(长),VL(很长),取值范围为0,60。选用如下隶属函数:采用三角形隶属函数实现洗涤时间的模糊化,如下图。设计仿真程序见附录程序3.m。洗涤时间隶属函数2.3 建立模糊控制规则根据人的操作经验设计模糊规则,模糊规则设计的标准为:“污泥越多,油脂越多,洗涤时间越长”;“污泥适中,油脂适中,洗涤时间适中”;“污泥越少,油脂越少,洗涤时间越短”。2.4建立模糊控制表根据模糊规则的设计标准,建立模糊规则表。模糊洗衣机的洗涤规则如下: 第 16 页 (共 24 页)智能控制学习报告第*条规则为:“
23、IF 衣物污泥少 且 没有油脂 THEN 洗涤时间很短”。2.5 模糊推理分以下几步进行:2.5.1 规则匹配假定当前传感器测得的信息为: 分别带入所属的隶属函数中求隶属度: 通过上述四种隶属度,可得到四条相匹配的模糊规则,如表所示:模糊推理结果2.5.2 规则触发由上表可知,被触发的规则有4条:Rule 1:IF y is MD and x is MG THEN z is MRule 2:IF y is MD and x is LG THEN z is LRule 3:IF y is LD and x is MG THEN z is LRule 4:IF y is LD and x is L
24、G THEN z is VL2.5.3规则前提推理在同一条规则内,前提之间通过“与”的关系得到规则结论,前提之间通过取小运算,得到每一条规则总前提的可信度: 第 17 页 (共 24 页)智能控制学习报告规则1前提的可信度为:min(4/5,3/5)=3/5规则2前提的可信度为:min(4/5,2/5)=2/5规则3前提的可信度为:min(1/5,3/5)=1/5规则4前提的可信度为:min(1/5,2/5)=1/5由此得到洗衣机规则前提可信度表,即规则强度表。规则前提可信度2.5.4规则输出将上述两个表进行“与”运算,得到每条规则总的输出规则总的可信度2.5.5模糊系统总的输出模糊系统总的输
25、出为各条规则推理结果的并,即2.5.6反模糊化模糊系统总的输出实际上是三个规则推理结果的并集,需要进行反模糊化,才能得到精确的推理结果。下面以最大平均法为例,进行反模糊化。 第 18 页 (共 24 页)智能控制学习报告反模糊化计算示意图将带入洗涤时间隶属函数中的 得: 采用最大平均法,可得精确输出2.6 仿真实例采用MATLAB中模糊控制工具箱中的模糊命令设计洗衣机模糊控制系统,采用本节的隶属函数,按上述步骤设计模糊系统。洗衣机模糊控制系统仿真程序见附录程序4.m。取x=80,y=30,反模糊化采用重心法,模糊推理结果为41.1。利用模糊命令ruleview可实现模糊控制的动态仿真。仿真结果
26、: 第 19 页 (共 24 页)智能控制学习报告 第 20 页 (共 24 页)智能控制学习报告附录1.m%Define N+1 triangle membership functionclear all;close all;N=2; x=0:0.1:100;for i=1:N+1 f(i)=100/N*(i-1);end u=trimf(x,f(1),f(1),f(2);figure(1);plot(x,u, 'b');for j=2:N u=trimf(x,f(j-1),f(j),f(j+1); hold on; plot(x,u,'r');endu=tr
27、imf(x,f(N),f(N+1),f(N+1);hold on;plot(x,u,'g')xlabel('污泥量');ylabel('污泥隶属度');2.m%Define N+1 triangle membership functionclear all;close all;N=2; x=0:0.1:100;for i=1:N+1 f(i)=100/N*(i-1);end u=trimf(x,f(1),f(1),f(2);figure(1); 第 21 页 (共 24 页)智能控制学习报告plot(x,u, 'b');for j
28、=2:N u=trimf(x,f(j-1),f(j),f(j+1); hold on; plot(x,u,'r');endu=trimf(x,f(N),f(N+1),f(N+1);hold on;plot(x,u,'g')xlabel('油脂量');ylabel('油脂隶属度');3.m%Define N+1 triangle membership functionclear all;close all;z=0:0.1:60; u=trimf(z,0,0,10);figure(1);plot(z,u,'r'); u
29、=trimf(z,0,10,25);hold on;plot(z,u,'g'); u=trimf(z,10,25,40);hold on;plot(z,u,'b'); u=trimf(z,25,40,60);hold on;plot(z,u,'y'); u=trimf(z,40,60,60);hold on;plot(z,u,'bg'); xlabel('洗涤时间');ylabel('洗涤时间隶属度'); 第 22 页 (共 24 页)智能控制学习报告4.m%Fuzzy Control for wa
30、sherclear all;close all; a=newfis('fuzz_wash'); a=addvar(a,'input','x',0,100); %Fuzzy Staina=addmf(a,'input',1,'SD','trimf',0,0,50);a=addmf(a,'input',1,'MD','trimf',0,50,100);a=addmf(a,'input',1,'LD','trimf',50,100,100); a=addvar(a,'input','y',0,100); %Fuzzy Axungea=addmf(a,'input',2,'NG','trimf',0,0,50);a=addmf(a,'input',2,'MG','trimf',0,50,100);a=addmf(a,'input',2,'LG',
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 网络借贷中的担保机制研究考核试卷
- 2025演艺场所租赁合同模板
- 2025电力建设合同范本
- 2025标准代理商合同
- 二零二五版独家代理协议书独家授权代理协议
- 租赁期间房屋买卖合同书二零二五年
- 二零二五版混凝土工劳务承包合同
- 石场承包开采合同二零二五年
- 二零二五版食堂炊事员聘用合同范例
- 本商铺租赁合同书范例
- 情绪心理学与情绪管理 课件
- 《民俗旅游学》教案-第九章 岁时节日民俗与旅游
- 软件质量证明书
- 高考标准化考场建设方案详细
- 人民医院肿瘤科临床技术操作规范2023版
- 高压-引风机电机检修文件包
- 2023届物理高考二模考前指导
- GB/T 39486-2020化学试剂电感耦合等离子体质谱分析方法通则
- GB/T 11085-1989散装液态石油产品损耗
- GXH-3011A1便携式红外线CO分析仪
- 2022年四川省阿坝州中考数学试卷及解析
评论
0/150
提交评论