数值优化之非线性方程

一、概述:

1、问题描述

r(x)=0;\quad r:R^{n}\rightarrow R^{n}

r(x)=\begin{bmatrix} r_{1}(x)\\ \vdots \\ r_{n}(x) \end{bmatrix}

是一个向量函数,同时每个分量函数都是光滑的;这一系统可能无解、有唯一解或者多个解.注意在非线性方程组中还有一个显然的特点是方程的数量等于变量的数量。

在这一章节中我们假设向量函数r在包含我们感兴趣的x的一个区域D内是连续可微的;也就是说雅可比矩阵J(x)存在且连续.

2、和优化问题的关系

个人理解:这里是从两个角度分别考虑两者之间的关系,其实并没有严格的等价关系

优化问题:

\min_{x\in R^{n}} f(x)\Rightarrow r(x)=\nabla f(x)=0\\ (x^{*}=argmin f(x)\Rightarrow r(x^{*}) = \nabla f(x^{*})=0)

方程组问题:

r(x)=0\Rightarrow \min f(x)\Leftrightarrow \frac{1}{2}\left \| r(x) \right \|_{2}^{2}=\frac{1}{2}\sum_{j=1}^{n}r_{j}^{2}(x)r(x^{*})=0\Rightarrow x^{*}=argminf(x)=argmin\frac{1}{2}\left \| r(x) \right \|_{2}^{2}

可以看到这里从方程组的角度将其转化为一个优化问题的话,,可以将其看成一个特殊的优化问题:最小二乘问题

进一步的如果当f(x)=\frac{1}{2}\left \| r(x) \right \|_{2}^{2}   的雅可比矩阵非奇异,则我们可以得到

r(x^{*})=0\Leftrightarrow \nabla f(x^{*})=0

二、局部算法

1、牛顿法

1.1算法内容

(这里我们可以用一般到特殊的思想,可以考虑一维情况下的牛顿法然后再将其应用到一般场合)

若n=1,

0=r(x+p)=r(x)+r'(x)p\Rightarrow p=-[r'(x)]^{-1}r(x)\\ x_{k+1} = x_{k}+p_{k}

n\neq 1时,不能直接其求导,而是需要计算雅可比矩阵,迭代格式进一步的转化为

x_{k+1}=x_{k}+p_{k};\quad p_{k}=-(J(x))^{-1}r(x)

这一方法也存在其固有的缺陷,主要体现在以下几点:

  • 初始点选取要靠近最优质点,算法才会表现良好
  • 求雅可比矩阵存在困难
  • 当维数很大时,求解牛顿步的时候耗费很大
  • 在最优点处雅可比矩阵可能是奇异的(这一问题可能导致的结果就是即使算法是收敛的,但是收敛速度也会很慢)

1.2 (局部)收敛性

在证明算法收敛性的时候我们通常需要一些假设条件,在这里我们假设雅可比矩阵具有李普希兹连续性。

 

 (这里的算法(11.1)就是我们上面所说的牛顿法)

基于纯粹牛顿法存在的这些问题,后续又提出了多种牛顿法的修正算法:

2、不精确牛顿法

2.1算法内容

顾名思义,不精确牛顿法就是不精确的求解步长,即求解满足下列不等式的步长:

 ( 此处\eta_{k}又称为强迫序列,他们用不同的算法产生(第七章有提到))

 2.2(局部)收敛性

 3.BROYDEN’S 方法

这一方法的特点就是不直接求取雅可比矩阵,而是采取近似的手法,寻找雅可比矩阵的近似矩阵

在这一章节中我们有以下符号定义

并且两者需要满足这一关系式

其中B_{k+1}就是我们要求的雅可比矩阵的近似矩阵,有很多公式求这一矩阵,但是最常用的是下面这个: (并且有定理说明利用这一公式求到的矩阵最为满足割线方程)

 3.1算法内容

 这里算法迭代包含两步,一个是利用线搜索技巧更新x,另一个是利用之前提到的公式更新B_{k}

3.2(局部)收敛性

在一些假设条件下,这一方法达到了局部超线性收敛

 

三、一些实用的方法

为了更好的刻画一个迭代是否好坏,我们需要引入一个merit function:

在非线性方程中,通过将向量r的n个分量进行某种组合,得到merit function

其中使用最广泛的是下面这个函数:

3.1线搜索方法 

这一节中的线搜索方法就是将牛顿法和线搜索技巧相结合,不再使用单位步长,而是通过循环选择满足wolfe条件的步长。

3.2信赖域方法

这一方法中的子问题模型如下(也是用于寻找步长)

 

四、连续\同调方法

考虑这样的一个连续性方法也是因为之前我们提到的牛顿法的缺陷(要求在解的附近其雅可比矩阵是非奇异的.)

这一方法的基本思想就是将原问题进行一个是转化,用一串连续的问题逼近原问题

r(x) \Rightarrow H(x,\lambda)=0

将其转化为一个连续函数之后,上一步迭代点就可以作为下一步迭代的初始点,从而解决了牛顿法对初始点选取的严格要求.而这里怎么取构造H(x,\lambda)这个函数,我们的想法是根据\lambda 的不同取值,这一函数可以实现从简单函数到我们想要求的目标函数的转化;

为了避免函数在往后走的过程中出现跳跃的情况,我们选择用弧长的表达式来描述变量的变化,即:

下面我们进一步分析如何求解这样的方程:

我们先对其求全微分得到

在假定x的稀疏矩阵非奇异的情况下可以找到一个满足上述方程的解,从而进一步利用常微分方程的求解方法得到最后的解. 

 五、总结

这一章主要是介绍了求解非线性方程组的一系列方法,主要是从介绍了牛顿法及其修正方法;进而从分别使用线搜索技巧和信赖域技巧修正,最后介绍了一种连续性方法。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值