非线性代数方程

2024-05-19

非线性代数方程(精选十篇)

非线性代数方程 篇1

非线性方程组的求解乃是非线性科学的核心;很多来自工程、机械、科学研究等的实际问题最终都化为求解一个非线性方程组;而非线性方程组的求解, 是一个至今没有彻底解决的数学问题;特别地, 来自工程、机械等的几何约束问题, 最终都将产生一个非线性方程组, 且该方程组中方程和未知量的个数都非常多, 且往往其中的未知量的次数还非常高.因此, 解决这些几何约束问题极其困难.

二、非线性代数方程

线性代数是数学的一个分支, 它的研究对象是向量, 向量空间 (或称线性空间) , 线性变换和有限维的线性方程组.向量空间是现代数学的一个重要课题;因而, 线性代数被广泛地应用于抽象代数和泛函分析中;通过解析几何, 线性代数得以被具体表示.线性代数的理论已被泛化为算子理论.由于科学研究中的非线性模型通常可以被近似为线性模型, 使得线性代数被广泛地应用于自然科学和社会科学中.

而顾名思义, 非线性代数就是把线性代数的一些基本对象推广到非线性情形.

三、非线性代数方程求解

非线性代数方程的求根方法很多, 常用的有牛顿迭代法, 但该方法需要求原方程的导数, 而在实际运算中这一条件有时是不能满足的, 所以又出现了弦截法, 二分法等其他方法.MATLAB提供了有关的函数用于非线性方程求解

1.单变量非线性方程求解

MATLAB中提供了一个fzero函数, 可以用来求单变量非线性方程的根.该函数的调用格式为:

z=fzero (‘fname’, x0, tol, trace) .

其中fname是待求根的函数文件名, x0是为搜索的起点.一个函数可能有多个根, 但fzero函数只给出离x0最近的那个根.to1控制的相对精度, 缺省时取to1=eps, trace指定迭代信息是否在运算中显示, 为1时显示, 为0时不显示, 缺省时取trace=0.

例1 求f (x) =x-10^x+2=0在x0=0.5附近的根.

步骤如下:

(1) 建立函数文件funx.m.

function fx=funx (x)

fx=x-10.^x+2.

(2) 调用fzero函数求根.

z=fzero (‘fun’, 0.5) , z=0.3758.

2.非线性方程组的求解

线性方程组时经常遇到的一类数学问题, 这部分内容已超出MATLAB的基本部分, 他需要用到MATLAB的优化工具箱 (Optimization Toolbox) .

对于非线性方程组F (X) =0, 用fsolve函数求其数值解.fsolve函数的调用格式为:

X=fsolve (‘fun’, X0, option) .

其中X为返回的解, fun是用于定义需求解的非线性方程组的函数文件名, X0是求根过程的初值, option用于设定最优化工具箱的选项.最优化工具箱提供了20多个选项, 用户可以使用optimset命令将它们显示出来.如果想改变其中某个选项, 则可以调用optimset () 函数来完成.例如, Display选项决定函数调用时中间结果的显示方式, 其中“off”为不显示, “iter”表示每步都显示, “final”只显示最终结果.Optimset (‘Display’, ‘off’) 将设定“Display”为“off”.

3.符号代数方程求解

代数方程是指未涉及微积分运算的方程, 相对比较简单.在MATLAB中, 求解用符号表达式表示的代数方程可由函数solve实现, 其调用格式为:

solve (s) :求解符号表达式s的代数方程, 求解变量为默认变量.

solve (s, v) :求解符号表达式s的代数方程, 求解变量为v.

solve (s1, s2, …, sn, v1, v2, …, vn) :求解符号表达式s1, s2, …, sn组成的代数方程组, 求解变量分别为v1, v2, …, vn.

例2 解下列方程.

