求解非线性方程组的方法研究
非线性方程组求解方法的比较研究

非线性方程组求解方法的比较研究在数学中,非线性方程组是指其中一个或多个方程不满足线性关系的方程组。
尽管有解析解的一些特殊情况,但大多数非线性方程组需要使用数值方法来计算近似解。
本文将比较介绍几种非线性方程组求解方法,包括牛顿法,拟牛顿法,全局优化方法和粒子群算法。
1. 牛顿法牛顿法是求解非线性方程组最常用的迭代方法之一。
它基于局部线性逼近,每次迭代使用当前解的一阶导数信息来计算下一次迭代的更新方向。
令F(x)表示非线性方程组,J(x)=∇F(x)表示F(x)的雅可比矩阵。
给定一个当前近似解x_k,牛顿法的更新方程可以表示为:x_(k+1) = x_k - J(x_k)^(-1)F(x_k)其中,J(x_k)^(-1)是J(x_k)的逆矩阵。
如果J(x_k)是奇异的,则牛顿法不适用。
与其他迭代方法相比,牛顿法通常收敛更快,因为它基于二次局部逼近,而其他方法通常只适用于一次局部逼近。
但是,牛顿法要求计算和存储雅可比矩阵的逆,这可能是一个瓶颈。
2. 拟牛顿法拟牛顿法是一类不需要精确计算和存储雅可比矩阵逆的牛顿法。
它使用最小化当前近似解和实际解之间差异的信息来逼近Hessian矩阵的逆。
拟牛顿法的基本思想是建立一个称为拟Hessian矩阵的对称正定矩阵B_k,B_k的逆用于计算更新方向。
拟Hessian矩阵通过对不同x_k和x_(k+1)的F(x_k)和F(x_(k+1))差的比较来构建。
在每个迭代步骤k,拟牛顿法将F(x_k)和F(x_(k+1))的差异的值的与相对应的x_k和x_(k+1) 的差异相关联的拟Hessian方程式称为:B_k(x_(k+1) - x_k) = ∇F(x_(k+1))- ∇F(x_k)其中∇F(x) 是F(x)的梯度。
这个拟Hessian方程的解,将给出优化的下降方向。
拟牛顿法不需要计算和存储雅可比矩阵的逆,但它需要存储一个两倍于原始变量数的矩阵B_k。
3. 全局优化方法全局优化方法是一类寻找非线性方程组所有可能解的算法。
非线性方程求解方法的研究与比较分析

非线性方程求解方法的研究与比较分析非线性方程是数学中一类重要的方程,它们的求解对很多实际问题具有重要的意义。
然而,非线性方程由于其非线性特性,使得其求解更加困难和复杂。
本文旨在研究和比较非线性方程的求解方法,通过对不同求解方法的分析和比较,来评估它们的优缺点和适用范围。
首先,我们介绍一些常用的非线性方程求解方法。
目前常用的求解方法主要包括迭代法、牛顿法、二分法等。
迭代法是一种比较简单的求解非线性方程的方法。
其基本思想是通过不断迭代逼近方程的解。
具体的迭代公式可以选择不同的形式,如固定点迭代法、牛顿迭代法等。
迭代法的优点是简单易懂,但是其收敛速度较慢,而且在某些情况下可能无法收敛到解。
牛顿法是一种较为常用的非线性方程求解方法。
它利用函数的一阶导数和二阶导数信息,通过不断的迭代逼近方程的解。
牛顿法的优点是收敛速度快,但是在某些情况下可能会出现迭代发散的情况。
二分法是一种比较简单但是有效的非线性方程求解方法。
其基本思想是通过不断地缩小解的搜索范围,直到找到满足方程的解。
二分法的优点是简单易懂,而且收敛性和精度较好,但是其收敛速度相对较慢。
在对以上几种方法进行比较分析之前,我们需要明确一些评价指标。
首先是收敛性,即方法是否能够收敛到解。
其次是收敛速度,即方法迭代到解所需的时间。
还有精度,即方法得到的解与真实解之间的误差。
最后是稳定性,即方法对初始值的选择是否敏感。
通过对以上几种方法的比较分析,我们可以得出以下结论:首先,迭代法是一种简单但是不稳定的求解方法。
其收敛性和精度较差,而且对初始值的选择较为敏感。
因此,在实际应用中,迭代法通常只适用于简单的非线性方程求解。
其次,牛顿法是一种较为常用的求解方法。
它具有收敛速度快、精度高的优点,但是在某些情况下可能会出现迭代发散的情况。
此外,牛顿法对函数的一阶导数和二阶导数的计算要求较高,所以在某些情况下可能不适用。
最后,二分法是一种简单而有效的求解方法。
它具有收敛性好、精度高的优点,但是其收敛速度相对较慢。
非线性方程组的求解方法及其应用

