混沌优化算法算例_第1页
混沌优化算法算例_第2页
混沌优化算法算例_第3页
混沌优化算法算例_第4页
混沌优化算法算例_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Harbin Institute of Technology智能优化课程设计课程名称: 智能优化算法 论文题目: 混沌优化算法 院 系: 班 级: 设 计 者: 学 号: 第一章 混沌理论概述引言混沌是指确定动力系统长期行为的初始状态,或系统参数异常敏感, 却又不发散, 而且无法精确重复的现象, 它是非线性系统普遍具有的一种复杂的动力学行为。混沌变量看似杂乱的变化过程, 其实却含有内在的规律性。利用混沌变量的随机性、遍历性和规律性可以进行优化搜索, 其基本思想是把混沌变量线性映射到优化变量的取值区间, 然后利用混沌变量进行搜索。 但是, 该算法在大空间、多变量的优化搜索上, 却存在着计算时间长

2、、不能搜索到最优解的问题。因此, 可利用一类在有限区域内折叠次数无限的混沌自映射来产生混沌变量,并选取优化变量的搜索空间, 不断提高搜索精度等方法来解决此类难题。混沌是非线性科学的一个重要分支, 它是非线性动力系统的一种奇异稳态演化行为, 它表征了自然界和人类社会中普遍存在的一种复杂现象的本质特征。因此, 混沌科学倡导者Shlesinger和著名物理学家Ford 等一大批混沌学者认为混沌是20 世纪物理学第三次最大的革命, 前两次是量子力学和相对论, 混沌优化是混沌学科面对工程应用领域的一个重要的研究方向。它的应用特点在于利用混沌运动的特性, 克服传统优化方法的缺陷, 从而使优化结果达到更优。

3、1.混沌的特征从现象上看,混沌运动貌似随机过程,而实际上混沌运动与随机过程有着本质的区别。混沌运动是由确定性的物理规律这个内在特性引起的,是源于内在特性的外在表现,因此又称确定性混沌,而随机过程则是由外部特性的噪声引起的。混沌有着如下的特性:(1)内在随机性混沌的定常状态不是通常概念下确定运动的三种状态:静止、周期运动和准周期运动,而是一种始终局限于有限区域且轨道永不重复的,形势复杂的运动。第一,混沌是固有的,系统所表现出来的复杂性是系统自身的,内在因素决定的,并不是在外界干扰下产生的,是系统的内在随机性的表现。第二,混沌的随机性是具有确定性的。混沌的确定性分为两个方面,首先,混沌系统是确定的