{x+2y-z=27x+z=3, x2+3y2=12.

命令如下:

[x y z]=solve (‘x+2*y-z=27’, ‘x+z=3’, ‘x^2+3*y^2=12’, ‘x’, ‘y’, ‘z’) .

解为:

x=45/4-1/4*i*627^ (1/2)

45/4+1/4*i*627^ (1/2)

y=15/4+1/4*i*627^ (1/2)

15/4-1/4*i*627^ (1/2)

z=-33/4+1/4*i*627^

摘要:近几十年来, 随着数学研究本身的发展和大型计算机的出现及完善, 各种非线性问题日益引起科学家和工程技术人员的兴趣和重视.特别是在近代物理和科学工程计算中的一些关键问题, 归根结底都依赖于某些特定的非线性方程的求解.所以无论在理论研究方面, 还是在实际应用中, 非线性方程的求解都占有非常重要的地位.本文所提出的主要基于MATLAB程序设计教程, 介绍了非线性代数方程和非线性微分方程求解的几种方法.

关键词:非线性代数,符号方程,数值解法,MATLAB

参考文献

[1]刘卫国.MATLAB程序设计教程.北京:中国水利水电出版社.

[2]何汉林, 梅家斌.数值分析.北京:科学出版社.

[3]王高雄, 周之铭, 朱思铭, 王寿松.常微分方程第三版.北京:高等教育出版社.

非线性代数方程 篇2

1.(1)×;

(2)×;

(3)×;

(4)×。

基于差分进化算法求解非线性方程组 篇3

方程求根问题一直以来都是一个具有重要实践意义的问题。在科学技术和工程应用等领域中涉及的一些问题,通常需要先转化为方程或方程组的求根问题,然后再进行求解。其中,非线性方程组的求解是比较常见的一类问题,因而其求解方法一直以来都是数学和工程应用中的重要研究内容。

近十几年来,国内外的许多专家学者对非线性方程组的求解问题作了大量的研究,提出了许多行之有效的方法,常用的有牛顿法、迭代法、梯度法和共轭方向法等。但这些方法对方程组的要求较高,在求解一些相对复杂的方程组时还存在着一些缺陷。近年来,进化算法被广泛应用于优化问题的求解中。由于差分进化算法在求解非凸、多峰以及非线性函数等的优化问题上表现出显著的稳定性,在同样精度的要求下,差分进化算法的收敛速度更快,因而在求解优化问题及其他领域中得到了广泛的应用。

差分进化算法介绍

差分进化算法(DE)是最近几年流行的、比较新颖的一种进化算法,又称为差异演化算法、微分进化算法、微分演化算法、差分演化算法等,它是由Storn等人于1996年为求解切比雪夫多项式而提出的。该算法是对生物进化进行模拟的一种随机模型,通过一次一次的迭代,使得适应环境的那些个体被保留了下来。

算法的基本思想及特点。DE的基本思想是从一个随机生成的初始群体开始,从中随机选取两个个体,将其差向量作为第三个个体的随机变化源,再对差向量进行加权,然后按照特定的规则和第三个个体相加,从而产生变异个体,该过程称为变异;然后,将变异个体与某个预先决定的目标个体进行参数混合,从而产生新的实验个体,该过程称为交叉;如果新的实验个体的适应度值比目标个体的适应度值要好,则在下一代实验个体中选取新的目标个体来替换原有的目标个体,否则保留下当前的目标个体,该过程称为选择。在每一代的进化过程中,每一个个体只能作一次目标个体,DE算法通过反复地迭代计算,淘汰劣质个体,保留优良个体,使得搜索结果向全局最优解逼近。

DE算法是一种基于实数编码的,用于优化函数最小值的进化算法,变异是DE的主要操作。算法根据种群中个体间的差异向量来进行变异,从而达到修正各个体的值的目的。并且,DE采取基于种群的全局搜索策略,使遗传操作简单化。同时,DE会根据当前的搜索情况动态调整搜索策略,使得全局收敛能力较强,而且不需要借助问题的特征信息,因此适用于求解一些常规数学规划方法不能求解的复杂环境下的优化问题。

由方程组的收敛图可以看出,差分进化算法的收敛速度极快,能够快速的得到近似解。

非线性代数方程 篇4

Excel在统计学、数据管理等方面有着广泛的应用,但是很少有文献介绍它在数学中的应用Microsoft Excel有强大的数学运算能力,它能完成一些专业数学软件如MATHLAB,MATHCAD等才能做的事。

本文探讨利用Microsoft Excel求解线性方程组和非线性方程数值解法。

1 用Excel求解线性代数方程组

1.1 用Gauss消去法解方程组

使用Excel计算的具体操作步骤如图1:

(1)在第1行的单元格a1,b1,c1,d1依次输入变量x1,x2,x3和常数列b的记号,在区域a2:c4输入系数矩阵,在区域d2:d4输入常数列。

(2)用鼠标选中区域a2:d2,点击复制,粘贴到a6:d6;

在a7中输入公式:=a3-2*a2,选择a7,自动填充到d7;

在a8中输入公式:=a4-0.5*a2,选择a8,自动填充到d8;

(3)用鼠标选中区域a6:d6,点击复制,粘贴到a10:d10;

用鼠标选中区域a7:d7,点击复制,粘贴到a11:d11;

在a12中输入公式:=a8-0.625*a7,选择a12,自动填充到d12;

回代解得:x1=9,x2=-1,x3=-6。

以上步骤见图1:

1.2 用Gauss-seidel迭代法解方程组:

由于严格对角占优,所以用高斯—赛德尔法解此方程组收敛。

写出高斯—赛德尔法的分量形式:

,代入上边迭代公式:

使用Excel的过程是:

第一步打开Excel工作表,在A1中输入k,在B1中输入X1(k),在C1中输入X2(k),在D1中输入X3(k);在A2中输入初始值0,在B2中输入初始值0,在C2中输入初始值0,在D2中输入初始值0。

第二步在B3、C3、D3单元格分别输入迭代公式x1(k+1)=0.2x2(k)+0.3x3(k)+0.1,x2(k+1)=0.2x1(k+1)+0.1x3(k)+0.05、x3(k+1)=0.25x1(k+1)+0.25x3(k)+0.25,再将B3、C3、D3公式向下拷贝(选定B3、C3、D3,鼠标放在右下角成黑十字星后,按住鼠标左键向下拖曳到得到)。

用Excel结算结果如图2:

所以方程的近似解为X1=0.189655,X2=0.12069,X3=0.327586。

1.3 用Excel函数求解线性方程组:

使用Excel计算的具体操作步骤如下:

第一步求系数行列式的值

将系数行列式的元素依次输人到Al:D4区域中去。

选择单元格E1,单击“常用”工具栏中“fx函数”。

在“函数分类”中选择“数学与三角函数”类,然后选择MDETERM函数。

在“Array”输入框中输入区域Al:D4,单击“确定”按钮。

由结果得知该方程组系数行列式的值不为0。因此系数矩阵有逆矩阵,方程组有唯一解,下面求矩阵的逆。

第二步求矩阵的逆

根据数学知识,当一个矩阵所对应的行列式的值不为0时,则该矩阵一定存在逆矩阵,逆矩阵可以用MINVERS函数求得。

在表中再选4行4列的一个区域F1:I4,单击“常用”工具栏中“fx函数”按钮。

在“函数分类”栏中选择“数学与三角函数”类,然后选择MINVERS函数。

在“Array”输入框中输入区域Al:D4。

将光标定位在编辑栏中所输入公式的结尾处,然后同时按下Ctrl、Shift、Enter三个键,则在区域F1:I4中显示出矩阵A的逆矩阵。

第三步求方程的解,即矩阵的逆与列向量b的乘积:x=A-1b

再选定一个4行1列的区域J1:J4,将列向量b输入到该区域中去。

另选一个4行1列的区域K1:K4,单击“常用”工具栏中“fx函数”按钮。

在“函数分类”栏中选择“数学与三角函数”类,然后选择MMULT函数。

在“Array1”输人框中输人区域Fl:I4,在“Array2”输入框中输入区域J1:J4。

将光标定位在编辑栏中所输入公式的结尾处,然后同时按下Ctrl、Shift、Enter三个键,则区域KI:K4中显示出两个矩阵乘积结果,即方程的解:x1=-1.8;x2=0;x3=0;x4=-0.4。

以上步骤见图3:

公式说明:

MDETERM(array)返回一数组所代表的矩阵行列式的值;

MINVERS(array)返回一数组所代表的矩阵的逆;

MMULT(array1,array2)返回两数组矩阵的乘积,结果矩阵的行数与array1相等,列数与array2相等。

1.4 运用Excel的“规划求解”解线性方程组

操作步骤如下:

第一步打开Excel表格,在单元格按如下所示进行输入

在B1中输入公式:=A1+A2+A3+A4,

在B2中输入公式:=A1+2*A2-A3+4*A4,

在B3中输入公式:=2*A1-3*A2-A3-5*A4,

在B4中输入公式:=3*A1+A2+2*A3+11*A4。

第二步规划求解:点击“工具”菜单中的“规划求解”,出现规划求解参数对话框。

第三步选取目标单元格和可变单元格:在对话框中“设置目标单元格”的窗口中填入B1,在“等于”标签中点击“值为”单选框,并在窗口中输入5。在“可变单元格”中输入A1:A4。

第四步设置约束条件:在“约束”窗口中,点击添加按钮,在单元格引用位置输入B2,在“约束值”外输入-2,同上,分别将B3、B4输入-2、0。

以上步骤见图4:

第五步求解计算:按“求解”键,出现结果对话框。此时在A1-A4的位置上依次出现:1,2,3,-1。即原方程组的解为:X1=1,X2=2,X3=3,X4=-1。

2 用Excel求解非线性方程

2.1 用迭代法求方程x3-3x+1=0的实根近似值(精确到三位小数)

构造等价方程为:x=(x3+1)/3,取初始值为区间中间值,即x0=0.5。

使用Excel计算的具体操作步骤如下:

第一步打开Excel表格,在单元格按图5所示进行输入。

第二步在C2单元格中输入公式:=(B2~3+1)/3,然后拖动C2的“填充柄”,将C2填充到J2,可得如图6所示的结果。

从图6可知,当k>6时,x值已趋于稳定,因此,在保留3位有效数字的基础上,可得x=0.3473为方程在区间[0,1]的近似解。

2.2 求方程x=e-x在x=5附近的一个根

使用Excel计算的具体操作步骤如下:

第一步在A1处输入0.5。在B1处输入公式“=A1-EXP(-A1)”。

第二步单击“工具”中“单变量求解”,打开“单变量求解”对话框。

第三步在“目标单元格”中输入B1,在“目标值”中,输入0,在“可变单元格”中输入A1。单击“确定”按钮,此时图7中A1的值就是该方程的一个近似解。

3 结论

探讨了利用Excel求解线性方程组和非线性方程数值解法,详细演示了利用Excel求解线性方程组的Gauss消去法,Gauss—seidel迭代法,Excel函数法,Excel的“规划求解”方法,以及求解非线性方程的操作过程。Excel软件安装普及,图形显示方便,应用到数值计算的功能是强大的,亟待进一步开发。

摘要:文章探讨了利用Excel求解线性方程组和非线性方程数值解法,详细演示了利用Excel求解线性方程组的Gauss消去法,Gauss-seidel迭代法,Excel函数法,Excel的“规划求解”方法,以及求解非线性方程的操作过程。

关键词:Excel,线性方程组,消元法,迭代法,非线性方程

参考文献

[1]孙红艳,何丽娟,胡斌.Excel在数值计算中的应用[J].华北航天工业学院学报,2002,12(4):23-25.

[2]徐文秀.基于Excel的插值与拟合[J].水利与建筑工程学报,2007,5(1):86-89.

[3]王国枝.利用Excel解决数值计算问题的探讨[J].电力学报,2003,18(1):29-31.

[4]杨明波,卢建立.在Excel中实现用牛顿法求解非线性方程组[J].电脑学习,2006,(4):62-63.

[5]孙海东.Excel在数值计算方法方面的应用[J].软件世界,1999,11:23-25.

[6]周均应.用Excel进行数学实验的探索[J].浩陵师范学院,2003,6(1):131.

非线性代数方程 篇5

一类二阶非线性差分方程的振动性定理

应用分析方法,研究了一类二阶非线性差分方程解的振动性质,获得了一个新的振动性定理,推广和改进了已知的一些结果.

作 者:宋霞 范金梅 黄利国 SONG Xia FAN Jin-mei HUANG Li-guo 作者单位:滨州学院,数学与信息科学系,山东,256603刊 名:数学的实践与认识 ISTIC PKU英文刊名:MATHEMATICS IN PRACTICE AND THEORY年,卷(期):200737(17)分类号:O1关键词:二阶 非线性 差分方程 振动性

“线性代数”课程实例教学实践 篇6

【关键词】线性代数;实例教学

“线性代数”是高校理工类及经管类专业最重要的公共基础课之一,目的在于培养学生严谨的抽象思维及逻辑思维。使学生初步具有理解逻辑关系、研究抽象事物、认识并利用数形解决问题的能力。因此,国内高校所有理工类和经管类专业均开设了不同水平不同层次的“线性代数”课程.数学作为理工及经管各学科共同使用的一门科学语言,其教学效果的好坏直接影响到其它后继课程的学习,甚至影响到学生一生的学习和工作,虽然“线性代数”在对学生进行素质教育的过程中起着十分重要作用,但是在各个高校内被普遍认为是一门“学习兴趣不高、学习效果不好”的课程。在三本独立学院里,这种状况更是明显.传统的以教师“课堂讲授”为主的教学模式,已经远远不能适应社会对综合型、创新性人才的要求.所以,必须通过教学改革努力提高“线性代数”的教学质量.

联合国科教文组织曾进行过一次广泛的调研,对课堂讲授、实例教学、视频教学等多种模式的教学方法进行效果对比,经过统计分析发现:在学生分析问题和解决问题能力提高及观念培养上,实例教学的效果排名第一;在传授知识和学生所得知识的留存度上,实例教学排名第二,可见,实例教学对当今培养应用技术型人才起着至关重要的作用,尤其是对于“高等数学”,“线性代数”,“概率论与数理统计”等重要的基础课程.下面我以“线性代数”教学为例,提出对“线性代数”教学的几点思考和认识.

1.以实例引入概念增强学生的记忆留存度

数学概念是数学思维的基本单位。学生只有深刻理解数学概念,才能真正掌握线性代数的基本思想方法。矩阵作为线性代数中最重要的概念之一。对它教学形式不容忽视,下面笔者就以矩阵概念的引入为例,通过一个非常著名的“格尼斯堡七桥问题”来引起学生兴趣,18世纪在哥尼斯堡城(今俄罗斯加里宁格勒)的普莱格尔河上有7座桥,将河中的两个岛和河岸连结。城中的居民经常沿河过桥散步,于是提出了一个问题:能否一次走遍7座桥,而每座桥只许通过一次,最后仍回到起始地点。这就是七桥问题,一个著名的图论问题。

这个问题看起来似乎不难,但人们始终没有能找到答案,最后问题提到了大数学家欧拉那里。欧拉最后将“七桥问题”就等价于一笔画问题。欧拉注意到,每个点如果有进去的边就必须有出来的边,从而每个点连接的边数必须有偶数个才能完成一笔画。图的每个点都连接着奇数条边,因此不可能一笔画出,这就说明不存在一次走遍7座桥,而每座桥只许通过一次的走法。欧拉对“七桥问题”的研究是图论研究的开始,同时也为拓扑学的研究提供了一个初等的例子.当然

七桥问题也可以作为矩阵概念引入一个特别好的例子,讲七桥写成一个度矩阵的形式,进而引出矩阵的概念,有利于学生对矩阵这个概念的记忆留存度。

2.以实例总结使学生认识线性代数的广泛应用

当前,线性代数的教学偏重自身的理论体系,强调基本定义,定理和基本思想,实际应用讲的较少,应用累的课后习题也是有限,这导致大部分学生不了解线性代数对后续专业课学习的作用,也在很大一部分程度上影响了专业课的学习。所以,线性代数的学习,不单是培养学生的逻辑思维能力,而且更要重视它的广泛应用。以矩阵在密码学中的应用为例,在数学中结合实际应用增加数学的兴趣意识,密码学的相关定义。

最近一些年抗战时期谍战戏很有代表性,因此以抗战戏中传递消息为例说明矩阵在密码学中的具体应用:

例 如果我方想要传递原始消息为“卧底已被捕”。通过查密码本把这一列数写成一个 行 列的矩阵 ,再设计好一个加密密钥矩阵 ,然后加密后的消息通过通信渠形式输出,从而信息员收到加密后的矩阵,信息员再通过矩阵的逆运算 进行解密,进而再对照密码本将明文矩阵译为原始消息“卧底已被捕”。

矩阵的应用不止在密码学中,还有很多具体实际应用,比如,利用矩阵求利润,利用矩阵解决调运问题,利用矩阵解决经济问题,因此可以针对不同的专业可以在授课的过程中有针对性的举些不同的实际例子,以增加学生的对线性代数这门课兴趣和记忆留存度.

在线性代数的教学过程中,实例分析是教学过程中很有效的教学方法,但是不是一朝一夕可以做的好的,需要落实到各个章节各个环节教学的过程中,从而提高学生的学习能力及解决问题的能力.

参考文献:

[1]同济大学数学系.线性代数[M].北京:高等教育出版社,2007.

[2]李克娥,吴海涛.线性代数[M].武汉:华中科技大学出版社,2013.

[3]潘大勇,陈忠 .教学中学生创新意识和创新精神的培养[L].长江大学学报,2014.

非线性方程数值解的研究 篇7

在工程应用和科学计算中有大量实际问题需要转化为代数方程,而非线性方程的求解一直是其中重要的研究内容.即常常需要探讨方程f(x)=0的数值解法,这里x∈R,f∈C[a,b].除了少数情形外,这类方程常只能求其近似解.如果函数是平滑的,给定充分好的初始值,一个好的算法是能收敛到一个解.给定根附近的一个初始值x0,将原方程f(x)=0改变成与它同解但便于迭代的形式x=j(x),利用迭代公式xk+1=j(xk),k=0,1,2…就能求出逐步精确的近似值.

二、数值实验

介绍二分法、Newton法和割线法的算法,并用其解方程2x3+3x2-6=0的根.

(一)二分法

(二)Newton法

(三)割线法

三、结论

由二分法、Newton法和割线法的算法原理,结合前面的实例可以得出以下结论:

为了避免这种情况,Newton迭代公式必须收敛.因此,求方程f(x)=0的根,可以通过经验利用零点定理先确定一个有根区间[a,b],然后用二分法求根,它一定是收敛的,只不过收敛速度慢,可以把二分法作为寻找迭代初值的一种手段,再用Newton法迭代,这样既可以保证收敛,又可以提高收敛的速度.

参考文献

[1]关治,陈景良.数值计算方法[M].北京:清华大学大学出版社,1997.

[2]Noreen Jamil.A Comparison of Iterative Methods for the Solution of Non-Linear Systems of equations[J].Int.J.Emerg.Sci.,2013,3(2),119-130.

非线性代数方程 篇8

非线性Pochhammer Chree方程,

描述了弹性杆的纵向形变波的传播过程该方程在离子声波方面应用较为广泛,引起许多学者的兴趣。在这里u(x,t)是纵位移,t是时间,x是质点的横坐标,p=2,3,5。文[1]给出了方程当p=2,3,5时的孤波解,,文[2]对周期边界的Pochhammer Chree方程给出了一个多辛格式。将方程(1.1)变形得如下的方程,

本文考虑如下的周期边界Pochhammer Chree方程,

本文对方程(1.2)-(1.4)提出了一个三点隐式差分格式,并用归纳法证明了格式的收敛性。通过在每一个时间层上求解一个三对角方程组,给出了格式的数值试验,验证了格式的稳定性和可靠性。

本文的章节做如下的安排:第二节给出差分格式,第三节证明了格式的收敛性,最后在第四节给出了数值实验。

2 差分格式的提出

将区间[xl,xr]×(0,+∞)进行剖分,xj=xl+jh,h=(xr-xl)/J,0≤j≤J,h为空间步长,tn=nτ,τ为时间步长,本文采用如下的符号

我们对方程(1.2)-(1.4)构造如下的差分格式:

在式(2.1)中我们令n=0并与式中的第二个方程联立消去u-1得误差为O(τ2+h2)的近似,于是整个格式的精度为O(τ2+h2)。下面证明此格式的收敛性。在证明过程中我们用C表示一般的常数,在不同的地方有不同的值。

3 格式的收敛性

先给出如下的定理。

引理1(Gronwall不等式[3])若离散函数ωh满足如下不等式,

其中A,B和Cn(n=1,2,…,N)为非负常数,则有

其中△t足够小,使得

关于格式(2.1)-(2.3)的收敛性我们有如下的定理。

定理1.假设方程(1.2)-(1.4)的解u(x,t)∈C4,3,则差分格式(2.1)-(2.3)的解以‖·‖∞收敛到(1.2)-(1.4)的解,且收敛阶为O(τ2+h2)。证明:我们令,则由Taylor展式得,

其中,令,将(3.1)减(2.1)得下式、

由初始条件e0=0,下面我们先证明‖el‖∞=O(τ2+h2)。在(3.2)式中我们令n=0得,

(3.3)式两端与e1-e-1作内积,得

由引理1得,E0≤O(τ2+h2),于是有,,‖e1‖≤O(τ2+h2),由Soblev不等式得,

下面我们用归纳法证明格式的收敛性。假设当l=1,2,…,n时,‖el‖∞≤O(τ2+h2),则有

(3.2)式中

(3.2)式两端与en+1-en-1作内积,并移项得

由,另外由假设,上式变为

于是有

由引理1得,

从而有,另外由,所以得‖en+1‖≤O(τ2+h2),由Soblev不等式得‖en+1‖∞≤O(τ2+h2),

证毕。

摘要:本文对Pochhammer Chree方程的周期边界问题构造了一个隐式差分格式。差分格式的精度为O(τ2+h2)。并用离散泛函分析的方法证明了格式的收敛性和稳定性。

关键词:非线性Pochhammer Chre,方程差分格式收敛性稳定性MR(2000),主题分类:65M06,65M30

参考文献

[1]Bogolubsky I L.Some examples of inelastic soliton interaction [J].Computer Physics Communications.1977,13(2):149 155.

[2]黄浪扬.非线性Pochhammer-Chree方程的多辛Fourier拟谱算法.漳州师范学院学报(自然科学版),2007,1:36 41.

[3]许秋滨,张鲁明.二维广义非线性Sine-Gordon方程的一个ADI格式.应用数学学报,2007,5:836-846.

[4]张鲁明,李祥贵.一类带波动算子的非线性Schrodinger方程的一个守恒差分格式.数学物理学报,2002,22A(2):258-263.

非线性偏微分方程的孤立子解 篇9

目前很多意义重大的自然科学和工程技术问题都可归结为非线性偏微分方程的研究[1,2,3,4,5]。求解非线性微分方程远比求解线性微分方程要困难得多,线性微分方程的一些基本性质在非线性微分方程中不再成立,多年来数值解法在非线性微分方程求解过程中取得了令人瞩目的进展,但这种方法有着明显的局限性。自然界中由非线性现象引出的许多非线性发展方程中蕴含着一系列十分有效的求解方法和技巧。

1主要内容

本文主要方程

ut+ux+αuux-uxxt=0 (1)

式(1)中α为参数,设其解的形式为

u=φ(ξ),ξ=x-ct+ξ0 (2)

式(2)中c为常数,表示波速,ξ0为任意常数。

将式(2)代入式(1),两边关于变量ξ积分一次,得

-cφ+φ+α2φ2+cφ=Α (3)

式(3)中Α为积分常数.在方程(3)两端同乘φ′,再关于ξ积分一次,得

(1-c)2φ2+α6φ3+c2(φ)2=Αφ+Β (4)

Β为积分常数。

将方程(4)整理得

(φ)2=-α3c[φ3+3(1-c)αφ2-6Ααφ-6Βα] (5)

对式(5)积分,将涉及椭圆积分问题.为此,引进椭圆函数[1],设

υ=0θdt1-r2sin2t

θ看作是υ的函数,分别称

sn(υ,r)=sinθ,cn(υ,r)=cosθ,dn(υ,r)=1-r2sin2θJacobi椭圆正弦函数,Jacobi椭圆余弦函数和Jacobi第三类椭圆函数,其中0<r<1为模数。

注意,当r→1时,sn(υ,r)→tanhυ,cn(υ,r)→sechυ, dn(υ,r)→sechυ。

由椭圆函数定义有:方程

(dxdy)2=A(y-y1)(y-y2)(y-y3)A>0,y3y2y1

有解

y=y2-(y2-y3)cn2[Α4(y1-y3)(x+x0),r1] (6)

类似地,方程

(dxdy)2=-Α(y-y1)(y-y2)(y-y3),Α>0,y3y2y1,

的解可表示为

y=y2+(y1-y2)cn2[Α4(y1-y3)(x+x0),r2] (7)

在解式(6),式(7)中Jacobi椭圆余弦函数的模数r1和r2分别取作

r1=(y2-y3)(y1-y3)r2=(y1-y2)(y1-y3)

x0为任意常数。

设方程

φ3+3(1-c)αφ2-6Ααφ-6Βα=0,

有三个实根φ1,φ2,φ3,且φ3≤φ2≤φ1,则方程(5)可改写为

(φ)2=-α3c(φ-φ1)(φ-φ2)(φ-φ3) (8)

式(8)中φ1,φ2,φ3满足

φ1+φ2+φ3=3(c-1)αφ1φ2+φ2φ3+φ3φ1=-6Ααφ1φ2φ3=6Βα

αc>0时,由式(2)和式(7)可求得方程(1)的椭圆余弦波解

u(x,t)=φ2+(φ1-φ2)cn2α12c(φ1-φ3)(x-ct+ξ0*),r (9)

式(9)中模数为r=(y1-y2)(y1-y3),

适当选取积分常数,可使得φ2=φ3=0,则φ1=3(c-1)α,且r→1,此时解式(9)退化为

u(x,t)=3(c-1)αsech2[c-14c(x-ct+ξ0*)] (10)

解式(9)是方程(1)的孤立波解。其中c为所有满足c(c-1)>0的常数,即c>1或c<0。当c>1时,该孤立波向右传播;当c<0时,该孤立波向左传播。即该孤立波可双向传播。该孤立波的振幅为3(c-1)α,宽度为4cc-1,当参数α固定时,它在双向传播时速度与形状保持不变。实际上该孤立波式(10)是孤立子解。

3结束语

用直接积分法讨论了一个非线性偏微分方程的行波解。近年来,随着计算机符号的出现和广泛应用,人们以计算机为手段,积极探索那些过去不能处理的非线性问题,从中发掘出规律性的认识,并从共性,普遍性方面探讨各种非线性系统的行为,现已取得了不少深入的成果,有很好的发展前途。

摘要:利用直接积分的方法求解非线性偏微分方程。在求解的过程中先将非线性偏微分方程化成常微分方程的形式;再运用直接积分法进行计算。在求解的过程涉及到了椭圆函数的一些知识。最后得到非线性偏微分方程的孤立子解。

关键词:Jacobi椭圆函数,直接积分法,孤立波解

参考文献

[1]李志斌.非线性数学物理方程的行波解.北京:科学出版社,2006

[2]楼森岳,唐晓艳.非线性数学物理方法.北京:科学出版社,2006

[3]王明新.数学物理方程.北京:清华大学出版社,2005

[4]谷超豪,等.孤立子理论及其应用.杭州:浙江科学技术出版社,1990

遗传算法求解非线性方程组研究综述 篇10

为解决以上问题,众多研究者将目光转向了遗传算法。遗传算法研究兴起于20 世纪80 年代末,是模仿自然选择和遗传机制的一种智能优化算法,隐含并行性和群体全局搜索是其两个显著特征,具有较强的鲁棒性,对于一些大型、复杂非线性系统求解具有独特的优越性能[3 -4]。但遗传算法也存在着收敛速度慢, 精度差等缺点。遗传算法一般用于求解优化问题,但近年来人们也将其用于求解非线性方程组。

1 遗传算法求解非线性方程组基本思想

非线性方程组是指有n个变量m个方程所组成的方程组

式中至少含有一个非线性方程。其求解是指在其定义域D内找出一组数x*= ( x1*,x2*,…,xn*) 能满足方程组中的每一个方程。遗传算法的思路是将求解方程组( 1) 转化为如下优化问题

则求解方程组就转化为求一组值x*= ( x1*,x2*,…, xn*) 使得F( x*) = 0 成立,即求使函数F( x1,x2,…, xn) 取得最小值0 的一组数。其中F( x1,x2,…,xn) 也被称为适应度函数。

遗传算法将定义域D分为一个或多个独立的搜索空间。每个搜索空间构成了各个种群的范围。每个种群由经过编码的一定数目的个体组成,这里的编码常用二进制编码,也可采用格雷码或实数编码。编码的长度,通常由算法所要求的精度所决定。若采用二进制编码,并设目标解的第i个分量xi∈[ai,bi],其精度要求为 εi,则此分量编码的长度Li必须满足

当算法开始后,根据适应度函数计算种群中每一个体的适应度,根据一定的优化准则,开始产生新一代的种群。为产生下一代,按照适应度选择个体,父代要求基因重组而产生子代。这个过程通常由选择、交叉和变异3 步构成。

选择算子: 通常采用赌轮法或锦标赛法。在赌轮法中,各个体的选择概率与其适应度成正比。

交叉算子: 通常在编码中随机产生一个交叉点,对于以交叉概率Pc选中的配对个体,将交叉点右侧的编码进行简单交叉。例如: 若采用二进制,编码长度为8,则交叉点有1 ~ 7 共7 个位置,若设交叉点为5,选中的配对个体A为11001000,个体B为00110111,则交叉后的新个体A'为11001111,B'为00110000。在某些改进的算法中,也有人采用了多点交叉。

变异算子: 通常采用基因位等概率变异,对于种群中的每一个体,以变异概率Pm改变某一个或某一些基因座上的基因值为其他的等位基因。

经过以上3 步所产生子代的适应度又被重新计算,子代被插入到种群中将父代取而代之,构成新的一代。这一过程周而复始。在遗传算法求解非线性方程组的过程中,通常会设置种群的进化代数,当达到预定的代数或预设的精度要求时,一般认为已求得非线性方程组的解。

Goldberg[5]将采用二进制编码,选择算子使用赌轮法,交叉算子使用单点交叉,变异算子使用基因位等概率变异的遗传算法称为基本遗传算法。

在上述求解非线性方程组的过程中,遗传算法的并行性有效提高了求解效率,择优机制使得求解过程具有良好的全局优化性和稳健性,目标函数解释为编码化个体的适应度使求解过程具有良好的可操作性和简单性。但在求解过程中,遗传算法收敛速度慢、局部搜索能力较差、容易出现早熟等问题均影响了求解效率。

2 遗传算法求解非线性方程组的改进

2. 1 搜索空间方面的改进

搜索空间是遗传算法求解非线性方程组中由定义域D决定的一个或多个范围。搜索空间的大小,在一定程度上决定了求解的效率。

曾毅[6]提出了一种将种群中的个体按照适应值从大到小排列,根据前N位个体变量的对应二进制编码最高位与最优解对应的二进制编码的最高位是否相同的情况,对搜索空间进行缩小和移动的方法。该方法使得每个变量对应的二进制编码长度无需过长,便可求出高精度的解。

成媛媛等[8]提出了根据历代最优解将搜索区间不断划分成较小的区间,不断在各个小的搜索区间递归地调用动态自适应遗传算法,直到达到精度要求或小区间宽度为零停止的方法。这一方法较好地克服了传统方法的局限性,能够在较大的初始区间上以概率为1 搜索到区间内的全部解,并能较好地实现并行计算, 大幅提高了一般遗传算法求解非线性方程组的收敛速度和稳定性。

排新颖等[9]提出了一种梯度的变异步长,即在迭代开始时使用大的步长来进行全局寻优,在后期基本确定真正解的区间时,采用较小的步长进行局部细化搜索。

从上述文献来看,在搜索空间方面的改进,主要以动态缩小搜索空间等为主。缩小了搜索空间,意味这提高了求解的速度。因此,这些改进将是对基本遗传算法求解非线性方程组的一种有效补充。

2. 2 编码方面的改进

综上所述,在基本遗传算法求解非线性方程组的过程中,采用了二进制编码。其在程序上易于实现,但实践发现,该编码也带来了编码和解码误差等问题。

因此,曾毅[7],彭灵翔[10]均提出了在求解过程的编码环节使用实数编码来替代二进制编码,从而省略了复杂的编码和解码过程。实数编码虽使得设计和分析难度增加,但通用性较好,可方便地表示范围较大的数,便于在较大的空间进行搜索,同时也改善了遗传算法的计算复杂性,提高了运算效率。

传统二进制编码存在Hamming悬崖问题。对于二进制编码方法表示的个体,变异操作有时虽只是一个基因座的差异,而对应的参数值却相差较大。但若使用格雷码来对个体进行编码,则编码串之间的一位差异,对应的参数值也只有微小的差别。这就相当于增强了遗传算法的局部搜索能力,便于对连续函数进行局部空间搜索。因此Angel Fernando Kuri - Morales[11]采用格雷码,取得了较好的使用效果。

2. 3 传算子方面的改进

在使用遗传算法求解非线性方程组时,一般会使用到选择、交叉和变异3 个算子。选择算子一般通过赌轮法,交叉和变异操作一般采用根据经验所得的固定概率。

罗亚中等[12]在算子设计时以联赛竞争算子为选择算子,该算子可直接通过比较个体的目标函数值完成操作,因此该文的遗传算法适应度函数直接选择为优化目标函数。文中采用了最优保存策略,即当前群体中最优个体不参与交叉运算和变异运算,而是用其来替代本代群体中经过交叉、变异操作后所产生的最差个体。

胡小兵等[13]通过设计特定的交叉概率和变异概率函数,实现了交叉概率Pc和变异概率Pm的动态改变,从而增加求解过程中算法的进化能力和收敛速度。

田巧玉等[14]采用了启发式交叉的方式,使用参数 “Ratio”指定子辈离较好适应度的父辈有多远。如: 父辈是parent1 和parent2,而parent1 有较好的适应度,则启发式交叉生成的子辈如下

该文中还采用了Gaussian变异算子。此变异算子在进行变异操作时,将一正态分布、具有均值的随机数加入到父向量的每一项,替换原有的基因值。该Gaussian变异算子由两个参数“Scale ”和“Shrink ” 决定。

针对采用非线性排序,排序的结果通常易陷入局部解。徐红[15]提出了设置参数r,将适应值差别因素以r的比例加入到选择中,能改善搜索性能。参数r的设计及由此得到的交叉概率p'如下

交叉前排序的作用使相邻个体的适应度差别最小,特性相对集中。即采用先排序后交叉可能带来两种效果: ( 1) 加快收敛速度。( 2) 形成未成熟收敛。希望出现的是前一种情况,因而在搜索初期采用交叉前排序的操作以期提高搜索效率。

彭灵翔等[10]在变异算子上使用了最佳个体保留算子和灭绝与移民算子。采用最佳个体保留算子是一种常见的做法,可将有最好适应度的染色体群作为种子传到下一代。灭绝与移民算子在当交配池中的染色体几乎相同时,或最佳个体的适应度在一定代数内的增幅小于门槛值时起作用。灭绝与移民过程一般分为两部分,开始将最佳染色体之外的染色群全部灭绝。 然后移民产生Np- 1 个新的染色体。移民过程是: 从第2 个到Np/2 个染色体用产生初始种群的方法产生父辈染色体。其余染色体用最佳适应度的染色体通过变异产生。

综上所述,对于算子的改进,主要采用动态变化来替代固定概率的方式。无论哪种改进,均以加快收敛速度和防止早熟为主要目的。从各文献提供的实验数据来看,均取得了一定的效果。

3 混合遗传算法求解非线性方程组

混合遗传算法求解非线性方程组主要是通过遗传算法与其他算法相结合等手段来求解的。

3. 1 与经典迭代方法的混合

遗传算法中的杂交算子和变异算子能在全变量空间内搜索方程组的解,经典迭代方法能在收敛点附近局部细致地搜索解。若能将两者混合,有可能发挥好两类算法各自的优势而取得更好的求解效果。目前文献中主要提出了两类混合策略。

( 1) 将经典迭代方法作为算法的一个遗传算子。 赵明旺[16]采用牛顿迭代算法与遗传算法结合的混合算法求解非线性方程组,其混合策略是: 对子代群体中每个个体以概率Pn进行牛顿算子迭代搜索,产生的新迭代值取代父代加入子代群体。该文认为确定牛顿算子概率Pn的大小需考虑的因素为: 1) 所求解的非线性方程组牛顿法迭代过程的收敛性。若其迭代过程收敛较快,则相应的Pn可取较小值。否则,则取较大值。 2) 预定的繁殖代数。若预定的繁殖代数较大,则相应的Pn可取小一些。否则,取大一些。

