数学建模人口增长模型
摘要:人口的增长是当前世界上引起普遍关注的问题作为世界上人口最
多的国家,我国的人口问题是十分突出的由于人口基数大尽管我国已经实行了20多年的计划生育人口的增长依然很快,巨大人口压力会给我国的社会 政治经济医疗就业等带来了一系列的问题。因此研究和解决人口问题在我国显得尤为重要。我们经常在报刊上看见关于人口增长预报,说到本世纪,或下世纪中叶,全世界的人口将达到多少亿。你可能注意到不同报刊对同一时间人口的预报在数字商场有较大的区别,这显然是由于用了不同的人口整张模型计算出来的结果。
人类社会进入20世纪以来,在科学和技术和生产力飞速发展的同时世界人口也以空前的规模增长。人口每增加十亿的时间,有一百年缩短为十几年。我们赖以生存的地球已经携带着他的60亿子民踏入下一个世纪。
长期以来,人类的繁殖一直在自然地进行着,只是由于人口数量的迅速膨胀和环境质量的急剧恶化,人们才猛然醒悟,开始研究人类和自然的关系、人口数量的变化规律以及如何惊醒人口控制等问题。
本论文中有两个模型:
(1):中国人口的指数增长模型,并用该模型进行预测,与实际人口数据进行比较。
(2):中国人口的Logistic图形,标出中国人口的实际统计数据进行比较。 而且利用MATLAB图形 ,标出中国人口的实际统计数据,并画出两种模型的预测曲线。
关键字:人口预测;Malthus模型;Logistic模型;MATLAB软件
一、问题背景及重述
1.1问题的背景
中国是一个人口大国,人口问题始终是制约我国发展的关键因素之一。我国自1973年全面推行计划生育以来,生育率迅速下降,取得了举世瞩目的成就,但全面建设小康社会仍面临着人口的形势和严峻挑战。随着我国经济的发展、国家人口的实施,未来我国人口高峰期到底有多少人口,专家学者们的预测结果不一。因此,根据已有数据,运用数学建模的方法,对中国人口做出分析和预测是一个重要问题。
1.2 问题的重述
下表列出了中国1982~1998年的人口统计数据,取1982年为起始年(t=0),1982年的人口1016万人,人口自然增长率为14‰,以36亿作为我国人口的容纳量,试建立一个较好的人口数学模型并给出相应的算法和程序,并与实际人口进行比较。 时间(年) 人口(万人) 时间(年) 人口(万人) 时间(年) 人口(万人) 1982 1016 1988 111026 1994 119850 1983 103008 19 112704 1995 121121 1984 104357 1990 114333 1996 1223 1985 105851 1991 115823 1997 123626 1986 107507 1992 117171 1998 124810 1987 109300 1993 118517 二、问题分析
对于人口增长的问题,其影响因素有很多,比如:人口基数,出生率,死亡率,人口男女比例,人口年龄结构的组成,人口的迁入率和迁出率,人口的生育率和生育模式,国家的医疗发展情况,国家的政治策略等众多的因素。如果把这些因素都要考虑进去,则该问题根本无从下手。因此,应该根据中国人口自身发展的特点,选取相应的能够体现我国人口发展特点的模型。
人口发展模型有连续形式和离散形式,因为题目所给的数据是每个年份的具体数据,可以将这些数据视为连续的。根据表格中的数据,我们使用MATLAB编程(附录1)画出散点图。
图1中国1982~1998年的人口数据图
从图中我们可以看到人口数在 1982—1998 年是呈增长趋势的,且增长趋势类似于指数型增长,因此,我们可以先建立一个指数增长模型(Malthus模型)。但是,由于地球上的资源是有限的,它只能提供一定数量的生命生存所需的条件,因此人口不可能无增加。随着人口数量的增加,自然资源,环境条件等对人口再增长的作用将越来越显著。
于是我们假设在人口较少时,可以把人口增长率看成常数,但随着人口的增加,我们应该把人口增长率视为一个随着人口增加而减小的量,从而我们可以将模型一(Malthus模型)优化为一个阻滞增长模型(Logistic模型)。
三、模型假设
(一)Malthus模型
假设我国人口的增长符合人口指数增长的规律,即满足Malthus模型的两个前提:
第一, 食物是人类生存所必需的;
第二, 两性间的情欲是必然的,而且几乎会保持现状。
从这两个“人类本性的固定法则” 出发,可以得出一个最基本的经济比例:食物或生活资料的增长与人口的增殖之间的关系。马尔萨斯说, 人口的增殖比生活资料增长的要快,人口是按几何级数增长的,而生活资料则只按算术级数增长。
但是,马尔萨斯并不认为这两个级数就是人口规律的反映,他提出,保持两个级数平衡的唯一出路就是抑制人口的增长。他把所谓支配人类命运的永恒的人口自然法则, 归纳成以下三个定理。 三个定理:
第一点是人口的制约原理, 说明人口与生活资料之间必然存在某种正常的比例, 即“人口的增长, 必然要受到生活资料的”;
第二点是人口的增殖原理, 即“生活资料增加, 人口也常随着增加”; 第三点是马尔萨斯人口原理的核心, 称之为人口的均衡原理, 即“占优势的人口繁殖力为贫困和罪恶所抑制,因而使现实的人口得以与生活资料保持平衡”。这个原理与前两个原理是紧密相连的,它说明人口与生活资料之间最终将实现均衡, 但是这种均衡不是自然实现的,而是种种“抑制”的产物。
所以,Malthus模型假设条件如下:
1.设P(t)表示t时刻的人口数,且P(t)连续可微。 2.人口的增长率r是常数(增长率=出生率-死亡率)。
3.人口数量的变化是封闭,即人口数量的增加与减少只取决于人口中个体的生育与死亡,且每一个都具有同样的的生育能力与死亡率。 (二)Logistic模型
由于地球上的资源有限,当人口数量发展到一定阶段后,会产生一系列问题,如食物短缺、居住和交通拥挤等。另外,随着人口密度的增加,疾病将会增多,死亡率会上升,因此,人口的增长率不会是Malthus所假设的是一个常数不改变,而是会随着人口数量增加而减少。假设增长率r表示P(t)的函数r(p),且r(p)为p的减函数。
1. 设r(p)为p的线性函数,r(p)=r-kp。
2. 自然资源与环境条件所能容纳的最大人口数为Pm,即当P=Pm时,增长率r(p)=0。
四、变量说明
符号 P t r 表示意义 人口数量 年份 人口自然增长率 人口最大容纳量 起始年人口 pm p0 五、模型建立与模型求解
5.1 Malthus模型
由假设一,
t时刻到tt时刻人口增量为
P(tt)P(t)rP(t)t
dprpdt于是可得 p(t0)p0
由分离变量法解得模型的解为
p(t)p0•ert
对该模型两边同时取对数得到一次线性拟合函数
取表中1982到1998年的数据在MATLAB中M文件(附录2)进行线性最小二乘拟合可得出:
f =0.013141 t - 14.5121
所以可知r=0.013141,p(t)=1016*exp(0.013141*(t-1982)) 用MATLAB进行指数拟合得到下图
ylnp,alnp0,yrta
图2
可以看出拟合曲线基本吻合,但是随着时间t的增加其误差逐渐加大,所以需要对其修正。
5.2 Logistic模型
由假设二可知,记p(t)是第t年的人口数量,人口增长率r(p)是p的线性函数,r(p)=r-kp。最大人口容纳量为Pm。即当P=Pm时,增长率r(p)=0。所以,
dppr(p)•prp(1)dtpm(5.2.1)
p(t0)p0
同样利用分离变量法求得其解
p(t)pmpm1(1)•exp(r•(tt0))p0(5.2.2)
dpp根据(5.2.1)式作出dt的曲线图(图1)以及由(5.2.2)式作出p-t曲线
图(图2)
dpdt pm p0/2p0 O pm/2
图2 p-t曲线图 dp 图1p 曲线图 dt
从上述曲线图以及表达式中,我们可以总结出如下规律:
limp(t)ptm,它表明不管人口初始状态是什么样,人口总数最终都将
趋于最大人口容纳量。
dpdp当p(t)>pm时,dt<0;当p(t) 容纳量时,人口数量将减少,当人口数量小于最大人口容纳量时,人口数量将增加。 pmdpp2时取到最大值,即人口总数达到极限值一半之前是加速人口变化率dt在 生长的,经过此点后,增长率会逐渐减小至0。 采用非线性最小二乘估计法对参数r和pm进行估计,通过使用matlab编写程序(附录4)可得: r =0.01137,pm =3.7465e+04 用MATLAB拟合图像如下 图3 六、模型检验及结果分析 经过前面模型建立的工作,已建立出Malthus模型和Logisic模型。现在根据所建立的模型预测相关年份的人口数量,并与实际人口数量相比较以检验模型的优劣性。 Malthus模型与Logistic模型对我国人数据的拟合结果 年份 实际人口 计算人口 计算人口 /万 1982 1016 P1 101650 P2 101650 1983 1984 1985 1986 1987 1988 19 1990 1991 1992 1993 1994 1995 1996 1997 1998 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 1223 123626 124810 103000 104360 105740 107140 108560 109990 111450 112920 114420 115930 117460 119020 120590 122190 123800 1240 102500 103350 10420 105060 105920 106790 107660 108530 109410 110290 111180 112070 112960 113860 114770 115670 对表中数据进行分析可知:对于短期预测,这两个模型基本一致,但使用模型一更简单;对于中长期预测,模型二要强于模型一。 七、模型评价与推广 一、优点: 首先我们采用图表结合法,比较直观地表达出题中所给的信息,并据此得出了人口增长的基本规律。 根据所给出的数据,对其进行分析得出了人口增长率与人口总数的线性关系,从而建立了人口阻滞增长模型,对未来人口数的预测作出了较为准确的判断。 模型一是依据英国神父T·Malthus的发现建立了指数型增长模型,经过我们实际数据的检验,发现其人口早期的增长情况与Malthus模型的预测基本相 符,然而随着时间的增加,该模型的预测结果明显出现了不合理性。其原因就是我们将人口增长率视为常数,因此需要对r进行修正。所以,我们将r表示为p的减函数,从而推导建立了模型二 二、缺点: 本文对模型一中的参数只做了线性估计,所以其计算结果与实际误差较大 模型二中仅考虑了r与p的关系是线性的,没有考虑非线性关系 八、参考文献 [1].司守奎,孙兆亮,孙玺菁,周刚,仲维杰,康淑瑰.数学建模算法与应用(第二版).国防工业出版社,2016年 [2].姜启源,谢金星,叶俊.数学模型(第四版).高等教育出版社·北京.2011年 [3].储昌木,沈长春.数学建模及其应用.西南交通大学出版社·成都.2015年 [4] 胡守信,李柏年.基于MATLAB的数学实验[M].北京科学出版社.2004年6月 [5] 扬启帆,康旭升,等.数学模型[M].北京:高等教育出版社.2006年5月 [6] 于学军.《中国人口科学》2000年第2期,时间:2000-4-6,中国人口信息网. 附录: 1) syms x y x0=1982:1:1998 y0=[1016 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 1223 123626 124810] xlabel('x') ylabel('y') plot(x0,y0,'*') 2) t=[1982:1:1998]; y=[log(1016) log(103008) log(104357) log(105851) log(107507) log(109300) log(111026) log(112704) log(114333) log(115823) log(117171) log(118517) log(119850) log(121121) log(1223) log(123626) log(124810)] p1=polyfit(t,y,1); f=poly2str(p1,'t') 3) syms x y p x0=1982:1:1998 y0=[1016 103008 104357 105851 107507 109300 111026 112704 114333 115823 117171 118517 119850 121121 1223 123626 124810] xlabel('x') ylabel('y') plot(x0,y0,'*') hold on t=1982:1:1998 p=1016.*exp(0.013141.*(t-1982)) plot(x,p,'r','LineWidth',0.5); legend('原始数据散点图','指数拟合曲线'); grid on; 4) clc, clear a=textread('data1.txt'); p=a([2:2:6],:)'; p=nonzeros(p); t=[1982:1:1998]'; t0=t(1); p0=p(1); fun=@(cs,td)cs(1)./(1+(cs(1)/p0-1)*exp(-cs(2)*(td-t0))); cs=lsqcurvefit(fun,rand(2,1),t(2:end),p(2:end),zeros(2,1)); r=cs(2),pm=cs(1) 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- igat.cn 版权所有 赣ICP备2024042791号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务