4、系统;其次,混沌的表现是貌似随机,而并不是真正的随机,系统的每一时刻状态都受到前一状态的影响是确定出现的,而不是像随机系统那样随意出现,混沌系统的状态是可以完全重现的,这和随机系统不同。第三,混沌系统的表现具有复杂性。混沌系统的表现是貌似随机的,它不是周期运动,也不是准周期运动,而是具有良好的自相关性和低频宽带的特点。(2)长期不可预测性由于初始条件仅限于某个有限精度,而初始条件的微小差异可能对以后的时间演化产生巨大的影响,因此不可长期预测将来某一时刻之外的动力学特性。即混沌系统的长期演化行为是不可预测的。在此以经典的logistic映射为例:x(n+1)=x(n)(1-x(n)n=0,1,2

5、,30x0104 (1-1)对于初值为 0.6,在参数 取值由2.6开始,间隔3e-4 到 4 结束,迭代 200 次的结果实验仿真如图1-1 所示,发现随着参数的增加,迭代序列经历了 2 周期、4 周期、8 周期、无穷周期的过程,从仿真的结果验证了系统状态长期的不可预测性。图1-1附Matlab仿真程序:mu=2.6:3e-4:4;k=length(mu);x=linspace(0.6,0,k);for n=1:kx(n+1)=mu(n)*x(n)*(1-x(n);plot(mu,x(1,:),'k.');xlabel('mu');ylabel('x(

6、n)');end(3)对初值的敏感依赖性随着时间的推移,任意靠近的各个初始条件将表现出各自独立的时间演化,即对初始条件的敏感依赖性。及时初始数据又很小的偏差,在迭代几次后其差距会很大。(4) 普适性当系统趋于混沌时,所表现出的特性具有普适性,其系统不因具体系统的不同和系统运动方程的差异而改变,即使是不同的混沌映射,其混沌状态从外表上是类似的。(5)分形性分形(Fractal)这个词是由曼德布罗特(B.B.Mandelbrot)在 70年代创立分形几何学时所使用的一个新词。所谓分形是指 n维空间一个点集的一种几何性质,它们具有无限精细的结构,在任何尺度下都有自相似部分和整体相似性质,具有

7、小于所在空间维数 n 的非整数维数,这种点集叫分形体。分维就是用非整数维分数维来定量的描述分形的基本特性。(6) 遍历性遍历性也称为混杂性。由于混沌是一种始终局限于有限区域且轨道永不重复、性态复杂的运动。所以,随着时间的推移,混沌运动的轨迹决不逗留于某一状态而是遍历区域空间中的每一点,即只要时间充分长,混沌会不重复的能走过每一点。(7) 有界性它的运动轨线始终局限于一个确定的区域内,这个区域称为混沌吸引域。因此总体上讲混沌系统是稳定的。(8)分维性混沌系统的运行状态具有多叶、多层结构,且叶层越分越细,表现为无限层次的自相似结构。(9)统计特性对于混沌系统而一言,正的Lyapunov指数表明轨线

8、在每个局部都是不稳定的,相邻轨道按指数分离。但是由于吸引子的有界性,轨道只能在一个局限区域内反复折叠,但又永远不相交,形成了混沌吸引子的特殊结构。第二章 最优化理论最优化理论是应用相当广泛的理论,它具有讨论决策问题的最佳选择问题的特性,是构造寻求最佳解的计算方法,研究这些计算方法的理论性质及实际计算就显得十分重要。同时最优化问题广泛见于工程设计,经济规划,生产管理,交通运输,国防等重要领域。例如,在工程设计中,怎样选择设计参数,使得设计方案既满足设计要求,又能降低成本。在资源分配中,怎样分配有限资源,使得分配方案既能满足各方面的基本要求,又能获得好的经济效益。在生产计划安排中,确定怎样的比例才

9、能提高质量,降低成本。在城建规划中,怎样安排布局才能有利于城市发展。在区域经济规划中,如何发挥地区优势,挖掘潜力,发展生产力。在作战指挥中,如何合理运用火力,制订作战方案,使之有效地消灭敌人,保存自己等等。混沌优化理论在某种程度上,优化算法就是运筹学,即讨论决策问题的最佳选择问题。通过适当的数学建模,决策问题可以等价于研究在状态空间中寻求全局最小值或者最大值(当然最大值可以通过转化化为最小值来处理),即:Minf(x)St.g(x)0 x (2-1)其中,x 是决策变量,是一个矢量,其维数等于决策问题的参量个数。f(x)是 决 策 问 题 的 数 学 模 型,也 是 决 策 问 题 的 目 标

10、 函 数 。g(x) 0是决策问题的约束条件,是问题的可行域。对于Maxf(x),可取Minh(x)=c-Maxf(x),转化为最小值处理。第三章 混沌优化应用本章用Matlab仿真了三个3变量的最优化函数问题。测试函数1:Max f(x) = s.t. (3-1)Matlab仿真程序主程序M文件,main: for k=1:10 for a = 1: 3 X(a, 1) = rand(1); TempX(a) = 2 * X(a, 1); end if myjudge(TempX(1), TempX(2), TempX(3) = 1else return; endfor g = 1:3 Ma

11、xX(g) = TempX(g); endMaxF = myfunction(MaxX(1), MaxX(2), MaxX(3);for i = 2:5000 for j =1:3 X(j, i) = 4 * X(j, i - 1) * (1 - X(j, i - 1); TempX(j) = 2 * X(j, i); end if myjudge(TempX(1), TempX(2), TempX(3)=1 TempF = myFunction(TempX(1), TempX(2), TempX(3); if TempF > MaxF MaxX(j) = TempX(j); MaxF

12、= TempF; end end end%二次载波for i = 1:3X(i, 1) =rand(1);endfor i = 2:5000 for j = 1:3 X(j, i) = 4 * X(j, i - 1) * (1 - X(j, i - 1); endendfor i = 1:5000 for j = 1:3 TempX(j) = MaxX(j) + 0.001 * X(j, i); end if myjudge(TempX(1), TempX(2), TempX(3)=1 TempF = myfunction(TempX(1), TempX(2), TempX(3); if Te

13、mpF > MaxF MaxX(j) = TempX(j); MaxF = TempF; end end endMaxF = vpa(MaxF, 4);for i = 1:3MaxX(i) = vpa(MaxX(i), 4);endsubplot(2,2,1)plot(k,MaxX(1);subplot(2,2,2)plot(k,MaxX(2);subplot(2,2,3)plot(k,MaxX(2);subplot(2,2,4)plot(k,MaxF);xlabel('k')ylabel('Max') endMatlab仿真程序,函数程序M文件,myju

14、dge:function myjudge=myjudge(x1,x2,x3)a=x12+x22+x32;if x1>0&&x2>0&&x3>0&&a>=1&&a<=4 myjudge=1;else myjudge=0;endMatlab仿真程序,函数程序M文件,myfunction:function myfunction=myfunction(x1,x2,x3)myfunction=(x12*x2*x32)/(2*x13*x32+3*x12*x22+2*x22*x33+x13*x22*x32)end仿

15、真结果:如图3-1,图3-2,图3-3所示,MaxF=0.1537;MaxX(1)=0.7380;MaxX(2)=0.4167;MaxX(1.3390)。与标准值一致。图3-1图3-2图3-3 测试函数2:Min f(x)= s.t. (3-2)已知其最优解为; =4/3, =7/9, =4/9.最优值为:Min f(x)=1/9 Matlab仿真程序主程序,M文件,main:for k=1:100for z=1:100 for a = 1: 3 X(a, 1) = rand(1); TempX(a) = 2 * X(a, 1); end if myjudge(TempX(1), TempX(

16、2), TempX(3) = 1 break endendfor g = 1:3 MaxX(g) = TempX(g); endMaxF = myfunction(MaxX(1), MaxX(2), MaxX(3);for i = 2:5000 for j =1:3 X(j, i) = 4 * X(j, i - 1) * (1 - X(j, i - 1); TempX(j) = 2 * X(j, i); end if myjudge(TempX(1), TempX(2), TempX(3)=1 TempF = myFunction(TempX(1), TempX(2), TempX(3); i

17、f TempF > MaxF MaxX(j) = TempX(j); MaxF = TempF; end end end%二次载波for i = 1:3X(i, 1) =rand(1);endfor i = 2:5000 for j = 1:3 X(j, i) = 4 * X(j, i - 1) * (1 - X(j, i - 1); endendfor i = 1:5000 for j = 1:3 TempX(j) = MaxX(j) + 0.0001 * X(j, i); end if myjudge(TempX(1), TempX(2), TempX(3)=1 TempF = my

18、function(TempX(1), TempX(2), TempX(3); if TempF > MaxF MaxX(j) = TempX(j); MaxF = TempF; end end endMaxF = vpa(MaxF, 4);for i = 1:3MaxX(i) = vpa(MaxX(i), 4);endMax(k)=MaxF;MaxX1(k)=MaxX(1);MaxX2(k)=MaxX(2);MaxX3(k)=MaxX(3); endsubplot(2,2,1)plot(MaxX1(1,:);subplot(2,2,2)plot(MaxX2(1,:);subplot(2,

19、2,3)plot(MaxX3(1,:);subplot(2,2,4)plot(Max(1,:);xlabel('k')ylabel('Max')grid onsz=subs(Max)m,n=max(sz);B=Max(n);B1=MaxX1(n);B2=MaxX2(n);B3=MaxX3(n); Matlab仿真程序,函数程序M文件,myjudge:function myjudge=myjudge(x1,x2,x3)a=-x1-x2-2*x3+3;if x1>0&&x2>0&&x3>0&&a>

20、;=0 myjudge=1;else myjudge=0;endMatlab仿真程序,函数程序M文件,myfunction:function myfunction=myfunction(x1,x2,x3)myfunction=1-(2*x12+2*x22+x32+2*x1*x2+2*x1*x3-8*x1-6*x2-4*x3+9)end仿真结果:由于取myfunction=1-f(x),故仿真结果为myfucntion的最大值。如图3-4,图3-5,图3-6所示图3-4 上图依次为X1,X2,X3,Max随k变化曲线。图3-5 myfunction最大值图3-5 各参量值仿真结果:见表3-1表3

21、-1仿真结果仿真值参考值Min f(x)0.88830.8889X11.31001.3333X20.78850.7778X30.45070.4444可见经过100次运算,得到了较为精确的仿真值,该混沌优化方法较好的满足了最优值求解。测试函数3:无约束最优化问题-Rosenbrock函数 Min f(x)=100 (3-3)Matlab仿真程序,主函数M文件,main:for k=1:20 for a = 1: 2 X(a, 1) = rand(1); TempX(a) = 2 * X(a, 1); endfor g = 1:2 MinX(g) = TempX(g); endMinF = myf

22、unction(MinX(1), MinX(2);for i = 2:5000 for j =1:2 X(j, i) = 4 * X(j, i - 1) * (1 - X(j, i - 1); TempX(j) =2*X(j, i); end TempF = myfunction(TempX(1), TempX(2); if TempF<MinF MinX(j) = TempX(j); MinF = TempF; end end %二次载波for i = 1:2X(i, 1) =rand(1);endfor i = 2:5000 for j = 1:2 X(j, i) = 4 * X(j, i - 1) * (1 - X(j, i - 1); endendfor i = 1:5000 for j

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论