进一步地,赵明旺在文献[17]中将上述思想推广运用至求解相容非线性方程组问题,即求解方程数与变量数可能不一致的情况。

罗亚中等[12 -18],屈颖爽[19]均提出了将拟牛顿法与遗传算法相结合的混合算法求解非线性方程组。文献[12]依据自适应混合算子概率Pn对群体利用拟牛顿法进行局部搜索,此文设计了两类混合算子: 拟牛顿迭代混合算子和Powell混合算子,并进行了分析比较。 拟牛顿混合算子的构造方法是: 以被选中个体的染色体为初始点进行拟牛顿迭代操作,若算法收敛则以收敛点作为个体新的染色体,若不收敛则不改变个体的染色体。Powell混合算子的构造方法是: 以个体的染色体为初始点进行Powell寻优计算,以优化结果作为个体新的染色体。而文献[18]的中心思想是只对每一代的最优个体利用拟牛顿法进行精细局部搜索。其文中认为自适应混合算子概率Pn应该随着进化的增加而变大,最后趋近于一个常数P0,因此提出了如下公式

其中,T为遗传算法中设置的最大代数; t为当前进化代数; 常数P0∈( 0,1 ]反映了局部强搜索算子对每个个体的最大可能作用程度。P0大则混合算子对遗传算法搜索空间的局部开采愈充分,但相应的计算成本愈大,此文选择P0= 0. 10。

