是否有用于优化连续超松弛(SOR)方法的试探法?


10

据我了解,通过选择参数并使用(准)Gauss-Seidel迭代和上一个时间步长的值的线性组合来进行连续过度松弛是有效的…… 0ω2

uk+1=(ω)ugsk+1+(1ω)uk

我之所以说“准”,是因为包括随时根据此规则更新的最新信息。(请注意,在,这正是高斯塞德尔)。 ω=1ugsk+1ω=1

无论如何,我已经读到最优选择(这样迭代的收敛速度比其他任何方法都快)在空间分辨率接近零时针对泊松问题接近2。其他对称的,对角占优的问题是否存在类似的趋势?也就是说,有没有一种方法可以在不将其嵌入到自适应优化方案中的情况下最佳地选择omega?对于其他类型的问题,还有其他启发式方法吗?松弛不足()最适合哪种问题?ω < 1ωω<1


并不是您的问题,但请参见Salakhutdinov和Roweis,《自适应过松弛边界优化方法》, 2003年,第8页。(自适应加速具有很高的性价比,但无法进行分析,因此不在这里。)
denis 2014年

Answers:


12

阻尼雅可比

假设矩阵具有对角线。如果的光谱位于正实轴的间隔中,则阻尼因子为的Jacobi迭代矩阵 光谱范围为,因此使用最小化光谱半径可得出收敛因子 如果,则该收敛因子非常差,如预期的那样。注意,估计相对容易d d - 1名[ b ] ω 雅可比 = - ω d - 1[ 1 - ω b 1 - ω 一个] ω 选择 = 2ADD1A[a,b]ω

BJacobi=IωD1A
[1ωb,1ωa] ρ选择=1-2
ωopt=2a+b
一个«bb
ρopt=12aa+b=baa+b.
abb使用Krylov方法,但估算相当昂贵。a

连续过度松弛(SOR)

Young(1950)证明了将SOR应用于具有属性A一致的有序性和正实特征值为正的矩阵的最佳结果。给定无阻尼Jacobi迭代矩阵的最大特征值(在这种情况下,假设保证),则SOR的最佳阻尼系数为 ,导致收敛速度为 请注意,当时,接近2 。μ 最大D1AμmaxID1Aμmax<1

ωopt=1+(μmax1+1μmax2)2
ρopt=ωopt1.
ωoptμmax1

注释

现在已经不是1950年了,使用固定的迭代方法作为求解器真的没有意义。相反,我们将它们用作多网格的平滑器。在这种情况下,我们只在意频谱的高端。在SOR中优化松弛因子会使SOR产生很少的高频阻尼(以换取在较低频率上更好的收敛性),因此通常最好使用标准的Gauss-Seidel,对应于SOR中的。对于非对称问题和系数高度可变的问题,松弛度较低的SOR()可能具有更好的阻尼特性。ω=1ω<1

估计两个特征值都很昂贵,但是可以使用一些Krylov迭代快速估计最大特征值。多项式平滑器(使用Jacobi预处理)比阻尼Jacobi的多次迭代更有效,并且更易于配置,因此应首选。有关多项式平滑器的更多信息,请参见此答案D1A

有时有人声称SOR不应用作Krylov方法(例如GMRES)的前提条件。这是因为观察到最佳松弛参数应将迭代矩阵所有特征值放在一个圆上以原点为中心。预处理算子的频谱1

BSOR=1(1ωD+L)1A
(1ωD+L)1A在半径相同但以1为中心的圆上具有特征值。对于条件差的算子,圆的半径非常接近1,因此GMRES会在一定角度范围内看到接近原点的特征值,通常不好为了收敛。实际上,在使用SOR进行预处理时,GMRES可能会合理收敛,尤其是对于已经相当好的条件的问题,但其他预处理器通常更有效。

4
我同意现在不再是1950:o),但是,我不同意不再使用文具迭代求解器。对于基于高阶非线性自由表面求解器(势能流和欧拉方程)的工程应用求解器,我们可以使用固定迭代求解器来达到多网格教科书的效率。在可达到的准确度范围内,效率与预处理的GMRES krylov子空间方法一样好(我们的最新出版物可在此处找到onlinelibrary.wiley.com/doi/10.1002/fld.2675/abstract作为概念验证)。
艾伦·P·恩格西格·卡鲁普

1
您正在使用Gauss-Seidel作为多网格的平滑器(这是SOR之类的方法所在的地方)。如果multigrid表现良好,则也不需要外部Krylov方法(尽管您的论文没有显示这些比较)。一旦多网格开始失去效率(例如超过5次迭代以达到离散化误差),通常值得在多网格循环中使用Krylov方法。
杰德·布朗

整个方法是带有GS型平滑的p多重网格,但是,由于所有算子都是常数,因此完整的方法可以写为平稳迭代方法。您可以将其视为预处理的Richardson方法,其中M是从多重网格方法构造的预处理器。分析已经完成,但尚未发布。实际上,这项工作朝着您建议的另一个方向发展。这项工作中的krylov方法(一种GMRES)被舍弃,然后变成了高阶多网格方法,因为我们发现这同样有效(并且减少了内存需求)。
艾伦·P·恩格西格·卡鲁普

当然,和 -multigrid的使用与外部是否使用Krylov方法无关。当然,与CPU相比,GPU的各种操作的相对成本是不同的,并且实现之间存在差异。理查德森预处理只是一种缺陷校正方法。牛顿和皮卡德(如果是这样写的)非线性方法也是如此。其他非线性方法(NGMRES,BFGS等)也使用历史记录,并且根据非线性的相对强度可能会更好。^ h pphp
杰德·布朗

注意,在多网格平滑器中,有时最好(在架构允许的情况下)使高阶/低阶耦合为乘性。这也扩展了“预处理的理查森”公式。(上周,我在一个会议上与一个人进行了讨论,他想把基本上所有的方法都视为具有嵌套迭代的前提条件的理查森,我认为这与求解器组成的其他声明没有什么特别的好处。我不知道它是否是与您相关,但您的观点使我想起了讨论。)
杰德·布朗
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.