刘学江传染病接种问题模型.docx
《刘学江传染病接种问题模型.docx》由会员分享,可在线阅读,更多相关《刘学江传染病接种问题模型.docx(22页珍藏版)》请在冰点文库上搜索。
刘学江传染病接种问题模型
2009-2010第二学期数学模型期末考试
承诺书
我完全明白,在期末考试不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人研究、讨论与题有关的问题。
我知道,抄袭别人的成果是违反考试规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。
我郑重承诺,严格遵守考试规则,以保证考试的公正、公平性。
如有违反考试规则的行为,我将受到严肃处理。
专业名称:
1.数学与应用数学
考试题目:
2.流感疫苗接种问题
姓名(打印并签名):
3.刘学江
班级:
4.2008级1班
学号:
5.2008060122
成绩:
6.
日期:
2010年06月05日
目录
零封面........................................................................................................1
一流感疫苗接种的数学模型...............................................................................2
1.摘要..........................................................................................................2
2.问题的重述.................................................................................................2
3.问题的分析.................................................................................................2
4.详细设计.....................................................................................................4
4.1初等数学模型.......................................................................................4
4.2房室模型模型的建立........................................................................9
5.模型检验.....................................................................................................17
二总结.................................................................................................................22
三参考文献............................................................................................22
一流感疫苗接种的数学模型
1.摘要
本文通过初等数学模型,病毒指数增长模型,Logistic模型,SIS模型,SIR模型,随机房室模型分析菌种1、2的感染人数,计算相应的疫苗接种人数和患病人数,通过模型间的对比找出用尽可能少的疫苗预防尽可能多的人数。
对病毒指数模型只作定性分析,重点讨论:
初等数学模型,随机房室模型,SIS模型,SIR模型。
关键词:
流感病毒菌种指数生长模型随机房室模型
SIS模型SIR模型 Logistic模型
2.问题的重述
流感病毒有两种菌种,现已研制成两种疫苗。
疫苗1对菌种1有85%的预防效果,对菌种2有70%的预防效果;疫苗2对菌种1有60%的预防效果,对菌种2有90%的预防效果。
两种疫苗不能在一个人身上同时使用。
(1)为使尽可能多的居民具有免疫力,需要进一步了解那些信息?
(2)为使尽可能多的居民具有免疫力,应采取何种接种疫苗的策略?
(3)在采取你所推荐的策略的情况下,估计有多少居民具有免疫力(平均的估计和最坏情况的估计)。
3.问题的分析
问题1:
针对问题1主要从以下3方面进行:
(1)菌种角度:
1、菌种的传播方式2、菌种的传播能力3、菌种的首次感染率4、菌种的生长方式5、菌种的致死率6、菌种的交叉感染率7、菌种的再次感染能力
(2)疫苗角度:
1、疫苗的预防能力
菌种
1
2
疫苗
1
0.85
0.7
2
0.6
0.9
2.、疫苗的数量3、疫苗的接种限制4、疫苗的价格5、疫苗的有效期
(3)地区角度:
1、该地区的总人口数2、初始时刻感染人数3、地区的预防效率4、每人感染后的接触人数5、每种菌种的治愈可能
问题2:
“民具有免疫力,应采取何种接种疫苗的策略”采用模型对比法找出最佳接种策略,免疫人数P=P1接种疫苗人数-P2接种疫苗后患病人数,为使P尽可能的大可以使P1尽可能的大P2尽可能的小,但在实际接种过程中考虑人力和财力因素不可能使接种疫苗的人数无限制的多,反而是在高效的前提下尽可能得节约疫苗对人力财力和居民健康也有好处,这里采取的接种方式是对感染者周围的一定人群接种,对其余人群均不接种疫苗,所以对疫苗的接种数和有效性是问题2的关键。
问题3:
“在采取你所推荐的策略的情况下,估计有多少居民具有免疫力(平均的估计和最坏情况的估计”。
通过相关参数的不同设置拟合出平均和最坏情况
4.详细设计
符号说明:
P表示感染或患病人数N表示该地区总人口n表示菌种感染者接触的人数t表示时间K表示某些比例系数c表示菌种致死率m表示疫苗不能接种的人数比例
4.1初等数学模型
模型1
设t时刻的病人数X(t)是连续可微函数,设每人接触的人数是n,从t到t+△t时刻病人人数的增加,X(t+△t)-X(t)=n*X(t)*△t设初始时刻有X。
得微分方程dx/dt=n*x,x(0)=X。
解得X(t)=n*exp(n*t),病人数呈指数增长不符合实际情况,根据SIS模型SIR模型 Logistic模型理论感染人数不可能无限制的增长,如下图所示。
针对疫苗接种情形通常在病情初发期进行的,所以可以将病人数看做指数型增长对菌种1、2建立不同的指数接触人数增长模型:
P1t、P2t表示t时刻人数,在从t到t+△t时刻可能感染菌种1的病人人数的增加为P1(t+△t)-P1t=n1*P1t*△t,P1t(0)=P10得
解得P1t=P01*exp(n1*t)除去原始感染菌种1人数剩下的就是被接触人数,也就是需要接种疫苗的目标人数将P1t修正为P1t=P01*exp(n1*t)-P01
在从t到t+△t时刻可能感染菌种2的病人人数的增加为P2(t+△t)-P2t=n2*P2t*△t,P2t(0)=P20得
解得P2t=P02*exp(n2*t)除去原始感染菌种2人数剩下的就是被接触人数,也就是需要接种疫苗的目标人数将P2t修正为P2t=P02*exp(n2*t)-P02
由于菌种1、2均有致死率c1、c2,还要在感染的基础上除去死亡人数
则菌种1在t时刻的感染人数:
P1t=P01*exp(n1*t)(1-c1)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
..①
菌种2在t时刻的感染人数为:
P2t=P02*exp(n2*t)(1-c2)。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
.②
若采用疫苗1接种具有免疫力的人数
P1=P1t*0.85+P2t*0.7。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
③
若采用疫苗2接种具有免疫力的人数
P2=P1t*0.6+p2t*0.9。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
④.
比较P1、P2的大小就可以得到采用哪种疫苗作为接种策略。
在实际接种中常常采用不同疫苗针对不同菌种的接种方法,因此模型的接种策略需要修正。
模型2
对模型进行修正:
菌种
1
2
疫苗
1
0.85
0.7
2
0.6
0.9
疫苗1、2针对菌种的预防能力由上表可知对菌种1采用疫苗1接种最高效啊,对菌种2采用疫苗2接种最高效。
因此对模型一的③④进行修正得到新的免疫人数:
P=P1t*0.85+P2t*0.9。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
⑤
在实际疫苗接种工作每种疫苗都有不能接种的人群,在这里假设疫苗不能接种的人数比例为m1,疫苗2不能接种的人数比例为m2因此对⑤还需啊哟修正:
P=P1t(1-m10*0.85+P2t(1-m2)*0.9。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
。
⑥
带入各项数据得:
P=P01*exp(n1*t)(1-c1)(1-m1)*0.85+P02*exp(n2*t)(1-c2)(1-m2)*0.9。
。
。
⑦
采用C语言编程:
#include(math.h)
#include(stdio.h)
Voidmian()
{doublen1,n2,c1,c2,m1,m2;/*定义疫苗感染者的接触人数n,菌种的致死率c,疫苗不能接种的人群比例m*/
Intt;/*定义时间*/
DoubleP1t,P2t;/*t时刻防疫菌种1、2的人数*/
Doublep;/*最后的防疫总人数*/
IntP01,P02;/*定义初始时刻的菌种感染人数*/
DoubleP1t,P2t;;/*定义菌种1。
2在t时刻的感染人数*/
Printf(“pleaseinputt:
:
\n”);
Scanf(“%f”,&t);/*录入时间*/
Printf(“请输入初始时刻感染各菌种的人数\n”);
Scanf(“%f,%f”,&Tp01,&P02);/*录入初始感染是、
人数*/
Printf(“请输入菌种1、2的致死率:
:
\n”);
Scanf(“%f,%f”,&c1,&c2);/*录入菌种死亡率*/
Printf(“录入两种疫苗不能接种人群的接种比例:
\n”);
Scanf(“%f”,&t);/*录入不适接种的人群比例数*/
Printf(“pleaseinputt:
:
\n”);
Scanf(“%f”,&t);/*录入时间*/
Printf(“pleaseinputt:
:
\n”);
Scanf(“%f”,&t);/*录入时间*/
P1t=P01*exp(n1*t)(1-c1)(1-m1)*0.85;
P2t=P02*exp(n2*t)(1-c2)(1-m2)*0.9;
P=P1t+P2t;
Printf(%f,%f,%f\n”;P1t,P2t,P);/*输出具有较强防疫菌种1和2的人数及总的防疫人数*/
}
初等数学模型过于简单理想化,而有效数据得获得不易且不精确,所以存在较大的缺陷。
所以考虑建立新的模型。
4.2新模型的建立
模型3房室模型
房室模型(CompannlentModel)是药物动力学研究上述动态过程的基本步骤之一.所谓房室是指机体的一部分,药物在一个房室内呈均匀分布,即血药浓度是常数,而在不同房室之间则按照一定规律进行药物的转移.一个机体分为几个房室,要看不同药物的吸收、分布、排除过程的具体情况,以及研究对象所要求的精度而定.这里只讨论二室模型,即将感染病毒的人群为中心室,接触感染者的人群为Ⅱ室.二室模型的建立和求解方法可以推广到多室模型.显然,将人群分为若干房室是为了研究目的所做的简化.值得庆幸的是,这种简化在一定条下已由临床试验证明是正确的.
SIS模型
[菌种1的SIS模型的建立]可以写出两个房室人数x11(t),x12(t)满足的微分方程.
11(t)的变化率由I室向Ⅱ室的转移-k12
,I室系统外的排除率
,Ⅱ室向I室的转移是k11x1组成;x12(t)的变化率由I室向Ⅱ室的转移k12x及Ⅱ室向I室的转移-k11*x2组.在此处接触菌种的人数采用初等数学模型中的指数增长数据
Ⅰ室Ⅱ室
列方程:
x11(t)=-k12*x11-k13*x11+k11*x12………………⑧
X12(t)=x10*exp(n1t)+k12*x11………………………⑨
解线性方程得:
X11(t)=K11/(1+k12+k13-k11*k12)*x10*exp(n1*t);
X12(t)=(1+k12+k13)/(1+k12+k13-k11*k12))*x10*exp(n1*t)
其中康复速率k12,k13死亡速率由数据拟合时给出,采用疫苗1接种人数为:
K11=(接种人数-接种成功人数)/接种人数=(1-0.85)/1=0.15
P11=X12(t)由于疫苗1针对某些人群比例不能接种比例为m1所以p11修正为p11修正为P11=X12(t)(1-m1)而其中疫苗1的成功率为0.85所以p11再次修正为P11=X12(t)(1-m1)*0.85
#include
#include
Voidmain()
{{doublek11,k12,k13;/*定义菌种一的患病率,康复率,死亡率*/
Doublep11;/*定义具有免疫力人数变量*/
Doublex12(t),x11(t);/*定义t时刻的接触人数和感染人数*/
Intt;/*定义时间*/
Doublex11(t),x12(t);/*定义菌种1在t时刻的感染和接触人数*/
Printf(“pleaseinputt:
:
\n”);//*请输入时间*/
Scanf(“%f”,&t);
Printf(“请输入菌种感染者的接触人数:
:
\n”);//*请输入可接触者*/
Scanf(“%f”,&n1);/**/
Printf(“请输入初始感染菌种1的人数:
:
\n”);
Scanf(“%f”,&x01);/*录入初始感染人数*/
Printf(“请输入菌种1康复率:
:
\n”);
Scanf(“%f”,&k12);/*录入菌种康复率*/
Printf(“录入两种疫苗1不能接种人群的接种比例:
\n”);
Scanf(“%f”,&m1);/*录入不适接种的人群比例数*/
Printf(“pleaseinputt:
:
\n”);
Scanf(“%f”,&t);/*录入时间*/
X11(t)=K11/(1+k12+k13-k11*k12)*x10*exp(n1*t);
X12(t)=(1+k12+k13)/(1+k12+k13-k11*k12))*x10*exp(n1*t);
P11=X12(t)(1-m1)*0.85;
Printf(%f,%f,%f\n”,x11(t),x12(t),p11);/*输出感染菌种1的人数和接触者和具有免疫力的人数*/
}
[菌种2的SIS模型的建立]可以写出两个房室人数x21(t),x22(t)满足的微分方程.X21(t)的变化率由I室向Ⅱ室的转移-k21
,I室系统外的排除率k23*x1,Ⅱ室向I室的转移是k22x1组成;x12(t)的变化率由I室向Ⅱ室的转移k12x及Ⅱ室向I室的转移
组.在此处接触菌种的人数采用初等数学模型中的指数增长数据
Ⅰ室Ⅱ室
列方程:
x21(t)=-k22*x21-k23*x21+k21*x22………………⑩
X22(t)=x10*exp(n1t)+k22*x21………………………⑾
解线性方程得;
X21(t)=K21/(1+k22+k23-k21*k22)*x10*exp(n2*t);
X12(t)=(1+k22+k23)/(1+k22+k23-k21*k22))*x10*exp(n2*t)
其中康复速率k22,k23死亡速率由数据拟合时给出
而K21=(患病人数-接种成功人数)/接种人数=(1-0.9)/1=0.1
菌种2接种的人群数为x22(t),综合考虑疫苗的不能接种人群和成功率得具有免疫力的人数p12=x22(t)*(1-m2)*0.9
#include
#include
Voidmain()
{{doublek21,k22,k23;/*定义菌种2的患病率,康复率,死亡率*/
Doublep12;/*定义具有免疫力人数变量*/
Intt;/*定义时间*/
Doublex21(t),x22(t);/*定义菌种1在t时刻的感染和接触人数*/
Printf(“pleaseinputt:
:
\n”);//*请输入时间*/
Scanf(“%f”,&t);
Printf(“请输入菌种感染者的接触人数:
:
\n”);//*请输入可接触者*/
Scanf(“%f”,&n2);/**/
Printf(“请输入初始感染菌种2的人数:
:
\n”);
Scanf(“%f”,&x02);/*录入初始感染人数*/
Printf(“请输入菌种2康复率:
:
\n”);
Scanf(“%f”,&k22);/*录入菌种2康复率*/
Printf(“录入两种疫苗2不能接种人群的接种比例:
\n”);
Scanf(“%f”,&m2);/*录入不适接种的人群比例数*/
Printf(“pleaseinputt:
:
\n”);
Scanf(“%f”,&t);/*录入时间*/
X21(t)=K21/(1+k22+k23-k21*k22)*x10*exp(n2*t);
X12(t)=(1+k22+k23)/(1+k22+k23-k21*k22))*x10*exp(n2*t);
P11=X12(t)(1-m1)*0.85;
Printf(%f,%f,%f\n”,x21(t),x22(t),p12);/*输出感染菌种2的人数和接触者和具有免疫力的人数*/
}
SIS模型中考虑的是流感治愈后无再次预防能力,即患病人群康复后成为健康人群后和没患过病的人群一样不具有抗病性。
在实际生活中有很多病患是人患病后是具有抗病能力的,这就是下面的SIR模型。
SIR模型
在实际生活中有很多病患是人患病后是具有抗病能力的,也就是感染菌种治愈后该类人群就退出系统了,这就是下面的SIR模型。
[模型的假设]1.人群分为中心室(
室)和周边室(
室);2.人从一室向另一室的转移速率,及向室外的排除速率;3.只有中心室与系统外有人数交换,即死亡人和康复人群退出系统.
[菌种1的SIR模型的建立]根据假设条件和上图可以写出两个房室人数满足的微分
方程.
的变化率由I室系统外的排除率
,Ⅱ室向I室的转移是k11x1组成;x12(t)的变化率由I室向Ⅱ室的转移k12x及Ⅱ室向I室的转移
,Ⅰ室向系统外输送康复人群k12*x1.在此处接触菌种的人数采用初等数学模型中的指数增长数据模型。
Ⅰ室Ⅱ室
列方程:
x11(t)=-k12*x11-k13*x11+k11*x12
X12(t)=x10*exp(n1*t)
解线性方程得:
X11(t)=K11/(1+k12+k13)*x10*exp(n1*t);
X12(t)=x10*exp(n1*t)
其中康复速率k12,k13死亡速率由数据拟合时给出
K11=(接种人数-接种成功人数)/接种人数=(1-0.85)/1=0.15
综合此模型和疫苗1的不能接种人群和成功率得在此模型中具有免疫力的人数为p21=x12(t)*(1-m1)*0.85
#include
#include
Voidmain()
{{doublek11,k12,k13;/*定义菌种一的患病率,康复率,死亡率*/
Doublep21;/*定义具有免疫力人数变量*/
Doublex12(t),x11(t);/*定义t时刻的接触人数和感染人数*/
Intt;/*定义时间*/
Doublex11(t),x12(t);/*定义菌种1在t时刻的感染和接触人数*/
Printf(“pleaseinputt:
:
\n”);//*请输入时间*/
Scanf(“%f”,&t);
Printf(“请输入菌种感染者的接触人数:
:
\n”);//*请输入可接触者*/
Scanf(“%f”,&n1);/**/
Printf(“请输入初始感染菌种1的人数:
:
\n”);
Scanf(“%f”,&x01);/*录入初始感染人数*/
Printf(“请输入菌种1康复率:
:
\n”);
Scanf(“%f”,&k12);/*录入菌种康复率*/
Printf(“录入两种疫苗1不能接种人群的接种比例:
\n”);
Scanf(“%f”,&m1);/*录入不适接种的人群比例数*/
Printf(“pleaseinputt:
:
\n”);
Scanf(“%f”,&t);/*录入时间*/
X11(t)=K11/(1+k12+k13)*x10*exp(n1*t);
X12(t)=x10*exp(n1*t);
p21=x12(t)*(1-m1)*0.85
Printf(%f,%f,%f\n”,x11(t),x12(t),p21);/*输出感染菌种1的人数和接触者和具有免疫力的人数*/
}
[菌种2的SIR模型的建立]2可以写出两个房室人数X21(T),X22(T)满足的微分方程.X21(t)的变化率由I室系统外的排除率k23*x21,Ⅱ室向I室的转移是k21x1,向系统外输送康复人数k13*x21组成;x12(t)的变化率由I室向Ⅱ室的转移k12x及Ⅱ室向I室的转移
,Ⅰ室向系统外输送康复人群k12*x1.在此处接触菌