屈颖爽[19]将知名的拟牛顿法—BFGS方法与遗传算法进行混合,其混合策略与赵明旺[16]的一致,即对子代群体中每个个体以概率Pn进行拟牛顿算子迭代搜索产生的新迭代值取代父代加入子代群体。值得注意的是此文利用有限Markov理论建立了基于基本遗传算法与BFGS算法的混合算法的全局收敛性定理, 即证明了保留当前最好解的混合算法收敛到全局最优解。

王鹏[20]进一步改进了屈颖爽[19]的工作,主要体现在两个方面: ( 1) 拟牛顿迭代步骤中,首先计算每个体的适应值,从中选择性能好的个体按一定的概率进行拟牛顿迭代。( 2) 对个体的拟牛顿迭代仅进行一次,在取得良好效果的同时节省了计算量。

排新颖等[9]考虑将梯度法与遗传算法混合,其主要思想是用梯度对最优个体进行局部寻优。选择的下降方向是待优化函数负梯度方向,设置一个步长L,在当前点进行局部寻优: 若寻优后的函数值小于原来函数值的 λ( λ <1) 倍,则寻优成功,更新当前个体,否则L = Lμ,直到L小于一个设定的值。

曹春红等[21]将几何约束问题转化为非线性方程组的形式,并用牛顿迭代算法与遗传算法结合的混合算法求解,取得了较好的效果,其混合策略与赵明旺[16]一致。

