松弛(SOR)迭代法

article/2025/1/12 8:45:59

        松弛迭代法是在雅可比迭代法和高斯——赛德尔迭代法的基础上,以w>0为松弛因子,建立迭代格式如下:

\widetilde{x_{i}}^{k+1}=\left ( b_{i}-\sum_{j=1}^{i-1}a_{ij}x_{j}^{(k+1)}-\sum_{j=i+1}^{n}a_{ij}x_{j}^{(k)} \right )/a_{ii}

x_{i}^{(k+1)}=\left ( 1-w \right )x_{i}^{(k)}+w\widetilde{x_{i}}^{(k+1)}=x_{i}^{(k)}+w\left ( \widetilde{x_{i}}^{(k+1)} -x_{i}^{(k)}\right )\left ( i=1,2, ...,n\right )

x_{i}^{(k+1)}=x_{i}^{(k)}+w\left ( b_{i}-\sum_{j=1}^{i-1}a_{ij}x_{j}^{(k+1)} -\sum_{j=i}^{n}a_{ij}x_{j}^{(k)}\right )/a_{ii}

        我们将线性方程组AX=b的系数矩阵A分解成一个对角矩阵D、一个下三角矩阵L和一个上三角矩阵D,即A=D-L-U,则有:

X^{(k+1)}=X^{(k)}+wD^{-1}\left [ b+LX^{(k+1)}+(-D+U)X^{(k)} \right ]  

\rightarrow  (I-wD^{-1}L)X^{(k+1)}=[I+wD^{-1}(U-D)]X^{(k)}+wD^{-1}b

\rightarrow  D^{-1}(D-wL)X^{(k+1)}=D^{-1}[D+w(U-D)]X^{(k)}+wD^{-1}b

\rightarrow  (D-wL)X^{(k+1)}=[D+w(U-D)]X^{(k)}+wb

\rightarrow  X^{(k+1)}=(D-wL)^{-1}[(1-w)D+wU]X^{(k)}+(D-wL)^{-1}wb

        当w=1时,松弛迭代法即为高斯——赛德尔迭代法;当w>1时为超松弛迭代法,当w<1时为低松弛迭代法。

        SOR方法收敛的必要条件是:0<w<2。

1. 松弛(SOR)迭代法的matlab代码

function [X0,err]=sor(A,b,X0,w,max1)
%输入  -A代表线性方程组AX=b的系数矩阵
%      -b代表线性方程组AX=b右侧的数值
%      -X0代表线性方程组AX=b进行松弛迭代法求解的迭代初值
%      -w代表松弛因子
%      -max1代表迭代的次数
%输出  -X0代表通过松弛迭代法求解线性方程组AX=b的解
[N,N]=size(A);
L=-tril(A,-1);
U=-triu(A,1);
D=A+L+U;
B=inv(D-w*L)*((1-w)*D+w*U);
f=inv(D-w*L)*w*b;
for k=1:max1X0=B*X0+f;
end
err=abs(norm(A(:,:)*X0(:)-b(:),2))

        在命令行窗口中输入:

>> A=[4 -1 1;4 -8 1;-2 1 5];

>> b=[7 -21 15]';

>> X0=[0 0 0]';

>> w=1.2;

>> max1=20;

>> sor(A,b,X0,w,max1)

        最后得到的结果如下:

err =

   2.3375e-09


ans =

    2.0000
    4.0000
    3.0000

2. 松弛(SOR)迭代法的python代码

import numpy as npdef sor(A,b,X0,w,max1):'''A代表线性方程组AX=b的系数矩阵b代表线性方程组AX=b右边的部分X0代表高斯—赛德尔迭代的初始值w代表松弛因子max1代表迭代的次数'''n=np.shape(A)[0]L=-np.tril(A,-1)U=-np.triu(A,1)D=A+L+UB=np.dot(np.linalg.inv(D-w*L),((1-w)*D+w*U))f=np.dot(np.linalg.inv(D-w*L),w*b)for i in range(max1):X0=np.dot(B,X0)+ferr=np.linalg.norm(np.dot(A,X0)-b,ord=2)return X0,errn=3
#线性方程组AX=b右边的部分
b=np.array([[7],[-21],[15]])
#线性方程组的系数矩阵
A=np.array([[4,-1,1],[4,-8,1],[-2,1,5]])
#迭代的初值
X0=np.array([[0],[0],[0]])
#松弛因子
w=1.2
#迭代的次数
max1=20
#进行松弛迭代法求解线性方程组AX=b的解
X,err=sor(A,b,X0,w,max1)
#输出由松弛迭代法求得的线性方程组AX=b的解
print("X={}\nerr={}".format(X,err))

         最后的输出结果如下:

X=[[2.]
 [4.]
 [3.]]
err=2.3374567113095046e-09


http://chatgpt.dhexx.cn/article/20UGfhZZ.shtml

相关文章

拉格朗日松弛算法在组合优化问题中的应用

拉格朗日松弛算法在组合优化问题中的应用 轨道交通的应用背景问题的叙述模型的建立侧线内的车辆调度算法Lagrangian松弛算法数值实验写在最后 轨道交通的应用背景 接下来说的是&#xff0c;拉格朗日松弛算法应用的背景&#xff0c;读者可以大概阅读。 近年来我国经济不断发展&…

数值分析-超松弛迭代法

超松弛迭代法 【简介-源自百度百科】 D. M. Young于20世纪70年代提出逐次超松弛(Successive Over Relaxation)迭代法&#xff0c;简称SOR方法&#xff0c;是一种经典的迭代算法。它是为了解决大规模系统的线性等式提出来的&#xff0c;在GS法基础上为提高收敛速度&#xff0c…

项目管理基础知识

目录 项目的概念 项目估算 进度管理 练习题 风险管理 风险分析 练习题 项目的概念 项目定义的三层意思&#xff1a; 一定的资源约束&#xff1a;时间资源&#xff0c;经费资源&#xff0c;人力资源一定的目标一次性任务 里程碑 是项目中的重要时点或事件持续时间为零…

拉格朗日松弛入门

拉格朗日乘数法&#xff1a; 参考知乎&#xff1a;如何理解拉格朗日乘子法&#xff1f; 拉格朗日松弛方法的基本原理&#xff1a;将造成问题难的约束吸收到目标函数中&#xff0c;并使得目标函数仍保持线性&#xff0c;使得变换后的问题可以在多项式时间求解或者尽管不能在多…

实时调度算法之最低松弛度优先算法

最低松弛度优先即LLF(Least Laxity First)算法 该算法是根据任务紧急(或松弛)的程度&#xff0c;来确定任务的优先级。任务的紧急程度愈高&#xff0c;为该任务所赋予的优先级就愈高&#xff0c;以使之优先执行。例如&#xff0c;一个任务在200ms时必须完成&#xff0c;而它本…

软考网工-关于松弛时间的例题

下图是一个软件项目的活动图&#xff0c;其中顶点表示项目里程碑&#xff0c;连接顶点的边表示包含的活动&#xff0c;则里程碑(6)在关键路径上&#xff0c;活动FG的松弛时间为(7)。 (6)-A.BB.CC.DD.I (7)-A.19B.20C.21D.24 转载于:https://blog.51cto.com/1331433/1307191

互补松弛性质

一.影子价格 影子价格&#xff08;shadow price&#xff09;&#xff0c;又称最优计划价格或计算价格。它是指依据一定原则确定的&#xff0c;能够反映投入物和产出物真实经济价值、反映市场供求状况、反映资源稀缺程度、使资源得到合理配置的价格。影子价格反映了社会经济处于…

Gantt(甘特图)与PERT(项目计划评审技术)图,项目关键路径和松弛时间

甘特图也叫做进度管理图。 他是一种简单的水平条形图&#xff0c;它以日历为基准描述项目任务&#xff0c;水平轴表示日历时间线&#xff0c;每一个线条表示一个任务&#xff0c;任务名称垂直的列在左边列中&#xff0c;图中的线条的起点和终点对应水平轴上的时间&#xff0c;…

网络工程师项目管理关键路径和松弛时间计算

1.关键路径&#xff08;Critical Path&#xff09;从起点到终点的花费时间最长的一条为关键路径。 注意&#xff1a;在关键路径上的任务的松弛时间为0 ●最早开始时间&#xff1a;在关键路径上&#xff0c;从开始到该任务的最早执行的时间 ●最晚开始时间&#xff1a;关键路…