非线性方程组的求解方法及其应用非线性方程组是数学中一类非常重要的问题,其中每个方程都不是线性的。
与线性方程组不同,非线性方程组的求解通常需要借助于数值方法。
本文将讨论一些常见的非线性方程组求解方法,并介绍它们在实际应用中的一些应用。
1. 牛顿法牛顿法是一种非常常见的非线性方程组求解方法。
该方法基于牛顿迭代法原理,将非线性方程组转化为一系列的线性问题。
牛顿法的基本思想是:通过不断地使用一阶导数和二阶导数的信息来逼近方程组的解。
具体地说,在每一轮迭代中,求解一个方程组:$$F(x^{k})+J(x^{k})\Delta x^{k} =0$$其中$F(x)$表示非线性方程组,$x^k$表示第$k$轮迭代的解,$J(x^k)$表示$F(x)$在$x^k$处的雅可比矩阵,$\Delta x^k$表示下降方向,满足$\|\Delta x^k\|\rightarrow 0$。
值得注意的是,牛顿法在每轮迭代中都需要求解一次雅可比矩阵,这需要大量的计算资源。
因此,在实际应用中,牛顿法通常只适用于相对较小的方程组。
2. 信赖域方法相比于牛顿法,信赖域方法更具有通用性。
信赖域方法的基本思想是:在每轮迭代中,通过构造二次模型来逼近目标函数,并在一个信赖域内搜索下降方向。
具体地说,我们在每轮迭代中将非线性方程组$F(x)$在$x^k$处转化为二次模型:$$m_k(\Delta x)=F(x^k)+\nabla F(x^k)^\top \Deltax+\frac{1}{2}\Delta x^\top B_k\Delta x$$其中,$\nabla F(x^k)$是$F(x)$在$x^k$处的梯度,$B_k$是二阶导数信息。
在这里我们假设$B_k$为正定矩阵。
显然,我们希望在$m_k(\Delta x)$的取值范围内找到一个适当的$\Delta x$,使得$m_k(\Delta x)$最小。
因此,我们需要设定一个信赖域半径$\Delta_k$,并在$B_k$所定义的椭圆范围内查找最优的$\Delta x$。
非线性方程组的求解