周丽等[22]提出了一种混合小生境遗传算法与拟牛顿算法求解非线性方程组的新方法,其混合策略与罗亚中等[12]一致。对于由小生境遗传算法产生的一代种群,除最优个体外以一定的概率Pn选择其中的个体采用拟牛顿法进行局部寻优,如果寻优后的个体适应度值高于寻优前的适应度值,以优化的结果替换寻优前的个体,否则说明此个体不收敛,不进行替换操作。

4 采用经典迭代方法进行求解

C. L. Karr等[23]提出了一种求解非线性方程组的混合算法,此法中遗传算法主要为牛顿迭代算法提供好的初值。此文以求取Gauss - Legendre求积公式节点与系数形成的非线性方程组为典型例子,说明了牛顿迭代算法对求解此类方程组时对迭代初始值高度敏感,而混合算法的求解效果相当不错。

田巧玉等[14]在实现遗传算法与拟牛顿法相结合的思路是: 在应用遗传算法进行优化设计的基础上,采用拟牛顿法进行二次优化,将获得的结果作为最优的设计结果,即首先运行遗传算法,找到最优点附近的一个点,将它作为拟牛顿法的初始点,以找到目标函数的最小值。此文给出了遗传算法迭代终止条件有两个: 一是进化到指定的最大代数; 另一个是适应度限,即当前代的最佳适应度值小于或等于规定的值时就停止。

