最优松弛因子的选择方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SOR方法中最优松弛因子的几种选择方法
学习了解线性方程组的SOR方法后,老师给我们强调了SOR方法中松弛因子的重要性,但却并没有明确告诉我们如何更好的选取最佳的松弛因子,我想这可能是暗示我们自己课下去查阅资料研究。
所以我这次选取了这一课题作为我的一次大作业。
通过学习我们知道了SOR方法中的松弛因子w的取值直接影响到算法的收敛性和收敛速度。
w选取得当,可以加快收敛速度,甚至可以使发散的迭代变成收敛。
因此,参数w的选取是SOR方法能否成功的关键。
为了保证迭代过程的收敛,必须要求0<w<2,而对超松弛法取1<w<2。
通过查阅资料,我找到了三种对超松弛因子的的选取的简单实用的方法,这些方法还能够运用到计算机算法中去,便于算法的实行。
一、松弛因子的选择方法
1.二分比较法
将松弛因子w的区间(1,2)进行二分,每个小区间的长度为1/2,w取区间中点值3/2,按照课本上(3.2.15)的公式迭代,求出迭代次数k。
如果k不超过指定的发散常数,则可确定w的值;否则将(1,2)区间四等分,每个小区间的长度为1/4,w取各分点的值继续迭代。
一般地,将区间(1,2)二分M次,每次二分步长为1/2^M,w依次取各二分点的值,同样按照课本中(3.2.15)的公式迭代,并求出迭代次数k值。
如果k值不超过指定的发散常数,则可确定w的值,这种方法总能找到一个不超过指定发散常数的w值。
用算法描述如下:第一步,给定发散常数RADIATION的值,令二分次数M的初始值为1;
第二步,将区间(1,2)二分M次,每次二分的步长为1/2^M,w取各二分点的值;
第三步,对每一个二分点按照课本中(3.2.15)中公式迭代求出迭代次数K;
第四步,比较各二分点的K值找出最少迭代次数的Kmin值;
第五步,判断若Kmin小于RADIATION,则结束;否则二分次数M++,跳至第二步继续二分。
2.逐步搜索法
将w的取值区间(1,2)进行M等分,w分别取1+1/M,1+2/M,1+3/M,……,1+(M-1/M)。
通过课本中(3.2.15)的公式依次对同一个精度要求求出迭代次数k的值,并从中选出最优松弛因子w的值。
用算法描述如下:
第一步,给定等分数M和精度要求e的值,令w的初始值为1;
第二步,令p=1,2,3……,M-1,重复步骤三至五;
第三步,Wp=1+(p/M);
第四步,按照课本中公式(3.2.15)进行迭代,找出符合精度要求e的迭代次数Kp;
第五步,比较找出Kp值最小的Wp为最优松弛因子w值。
3.黄金分割法
依据黄金分割的法的思想,通过计算机自动选取最优松弛因子的近似值,其算法描述如下:第一步,对(1,2)区间进行第一次的的0.618分割,区间边界a1=1,b1=2,在(a1,b1)区间分割出黄金点point1=a1+0.618(b1-a1),进行SOR法的迭代,求出迭代次数K的值。
如果迭代次数没有超过规定的发散常数,迭代结束,否则跳至第二步;
第二步,在(1,1.618)和(1.618,2)之间进行第二次的黄金分割,找出分割点point2=a2+0.618(b2-a2),其中a2和b2是新分割区间的左右边界。
找出迭代次数最少的w。
若发散则改变区间继续进行黄金分割。
二、三种方法的比较
二分比较法、逐步搜索法和黄金分割法三种方法都可以直接用计算机查找最优松弛因子,是三种比较快捷实用的方法,我们很容易通过实验得到三种方法所得到的松弛因子的结果是相同的,但也容易看出二分比较法比较快捷,因为它在使用时可以根据收敛的需要,不断修改发散常数,从而找出符合要求的最优松弛因子,这样就更容易搜索到最优松弛因子。
但是逐步搜索法和黄金分割法也有它们的巧妙性,使用时可以依据具体情况而定。