自然计算大作业

合集下载

《第2课 自然语言描述算法》作业设计方案-小学信息技术浙教版23五年级上册

《第2课 自然语言描述算法》作业设计方案-小学信息技术浙教版23五年级上册

《自然语言描述算法》作业设计方案(第一课时)一、作业目标本次作业旨在帮助学生掌握自然语言描述算法的基本概念和方法,提高他们的逻辑思维和问题解决能力。

二、作业内容1. 任务一:算法描述学生需要选择一个简单的算法问题,例如排序或搜索,并使用自然语言描述该算法的工作原理。

可以引导学生通过口头表达或书面描述来完成此任务。

2. 任务二:算法优化学生需要在给出的算法基础上,尝试对其进行优化,以提高效率或减少时间复杂度。

学生可以使用已学的算法知识,如选择排序和冒泡排序等,进行比较和改进。

3. 任务三:小组讨论学生以小组形式进行讨论,分享各自的算法描述和优化成果,并讨论不同方法的优缺点。

通过讨论,学生可以更好地理解算法的多样性和复杂性。

三、作业要求1. 学生需独立完成至少一个算法的描述和优化,并在课堂上展示自己的成果;2. 小组讨论时,学生需积极参与,尊重他人的观点;3. 作业应在规定时间内完成,并提交给教师;4. 作业应包括清晰的算法描述和优化说明,以及小组讨论的总结。

四、作业评价1. 教师将根据学生的作业完成情况、课堂展示和小组讨论表现进行评价;2. 评价内容包括算法描述的准确性、优化方法的合理性和小组讨论的参与度等;3. 评价结果将作为学生课后练习和课堂表现的参考,有助于提高学生的学习积极性和主动性。

五、作业反馈1. 学生应根据教师的评价反馈,认真分析自己的作业优缺点,并在后续练习中不断改进;2. 学生可以向教师提出疑问或建议,以获得更多的指导和学习资源;3. 教师将根据学生的反馈情况,及时调整教学策略和资源,以满足学生的学习需求。

通过本次作业,学生将能够更好地理解和掌握自然语言描述算法的基本概念和方法,提高他们的逻辑思维和问题解决能力。

同时,通过小组讨论和展示,学生还可以培养团队合作和沟通交流的能力,为未来的学习和工作打下坚实的基础。

作业设计方案(第二课时)一、作业目标1. 复习和巩固自然语言描述算法的基本概念和方法。

智能计算大作业

智能计算大作业

1.1 问题描述求解Rastrigin 函数的最小值,函数Rastrigin 表述如下:221212()2010(cos2cos2)Ras x x x x x ππ=++-+1.2 算法理论模拟退火算法(simulated annealing,简称SA)的思想最早由Metropolis 等(1953)提出,1983年Kirkpatrick 等将其用于组合优化。

SA 算法是基于Mente Carlo 迭代求解策略的一种随机寻优算法,其出发点是基于物理中固体物质的退火过程与一般组合优化问题之间的相似性。

其思想于固体退火过程,将固体加温至充分高, 再让其冷却; 加温时, 固体内部粒子随温升变为无序状, 内能增大, 而徐徐冷却时粒子渐趋有序, 在每个温度都达到平衡态, 最后在常温时达到基态, 内能减为最小。

其物理退火过程由以下三部分组成:(1)加温过程——增强粒子的热运动,消除系统原先可能存在的非均匀态;(2)等温过程——对于与环境换热而温度不变的封闭系统,系统状态的自发变化总是朝自由能减少的方向进行,当自由能达到最小时,系统达到平衡态;(3)冷却过程——使粒子热运动减弱并渐趋有序,系统能量逐渐下降,从而得到低能的晶体结构。

其中,加温的过程对应算法的设定初温,等温过程对应算法的Metropolis 抽样过程,冷却过程对应控制参数的下降。

这里能量的变化就是目标函数,要得到的最优解就是能量最低态。

Metropolis 准则以一定的概率接受恶化解,这样就使算法跳离局部最优的陷阱。

用固体退火模拟组合优化问题,将内能E 模拟为目标函数值f ,温度T 演化成控制参数t , 即得到解组合优化问题的模拟退火算法。