吴国辉等[24]考虑到遗传算法全局群体搜索能力及该算法在起始搜索阶段速度非常快的特点,提出先用遗传算法进行n步迭代,直至其收敛结果满足预期要求,进入拟牛顿法的收敛域之内,然后将遗传算法迭代结果作为拟牛顿法迭代初始值继续迭代至精确解。 此文对遗传算法迭代的控制办法是当前群体平均适应度小于等于预先设定的精度值。

4. 1 与其他智能算法的混合

遗传算法是模仿自然选择和遗传机制的一种智能优化算法,研究者已将其与其他智能算法如模拟退火算法等进行混合,或者融入如量子计算原理、生物免疫思想等以构造出更具优势的新的智能算法。

4. 2 遗传退火算法

模拟退火算法是由Metropolis等基于热力学的退火机制提出来的一种对退火过程进行模拟的算法[25]。 遗传算法具有较强的全局搜索能力但容易陷入早熟, 而模拟退火算法具较强的局部把握能力,但全局搜索能力不足。因此对两者取长补短的遗传退火算法应运而生,并成功用于全局优化问题的求解[25 -26]。付振岳等[27]将遗传退火算法进一步加以改进并应用到含有超越函数的非线性方程组的求解中,胡斐等[28]将自适应遗传算法与模拟退火算法结合提出了自适应的遗传退火算法,均取得了较好的求解效果。

