养老保险问题建模分析.ppt
- 文档编号:18866194
- 上传时间:2024-02-03
- 格式:PPT
- 页数:73
- 大小:4.65MB
养老保险问题建模分析.ppt
《养老保险问题建模分析.ppt》由会员分享,可在线阅读,更多相关《养老保险问题建模分析.ppt(73页珍藏版)》请在冰点文库上搜索。
科学计算与数学建模中南大学数学科学与计算技术学院中南大学数学科学与计算技术学院养老保险问题养老保险问题养老保险问题养老保险问题第四章养老保险问题非线性方程求根的数值解法养老保险问题养老保险问题4.1非线性方程求根的数值方法非线性方程求根的数值方法4.2养老保险模型的求解养老保险模型的求解4.34.1.1问题的引入养老保险是保险中的一种重要险种,保险公司将提供不同的保险方案供以选择,分析保险品种的实际投资价值。
也就是说,如果已知所交保费和保险收入,则按年或按月计算实际的利率是多少?
或者说,保险公司需要用你的保费实际至少获得多少利润才能保证兑现你的保险收益?
4.1养老保险问题4.1.2模型分析假设每月交费200元至60岁开始领取养老金,男子若25岁起投保,届时养老金每月2282元;如35岁起保,届时月养老金1056元;试求出保险公司为了兑现保险责任,每月至少应有多少投资收益率?
这也就是投保人的实际收益率。
4.1.3模型假设这应当是一个过程分析模型问题。
过程的结果在条件一定时是确定的。
整个过程可以按月进行划分,因为交费是按月进行的。
假设投保人到第月止所交保费及收益的累计总额为,每月收益率为,用分别表示60岁之前和之后每月交费数和领取数,N表示停交保险费的月份,M表示停领养老金的月份。
4.1.4模型建立在整个过程中,离散变量的变化规律满足:
在这里实际上表示从保险人开始交纳保险费以后,保险人账户上的资金数值。
MNkqrFFNkprFFkkkk,.,)1(1,.,1,0,)1(114.1.4模型建立我们关心的是,在第M月时,FK能否为非负数?
如果为正,则表明保险公司获得收益;如为负,则表明保险公司出现亏损。
当为零时,表明保险公司最后一无所有,所有的收益全归保险人,把它作为保险人的实际收益。
从这个分析来看,引入变量FK,很好地刻画了整个过程中资金的变化关系;特别是引入收益率r,虽然它不是我们所求的保险人的收益率,但从问题系统环境中来看,必然要考虑引入另一对象保险公司的经营效益,以此作为整个过程中各量变化的表现基础。
4.1.5模型求解在(4.1.4)中两式,取初始值,我们可以得到:
MNkrrqrFFNkrrprFFNkNkNkkkk,.,1,1)1()1(,.,2,1,0,1)1()1(0再分别取,k=N和k=M,并利用FM=0可以求出:
它是一个非线性方程。
0)1)(1()1(pqrpqrNMM代数方程求根问题是一个古老的数学问题。
早在16世纪就找到了三次、四次方程的求根公式。
但直到19世纪才证明了次的一般代数方程式是不能用代数公式求解的,因此需要研究用数值方法求得满足一定精度的代数方程式的近似解。
在工程和科学技术中许多问题常归结为求解非线性方程式问题。
正因为非线性方程求根问题是如此重要和基础,因此它的求根问题很早就引起了人们的兴趣,并得到了许多成熟的求解方法。
下面就让我们首先了解一下非线性方程的基本概念。
5n4.2.1根的搜索相关定义定义4.2.1设有一个非线性方程,其中为实变量的非线性函数。
(1)如果有使,则称为方程的根,或为的零点。
(2)当为多项式,即则称为次代数方程,包含指数函数或者三角函数等特殊函数时,则称为特殊方程。
(3)如果,其中。
为正整数,则称为的重根。
当时称为的单根。
()0fx=()fxx()fxx*()0fx*=x*()fx()110()00nnnnnfxaxaxaxaa-=+=L()0fx=n()fx()0fx=()()()mfxxxgx*=-()0gx*mx*()0fx=m1m=x*()0fx=4.2非线性方程求根的数值方法定理4.2.1设为具有复系数的次代数方程,则在复数域上恰有个根(重根计算个)。
如果为实系数方程,则复数根成对出现,即当:
为的复根,则亦是的根。
定理4.2.2设在连续,且,则存在,使得,即在内存在实零点。
()fx,ab()()0fafb(),xab*()0fx*=()fx,)ab(()0fx=n()0fx=nrr()0fx=()0iabb+()0fx=()0fx=iab-4.2.2逐步搜索法对于方程,为明确起见,设,,从区间左端点,出发按某个预定步长(如取,为正整数),一步一步地向右跨,每跨一步进行一次根的收索。
即检查节点上的函数值的符号,若,则即为方程解。
若,则方程根在区间中,其宽度为。
bahN-=()0fx=,xab()0fa0xa=hNkxakh=+()kfx()0kfx=kx()0kfx1,kkxx-h4.2.2逐步搜索法例4.2.1考察方程由于则在内至少有一个根,设从出发,以为步长向右进行根的搜索。
列表记录各节点函数值的符号。
可见在内必有一根。
表4.2.1的符号+-的符号1.51.00.50x()310fxxx=-=()()010,250ff=-()fx()0,20x=0.5h=1.0,1.5()fx()fx4.2.2逐步搜索法易见此方法应用关键在步长的选择上。
很明显,只要步长取得足够小,利用此法就可以得到任意精度的根,但缩小,搜索步数增多,从而使计算量增大,用此方法对高精度要求不合适。
hhh4.2.3二分法对非线性方程:
其中在连续且无妨设在内仅有一个零点。
求方程()的实根的二分法过程,就是将逐步分半,检查函数值符号的变化,以便确定包含根的充分小区间。
()0fx=()4.2.1()fx,ab()()0fafb()fx,ab4.2.1x*,ab二分法的步骤如下:
记,第1步:
分半计算,将分半。
计算中点及。
若,则根必在内,否则必在内,(若,则),于是得到长度一半的区间含根,即,且。
第步(*分半计算)重复上述过程。
1aa=1bb=2x11ba1122,axabD1122,xbabD22111()2baba-=-()1k=11a,b()1fx11()()0fafx1()0fx=1xx*=22,ab22()()0fafbk设已完成第1步第步,分半计算得到含根区间,且满足,即,即,则第k步的分半计算:
,且有:
122,kkababab缮L,kkxab*11()2kkkbaba-=-2kkkabx+=()122kkkkbaxxba*-()4.2.21k-()()0kkfafb确定新的含根区间,即如果,则根必在内,否则必在内,且有:
。
总之,由上述二分法得到序列,由(4.2.2)有:
。
可用二分法求方程的实根的近似值到任意指定的精度,这是因为:
设为给定精度要求,则由,可得分半计算次数k应满足:
11,kkab+()()0kkfafx()0fx=x*2kkbaxxe*-二分法的优点是方法简单,且只要求连续即可,可用二分法求出在内全部实根,但二分法不能求复根及偶数重根,且收敛较慢,函数值计算次数较多。
()()lnlnln2bake-()4.2.3()fx()0fx=,ab例4.2.2用二分法求在1,2内一个实根,且要求精确到小数点后第三位。
(即)解由代入公式(4.2.3),可确定所需分半次数为,计算结果部分如下表:
(显然)。
6()1fxxx=-*31210kxx-30.510e-=1,2)ab=(11k=
(1)10,
(2)0ff=-1.1342771.1347661.133789111.1337891.1347661.132813100.42684151.1347661.1367191.13281390.0206191.1367191.1406251.1328138K表4.2.2部分计算结果kakbkx()kfx00959799.00045915.04.2.4迭代法迭代法是一种逐次逼近法。
它是求解代数方程,超越方程及方程组的一种基本方法,但存在收敛性及收敛快慢的问题。
用迭代法求解的近似根,首先需将此方程化为等价的方程:
然而将化为等价方程的方法是很多的。
()0fx=(4.2.4)()0fx=()xgx=(4.2.4)例4.2.3对方程可用不同的方法将其化为等价方程:
(1)
(2)()sin0.50fxxx=-=1sin0.5()xxgx=+D()12sin0.5()xxgx-=-D定义定义4.2.2(迭代法)(迭代法)设方程为取方程根的一个初始近似,且按下述逐次代入法,构造一个近似解序列:
这种方法称为迭代法(或称为单点迭代法),称为迭代函数。
若由迭代法产生序列有极限存在,即,称为收敛或迭代过程收敛,否则称迭代法不收敛。
若连续,且,则,即为方程的解(称为函数的不动点),显然在由方程转化为等价方程时,选择不同的迭代函数,就会产生不同的序列(即使初值选择一样)且这些序列的收敛情况也不会相同。
()xgx=0x()()()10211,kkxgxxgxxgx+=L(4.2.5)()gxkx*limkkxx=kx(4.2.5)()gx*limkkxx=()1limlim()lim()kkkkkkxxgxgxgx*+=(4.2.4)x*()gxx*()0fx=()xgx=()gxkx0x例4.2.4对例4.2.1中方程考查用迭代法求根由计算可以看出,我们选取的两个函数,分别构造序列收敛情形不一样(初值都取为1),在中收敛且,在中计算出无定义。
()()()111sin0.5,0,1,2,sin0.5,0,1,2,kkkkaxxkbxxk+-+=+=-=LL()()12,gxgxkx()akx1.497300x*()b()()114sin0.5sin1.987761x-=-1.49730061.4972895-0.4965551.04953030.0236011.47382021.4973007-1.4877611.49715240.5235991.34147111.01.00k()kax()kbx()()kafx73.610-表4.2.3部分计算结果因此对用迭代法求方程的近似根,需要研究下述问题:
(1)如何选取迭代函数使迭代过程收敛。
(2)若收敛较慢时,怎样加速收敛。
()0fx=()gx()1kkxgx+=kxkx迭代法的几何意义:
从几何意义看,求方程根的问题,是求曲线与直线交点的横坐标,当迭代函数的导数函数在根处满足下述几种条件时,从几何上来看迭代过程的收敛情况如图4.2.1。
从曲线上一点出发,沿着平行于x轴方向前进交于一点再从点沿平行于y轴方向前进交于点,显然的横坐标就是,继续这过程就得到序列,且从几何上观察知道在
(1),
(2)情况下收敛于,在(3),(4)情况不收敛于。
()xgx=()ygx=yx=x*()gx()xgx*()1kkxgx+=()ygx=()()000,pxgx0Q0Q()ygx=1p1p()10xgx=kxkx*xkx*xyx=图4.2.1迭代法的几何意义图由迭代法的几何定义知,为了保证迭代过程收敛,应该要求迭代函数的导数满足条件。
当时,原方程在中可能有几个根或迭代法不收敛,为此有关于迭代收敛性的定理4.2.3。
定理4.2.3设有方程,
(1)设于一阶导数存在,
(2)当时,有,(3)满足条件:
则有:
在上有唯一解,对任意选取初始值,迭代过程收敛即,误差估计()1gx,xab,abg()xx=g()xa,ba,bxg()a,bx()1,gxLxabg()x1og()xx=,ab*x3o*111kkkxxxxL+-4o*10,(1,2,.)1kkLxxxxkL-=-2o0,xab*klimxx=1(),k0,1,.kkxgx+=证明只证,由定理条件,当取时,则有记误差,由中值定理有:
,其中在与之间,即,又由条件有:
,由此递推可得:
,由故。
由迭代公式有:
,其中c在与之间,于是:
即。
2o3o4o*111*()-Lx(1-L)kkkkkkkkkxxxxxxxxxxxxxxx+-=-=-*11111kkkkkLxxxxxxLL+-*klimxx=2o0,xab,(1,2,.)kxabk*kkexx=-*1()()()()kkkxxgxgxgcxx+-=-=-c*xkx,cab*2*120.kkkkxxLxxLxxLxx-01L*1()kkkxxgcxxLxx+-3o2o1()kkxgx+=1111()()()()kkkkkkkkxxgxgxgcxxLxx+-=-=-1kx-kx3o由上面反复利用代入上式中有:
由定理结果可知,当计算得到的相邻两次迭代满足条件时,则误差。
因此在计算机上可利用来控制算法终止,但要注意时,即使很小,误差仍然可能很大。
另外,当已知及及给定精度要求时,利用定理结果可确定使误差达到给定精度要求时所需要迭代次数k,事实上,由解得:
4o11kkkkxxLxx+-*1121210111L.11kkkkkkkkLxxxxxxLLLxxxxLL+-3o1kkxxe+-*11kxxLe-*kxx-1kkxxe+-1L1kkxx+-01,xx
(1)LLe4o*101kkLxxxxLe-=-定理条件,在一般情况下,可能对大范围的含根区间不满足,而在根的邻近是成立的,为此有如下迭代过程的局部收敛性结果。
定理4.2.4(迭代法的局部收敛性)设给定方程
(1)设为方程的解,
(2)设在的邻域内连续可微,且有,则对任意初值(在的邻域内),迭代过程,收敛于。
()1,gxLxabg()xx=*xg()x*x*()1gx0x*x1()kxgx+=0,1,.k=*x例4.2.5由迭代法解方程()ln
(2)0fxxx=-+=解
(1)显然有即知方程于0,2及-1.9,-1内有根记为。
(2)考察取初值迭代过程的收敛性,其中迭代函数为,显然,及为增函数,则当时,又由则有。
于是由定理4.2.4可知,当初值时,迭代过程收敛,如果要求的近似根准确到小数点后第6位(即要求)由计算结果可知。
且,则,。
(0)
(2)0,(1.9)
(1)0ffff-12,xx*00,2x1ln
(2)kkxx+=+1()ln
(2)gxx=+1(0)ln
(2)0.6930g=1
(2)ln(4)1.3682g=1()gx02x10()2gx1()2gxx=+111()(0)1(0,2)22gxgxx=+1ln
(2)kkxx+=+*0021.9,1,xxx-*2xe2xx=+22()xxegxD=-=2g()xxe=22g()g
(1)0.3861x1.9,1x-2()1.9,1gx-01.9,1x-k12kxxe+=-01x=-*2121.841405660xx-812()0.210fx-淮()0fx=()gxkx1()kkxgx+=关于迭代公式的加工:
对于收敛的迭代过程,只要迭代足够多次,总可以使结果达到任意的精度。
但有时迭代收敛缓慢,从而使计算量变得很大,因此迭代过程的加速是一个很重要的课题。
设为根的某个预测值,用迭代公式校正一次得:
由中值定理:
,介于之间,若改变不大。
近似地取某常数,则由10()xgx=*10()()xxgxxx-=-x*0xx,()gx*10101()11LxxLxxxxxLL-藁-0x*x可以期望按上式右端求得的是比更好的近似值。
若将每得到一次改进值算作一步,并用和分别表示第步的校正值和改进值,则加速迭代计算方案如下:
校正:
改进:
由于使用参数,这在实际应用中不方便,下面进行改进计算。
2101101()111LLxxxxxxLLL=-=+-xkxkk1()kxgx+=k111k()1kkLxxxxL+=+-L设的某近似值,将校正值再校正一次得:
,由与得:
由此得:
。
这样将上式右端作为改进公式就不再含有导数信息了。
但需要用到两次迭代的结果进行加工。
如果仍将得到一次改进值作为一步,则计算过程如下:
上述处理过程称为(埃特金)方法。
*x0x10()xgx=21()xgx=*21()xxLxx-*10()()xxLxx-2*02121201201222xxxxxxxxxxxxx-+-+2()*01*21xxxxxxxx-k11k1k1k1k12k1k1k1()()2kkkxgxxgxxxxxxxx+=-=-+%校正:
再校正:
()改进:
4.2.5Newton公式对于方程,应用迭代法时先要改写成,即需要针对构造不同的合适的迭代函数,显然可以取迭代函数为,相应迭代公式为。
一般地,这种迭代公式不一定收敛,或者速度很慢。
对此公式应用前面的加速技术具体格式为:
()0fx=()xgx=()fx()gx()()gxxfx=+1()kkkxxfx+=+1111()()1kkkkkkkxxfxLxxxxL+=+=+-记,则上二式可合并写为:
。
此公式称为简单的Newton公式,其迭代函数为:
。
又由于为的近似值,而,因此实际上是的近似值,故用代替上式中的即得到下面的迭代函数:
。
相应的迭代公式为:
,即为Newton公式。
1ML=-1()kkkfxxxM+=-()()fxgxxM=-L()gx()()gxxfx=+1ML=-()fx()fxM()()()fxgxxfx=-1()()kkkkfxxxfx+=-4.2.6Newton法的几何意义Newton法的基本思想就是将非线性方程逐步线性化求解,设有近似的根,将在处展开得:
,从而近似地表为:
。
方程的根即为曲线与轴焦点的横坐标。
设为的一个近似,过曲线上横坐标为的点作曲线的切线,该切线与轴焦点的横坐标即为的新近似值,它与轴交点的横坐标为:
,因此Newton法亦称切线法。
()0fx=()0fx=kx()fxkxTaylor()()()()kkkfxfxfxxx-()0fx=()()()0kkkfxfxxx+-=()0fx=*x()yfx=xkx*x()yfx=kxkpx*x1kx+x1()/()kkkkxxfxfx+=-4.2.7Newton法的局部收敛性定义4.2.3设迭代过程收敛于方程的根,如果迭代误差,当时有:
则称该迭代过程为阶收敛的。
定理4.2.5对迭代过程如果在附近连续,且:
且,则该迭代过程在附近是阶收敛的。
1()kkxgx+=()xgx=*x*kkexx=-k1(0,)kpkecce+为常数pk1(),kxgx+=()()pgx*x*(p-1)*g()g().g()0xxx=(p)*g()0xxp证明由于,则有前面关于迭代法的局部收敛性定理知:
此迭代过程具有局部收敛性。
即。
将在处展开,并注意到有:
而,从而上式化为:
*g()01x=()kfx()kfx4()
(2)10xfxex-=-=(0)
(2)0ff21211()21()2kkkkkkxCxCxxCxCx+-=-+=+两式相除得:
利用此式递推可得:
(由可知:
,则:
)而,故由公式知即迭代法恒收敛。
)211()kkkkxCxCxCxC+-=+222102102()1kkkkkkkxCxCqqxCCxCxCq+-=+-21010()kkkxCxCxCxC+-=+Q2211kkkqxCq+=-2222()1kkkkkqxCxCqCq-=+=-00x001xCqxC-=+()kxCk例4.2.7求的近似值,要求终止迭代。
解取经6次迭代后:
,故。
对给定正数,应用Newton法求解,由此式可导出求而不用除法的计算程序:
。
这个算法对于没有设置除法操作的电子计算机是有用的。
可以证明,此算法初值满足时是收敛的,这是因为:
即:
,令,有递推公式:
,反复递推得:
。
当,即时,有即,从而迭代法收敛。
106110kkxx-+-1110()2kkkxxx+=+01.0x=53.16227767x=63.16227766x=7650.110xx-=103.16227766C10Cx-=1C1
(2)kkkxxCx+=-020xC21111
(2)()kkkkxxCxCxCCC+-=-=-211
(1)kkCxCx+-=-1kkrCx=-21kkrr+=20kkrr=0011rCx=-020xC0kr1kxC4.2.9Newton下山法Newton法收敛性依赖于初值的选取,如果偏离较远,则Newton法可能发散。
例如,对方程。
求在附近的一个根。
若取初值,则由Newton法:
计算得,仅迭代3次即得有6位有效数字的近似值。
但若取初值则由同一Newton公式计算得,这反而比更远离所求根,因此发散。
为防止发散,对迭代过程加一下降要求:
满足这项要求的算法称为下山法。
0x0x*x310xx-=1.5x=*x01.5x=312131kkkkkxxxxx+-=-1231.34783,1.32520,1.32472xxx=3x00.6x=117.9x=00.6x=*1.32472x=1()()kkfxfx+将Newton法与下山法结合,即在下山法保证函数下降条件下,用Newton法加速收敛。
为此,可将Newton计算结果与每一步近似值作加权均:
,其中()称为下山因子。
选择下山因子以保证下降性。
的选择方法是:
由反复减半的试探法,若能找到使下降性成立,则下山成功,否则下山失败,改变初值重新开始。
1()()kkkkfxxxfx+=-kx11
(1)kkkxxxll+=+-l01lll1l=l0x4.2.10弦截法与拋物法Newton法每迭代一次计算函数值,导数值各一次,当函数本身比较复杂时,求导数值更加困难。
下面方法多利用以前各次计算的函数值来回避导数值的计算,导出这种求根方法的基本原理是插值法。
设是的一组近似值,利用对应的函数值,构造插值多项式,适当选取的一个根作为的新的近似根。
这样就确定了一个迭代过程,记迭代函数为,则,下面具体考察(弦截法),(拋物法)两种情形。
1()()kkkkfxxxfx+=-()kfx()kfxf1(),(),kkfxfx-L()kfx1,kkkrxxx-L()0fx=1(),(),()kkkrfxfxfx-L()rpx()0rpx=()0fx=1kx+g11(,)kkkkrxgxxx+-=L1r=2r=4.2.11弦截法设为的近似根,过点,构造一次插值多项式,并用的根作为的新的近似根。
由于则由可得:
另外,公式(4.2.9)也可以用导数的差商近似取代Newton公式中的,同样得公式。
1,kkxx-()0fx=(,()kkxfx11(,()kkxfx+1()px1()0px=()0fx=1kx+111()()()()()kkkkkkfxfxpxfxxxxx-=+-(4.2.8)1()0px=111()()()()kkkkkkkfxxxxxfxfx+-=-(4.2.9)()fx11()()kkkkfxfxx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 养老保险 问题 建模 分析