由初始解i和控制参数初值t开始,对当前解重复“产生新解→计算目标函数差→判断是否接受→接受或舍弃”的迭代, 并逐步衰减t值,算法终止时的当前解即为所得近似最优解。

退火过程由冷却进度表( Cooling Schedule)控制。

西安交通大学计算方法B大作业

西安交通大学计算方法B大作业

计算方法上机报告姓名:学号:班级:目录题目一------------------------------------------------------------------------------------------ - 4 -1.1题目内容 ---------------------------------------------------------------------------- - 4 -1.2算法思想 ---------------------------------------------------------------------------- - 4 -1.3Matlab源程序----------------------------------------------------------------------- - 5 -1.4计算结果及总结 ------------------------------------------------------------------- - 5 - 题目二------------------------------------------------------------------------------------------ - 7 -2.1题目内容 ---------------------------------------------------------------------------- - 7 -2.2算法思想 ---------------------------------------------------------------------------- - 7 -2.3 Matlab源程序---------------------------------------------------------------------- - 8 -2.4计算结果及总结 ------------------------------------------------------------------- - 9 - 题目三----------------------------------------------------------------------------------------- - 11 -3.1题目内容 --------------------------------------------------------------------------- - 11 -3.2算法思想 --------------------------------------------------------------------------- - 11 -3.3Matlab源程序---------------------------------------------------------------------- - 13 -3.4计算结果及总结 ------------------------------------------------------------------ - 14 - 题目四----------------------------------------------------------------------------------------- - 15 -4.1题目内容 --------------------------------------------------------------------------- - 15 -4.2算法思想 --------------------------------------------------------------------------- - 15 -4.3Matlab源程序---------------------------------------------------------------------- - 15 -4.4计算结果及总结 ------------------------------------------------------------------ - 16 - 题目五----------------------------------------------------------------------------------------- - 18 -5.1题目内容 --------------------------------------------------------------------------- - 18 -5.2算法思想 --------------------------------------------------------------------------- - 18 -5.3 Matlab源程序--------------------------------------------------------------------- - 18 -5.3.1非压缩带状对角方程组------------------------------------------------- - 18 -5.3.2压缩带状对角方程组---------------------------------------------------- - 20 -5.4实验结果及分析 ------------------------------------------------------------------ - 22 -5.4.1Matlab运行结果 ---------------------------------------------------------- - 22 -5.4.2总结分析------------------------------------------------------------------- - 24 -5.5本专业算例 ------------------------------------------------------------------------ - 24 - 学习感悟-------------------------------------------------------------------------------------- - 27 -题目一1.1题目内容计算以下和式:0142111681848586n n S n n n n ∞=⎛⎫=--- ⎪++++⎝⎭∑,要求: (1)若保留11个有效数字,给出计算结果,并评价计算的算法; (2)若要保留30个有效数字,则又将如何进行计算。

自然语言处理大作业

自然语言处理大作业

自然语言处理大作业介绍自然语言处理(Natural Language Processing,NLP)是人工智能领域中一项重要的技术,旨在使机器能够理解、处理和生成自然语言文本。

NLP技术已经广泛应用于各个领域,如机器翻译、语音识别、文本分类、问答系统等。

在本文中,我们将深入探讨自然语言处理的相关技术和应用。

语言模型语言模型(Language Model)是自然语言处理的基础,其主要任务是估计一个句子或文本序列的概率。

通过学习大量的文本数据,语言模型可以计算出一个句子在语言中的合理性和流畅性。

常见的语言模型包括n-gram模型和神经网络语言模型。

N-gram模型N-gram模型是一种基于统计的语言模型,它假设当前词出现的概率只与前面n-1个词有关。

例如,对于一个2-gram模型,给定一个句子中的前一个词,可以统计出下一个词的概率。

N-gram模型的主要问题是数据稀疏性和上下文表示的简化。

神经网络语言模型近年来,随着深度学习的兴起,神经网络语言模型得到了广泛的应用。

神经网络语言模型通过神经网络来学习给定上下文的条件下,预测下一个词的概率。

其中,循环神经网络(Recurrent Neural Network,RNN)和长短时记忆网络(Long Short-Term Memory,LSTM)是常见的模型结构。