4. 3 量子遗传算法

量子遗传算法由Narayanan等人[29]最早提出的, 并经Han等人[30]发展的一种基于量子计算原理的概率优化方法,其用量子位编码来表示染色体,用量子门作用和量子门更新来完成进化搜索,具有种群规模小、 全局寻优能力强的特点,已成功用于求解TSP与0 -1 背包等问题,获得了比传统遗传算法更好的效果。杜娟等[31]提出了一种基于混合量子遗传算法的非线性方程组求解方法。为克服量子遗传算法的求解精度低和加强局部搜索能力,采用拟牛顿法作为一个强局部搜索算子,把量子遗传算法的寻优结果作为拟牛顿法的初值,取得了较好的效果。徐红[15]提出了一种改进量子遗传算法求解非线性方程组的新方法,结果表明此法具有较高的收敛可靠性及较高的精度,对于非线性方程组求解问题具有良好的适应性,特别是一些很难求解的方程组,利用此方法求解更有意义。

4. 3 免疫遗传算法

免疫遗传算法是近年来基于生物免疫机制提出的一种新的智能计算算法[32],其将生物免疫系统的学习、记忆和多样性的特点引入遗传算法。由于兼顾了搜索速度、全局搜索能力和局部搜索能力,免疫遗传算法正成为优化设计领域的研究热点之一。王景芳等[33]提出了一种烃类蒸汽转化反应器物料衡算的非线性方程组的免疫遗传算法求解方法,取得了良好的效果。该算法由于在遗传算法的基础上引入了高斯变异和基于抗体浓度的更新策略调节机制,能有效地保持抗体的多样性,从而避免了遗传算法中存在的早熟收敛问题。

