数学建模
A
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
养老金
计划
项目进度计划表范例计划下载计划下载计划下载课程教学计划下载
养老金是指人们在年老失去工作能力后可以按期领取的补偿金,这里假定养老金计划从20岁开始至80岁结束,年利率为10℅。参加者的责任是,未退休时(60岁以前)每月初存入一定的金额,其中具体的存款方式为:20岁~29岁每月存入
元,30岁~39岁每月存入
元,40岁~49岁每月存入
元,50岁~59岁每月存入
元。参加者的权利是,从退休(60岁)开始,每月初领取退休金
,一直领取20年。试建立养老金计划的数学模型,并计算下列不同年龄的计划参加者的月退休金。
1、从20岁开始参加养老金计划,假设
元;
2、从35岁开始参加养老金计划,假设
元,
元,
元;
3、从48岁开始参加养老金计划,假设
元,
元。
论文题目: 养老金计划
姓名1:**(写作) 专业:数学与应用数学
姓名1:**(编程) 专业: 信息与计算科学
姓名1:**(建模) 专业: 信息与计算科学
2010年8月14日
摘要:随着人口老龄化的到来,世界各国都在不断努力寻求解决老龄化社会问题的途径,已形成了各具特色的养老保险
制度
关于办公室下班关闭电源制度矿山事故隐患举报和奖励制度制度下载人事管理制度doc盘点制度下载
。但是我国养老金制度还存在层次单一,覆盖面狭窄和管理不协调的问题,因此本文就养老金计划问题进行讨论,旨在
分析
定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析
不同年龄阶段、投资不同金额的投保人在60岁后的20年里每月初所能领取养老金p。首先依据题设,投保人每月都按照自己所处年龄段存入相应的金额,可以将其按照月份不同分为12个不同的虚拟账户,并且假定将相应月份的投保金额存入相应的虚拟账户中。至每年末,各月份所对应虚拟账户的存款相同,且利息至次年对应月份才能获得。但是在60岁开始,且在以后的20年里,每月月初将会领到一定数额(P)的养老金,可认为所领取的养老金是从该月所对应的虚拟账户扣除。因此我们可以将每年中各月份的存款问题简化为只关注其中某一月份进行分析。其次,采用迭代方法建立不同情况下的四种数学模型,利用MATLAB编写对应模型的程序,并用二分法求解出符合问题条件下的P值。最终,运用所建立的数学模型最终求解出P1=10397.3511元,P2=5264.6136元,P3=4383.79385元。从结果可以看出,越早参加养老金计划,在60岁后的20年里每月初也能领取相当多的养老金。
关键词:养老金 月初 虚拟账户
目录
一、问题的提出
二、问题的分析
三、建模的过程
1.模型的假设
2.模型的建立
3.模型转换为MATLAB程序
4.求解问题
5.模型分析
四、模型的评价与改进
一、问题的提出:
养老金是指人们在年老失去工作能力后可以按期领取的补偿金,这里假定养老金计划从20岁开始至80岁结束,年利率为10℅。参加者的责任是,未退休时(60岁以前)每月初存入一定的金额,其中具体的存款方式为:20岁—29岁每月存入X1元,30岁—39岁每月存入X2元,40岁—49岁每月存入X3元,50岁—59岁每月存入X4元。参加者的权利是,从退休(60岁)开始,每月初领取退休金
,一直领取20年。求按不同的年龄段不同的投资额,在60岁(退休后)每月月初所取的养老金p是否一样,并计算P值。
二、问题的分析:
由问题意可知,参加养老金计划的人在60岁前(为退休时)存入一定的金额,在退休后(60岁)开始,每月初领取退休金一直领取20年。目的就是建立一种模型,解决计算不同年龄阶段参加者最终每月获取的退休金p值。
三、建模过程:
1.模型假设
首先,假设此问题的外部因素不会发生改变;其次,银行必须在投资者80岁时,把投资者所投金额以及所有的利息全部返还给投资者;再次,参加计划的投资者在一开始投资后,到59岁末都必须每月按时、按额投资该月的资金,中间无间断和拖欠。
2.模型建立
由问题知,投保人每月都按照自己所处年龄段存入相应的金额,我们可以将其按照月份不同分为12个不同的虚拟账户,并且假定将相应月份的投保金额存入相应的虚拟账户中。至每年末,各月份所对应虚拟账户的存款相同,且利息至次年对应月份才能获得。因此我们可以将每年中各月份的存款问题简化为只关注其中某一月份进行分析。
例:按一月份进行分析。如果在20岁的第一月存入X元的投保资金,则在第二年的第一个月对应虚拟账户上的累计户额为上一年一月利息加上本金,以及本年一月所存入的养老金额X。依次类推,在60岁的一月对应虚拟账户累计金额为40年来所有一月的本金和利息的总和。但是在60岁开始,且在以后的20年里,每月月初将会领到一定数额(P)的养老金,我们可以认为所领取的养老金是从该月所对应的虚拟账户扣除。因此对于一月而言,从60岁开始领取P金额后,所剩的资金还会在次年有10%的利息,依次类推到第二十年时,一月的虚拟帐户将会为零,即虚拟账户中所有累计金额全部返回给投保人,此时可以得到一个一次方程,P是未知量,所以方程的解就是P的值。用此方法可以计算出不同年龄阶段的投资者投资不同资金时,从60岁开始的后二十年内每月月初所领取的养老金P。因此针对上述问题可建立如下四个不同年龄阶段的数学模型,即
(符号说明:20-80岁之前第n岁,一月份办理业务之后账户所剩余额;X1为20—29岁阶段每月存入的金额数量,X2为30—39岁阶段每月存入的金额数量;X3为40—49岁阶段每月存入的金额数量;X4为50—59岁阶段每月存入的金额数量;p为60岁开始每月领取的退休金)
1.从20—29岁开始参加养老金计划的数学模型为:
2. 从30—39岁开始参加养老金计划的数学模型为:
3. 从30—39岁开始参加养老金计划的数学模型为:
4. 从30—39岁开始参加养老金计划的数学模型为:
3.模型转化的MATLAB程序:
程序分为pension、pension_X、REM三个函数,其中pension为求解时输入参数的函数,REM为二分法求解线性方程的函数,REM求解时调用了pension_X函数,当p值满足pension_X(p)=0是,p为问题所求的解。
函数pension:
function [x,k,y]=pension(age,twenties,thirties,forties,fifties);
% age为开始参加养老金计划的年龄;
%twenties为20-29岁阶段每月所需缴纳的养老金;
%thirties为30-29岁阶段每月所需缴纳的养老金;
%forties为40-49岁阶段每月所需缴纳的养老金;
%fifties为50-59岁阶段每月所需缴纳的养老金;
%x为退休后每月所领取的退休金,即p值;
%k为应用二分法求解p值时所迭代的次数;
%y为退休金全部领取完后,账户所剩余额。
format long;
global m x1 x2 x3 x4;
m=age;x1=twenties;x2=thirties;x3=forties;x4=fifties;
if (m>=20)&(m<=59)
a=1000;
b=50000;
f=@pension_X;
delta=0.0001;
[x,k,y]=REM(f,a,b,delta);
else
'此程序不解决这个年龄的问题'
end
函数pension_X:
function s=pension_X(p);
%p为每月领取退休金的金额数量
%s为每次办理业务后的账户余额
global m x1 x2 x3 x4 s;
if (m>=20)&(m<=29)
s=x1;
for k=m+1:1:29
s=1.1*s+x1;
end
for k=30:1:39
s=1.1*s+x2;
end
for k=40:1:49
s=1.1*s+x3;
end
for k=50:1:59
s=1.1*s+x4;
end
for k=60:1:79
s=1.1*s-p;
end
elseif (m>=30)&(m<=39)
s=x2;
for k=m+1:1:39
s=1.1*s+x2;
end
for k=40:1:49
s=1.1*s+x3;
end
for k=50:1:59
s=1.1*s+x4;
end
for k=60:1:79
s=1.1*s-p;
end
elseif (m>=40)&(m<=49)
s=x3;
for k=m+1:1:49
s=1.1*s+x3;
end
for k=50:1:59
s=1.1*s+x4;
end
for k=60:1:79
s=1.1*s-p;
end
elseif (m>=50)&(m<=59)
s=x4;
for k=m+1:1:59
s=1.1*s+x4;
end
for k=60:1:79
s=1.1*s-p;
end
end
函数REM:
function [x,k,y]=REM(f,a,b,delta);
%f为引用了pension_x的函数
%a、b为分布在解两侧的估计值
%delta为迭代求解时的精度
%x为方程的解,即所需要求的p值
%k为迭代次数
%y为已经领取结束时,所有账户所剩的总余额
ya=feval(f,a);
yb=feval(f,b);
if ya*yb>0
disp('This equation has no solution');
end
for k=1:1:100000
c=(a+b)/2;
yc=f(c);
if yc==0
a=c;ya=yc;
b=c;yb=yc;
elseif ya*yc<0
b=c;yb=yc;
else
a=c;ya=yc;
end
if ((b-a)
0)
break;
end
end
x=(a+b)/2;
y=12*feval(f,(a+b)/2);
4.求解问题:
①从20岁开始参加养老金计划,X1=X2=X3=X4=200元;
将所给参数带入函数,即
[x,k,y]=pension(20,200,200,200,200)
在命令窗口运行得到:
x =1.e+004
k =29
y =0.02793443250266
可知此人退休后没人可领取养老金10397.35元
②从35岁开始参加养老金计划,X2=200,X3=500,X4=1000元;
[x,k,y]=pension(35,0,200,500,1000)
在命令窗口运行得到:
x =5.e+003
k =29
y =0.046
可知此人退休后没人可领取养老金5264.61元
③从48岁开始参加养老金计划,X3=1000,X4=2000元;