气候变暖化型模型.docx_第1页
气候变暖化型模型.docx_第2页
气候变暖化型模型.docx_第3页
气候变暖化型模型.docx_第4页
气候变暖化型模型.docx_第5页
已阅读5页,还剩40页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Error! No text of specified style in document.2009高教社杯全国大学生数学建模竞赛承 诺 书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从A/B/C/D中选择一项填写): B 我们的参赛报名号为(如果赛区设置报名号的话): 所属学校(请填写完整的全名): 西安电子科技大学 参赛队员 (打印并签名) :1. 李栋 2. 王晓辉 3. 叶鑫林 指导教师或指导教师组负责人 (打印并签名): 冯海林 周杰 日期: 2010年 08月 04日赛区评阅编号(由赛区组委会评阅前进行编号):2009高教社杯全国大学生数学建模竞赛编 号 专 用 页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):目录2009高教社杯全国大学生数学建模竞赛1目录1摘 要3一 问题重述5二 问题分析62.1综合分析62.2 问题的具体6三模型的假设与条件83.1对问题可设如下合理假设83.2文中用到的符号8四模型的建立与求解104.1评价体系标准的制定104.2建立病床安排模型114.2.1模型的建立:病床安排的多目标优化模型114.2.2病人安排模型的建立134.3确定大概的入住时间164.3.1方法和思路164.3.2利用方法求解164.4调整手术安排模型174.4.1方法简析174.4.2计算求解174.5平均逗留时间最短的病床分配比例模型18五模型的误差分析21六模型的评价和改进226.1模型的评价226.2模型的改进22七对医院管理者的建议23八参考文献24附录25附录一:病人安排模型的程序25附录二:求解某类病人在该日期前的等待人数34附录三:评价模型的程序34附录四:lingo程序43眼科病床合理安排的探讨摘 要文针对眼科病床合理安排问题,建立病床安排模型,综合考虑平均等待时间等多因素,优先权和FCFS规则,根据每天的住院人数和三类病人所占比例,合理安排入院顺序,使病床使用率最小;通过确定病人可接受的队列长,分段讨论队列长,确定入院时间,再具体就单个区间进行讨论,得出大致院时间区间;通过分析得出三种方案,讨论每种方案的时间间隔,得出医院手术时间的安排是否合理,在模型的改进中我们建立了线性规划模型,得出模型改进后的时间间隔,对改进效果加以说明。就各类眼科病人占用病床的比例大致固定的方案,考虑使系统的平均逗留时间最短,采用最优规划的方法,建立比例分配模型,从而得出最优的病床分配比例;使用C#编程语言,VS,MATLAB,LINGO软件编程得出结论。首先对于问题一,我们结合实际生活经验,综合考虑医院的效率和病人的需求等因素,列出三个目标函数,用以评价各安排方案的优劣。其次对于问题二,我们采用了决策理论中的层次分析法进行安排病人,以病人平均等待入院的时间和病人等待做手术的时间以及各类病人的排队率作为准则层进行建立模型,以医院的手术时间为有限度的决策条件,确定每天各类病人的优先度情况然后在这个基础上又用这三个指标进行优劣评估,最后我们求出的模型比原来的安排方式平均少等待了一到三天。对于问题三,我们通过求出各类病人等待人数与平均出院数的比即得出等待时间。问题四的求解与问题二的求解类似,只需要在三种不同白内障手术安排情况下改变每天各类病人入院的优先度既可以用程序求出来新的安排方案。针对问题五建立比例分配模型,运用最优规划的方法,得出所有病人在系统内平均逗留时间最短时,白内障、白内障(双眼)、青光眼和视网膜疾病三类病人占用病床的最优比例大致为1:1:2。 根据探讨该问题得出的一些结论,我们对眼科病床合理安排问题,做了一份详细报告,从而为该医院眼科部提出了一些建议。 本文主要应用处理数据、建立解决问题所需的各种模型,使用EXCEL,ACCESS,MATLAB,VS以及LINGO软件对相关模型编程求解,计算简单、方便、快捷、准确,文章达到图文并茂的效果;建模的最后结合误差分析,着力使问题结果更具现实意义。关键词:多目标优化模型,排队论,层次分析法,FCFS,LINGO,泊松分布一 问题重述 气候变暖是上个世纪70年代开始被引起注意的,然后在相当长的一段时间内,很有争议,有的认为气候正在变暖,有的反之,有的认为是和宇宙天体的周期现象有关,如太阳黑子活动周期等。气候变暖影响着人类的生存与发展,成为当今人类社会亟待解决的重大问题,是人类必须面对的严峻挑战。 下面是英国中部某地1772-1997年间每天的平均温度记录。试根据此数据,分析如下两个问题:(1)对气温数据建立数学模型,反映气温的变化规律。(2)根据数据,判断是否存在气候变暖的趋势。二 问题分析2.1综合分析我们设立五个统计量:全年平均温度(T), 全年平均温差(V), 四季平均温度(Si,i=1.4), 年温度增长(D), 十年平均温度(Ten)。建立时间序列模型,分析各个统计量,用软件查看两种可能的规律:第一:周期性,查看各种波动变化是否有周期;第二:长期趋势,查看波动围绕的中间值是否有增长或降低的长期趋势。2.2 问题的具体第一问,计算出每个统计量的观察值,画出散点图。第一步,直观观察图像是否有波动周期性和某一特定的长期趋势。第二步,通过SPSS软件,处理各个统计量的时间序列模型。首先,进行AR模型分析,计算自相关性,偏相关性和频谱图,检查各个统计量的周期性和解析规律。然后,进行回归模型分析,查看拟合出的曲线长期发展的规律。通过以上分析,建立温度周期性和长期趋势的数学模型。第二问,计算出各个统计量,并带入模型检验。三模型的假设与条件3.1对问题可设如下合理假设1.该数据中英国温度变化趋势反映了全球的温度变化趋势。2.原始数据具有权威性,可信性。3.2文中用到的符号T-全年平均温度V-全年平均温差S-四季平均温度D-年温度增长Ten-十年平均温度四模型的建立与求解4.1五个统计量的确定全年平均温度(T),以一年为单位,用来衡量年气温变化,可以减小随机性的影响,而且是后继分析的基础;年平均温差(V),计算一年内的温差,它的大小可以衡量整年内温度的波动情况。因为年平均只能反映整体的一个方面,而不能反映一年内每天的情况。而年平均温差正好是为了补充说明年内温度稳定性的一个统计量。四季平均温度(Si),考虑到同期比较,我们将一年按自然分为四季,每一季可以求出一个平均值,作为这个统计量的观察值。这样我们可以求出季节的变化规律。补充一年一个统计量太范的弊端,这样可以给我们更多的信息。年温度增长(D),它是年平均温度(T)的一阶差分,用它我们可以看到相邻两年的增长变化规律,这里增长包括负增长。最后一个统计量(Ten),是十年平均温度,延长统计的周期,以求得到更稳定的发展趋势。4.2各个统计量周期性和趋势检验模型4.2.1 年平均温度(T) 首先画出散点图,观察大致规律。散点图如下: 由图大致看出波动较大,而其围绕的中间值由上升趋势。这只是初步猜想结果,下面就结合软件算出更准确答案。下面是用SPSS软件分析过程。频谱密度图像和周期频谱图像结合,能反映离散图的周期规律。当频谱密度图最高波峰集中了大部分能量(面积)时,它的横坐标位置就是周期。周期频谱图像判断周期方法和频率密度图像一样。但是两种图像中边界点上的波峰不算,因为他们代表的周期分别是1和序列总长N,也就是周期并一定存在。 通过分析,发现在几乎各个频率内都有波峰分布,而且波峰独特性不明显。说明周期不明显。大胆猜测全年平均温度在226年以内没有表现出周期性。 对于长期趋势,我们用曲线拟合的方法,描绘整体的发展趋势。综合不同拟合方法结果,猜测整体的发展趋势。 分别用线性,对数,二次和复合方法拟合,画出拟合线。根据线性拟合的直线可以看出,总体是在上升,但是过去200多年的平均增长率为0.028摄氏度每年。但是由二次拟合可以看出,从1772年到1850年其实是在下降,而后开始上升。并且由抛物线知识可知,年增长率会逐年增加。也就是平均每年温度增长会逐年变大。通过网上的数据,我们发现4.2.2 年平均温差(V)和四季平均温度(Si) 虽然全球温度是有变暖的趋势。下面进一步分析,它是在怎么的方式变暖的。通过分析年平均温差和四季平均温度得到结果。同样首先画出年平均温差的散点图,得出大概规律。 上图中的上部分是全年平均气温变化散点图,下部分就是年温度方差散点图。对比年平均气温上升趋势,温差有下降趋势。而且虽然有波动,但是没有表现出很明显的周期性。通过SPSS频谱分析,果然得不到周期。同样对散点的回归分析,得到的线性或曲线都是下降趋势。于是得出结论,温差变化没有周期而其有下降的趋势。因为一年内,春天和秋天的气温较接近全年平均气温。所以温差的主要贡献是夏季和冬季。温差的下降可能说明冬天气温的上升,或者夏天高温的下降,或者两者同时发生。具体是那一种情况,就需要再分析四季温度的发展趋势和规律。四季散点图和拟合曲线图如下: 由图可知,绿色代表的春季、红色代表的夏季和黄色代表的秋季的平均温度在1772-1997年的二百多年间的发展是先下降,后上升。而降幅最大的夏季平均温度下降到1870年左右达到谷底。这也解释了为什么在年平均温度(T)的发展中会有下降。但是一个在1870年,一个却在1850年左右触底,不同的原因是在冬季的平均气温变化之中。蓝色代表的冬季的平均温度一直有增长的趋势,这种趋势被虽然其他三季的下降趋势覆盖,但是却年平均温度的发展可知,在1850年以前夏季的降温超过冬季的升温但是近年升温的速度逐渐被秋季和春季赶超,预想以后除了冬季纳总理,得出安排的具体方案,如表所示: 类型入院日期白内障白内障(双眼)青光眼视网膜疾病外伤2008/9/11000902008/9/12000012008/9999/161000002008/999/19000902008/9/203170002008/9/21100002008/9/22108902008/9/2300700表 安排模型下的病人安排情况然后我们用评价模型程序对安排的模型从三个指标进行验证(附表二为评价模型程序),得到结果如图4.2,归纳如下:类型指标白内障单眼白内障双眼青光眼视网膜疾病外伤优化前等待入院时间12.0512.6214.9413.021等待手术时间2.383.522.492.351各病排队率(%)70.7862.3052.4551.31优化后等待入院时间10.5912111等待手术时间1.781.91221各病排队率(%)44.1130.6270.1930.14表 优化前后各类型指标对比表可以看出入院前的等待时间除了外伤没有优化外,其他的等待时间均有所优化;对于入院后的手术等待时间也是除了外伤外有明显幅度的优化;各病种类的队长比除了青光眼外都有大幅度降低,符合我们的预期目标,所以可行。此种方法虽然编程复杂,但移植性很强,综合考虑各种因素,在效率的基础上兼顾人性化,值得推广。4.3确定大概的入住时间4.3.1方法和思路由于外伤病人需要及时住院,所以综合考虑不计算外伤的情况。首先我们可以有优化后的模型计算出各类病人平均每天的出院人数,我们设为,j=2,3,4,5.另外我们可以由统计数据得出病人在等待时刻还有多少病人已经门诊但没有入院的人数。 则可以得出我们的等待时间为:(图中符号位取整数)。4.3.2利用方法求解首先我们利用强大的ACCESS对数据进行处理,很容求的病人在等待时刻还有多少病人已经门诊但没有入院的人数,另外我们利用编程求解,很容易得出优化后模型计算出各类病人平均每天的出院人数,如表4.3.2:病人类别白内障(单眼)白内障(双眼)青光眼视网膜脱落出院人数2.0762.380.692.92表4.3.2 模型优化后每天各类病人的出院人数再利用公式求解,即可得。某类病人等待人数可由附录二中程序求解。因此可预测(以 9月12号为例)该天白内障(单眼)的预计等待天数为:24/2.076 = 11.56 该天白内障(双眼)的入住时间为:30/2.38 = 12.61该天青光眼的入住时间为:16/0.69 = 23.19该视网膜疾病的入住时间为:29/2.92 = 9.934.4调整手术安排模型4.4.1方法简析由于星期六和星期天不做手术,导致一些本来安排在这两天的手术做不了,不仅涉及重新安排的问题,而且会将整个安排模型中的优先度打乱,所以我们分析因为白内障双眼两次手术时间都要间隔一天,所以我们的安排只有三种情况:周一和周三,周二和周四,周三和周五。然后进一步我们利用整体的评价模型对这三种情况进行计算,比较最优,得出结果。4.4.2计算求解由于三种情况导致优先度不同,所以对三种情况的计算我们只需修改参数,既可以得出结果,如图,图,图所示:图 周一和周三图 周二和周四表 周三和周五比较三种情况我们可以得出采取第三种方法我们可以缩短病人的入院前的等待时间,给医院等带来效率,所以医院可是适当将手术时间由周一周三改为周三和周五。4.5平均逗留时间最短的病床分配比例模型模型的建立与求解:由于外伤疾病通常属于急症,病床有空位时安排住院,且急症数量较少,我们为外伤类病人安排床位,当有外伤病人时,先考虑安排外伤病人住院,具体住哪类病床,可以实际况酌情处理。 平均逗留时间最短导致总的逗留时间最短,所以问题转化为在总的逗留时间最短的条件下,合理规划病床比例;以总的逗留时间最短为目标函数,对各类病人分配一定比例的床位后,要求每天可入院人数应不小于固定分配前人数且不大于空床数,建立线性规划模型; 总逗留时间=利用平均逗留时间*病床数 ;空床数=(1-病床使用率)*总床数;设各类病人占用病床的比例分别为H,其中1表示白内障,2表示白内障(双眼),3表示其他类,C表示三类病人的平均逗留时间,B为相应各类病人之前的平均每天入院人数,x为方案实施后平均每天可入院人数, m表示未对病床分配前平均每天入院人数(为8.4),a是标准病床使用率,则所有病人在系统内的平均逗留时间(含等待入院及住院时间)最短的病床比例分配模型为:S.t.(i=1,2,3)x=79(1-a)X=b则将相关数据:平均逗留时间12.6,12.5,8.46,平均每天入院人数1.67,2.06,4.7,标准病床使用率0.89,未对病床分配前平均每天入院人数8.4带入上模型中,运用软件求解得,如附表3所示。分析如下图所示:Local optimal solution found. Objective value: 86.55400 Infeasibilities: 0.1776357E-14 Extended solver steps: 5 Total solver iterations: 26 Model Title: 医院安排模型 Variable Value Reduced Cost A 0.8900000 0.000000 X 8.400000 0.000000 H( 1) 0.1988095 0.000000 H( 2) 0.2452381 0.000000 H( 3) 0.5595238 0.000000 B( 1) 1.670000 0.000000 B( 2) 2.060000 0.000000 B( 3) 4.700000 0.000000 C( 1) 12.60000 0.000000 C( 2) 12.50000 0.000000 C( 3) 8.460000 0.000000 Row Slack or Surplus Dual Price 1 86.55400 -1.000000 2 0.000000 -12.60000 3 0.000000 -12.50000 4 0.000000 -8.460000 5 0.2900000 0.000000 6 0.000000 0.000000综合考虑白内障(双眼)约占白内障病人的百分之六十左右,我们安排白内障、白内障(双眼)、青光眼和视网膜疾病(第三类)三类病人的病床比例大致为1:1:2。五模型的误差分析模型中由于数据给的不是很充裕,导致七月的病床使用率不能计算出来,所以最可靠的数据只能采用八月的数据,但是这样的话就可能存在偶然性和不具稳定性,导致计算结果不是很有说服力。另外一方面对于某些模型的求解我们采用了平均值计算,这样的话我们就忽略了情况的突发性,也导致结果的误差。具体来说,第二问中,优化安排9月11日到9月22日的病人时,我们根据概率推算出之后每个病人的出院日期。通过统计,发现白内障单双眼病人的术后观察时间很集中,我们用等概率预测他们在这些天中的某些天后出院,青光眼和视网膜疾病的术后观察时间相对分散,但是统计图显示接近泊松分布,我们就用产生的泊松随机数模拟术后观察时间。而外伤集中在6天,其它天很少。所以就直接用6天模拟。这些结果只是在之前的统计基础上推出,有一定的随机性。第三问预测时间时,等待区间是凭经验给出的上下限,不太科学。第四问中同样存在第二问的问题。最后一问用到了平均数,也有一定的误差。六模型的评价和改进6.1模型的评价1对全年平均温度、年平均温差、四季平均温度、年温度增长、十年平均温度五项指标分别进行了最小二乘法拟合和功率谱周期分析,能够较贴近实际地反映温度的变化的趋势。2对给出的数据进行充分分析,利用SPSS的数据处理功能对数据进行分析,归纳总理,为模型的求解提供了后备支持。3 对一年的四个季度分别分开分析,具有针对性和具体性。4 对数据进行一次,二次,三次拟合,选择更贴近实际情况的趋向曲线。6.2模型的改进 对于以上模型我们可以进行以下推广:(1)收集更多的数据库,证明拟合后曲线是否可以反映实际温度变化趋势。(2)更加年差温的波动加入随机量,改进拟合后的曲线。七对医院管理者的建议(1) 对医院的病人安排以及医生安排等问题上一方面要注重效率,但也要考虑其他指标,是医院的服务更加富有人性化。(2) 加强对医院管理的信息化,通过对多种指标的预测及统计,把握好趋势,防止出现突发情况下医院的管理系统出现漏洞的情况。八参考文献八参考文献1周义仓,赫孝良.数学建模实验M,西安:西安交通大学出版社,2005.12第九版2刘承平.数学建模方法M,北京:高等教育出版社,2002.7第一版3王阅、高学东、武森、陈敏。时间序列周期模式挖掘的周期检测方法,1000-3428(2009)22-0032-03。4百度文库-时间序列,/view/6652a31fb7360b4c2e3f64a2.html。2010-8-21。5郭志刚,社会统计分析方法SPSS软件应用,中国人民大学出版社,1999。6魏鑫,张平,周期图法功率谱估计中的窗函数分析现代电子技术2005年03期。附录附录一:病人安排模型的程序using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Data.OleDb;namespace 安排函数 class Program /各类疾病所对应的下标:0白单 1白双 2青光 3视网膜 4外伤 static string illname(int i) switch (i) case 0: return (白内障); break; case 1: return (白内障(双眼); break; case 2: return (青光眼); break; case 3: return (视网膜疾病); break; case 4: return(外伤); break; default: return(10086); break; /病的种类个数 static int illnum = 5; /最大床位 static int maxbed = 79; /各病入院后所需的最小等待手术时间/天 static int cd = new int 1,1,2,2,1; /第一维下标为病的标号,第二维下标0-6一次为 周天至周六 /当天是否可以手术 0否 1是 static int, available = new int, 0,1,0,1,0,0,0, 0,1,0,1,0,0,0, 1,1,1,1,1,1,1, 1,1,1,1,1,1,1, 1,1,1,1,1,1,1, ; /第一维下标0-6一次为 周天至周六,第一维下标为病的标号 /当前日期的各病入院优先级 0-3 0为最高 static int, PRI = new int, 2,1,3,3,0, 1,3,2,2,0, 1,3,2,2,0, 2,2,1,1,0, 2,2,1,1,0, 2,2,1,1,0, 2,1,3,3,0 ; /手术后平均观察时间/天,白双从第一次手术开始算起 static int viewtime = new int 3,7,8,10,6; /要求解的启示日期 static DateTime begintime = DateTime.Parse(2008/9/11); /定义数据库连接字符串 static string strConnection = Provider=Microsoft.ACE.OLEDB.12.0;Data Source=E:2010数学建模培训专项训练8月2data.accdb; /判断日期是星期几 返回整型 0-6一次为 周天至周六 static int dayofweek(DateTime mytime) switch (mytime.DayOfWeek.ToString() case Sunday: return(0); break; case Monday: return(1); break; case Tuesday: return (2); break; case Wednesday: return (3); break; case Thursday: return (4); break; case Friday: return (5); break; case Saturday: return (6); break; default: return (10086); break; /求指定日期的空余床位,8月8号后,每天病床都排满 static int freebed(DateTime mytime) OleDbConnection objConnection = new OleDbConnection(strConnection); /建立连接 objConnection.Open(); /打开连接 OleDbCommand sqlcmd = new OleDbCommand(select * from hospital, objConnection); /sql语句 OleDbDataReader reader = sqlcmd.ExecuteReader(); int result = 0; while (reader.Read() /如果当天有人出院空床位+1 DateTime et; if (reader出院时间.ToString().Trim() != ) et = DateTime.Parse(reader出院时间.ToString(); else et = DateTime.Parse(2012/8/4); /出院时间等于该天 if (mytime = et) result+; /* /如果当天有人入院空床位-1 DateTime intime; if (reader入院时间.ToString().Trim() != ) intime = DateTime.Parse(reader入院时间.ToString(); else intime = DateTime.Parse(2012/8/4); /入院时间等于该天 if (mytime = intime) result-; */ reader.Close(); return(result); /等待比:该病在日期前(包括当天) 排队长/该病总人数(排队 + 已住院但未出院),值越大,优先级越大 static float perwait(DateTime mytime,string ill) OleDbConnection objConnection = new OleDbConnection(strConnection); /建立连接 objConnection.Open(); /打开连接 OleDbCommand sqlcmd = new OleDbCommand(select * from hospital where 类型 = + ill + , objConnection); /sql语句 OleDbDataReader reader = sqlcmd.ExecuteReader(); float result = 0; int wait = 0; int inhos = 0; while (reader.Read() DateTime bt = DateTime.Parse(reader门诊时间.ToString(); DateTime et; if (reader入院时间.ToString().Trim() != ) et = DateTime.Parse(reader入院时间.ToString(); else et = DateTime.Parse(2012/8/4); DateTime outt; if (reader出院时间.ToString().Trim() != ) outt = DateTime.Parse(reader出院时间.ToString(); else outt = DateTime.Parse(2012/8/4); /bt = mytime et 门诊,但未入院人数 if (bt = mytime & mytime et) wait+; /et = mytime t 入院,但未出院人数 if (et = mytime & mytime outt) inhos+; reader.Close(); result = (float)wai

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论