5 并行遗传算法求解非线性方程组

遗传算法具有并行性,其按并行方式搜索一个种群数目的点,而不是单点。其的并行性表现在以下两个方面: 一是内在并行性,本身适应大规模并行。最简单的并行方式是让若干台甚至是数千台计算机各自进行独立种群的演化计算,运行过程中甚至不进行任何通信,等到运算结束时才通信比较,选取最佳个体。这种并行处理方式对并行系统结构并无任何限制和要求,即遗传算法适合在目前所有的并行机或分布式系统上进行并行处理,尤其适用现在PC机多线程多进程的并行计算。二是遗传算法的内含并行性。由于遗传算法采用种群的方式组织搜索,因而可同时搜索解空间的多个区域,并相互交流信息。使用这种搜索方式,虽然每次只执行与种群规模n成比例的计算,但实质上已进行了大约O( n3) 次有效搜索,这就使遗传算法能以较少的计算获得较大的收益。

目前并行遗传算法的实现方案分3 类: 主从式模式( Master - Slave Model) 、粗粒度模型( Coarse - Grained Model) 和细粒度模型( Fine - Grained Model) 。

并行遗传算法正广泛应用于各个领域,已有人将并行遗传算法用在非线性方程组求解上。刘灿文等[34]提出一种自适应并行遗传算法: 采用粗粒度模型,将初始种群分为3 个子种群,并让这3 个子群体按照特点互补的演化规律在并行机的3 个进程上分别进化,定期移植或交换部分优秀个体。其中进程0 为主进程,主要任务之一是保存自身进化而得的优秀个体并吸收另外两个进程进化而得的优秀个体,使不遭受破坏,目的在于保持优秀个体的多样性。对交叉和变异概率针对不同进程、不同阶段设置不同的值,来提高进化效率,如进程0 中的子群体在进化中具有较低的交叉率和变异率,使得优秀个体不易被破坏,而对进程1 和进程2 用较高的交叉率和变异率,尤其在进化后期, 用以探测新的超平面上的优秀个体,不断为进程0 提供新的超平面上的优秀个体,防止进程0“早熟”并加快其收敛到全局最优的速度。

付振岳等[35]针对一些复杂的含有三角函数或是对数的非线性方程组用遗传算法进行求解,由于该类问题涉及的求解空间大,遗传算法需要更大的初始化种群,为提高算法的性能,引入了并发机制和最大堆来提高硬件利用率和降低某些关键步骤的时间复杂度。 根据CPU的利用率和计算等待时间的比率以及CPU的个数,设置合适的线程数,采用细粒度模型,将种群根据线程数分割成相应的组群,每个线程对组群先后进行堆初始化→交叉→堆初始化→变异→堆初始化→ 淘汰等操作,设置一个全局变量记录全体线程在执行遗传退火算法中产生的最优个体,每个线程在完成一轮遗传退火行为后,将本组群的最优值与全局最优值进行比较,若本组群最优值优于全局最优值,则用本组群最优值替换全局最优值,反之,则用全局最优值替换本组群最优值。该算法有效地提高了遗传退火算法的性能,加快了求解的速度。

6 结束语

文中分析了遗传算法求解非线性方程组的研究现状。从所列的文献看,大部分的研究工作主要集中在对遗传算法求解线性方程组各个环节的改进中,也有不少学者提出了遗传算法与其他智能算法混合使用来求解的方法,比如模拟退火算法、量子计算原理等。还有众多研究者结合了计算机多处理器技术和并行运算技术,提出了并行遗传算法这一新概念。从现有遇到的问题看,对该问题的研究尚有不足,需对其进行深一步的研究。

未来的工作,可包括两个方面: 一在现有模型基础上,研究如何将遗传算法与局部优化方法结合,以便有效提高解的质量。另一方面朝并行模型混合化方向研究。可以预期,随着计算机技术的进步和生物学研究的深入,遗传算法求解非线性方程组将更具通用性和有效性。

摘要:针对近年来国内外基于遗传算法求解非线性方程组的研究情况进行了系统总结,揭示了各种遗传策略的综合运用,遗传算法与传统迭代方法或其他智能优化方法的有效结合,并行遗传算法是基于遗传算法方法求解非线性方程组成功的关键,同时对未来的研究方向进行了展望。

上一篇:西方经济学研究下一篇:羊李氏杆菌病