非线性方程组的求解摘要:非线性方程组求解是数学教学中,数值分析课程的一个重要组成部分,作为一门学科,其研究对象是非线性方程组。
求解非线性方程组主要有两种方法:一种是传统的数学方法,如牛顿法、梯度法、共轭方向法、混沌法、BFGS 法、单纯形法等。
传统数值方法的优点是计算精度高,缺点是对初始迭代值具有敏感性,同时传统数值方法还会遇到计算函数的导数和矩阵求逆的问题,对于某些导数不存在或是导数难求的方程,传统数值方法具有一定局限性。
另一种方法是进化算法,如遗传算法、粒子群算法、人工鱼群算法、差分进化算法等。
进化算法的优点是对函数本身没有要求,不需求导,计算速度快,但是精度不高。
关键字:非线性方程组、牛顿法、BFGS 法、记忆梯度法、Memetic 算法1: 三种牛顿法:Newton 法、简化Newton 法、修改的Newton 法【1-3】 求解非线性方程组的Newton 法是一个最基本而且十分重要的方法, 目前使用的很多有效的迭代法都是以Newton 法为基础, 或由它派生而来。
n 个变量n 个方程的非线性方程组, 其一般形式如下:⎪⎪⎩⎪⎪⎨⎧===0),...,(...0),...,(0),...,(21212211n n n n x x x f x x x f x x x f (1)式(1)中,),...,(21n i x x x f ( i=1, ⋯, n) 是定义在n 维Euclid 空间Rn 中开域 D 上 的实值函数。
若用向量记号,令:⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=n x x x ...X 21,⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎣⎡=⎥⎥⎥⎥⎥⎦⎤⎢⎢⎢⎢⎢⎣⎡====)(...)()(0),...,(...0),..,(0)...,()(2121212,211X f X f X f x x x f x x x f x x x f X F nn n n n则方程组(1)也可表示为:0)(=X F(2) 其中:X ∈R n ,F ∶R n →R 0, F(X) ∈R n , R n 为赋值空间。
数学方法解决非线性方程组

数学方法解决非线性方程组非线性方程组在科学、工程和数学领域中具有重要的应用价值。
解决非线性方程组是一个复杂的任务,而数学方法为我们提供了一种有效的途径。
本文将介绍一些常用的数学方法,以解决非线性方程组的问题。
1. 牛顿法牛顿法是一种常用的数值解法,用于求解非线性方程组。
它基于泰勒级数的思想,通过迭代逼近方程组的根。
具体步骤如下:首先,选择一个初始点作为近似解。
然后,根据函数的导数来计算方程组在该点的切线,找到切线与坐标轴的交点。
将该交点作为新的近似解,继续迭代,直到满足收敛条件。
牛顿法具有快速收敛的特点,但在某些情况下可能会陷入局部极小值点。
2. 雅可比迭代法雅可比迭代法也是一种常见的数值解法。
它将非线性方程组转化为线性方程组的形式,然后通过迭代来逼近解。
具体步骤如下:首先,将非线性方程组表示为矩阵形式,其中包含未知数的系数矩阵和常数向量。
然后,将方程组进行变换,使得未知数的系数矩阵变为对角矩阵。
接下来,选择一个初始解向量,并通过迭代计算新的解向量,直到满足收敛条件。
雅可比迭代法适用于大规模的非线性方程组求解,但收敛速度较慢。
3. 高斯-赛德尔迭代法高斯-赛德尔迭代法是雅可比迭代法的改进版本。
它在每次迭代中使用新的解向量来更新未知数的值,从而加快收敛速度。
具体步骤如下:首先,选择一个初始解向量。
然后,通过迭代计算新的解向量,直到满足收敛条件。
高斯-赛德尔迭代法相对于雅可比迭代法而言,可以更快地收敛到解。
它在求解非线性方程组时具有较好的效果。
4. 弦截法弦截法是一种近似求解非线性方程组的方法。
它通过线段的截断来逼近方程组的根。
具体步骤如下:首先,选择一个初始的线段,其中包含方程组的两个近似解。
然后,通过截取线段上的新点,构造新的线段。
重复这个过程,直到满足收敛条件。
弦截法是一种迭代方法,它可以在不需要计算导数的情况下逼近方程组的根。
但是,它的收敛速度比牛顿法和雅可比迭代法要慢。
总结:数学方法提供了一种有效的途径来解决非线性方程组的问题。
求解非线性方程组的几种方法及程序实现

求解非线性方程组的几种方法及程序实现
求解非线性方程组一直是理论数学和应用数学研究的重点,并采用不同的方法得到准确的结果。
它们可以分为几种类型:
1. 用以绘图的方法解非线性方程组:该方法充分利用结合几何和数理的原理,给出非线性方程组的解,而不用对系数的解的表达式求解手段。
主要是利用可绘图的几何空间分析,它可以帮助理解问题本身,还可以很容易看出非线性方程组的解。
2. 用迭代法求解非线性方程组:这是一种常用的方法,它通过不断迭代收敛求解非线性方程组。
基本思想是通过构造一个迭代函数,其初始值和原始非线性方程组尽可能接近,然后不断迭代收敛求解非线性方程组。
3. 用强调法求解非线性方程系统:这是基于梯度的一种方法,它利用一个概念,即局部线性化,可以降低维数、转化为一个拐点,最后强化搜索全局解。
4. 用牛顿-拉夫逊方法求解非线性方程组:这是一种准确、快速的非线性方程组求解方法,主要利用牛顿迭代法搜索解的收敛性,加上一些拉夫逊的加速策略得到最终的结果。
5. 用幂法求解非线性方程组:幂法也称为指数序列,是一种重要的求解非线性方程组的方法,基本原理是利用指数的累加和误差的减少,从而最终得到非线性方程组的解。
6. 用逐步逼近法求解非线性方程组:逐步逼近法也称为分步变程法,是一种用于求解非线性方程组的简单方法,其基本思想是用不同的参数,在给定的范围内,逐步逼近目标解。
这些方法的程序实现略有不同,可以利用编程语言比如C、Fortran、Python等,编写程序完成求解。
可以采用函数求解、循环求解、行列式求解或者混合的算法等不同的方式实现,甚至可以用深度学习方法求解有些复杂的非线性方程组。
非线性方程组求解

非线性方程组求解非线性方程组在科学、经济等领域中应用广泛,然而,由于非线性方程组的求解困难性,这使得许多问题存在困扰。
非线性方程组求解是一个复杂的过程,在此过程中需要对多种数学技术和算法有深入的了解。
本文就非线性方程组求解这个话题进行了探讨。
一、非线性方程组的定义非线性方程组是指一组包含至少一个非线性方程的方程组。
非线性方程组是一种数据的数学模型,它描述了在特定条件下各个因素之间的相互依赖关系。
非线性方程组的解通常用来预测一个系统的行为,并且是许多数学和科学领域的重要工具。
二、非线性方程组求解的困难性非线性方程组求解的困难性是因为它们存在着多个未知数和多个方程之间的相互依赖关系。
这使得非线性方程组的求解无法通过简单的代数运算来获得,而且通常需要更高级的数学知识和算法。
在许多情况下,非线性方程组可能无法解析地求解,这时需要采用数值方法来求解。
三、非线性方程组求解的方法1. 牛顿迭代法牛顿迭代法是最常用的求解非线性方程组的方法之一。
它将非线性方程组看作一组关于未知量的函数,并利用泰勒公式将其逼近为线性表达式。
由于直接求解非线性方程组比较难,牛顿迭代法通常将其转化为求解一系列线性方程组的问题。
2. 非线性迭代法非线性迭代法是一种通过递推计算的方式求解非线性方程组的方法。
具体地说,非线性迭代法会将非线性方程组转化为一组迭代公式,然后通过不断迭代来逼近方程组的解。
3. 二分法二分法是一种通过对非线性方程组的解进行区间逼近来求解的方法。
二分法的基本思路是通过每次将原来的区间对半分来寻找解所在的范围。
四、结语非线性方程组求解是一个重要的数学问题,应用广泛且具有挑战性。
本文主要介绍了三种很常用的求解方法,即牛顿迭代法、非线性迭代法和二分法。
在实际运用中,这些方法可以单独或者联合使用,以求得更准确的解。
非线性方程(组)的解法

lnim(bn
an )
lim
n
2n1
(b
a)
0
lim
n
an
lim
n
bn
x
取
x
cn
1 2
(an
bn
)为
x 的近似解。
7
二分法
迭代终止准则
an - bn
即
x - cn
bn an 2
2
8
2.2一般迭代法
2.2.1 迭代法及收敛性
对于 f (x) 0 有时可以写成 x (x) 形式 如: x3 x 1 0 x 3 x 1
12
例题
例2.2.1 试用迭代法求方程 f (x) x3 x 1 0
在区间(1,2)内的实根。 解:由 x 3 x 1建立迭代关系
xk1 3 xk 1 k=0,1,2,3…… 计算结果如下:
13
例题
精确到小数点后五位
x 1.32472 1 105
2
14
例题 但如果由x x3 1建立迭代公式
xk1 xk3 1 k 1,2,...
仍取 x0 1.5,则有 x1 2.375 ,x2 12.39 显 然结果越来越大,{xk }是发散序列
15
2.3 Newton迭代法
设x*是方程f (x) = 0的根, 又x0 为x* 附近的一个值,
将f (x) 在x0 附近做泰勒展式:
f (x)
二分法
用二分法(将区间对平分)求解。
令
a1
a, b1
b, c1
1 2
(a1
b1 )
若 f (a1) f (c1) 0,则[a1, c1] 为有根区间,否 则 [c1,b1]为有根区间
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
目前国内外求解非线性方程组已有多种解法,如牛顿迭代法、大范围收敛法、人工智能法[7]等。其中最常用、最基本的是牛顿迭代法,牛顿迭代法在理论上已经达到了比较成熟的阶段,各种以牛顿迭代法为基础的高级收敛法也得到了不断地完善。
牛顿法又叫迭代法,最初是由物理学家艾萨克·牛顿于1736年在Method of Fluxions中公开提出。而事实上该方法已经由Joseph Raphson在1690年在AnalysisAequationum中提出。牛顿法是一种在实数域和复数域上求方程近似解的方法[8]。在方程的根附近有平方收敛是此方法一个很大的优点,此方法也可以用来求非线性方程的重根和复根。另外该方法可以用Matlab来进行数值实验。本文也介绍了牛顿法的Matlab编程。
MATIAB实现拟牛顿法
用Matlab计算式(2-10)程序如图2-3所示
图2-3拟牛顿法程序
计算结果如图2-4所示
图2-4拟牛顿法结果
3
3.1
遗传算法简称GA(Genetic Algorithm),是1962年密歇根大学Holland教授提出的算法,它起源于对生物系统所进行的计算机模拟研究。它是模仿自然界的生物进化理论发展起来的随机全局并行搜索和优化的方法,借鉴了达尔文的进化论和孟德尔的遗传学说[12]。其本质是一种高效、并行、全局的搜索方法,能在搜索过程中自动获取和积累有关知识,并自适应的控制搜索过程以求得最佳解。
下面我们讨论拟牛顿法推导公式。
首先分析如何构造矩阵可以近似Hesse矩阵的逆:
设第k次迭代之后得到点,将目标函数 在 处展成Taylor级数,取一阶近似,得
(2-11)
因此
令 ,则
令 ,同时设Hesse矩阵 可逆,则方程(2-11)可表示为
(2-12)
因此,只需计算目标函数的一阶导数,就可以依据方程(2-12)估计该处的Hesse矩阵的逆。为了用不包含二阶导数的矩阵 , 必须满足
(3) 确定搜索方向 ; 。
(4) 从 处出发,沿 做 维搜索, 。
(5) 若 ,则停止计算,得到最优解 ;否则进行步骤(6)。
(6)令 设 回到步骤(3)。
上面的(3)中,为了得到第k次的搜索方向,我们需要得到此矩阵的对称正定矩阵 ,因此 对于N维的问题,存储空间至少是 ,而且对于大型的复杂的问题而言,计算量太大。这显然是一个极大的缺点。
第三章:详细介绍求解非线性方程组的遗传算法思想,并给出算法,总结算法优缺点。
第四章:结论与展望。本章主要对全文所介绍的三种方法进行了总结。
2
非线性方程组一般表达式如(2-1)
(2-1)
其中, 是定义在 维空间 中的实值函数。引进向量,记
(2-2)
则公式(2-2)可以写成
,(2-3)
牛顿法解非线性方程组的基本思想与解线性方程组的迭代解法相同,它主要包括两个方面:一个是构造合适的迭代格式,另一个是研究迭代格式的收敛性和收敛速度。为了得到方程组的迭代格式,先将其改写成下面等价的方程组,
关键词:非线性方程组牛顿法拟牛顿法遗传算法
1
1.1研究目的
如今,随着现代科学技术的飞速发展以及计算机的广泛普及,非线性的问题成为了一个基本而又重要的问题,因为在工程实践、经济学、信息安全和动力学等等许多领域中被涉及的越来越多,并逐渐占有不可缺少的地位。以致寻找一个好的方法逐渐成为工程应用和数值计算中重要的研究内容[1]。随着对工程数学计算精度的要求越来越高,使研究非线性方程组的求解取得了突破性的进展,从而逐渐成为现代数学研究的一个分支,是解决实际问题的一个重要学科。
声明人签名:
导师签名:
摘
如今,随着现代科学技术的飞速发展以及计算机的广泛普及,非线性的问题成为了工程应用领域和数值计算中重要的研究内容。因为在工程实践、经济学、信息安全和动力学等许多领域中被涉及的越来越多,并逐渐占有不可缺少的地位。传统的求解非线性方程组的方法包括牛顿法、拟牛顿法、梯度法等方法。近年来,在优化领域里诞生了许多运用仿生学的优化算法,如粒子群算法、遗传算法、鱼群算法等等。上述所说的方法各有各的优缺点。根据算法的原理,说明牛顿法、拟牛顿法,遗传算法的使用方法,利用Matlab对方程组进行编程,对比三种算法的数值实验结果,讨论三种算法的优劣势。
(3-3)
式(3-3)称为初始矩阵,此矩阵的每一行向量都代表着一个初始染色体。将矩阵元素 代人公式(3-1),得到优化变量值 ,再由目标函数便可得到各个染色体所对应的目标函数值 ,并将它们从小到大排序,对应的染色体也跟着排序。总约定 是由小到大排序的,相应的矩阵A的行向量也是经过排序的,排在最前面的几个染色体称之为优秀染色体。
BFGS公式
FGS公式和DFP公式的互为对偶公式。这是因为其推导过程与方程(2-14)完全一样,只需要用矩阵 取代 ,同时将 和 互换,最后可以得到
(2-18)
这个公式要优于DFP公式,因此目前得到了最为广泛的应用。
拟牛顿算法具体步骤列为
(1) 给定初值 ,设定收敛判据 ,
(2) 设 ,计算出目标函数 在 处的梯度 = 。
对于非线性方程组的实际问题,在很多情况下不必求出方程组的真实解,而是只需求得一个近似值,此近似值可以通过数值方法来获得,当然此近似值与真实解之间的误差应该控制在实际问题所能接受的范围之内。从而,研究非线性方程组的数值解法有着重要的理论意义和实际应用价值[2-3]。目前,关于求解非线性方程组的数值方法研究比较广泛,传统的求解方法包括牛顿法、拟牛顿法、梯度法等方法[4],但这些方法存在着收敛性差、初值不敏感等不足。人工智能算法[5]是近几年研究的一种新方法,它广泛应用于智能控制,信息安全等方面。本论文通过传统方法与遗传算法[6]的比较,阐述遗传算法在解决实际问题中的优势。
(2-13)
方程(2-13)也称为拟牛顿条件。下面给出两个最常用的构造公式 的构造公式
DFP公式
设初始的矩阵 为单位矩阵I,然后通过修正 给出 ,即
(2-14)
布洛伊登矫正公式如下
(2-15)
(2-16)
DFP公式
DFP算法中定义校正矩阵为
(2-17)
可以验证,这样产生的 对于二次凸函数而言可以保证给定,且满足拟牛顿条件。
3.3遗传算法的实现
(1)编码:为提高效率,采用 区间上的实数编码,即利用如下一对一的线性变换
(3-1)
把初始变化区间 中的第 个优化变量 对应到 区间上的实数 (假定小数点后有确定的长度 ),其中, 可以取0—9中任一个整数。把 称为基因,那么 个优化变量对应的基因串
(3-2)
称作染色体。
(2)父代群体及其矩阵的形成:要想得到方程组初始染色体的群体,只要在 区间上生成n组均匀随机数 ,把它排成一个 的矩阵
(3)变异
变异运算是模拟生物在自然的遗传环境中由偶然因素引起的基因突变,它以很小的概率随机的改变遗传基因某一点的值[16]。在染色体改变二进制编码的系统时,它随机的将染色体的某一个基因由1变成0,或由0变成1。若只有选择和交叉两个过程,而没有变异过程,则无法和初始基因组合以外的空间进行搜索,使计划过程在早期就停滞状态,从而影响解得准确解。为了尽可能在有限的空间中获得准确的优化解,必须采用变异操作这一过程。
3.2
遗传算法的基本操作分为如下三种。
(1)复制
复制是从一个旧群体中选择生命力极强的个体位串产生新种群的过程。具有高度适配值的串位更有可能在下一代中产生一个或多个子孙[13]。复制操作可以通过随机方法来实现。用计算机程序来实现时,首先产生0~1之间均匀分布的随机数,若某串的复制概率为40%,则当产生的随机数在0.40~1.0时,该位串被复制,否则被淘汰。
然后给定一个初始值 代入左端算出 ,再将 代入左端算出 ,…,可得到一个迭代序列
, …,
2.1
设 是函数 的一个近似根,把 在 进行Taylor展开得:
(2-4)
取一阶近似,可得:
(2-5)
设 可逆,则可Biblioteka 迭代公式:(2-6)这就是经典的迭代公式
下面讨论牛顿法的收敛性
定理1:设 在D上三阶可微,且η是非线性方程组的一个实数根,则此迭代格式具有二阶收敛性。
证明:(1)选取迭代公式
(2-7)
则
(2-8)
则
(2-9)
即非线性方程组 在D上存在根 ,则该迭代序列 收敛于 。且当 时,当 时, ,
由上可得此迭代序列 是超线性收敛的。
又因为
所以 ,其中
且有
所以对 ,上式都成立。现在取
则可得
由上可得该迭代格式至少为2阶收敛。
(2) 对 ,有
。
另取 , , 当 。
(2)交叉
复制操作的过程是从旧群体中选择出优秀者,但这一过程不能创造出新的染色体。交叉过程模拟了生物进化过程中的繁殖现象,通过两个染色体的交叉组合,来产生新的优良染色体[14]。交叉的过程为:在匹配时任选两个染色体。随机的选择一点或多点交换位置;交换双亲染色体交换点右边的部分,就可以可得到两个新的染色体数字串[15]。
1.3本文的主要工作
根据构造一个非线性方程组来解决一下几个问题:(1)写出算法的推导公式,(2)用Matlab进行编程,(3)得出结论。
第一章:绪论。本章主要介绍牛顿法,拟牛顿法和遗传算法在国内外研究状况。
第二章:详细介绍求解非线性方程组的经典算法牛顿法和拟牛顿法的思想,并给出算法,进行数值实验,总结算法的优缺点。
拟牛顿法要求每一次迭代时都要得到函数的梯度。通过计算梯度的变化,构造一个目标函数的模型使函数具有超线性收敛性。这类方法大大优于最速下降法,尤其对于困难的问题。另外,因为拟牛顿法不需要求得目标函数的二阶导数,所以有时拟牛顿法比牛顿法更为有效。
遗传算法是一类借鉴生物界的进化规律(适者生存,优胜劣汰遗传机制)演化而来的随机化搜索方法[9]。它是由美国的J.Holland教授1975年首先提出,其主要特点是直接对结构对象进行操作,不存在求导和函数连续性的限定;具有内在的隐并行性和更好的全局寻优能力;采用概率化的寻优方法,能自动获取和指导优化的搜索空间,自适应地调整搜索方向,不需要确定的规则。遗传算法的这些性质,已被人们广泛地应用于组合优化、机器学习、信号处理、自适应控制和人工生命等领域[10]。在现代有关智能计算中它起着至关重要的作用