网络规划和设计 - 关键路径法 CPM(关键路径、松弛时间)

文章目录 1 概述2 相关计算2.1 关键路径2.2 松弛时间 3 扩展3.1 网工软考真题 1 概述 #mermaid-svg-HR43o704ZGIQnRTl {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-HR43o704ZGIQnRTl .error-icon{fill:#552222;}#…

项目管理基础知识关键路径和松弛时间

某软件项目的活动图如下图所示,其中顶点表示项目里程碑,连接顶点的边表示包 含的活动,边上的数字表示活动的持续时间(天),则完成该项目的最少时间为(1 )天。活 动FG的松驰时间为(2 )天 1、A&#xff1a;20&#xff0c;B&#xff1a;37&#xff0c;C&#xff1a;38&#xff0c;…

软考考点笔记之松驰时间的计算

PERT&#xff08;Program/Project Evaluation and Review Technique&#xff09;即计划评审技术&#xff0c;PERT是利用网络分析制定计划以及对计划予以评价的技术。 构造PERT图&#xff0c;需要明确四个概念&#xff1a;事件、活动、松弛时间和关键路线。 事件&#xff08;E…

自动驾驶路径规划论文解析(5)

解析论文&#xff1a;A Sampling-Based Local Trajectory Planner for Autonomous Driving along a Reference Path 文章依然采用了sampling based method 进行规划。 主要包含四个部分&#xff1a;参考线优化&#xff0c;空间曲线规划&#xff0c;速度曲线规划&#xff0c;代…

2023深圳杯 C题无人机协同避障航迹规划 论文(包含代码)

论文33页、包括每一小问的代码 目录 无人机协同避障航迹规划 摘要 一、 问题重述 1 . 1 背景 1 . 2 重述

自动驾驶路径规划论文解析(3)

本文解析文章&#xff1a;On-Road Trajectory Planning for General Autonomous driving with enhanced tunability 文章稀松平常&#xff0c;没什么创新点&#xff0c;基本上还是用的Dolan组的惯有伎俩。横向位置规划加纵向速度规划&#xff0c;但文章里面强调了参数的调节问题…

网络规划设计师论文汇总(2012-2021)考前冲刺来一波真题

软考资料需要加软考交流群362288893 2012年网络规划设计师考试真题&#xff08;论文&#xff09; ●论网络规划与设计中的VPN技术 随着网络技术的发展和企业规模的壮大&#xff0c;企业在全球各地的分支机构不断增多&#xff0c;员工及各分支机构要求能随时随地安全可靠地访问…

归档--网络规划师的论文写作心得-指南

时间戳&#xff1a;2020年11月9日14:11:23 主题&#xff1a;网络规划师的论文写作 一、基本点介绍【考前买的资料基本都会写】 论文分为摘要和正文两部分&#xff0c;摘要的字数在330字以内&#xff0c; 论文的字数在2750&#xff0c;建议写到2200字左右。 后面附上考前买的…

自动驾驶路径规划论文解析(4)

本文解析论文Runtime-Bounded Tunable Motion Planning for Autonomous Driving 论文的两个点我认为都比较值得应用&#xff0c;接下来有时间我会进行测试&#xff0c;但估计是没时间的&#xff0c;最近很繁忙。 总结一下&#xff1a; 第一&#xff0c;论文依然采用了sampling …

自动驾驶路径规划论文解析(2)

对论文 Focused Trajectory Planning for Autonomous On-Road Driving的解析 本文对 Focused Trajectory Planning for Autonomous On-Road Driving此篇论文进行解析&#xff0c;这批论文来自CMU Dolan小组的成果&#xff0c;此小组参加过Darpa城市赛并取得不错名次&#xff0c…

导航和路径规划-论文心得

导航技术前言&#xff1a; 导航技术的移动机器人技术的核心和关键技术。自主移动机器人的导航就是让机器人可以自主按照内部预定的信息&#xff0c;或者依据传感器获取外部环境进行相应的引导&#xff0c;从而规划出一条适合机器人在环境中行走的路径。定位&#xff0c;就是机…