文本分类文本分类是自然语言处理中的重要应用之一,它旨在将给定文本分类到事先定义好的一组类别中。

文本分类广泛应用于垃圾邮件过滤、情感分析、新闻分类等任务。

特征提取文本分类的第一步是对文本进行特征提取。

常用的特征提取方法包括词袋模型(Bag-of-Words)和词嵌入(Word Embedding)。

词袋模型将文本表示为词汇表中词的出现频率向量,而词嵌入则将单词映射到一个低维向量空间,捕捉词汇之间的语义关系。

分类算法在得到文本的特征表示后,可以使用各种机器学习算法进行分类。

常见的分类算法包括朴素贝叶斯分类器、支持向量机和深度学习模型。

计算方法大作业(第二次)

计算方法大作业(第二次)

数值计算第二次大作业1.给定插值条件如下:i 0 1 2 3 4 5 6 7 X i 8.125 8.4 9.0 9.485 9.6 9.959 10.166 10.2 Y i 0.0774 0.099 0.280 0.60 0.708 1.200 1.800 2.177 作三次样条函数插值,取第一类边界条件 Y 0’=0.01087 Y 7’=100根据题目要求,首先要构造三次样条函数,三次样条函数的构造过程如下:设有0x <1x <…<n x 共n 个插值节点,任意给定一组常数0y ,1y ,…,n y ,要求构造一个插值三次样条函数)(x S ,使得如下插值条件得以满足:()i i S x y =,i =0,1,…,n经过插值点的三次样条函数是一组三次多项式,即有:23111111111223222222222323111111111()()()(),[,],()()()(),[,],()()()(),[,]n n n n n n n n n n S x a b x x c x x d x x x x x S x a b x x c x x d x x x x x S x a b x x c x x d x x x x x ---------⎧=+-+-+-∈⎪=+-+-+-∈⎪⎨⎪⎪=+-+-+-∈⎩ 由节点处的连续性可知:11(),(),1,2, 1.i i i i i i S x y S x y i n ++===-2321121121121231111111,1,2,1,()()()()()()i i nn n n n n n n n n n a y i n y y b x x c x x d x x y y b x x c x x d x x -------==-⎧⎪=+-+-+-⎪⎨⎪⎪=+-+-+-⎩ 由节点处的一阶与二阶光滑性可知:''''''11()(),()(),1,2,,i i i i i i i i S x S x S x S x i n --===又设''1()/2n n n c S x -=,记11,,1,2,,1i i i i i i x x y y i n δ++=-∆=-=- ,则1,1,2,,13i ii ic cd i n δ+-==- 。

2022吉林《计算方法》大作业

2022吉林《计算方法》大作业

2022吉林《计算方法》大作业一、构造次数不超过三次的多项式P3(某),使满足:P3(0)=1;P3(1)=0;P3′(0)=P3′(1)=0。

(10分)解:求解这种带有导数的多项式逼近,我们考虑埃尔米特(Hermite)插值法。

采用构造差值基函数的方法,设P3(某)h0(某)某1h1(某)某0H0(某)某0H1(某)某0h(0某)上式中,h0,h1,H0,H1均为插值基函数,其中h0(某)(ab(某0))某(=0。

求得,a=1,b=2;所以综上P3(某)2某33某21某121;P3(1)=0;P3′(0)=P3′(1)),代入P3(0)=01二、设f(某i)=i(i=0,1,2),构造二次式p2(某),使满足:p2(某i)=f(某i)(i=0,1,2)(10分)解:本题没有明确给出某i的取值,为便于计算,我们取某i=i(i=0,1,2)。

依据公式P(某)(n2i0nki,k0nki,k0(某某k)(某i某k)f(某i))化简,利用MATLAB进行快速计算,我们得到多项式为P2(某)3某22某MATLAB代码如下:a=[0,1,2];b=[0,1,2];ym某yy1y2y=0;fori=1:length(a)y1=1;y2=1;forj=1:length(a)ifi~=jy1=y1某(某-a(j));y2=y2某(a(i)-a(j));endendy=y1某y2某b(i)+y;endcollect(y)三、设节点某i=i(i=0,1,2,3),f(0)=1,f(1)=0,f(2)=-7,f(3)=26,构造次数不超过3次的多项式p3(某),满足p3(某i)=f(某i),i=0,1,2,3(10分)解:依据公式P(某)(n3i1nki,k0nki,k0(某某k)(某i某k)f(某i))化简,利用MATLAB进行快速计算,我们得到多项式为P3(某)164某3488某2288某36MATLAB代码如下:a=[0,1,2,3];b=[1,0,-7,26];ym某yy1y2y=0;fori=1:length(a)y1=1;y2=1;forj=1:length(a)ifi~=jy1=y1某(某-a(j));y2=y2某(a(i)-a(j));endendy=y1某y2某b(i)+y;endcollect(y)四、对于上题的问题,构造Newton插值多项式。

北京科技大学计算方法大作业概要

北京科技大学计算方法大作业概要

计算方法大作业机械电子工程系 老师:廖福成注:本文本只有程序题,证明题全部在手写已交到理化楼204了。

2. 证明方程 310x x --=在[1,2]上有一实根*x ,并用二分法求这个根。

要求31||10k k x x -+-<。

请给出程序和运行结果。

证明:设f(x)=x3-x-1则f(1)= -1,f(2)= 5,f(1)*f(2)= -5<0 因此,方程在[1,2]上必有一实根。

二分法求解程序:%预先定义homework2.m文件如下:function lc=homework2(x)lc=x^3-x-1;在MALAB窗口运行:cleara=1;b=2;tol=10^(-3);N=10000;k=0; fa=homework2(a); % f 需事先定义for k=1:Np=(a+b)/2;fp=homework2(p);if( fp==0 || (b-a)/2<tol)breakendif fa*fp<0 b=p; else a=p; endendk,p程序运行结果:k = 10p = 1.3251953125000003. 用Newton 迭代法求方程 32210200x x x ++-=的一个正根,计算结果精确到7位有效数字. 要求给出程序和运行结果. 解:取迭代初值01x = ,并设32()21020f x x x x =++-,则'2()3410f x x x =++. 牛顿迭代函数为32'2()21020()()3410f x x x x x x x f x x x ϕ++-=-=-++ 牛顿迭格式为:3212210203410k k k k k k k x x x x x x x +++-=-++ Matlab 程序如下: %定义zuoye3.m 文件function x=zuoye3(fname,dfname,x0,e,N) if nargin<5,N=500;end if nargin<4,e=1e-7;end x=x0;x0=x+2*e;k=0; while abs(x0-x)>e&k<N, k=k+1;x0=x;x=x0-feval(fname,x0)/feval(dfname,x0); disp(x) endif k==N,warning('已达上限次数');end 在Matlab 窗口中执行:zuoye3(inline('x^3+2*x^2+10*x-20'),inline('3*x^2+4*x+10'),1,1e-7) 结果如下: 1.41176470588235 1.36933647058824 1.36880818861753 1.36880810782137 ans =1.368808107821374. 用牛顿迭代法求方程310x x --=在01x =附近的根. 要求给出程序和运行结果.解:令:3()1f x x x =--,则'2()31f x x =-. 牛顿迭代函数为3'2()1()()31f x x x x x x f x x ϕ--=-=-- 牛顿迭格式为:312131k k k k k x x x x x +--=-- Matalb 程序如下: %定义zuoye4.m 文件function x=zuoye4(fname,dfname,x0,e,N) if nargin<5,N=500;end if nargin<4,e=1e-7;end x=x0;x0=x+2*e;k=0;while abs(x0-x)>e&k<N,k=k+1;x0=x;x=x0-feval(fname,x0)/feval(dfname,x0);disp(x)endif k==N,warning('已达上限次数');end在Matlab窗口执行:zuoye4(inline('x^3-x-1'),inline('3*x^2-1'),1,1e-7)结果如下:1.500000000000001.347826086956521.325200398950911.324718173999051.324717957244791.32471795724475ans =1.324717957244756. 编写用全主元Gauss消去法解线性方程组的程序,并求解12345123451234512345123450.024*******4233433241634418x x x x x x x x x x x x x x x x x x x x x x x x x -+-+=⎧⎪-++++=⎪⎪+++-=⎨⎪-++++=⎪⎪+-++=⎩ 解:Matlab 程序如下:A=[2 -1 4 -3 1;-1 1 2 1 3;4 2 3 3 -1;-3 1 3 2 4;1 3 -1 4 4] b=[11 14 4 16 18] function x=zuoye6(A,b) [n,v]=size(b);D=[A,b;eye(n),zeros(n,v)],[s1,m]=size(D); for k=1:(n-1)s=abs(A(k,k));p=k;q=k; for i=k:n for j=k:n if abs(A(i,j))>ss=abs(A(i,j));p=i;q=j; end end endif p>k t=D(k,:); D(k,:)=D(p,:); D(p,:)=t; end if q>k t1=D(:,k); D(:,k)=D(:,q); D(:,q)=t1; end h=D(k+1:n,k)/D(k,k);D(k+1:n,k+1:m)=D(k+1:n,k+1:m)-h*D(k,k+1:m); D(k+1:n,k)=zeros(n-k,1);endfor k=n:-1:1D(k,k:m)=D(k,k:m)/D(k,k);for r=1:k-1 D(r,:)=D(r,:)-D(r,k)*D(k,:); endendP=D(n+1:2*n,1:n);Q=D(1:n,n+1:m);x=P*Q在Matlab窗口中执行:A=[0.02 -1 4 -3 1;-1 1 2 1 3;4 2 3 3 -1;-3 1 3 2 4;1 3 -1 4 4]; b=[11 14 4 16 18]';zuoye6(A,b)运行结果如下:x =2.94117647058824-3.823529411764721.000000000000000.941176470588245.941176470588247. 用追赶法解线性方程组12345 210001 121000 012100 001210 000120xxxxx-⎡⎤⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥=--⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦⎣⎦要求给出程序和运行结果. 解:1000021000131000010021000221210024010000100121033001213500100001440001246001000055A LU -⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥---⎡⎤⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥--⎢⎥⎢⎥⎢⎥===--⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥--⎢⎥--⎢⎥⎢⎥⎢⎥-⎣⎦⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎣⎦⎣⎦于是有求解Ax=b 即为求解{Ly bUx y ==,式中b=(1 0 0 0 0)T据12345100001100012020100033000104040015y y y y y ⎡⎤⎢⎥⎢⎥-⎡⎤⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥=⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦⎢⎥⎢⎥-⎢⎥⎣⎦ y=112131415⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦据21000301002400103500014600005-⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦12345x x x x x ⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦=112131415⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦ x=5623121316⎡⎤⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦Matlab 程序如下:%定义zuoye7.m文件function x=zuoye7(a,b,c,d)a1=[0;a];n=length(b);q=zeros(n,1);p=zeros(n,1);%LU分解q(1)=b(1);for k=2:n,p(k)=a1(k)/q(k-1); q(k)=b(k)-p(k)*c(k-1); end%解Ly=dy=zeros(n,1);y(1)=d(1);for k=2:n, y(k)=d(k)-p(k)*y(k-1);end%解Ux=yx=zeros(n,1); x(n)=y(n)/q(n);for k=n-1:-1:1,x(k)=(y(k)-c(k)*x(k+1))/q(k);end x在Matlab窗口中执行:a=[-1 -1 -1 -1]';b=[2 2 2 2 2]';c=[-1 -1 -1 -1]';d=[1 0 0 0 0]';x=zuoye7(a,b,c,d)运行结果如下:x = 0.833333333333330.666666666666670.500000000000000.333333333333330.166666666666679. 分别用Jacobi 迭代法和Gauss-Seidel 迭代法求解程组(编写程序)12312312310+3142-103-531014x x x x x x x x x +=⎧⎫⎪⎪+=⎨⎬⎪⎪++=⎩⎭取初值=TX (0)(0,0,0),精确到小数后面四位。

计算方法大作业

计算方法大作业

计算方法大作业班级XXXXXX 学号XXXXXXX 任课老师贺力平姓名XXX2013年12月实验一幂法与矩阵特征值1.幂法求主特征值思路幂法的主要思想就是对假设的任意初始列向量作用n次A矩阵(左乘A矩阵)后,初始向量就接近A矩阵的主特征值对应的特征向量。

由于左乘n次A矩阵有可能会造成计算量溢出,所以每次都对列向量作归一化处理。

2.程序代码function [ ] = mifa( A,v )%UNTITLED Summary of this function goes here % Detailed explanation goes hereA =[ 1 21 2 334 5 2 154 2 6 42 2 59 0];v=[1 1 1 1]';u(:,1)=v(:,1);fori=1:100v(:,i+1)=A*u(:,i);if abs(max(v(:,i+1))-max(v(:,i)))<10^-4breakendu(:,i+1)=v(:,i+1)/max(v(:,i+1));enddisp(u(:,i));disp(max(v(:,i)));k=u(:,i)'*A*u(:,i)/(u(:,i)'*u(:,i));disp(k);[x,c]=eig(A);disp(c);disp(x);disp(i);end3.结果比较和结论初始矩阵A =[ 1 21 2 334 5 2 154 2 6 42 2 59 0];初始向量v=[1 1 1 1]';幂法求得特征向量12.514714.914025.693539.6330归一化后特征向量0.31580.37630.64831.0000列向量最大值近似主特征值39.6330Rayleigh商求出主特征值39.6330用eig()函数算出的特征值和特征向量39.6331 0 0 00 -18.2401 + 7.4985i 0 00 0 -18.2401 - 7.4985i 00 0 0 8.8471-0.2450 -0.0471 + 0.0965i -0.0471 - 0.0965i -0.0574 -0.2919 0.1147 - 0.0939i 0.1147 + 0.0939i -0.1747 -0.5029 0.2862 - 0.1187i 0.2862 + 0.1187i 0.1535 -0.7758 -0.9330 -0.9330 0.9709 达到精度要求所需次数:17结论:可以看出初始列向量经过多次迭代后,用幂法求出的特征值和用eig()函数求出的A的特征值,满足计算精度在,并且特征向量也具有数乘关系。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

自然计算题目遗传算法的发展历程及其在电力电子领域的应用专业电路与系统学生姓名钟龙杰学号 1302120800 时间2013.12.20摘要遗传算法是智能算法的重要发展方向之一,具有广泛的应用。

从1967年首次被提出以来,逐渐形成了Genetic Algorithms (GA)、Evolution Strategies (ES)、Evolutionary Programming (EP),、Genetic Programming (GP)等分支。

在电力电子领域,遗传算法也有所应用。

含有开关器件的电力电子设备是一类强非线性系统,描述其动力学行为的数学模型往往极难实现解析解。

将每半个周期的逆变器输出波形将每半个工频周期开关K次的斩波变换器的输出电压表示为傅里叶级数的形式,以最优开关角度为控制量,输出电压和谐波含量最小为目标,构成多目标优化问题。

从而能够利用遗传算法求解逆变器等非线性系统的控制问题。

一、发展历史遗传算法核心思想来源于19的世纪的达尔文的自然选择学说。

其主要内容有点:繁殖,竞争,遗传和变异,适者生存。

达尔文认为一切生物都具有产生变异的特性。

引起变异的根本原因是环境条件的改变。

在生物产生的各种变异中,有的可以遗传,有的不能够遗传。

在生存斗争中,具有有利变异的个体,容易在生存斗争中获胜而生存下去。

反之,具有不利变异的个体,则容易在生存斗争中失败而死亡。

这就是说,凡是生存下来的生物都是适应环境的,而被淘汰的生物都是对环境不适应的,这就是适者生存。

达尔文把在生存斗争中,适者生存、不适者被淘汰的过程叫做自然选择。

自然选择过程是一个长期的、缓慢的、连续的过程。

由于生存斗争不断地进行,因而自然选择也是不断地进行,通过一代代的生存环境的选择作用,物种变异被定向地向着一个方向积累,于是性状逐渐和原来的祖先不同了,可以说物种也因此得到优化了。

遗传算法就是根据自然界这个“物竞天择,适者生存”现象而提出来的一种随机搜索算法。

遗传算法起源于对生物系统所进行的计算机模拟研究。

早在本世纪40 年代.就有学者开始研究如何利用计算机进行生物模拟的技术,他们从生物学的角度进行了生物的进化过程模拟、遴传过程棋拟等研究工作。

进入60 年代后,美国密执安大学的Holland 教授及其学生们受到这种生物模拟技术的启发.创造出了一种基于生物遗传和进化机制的适合子复杂系统优化计算的自适应概率优化技术——遗传算法。

并且Holland在1965年首次提出人工遗传操作的重要性,并把这些应用于自然系统和人工系统中。

1967年,Holland的学生J.D.Bagley在博士论文中首次提出“遗传算法(Genetic Algorithms)”一词。

此后,Holland指导学生完成了多篇有关遗传算法研究的论文。

1971年,R.B.Hollstien在他的博士论文中首次把遗传算法用于函数优化。

1975年是遗传算法研究历史上十分重要的一年。

这一年Holland出版了他的著名专著《自然系统和人工系统的自适应》(Adaptation in Natural and Artificial Systems),这是第一本系统论述遗传算法的专著,因此有人把1975年作为遗传算法的诞生年。

Holland在该书中系统地阐述了遗传算法的基本理论和方法,并提出了对遗传算法的理论研究和发展极其重要的模式理论(schema theory)。

该理论首次确认了结构重组遗传操作对于获得隐并行性的重要性。

同年,K.A.De Jong完成了他的博士论文《一类遗传自适应系统的行为分析》。

该论文所做的研究工作,可看作是遗传算法发展进程中的一个里程碑,这是因为,他把Holland的模式理论与他的计算实验结合起来。

尽管De Jong和Hollstien 一样主要侧重于函数优化的应用研究,但他将选择、交叉和变异操作进一步完善和系统化,同时又提出了诸如代沟(generation gap)等新的遗传操作技术。

可以认为,De Jong的研究工作为遗传算法及其应用打下了坚实的基础,他所得出的许多结论,迄今仍具有普遍的指导意义。

1967年,Bagley在他的论文中首次提出了遗传算法这一术语,并讨论了遗传算法在自动博弈中的应用。

1970年,Cavicchio把遗传算法应用于模式识别中。

第一个把遗传算法应用于函数优化的是Hollstien。

1975年是遗传算法研究的历史上十分重要的一年。

这一年,Holland出版了他的著名专著《自然系统和人工系统的适应性》该书系统地阐述了遗传算法的基本理论和方法,并提出了对遗传算法的理论研究和发展极为重要的模式理论(schemata theory),该理论首次确认了结构重组遗传操作对于获得隐并行性的重要性。

同年,DeJong完成了他的重要论文《遗传自适应系统的行为分析》。

他在该论文中所做的研究工作可看作是遗传算法发展过程中的一个里程碑,这是因为他把Holland的模式理论与他的计算使用结合起来。

在一系列研究工作的基础上,上世纪80年代由Goldberg进行归纳总结,形成了遗传算法的基本框架。

1985年,在美国召开了第一届遗传算法国际会议(International Conference on Genetic Algorithms ,ICGA),并且成立国际遗传算法学会(International Society of Genetic Algorithms ,ISGA),以后每两年举行一次。

1989年,Holland的学生D.E.Goldberg出版了专著《搜索、优化和机器学习中的遗传算法》。

该书总结了遗传算法研究的主要成果,对遗传算法及其应用作了全面而系统的论述。

同年,美国斯坦福大学的Koza基于自然选择原则创造性地提出了用层次化的计算机程序来表达问题的遗传程序设计( genetic programming, GP)方法,成功地解决了许多问题。

在欧洲,从1990年开始每隔一年举办一次Parallel Problem Solving from Nature 学术会议,其中遗传算法是会议主要内容之一。

此外,以遗传算法的理论基础为中心的学术会议还有Foundations of Genetic Algorithms,该会也是从1990年开始隔年召开一次。

这些国际会议论文,集中反映了遗传算法近些年来的最新发展和动向。

1991年,L.Davis编辑出版了《遗传算法手册》(Handbook of Genetic Algorithms),其中包括了遗传算法在工程技术和社会生活中的大量应用实例。

1992年,Koza发表了他的专著《遗传程序设计:基于自然选择法则的计算机程序设计》”。

1994年,他又出版了《遗传程序设计,第二册:可重用程序的自动发现》深化了遗传程序设计的研究,使程序设计自动化展现了新局面。

有关遗传算法的学术论文也不断在《Artificial Intelligence》、《Machine Learning》、《Information science》、《Parallel Computing》、《Genetic Programming and Evoluable Machine》《IEEE Transactions on Signal Processing》《IEEE Transactions on Neural Networks》等杂志上发表。

1993年,MIT出版社创刊了新杂志《Evolutionary Computation》。

1997年,IEEE又创刊了《Transactions on Evolutionary Computation》《Advanced Computational Intelligence》杂志即将发刊,由模糊集合创始人L.A.Zadeh教授为名誉主编。

目前,关于遗传算法研究的热潮仍在持续,越来越多的从事不同领域的研究人员已经或正在置身于有关遗传算法的研究或应用之中。

二、发展现状在90年代中后期,在遗传算法全局收敛性的分析方面取得了突破。

很大部分是在运用数学工具马尔科夫链上。

Goldberg和Segres[5]首先使用了马尔科夫链分析了遗传算法。

Eiben[6]等用马尔科夫链证明了保留最优个体的GA的概率性全局收敛。

Rudolph[7]用齐次有限马尔科夫链证明了带有复制、交换、突变操作的标准遗传算法收敛不到全局最优解,不适合于静态函数优化问题[8。

建议改变复制策略以达到全局收敛。

以上收敛性结论基于分析简化的遗传算法模型,复杂遗传算法的收敛性分析仍是困难的。

由于GA的结构是开放式的,与问题无关,所以容易和其它算法综合。

Lin等[12]把遗传算法和模拟退火进行综合,构成模拟遗传算法。

在解决几种NPc问题中显示良好的性能。

Bellgard等[11]用GA和摸拟退火合成为遗传Boltzmann机,用于优化Boltzmann机的权重。

Goldberg[13]等研究了GA和梯度法、爬山法等局部搜索方法的结合。

Grefenstette[14]和Yun等研究了把基于领域知识的启发式规划嵌入GA的方法,并取得了良好效果。

Petersen[15]利用旅行商问题比较研究了GA模拟退火和人工神经网解决组合优化问题的能力,结果显示GA性能较优.Lingber等比较了GA和极快速模拟退火(VFSR)解决函数优化的性能,结果显示VFSR优于GA。

近些年来,在国内,遗传算法与其他算法的结合也有一些工作展现。

李敏强[17]等人阐明了遗传算法和神经网络结合的必要性和可行性,提出用多层前馈神经网络作为遗传搜索的问题表示方式的思想。

用遗传算法和神经网络结合的方法求解了短期地震预报问题,设计了用遗传算法训练神经网络权重的新方法。

丁建立[16]等人利用蚂蚁算法通过信息素的累积和更新收敛于最优路径上从而具有的分布式并行全局搜索能力与遗传算法具有快速随机的全局搜索能力融合。

同时解决了蚂蚁算法初期信息素匮乏,求解速度慢,以及遗传算法计算冗余量大,精确度低的缺陷。

在遗传算法与模拟退火算法结合方面,王雪梅[18]等人在分析传统GA生存策略缺陷的基础上,提出使用Boltzmann策略决定个体存活的模式,设计了两个改进算法SSBI和SSBZ。

三、在电力电子领域的应用电力电子系统与智能算法这两者在2000年以前还貌似是毫无牵连的两个领域,数字电源的出现改变了这一切。

电力电子系统,是用于给负载提供稳定电能量的系统。

通俗点说,就是电源。

这个词汇通常用来指代能将电力能量转换为其他形式的能量的设备,虽然它也包含将其他形式能量转换为电力能量的设备:如发电机、电池以及各种新型的能量获取设备等。

本文主要探讨的对象属于前者,更确切的说,是把来自电网的、交流的、不可调控的、不稳定的并且有诸多潜在安全问题的电能转化为直流或者交流的、可调控的、稳定的、对负载安全负责的电能的设备。

相关文档
最新文档