卫生站选址问题_第1页
卫生站选址问题_第2页
卫生站选址问题_第3页
卫生站选址问题_第4页
卫生站选址问题_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE2卫生站选址问题我国的医疗卫生事关全民族的身体健康。卫生事业是社会公益事业,卫生事业发展必须与国民经济和社会发展相协调,人民健康保障水平必须与经济发展水平相适应。在社会主义市场经济条件下,发展卫生事业,应该坚持以政府为主导,同时发挥市场机制作用的方针,坚持以农村为重点,坚持预防为主,坚持中西医并重,依靠科技教育,动员全社会参与,为人民健康服务,为社会主义现代化建设服务。农村卫生改革与发展是我国医疗卫生事业改革与发展的重点。也是我国构建和谐社会的基础。新型农村合作医疗制度是未来农村基本医疗保障制度的雏形。试点情况表明,这项制度对于缓解农民医疗的经济负担,提高农民医疗服务水平发挥了重要作用。国务院决定,到2008年在全国基本推行这项制度,充分发挥合作医疗制度对农村社会事业发展的促进作用。建设社会主义新农村,需要建立新型农村合作医疗制度,提高农村公共服务水平。自启动新型农村合作医疗试点工作以来,试点市县的农民减轻了医药费用负担,受到了农民群众的普遍欢迎。某县要在其所辖的13个乡镇:V1,V2,…,V13,新建卫生站(建在乡镇),为13个乡镇服务,要求卫生站至最远乡镇的距离达到最小。假设该13个乡镇之间的交通网络被抽象为下图所示的无向赋权连通图,权值为乡镇之间的距离。如果修建一个卫生站,该卫生站应设在哪个乡镇,即哪个顶点?修建卫生站后,找出该卫生站到最近,最远乡镇的路径。如果修建两个卫生站,使最大服务距离最小,卫生站又该设在哪两乡镇,即哪两顶点?把13个乡镇用高压电缆连接起来建立一个电网,使所用的电缆长度之和最短,即总费用最小。VV6v6v8v1v7v5v4v222v36938325V137577111558112122V11024V1209101415854V10V10V9卫生站选址问题卫生站选址问题【摘要】:为解决当前人们就医难,看病难的问题,现某政府决定要在其所辖的乡镇新建卫生站,为考虑全体乡镇,统筹兼顾,最大限度的方便群众就医,充分发挥卫生站的作用。我们将各乡镇看成平面上的点,要求卫生站至最远点的距离达到最小。当各点到卫生站的距离有多种情况时,取其最优值,最后取最大服务距离最小的那种方案。可将全县的高压电缆架设问题看成点与点之间的连线问题求解。其中模型的建立和解决运用了Floyd算法,排列组合,数列求和以及最优连线等数学方法。该模型可以运用到解决类似的问题如学校选址,自来水管的铺设等问题,极大程度的方便了最优方案的建立,有效地缩短了解决问题的时间。【关键词】:卫生站,选址,Floyd算法,排列组合,数列求和,最优连线1、问题重述某县要建卫生站为其所在辖的13个乡镇:V1,V2,…,V13服务,要求卫生站至最远乡镇的距离达到最小。(1)若要修建一个卫生站,应建在哪个乡镇?(2)修建好之后,找出其到最近、最远乡镇的路径?(3)若修建两个卫生站,使最大服务距离最小,卫生站又设在哪两个乡镇?2、模型假设考虑该县的交通网络图为一个无向赋权连通图,其中顶点代表各个乡镇,边代表连接两个乡镇之间的公路段,现需在这些顶点中设立一个卫生站,如何选取可以使得其至最远乡镇的距离达到最小。怎样建立两个卫生站,可以使最大服务距离最小。由于建立卫生站需考虑人流及服务范围等因素,因此作出如下假设(a)建立一个卫生站时,只考虑卫生站至最远乡镇的距离;(b)建立两个卫生站时,卫生站所能提供的服务相同;3、模型建立第一二问:把乡镇间的公路示意图抽象为一赋权连通图G(V,E),在权图G中,ViV(G)对应示意图中的乡镇所在地,Vi表示13个乡镇的所在地,ejE(G)对应示意图中的公路,边权(ej)对应示意图中的公路长度.VV6v6V8V1V7V5V4V22V36938325V137577V1124V12910141584V10V9用Floyd算法求出距离矩阵D=()计算在各点Vi建立卫生站的最大服务距离S(vi):S(Vi)=(),i=1,2,…,13求出顶点Vk,使S(Vk)=(S(Vi)),则Vk就是要求的建立卫生站的地点.用MATLAB编写主程序floyd.m,运行程序floyd.m后,得出的结果为:两点的距离矩阵经过的中间点矩阵r=122776787776612347771777772232222292222522455555555577745676910116615555658555121312255571555551116661866666553555559555555555555510111155555555551011125666666666111112666666666666613若V5为卫生站,最远点到卫生站的距离为17,最远距离最小。所以,卫生站应该建立在:V5处到卫生站V5最近的乡镇是V6,路径为:V5→V6到卫生站V5最远的乡镇是V3和V13,路径分别为:V5→V7→V2→V3,V5→V6→V13第三问:假设两卫生站地址已选定,则其他乡镇到卫生站的距离取其到两卫生站距离较小的一个,两卫生站的取法共有C=78。不重复地取卫生站,若第一个卫生站取乡镇V1,第二个卫生站依次取V2,V3…V13则有12种取法;若第一个卫生站取乡镇V2,第二个卫生站依次取V3,V4…V13则有11种取法;若第一个卫生站取乡镇V3,第二个卫生站依次取V4,V5…V13则有10种取法;…若第一个卫生站取乡镇V12,第二个卫生站取V13则有1种取法,由上可得一个等差数列:首项为12,末项为1,公差为-1的一个等差数列:12,11,10,9,8,7,6,5,4,3,2,1。依次计算出每种情况下各乡镇到卫生站的最优距离可得一个78行,13列的距离矩阵,如下c=005888361215171223050138836121517122308130783611141612230914702354796170914920336911415071212570691214112209141253309121471809141146360111310210914147836110212230914158836122010230914136436101210019091415883612151712090081214715141921182990507971211141613248057025547961780582073691141530585709912141122605853709121471890584679011131021905879712110212249058911714132010269058647710121001990581214715161921180145007912121114161324850702554796178509207369114153501257099121411226501253909121471812501146990111310211450137912121102122414501391112141320102612501364117101210019145013171512181424261908813002554796178813020736911415371205709912141122681305390912147181281304699011131021158130791212110212241581307912121120102412813064117101210019158130791212111416130812177005347941537127020547961761217702504796178121470255079617812177025540261781217702554206178121770255479017812177025547960371292003691141561419920706911415814149207309114158141992073602415814199207362041581419920736910015814199207369114037121253009121471837121146090111310213712125709902112237121257099201022371212540791210019371212570991214110615141143900111371861520125390902718615201253909207186152012539091210018615201253909121470121614114699002102112161411469902010211216141144970111001912161411469901113100151924147912121100102412182313641171002019151924147912121102120121823136411710200191721261691114141320100121823136411710121000在Matlab中:得到c的转置矩阵b,再用max函数求出b中每列的最大值(即c中每行的最大值),再用min函数得到最大值中的最小值e。有等差数列求和公式可得不等式×h/2≤e<{12+}×(h+1)/2可得整数h,把h赋值给Wq=e-×W/2若q=0则说明第二个卫生站的点为V13若q>0则说明第一个卫生站V的下标为w+1,第二个卫生站V的小标为w+1+q由题最终得出最大服务距离最小的两个卫生站的选址为(V7,V13)(前三问MATLAB解题程序详见附录一)第四个问题:将高压电缆架设问题看成点与点之间的连线问题求解,运用最优连线发求解:设是两点i与j之间的距离,0或1(1表示连接,0表示不连接),并假设顶点1是生成树的根。则数学表达式为:mins.tEQ(至少有一条边接到其它边)(除根外每一条边进入)(各边不构成圈)(第四问LINGO解题程序详见附录二)结果如下:VV6v6v8v1v7v5v4v22v36938325V1375771558112122V1124V129101415854V10V94、模型的评价:优点:我国地域辽阔,各地区地理环境情况不尽相同,经济状况呈梯度分布。因此,本文是具体研究结合一个县,建立出特定的数学模型。该模型是一个最短路应用中的选址问题,利用Floyed算法进行求解,用最小生成树方法进行检验,模型是合理且有可行性的。具有较强的科学性,易于推广,实用性强,遇到类似选址的问题只需改变无向图的邻接矩阵即可得到一系列最优选址问题,无需改动具体的程序代码,形成一种模板,运用最优连线求解,结果简单,易于理解,可靠程度高,改变类似有关最优连线问题的距离矩阵即可得到最优连线,无需改动具体的程序代码,形成模板。该模型可以运用到解决类似的问题如学校选址,自来水管的铺设等问题缺点:Matlab求解结构代码较为繁琐复杂,用LINGO软件求解最优连线问题,其基本思想是将所求问题化为0--1整数规划,因此当所求问题的顶点数较大时,计算速度可能会比较慢。5、模型的分析与检验改变已知类似有关选址的问题的无向图的邻接矩阵仍可得到一系列最优选址问题,无需改动具体的程序代码,并且与实际情况相符合。参考第3版《数学建模与数学实验》page189例2改变已知类似有关最优连线问题的距离矩阵仍可得到最优连线,无需改动具体的程序代码,并且与实际情况相符合。参考《Lingo和Excel在数学中的应用》page78例2.3.1附录1:a=[09infinfinf836infinfinfinfinf;9058infinf7infinfinfinfinfinf;inf50infinfinfinfinf14infinfinfinf;inf8inf07infinfinfinfinfinfinfinfinfinfinf7025inf479infinf;8infinfinf20inf3infinfinf415;37infinf5inf0infinfinfinfinfinf;6infinfinfinf3inf0infinfinfinfinf;infinf14inf4infinfinf0infinfinfinf;infinfinfinf7infinfinfinf02infinf;infinfinfinf9infinfinfinf2010infinfinfinfinfinf4infinfinfinf100inf;infinfinfinfinf15infinfinfinfinfinf0];n=size(a,1);%矩阵的维数d=a;%把矩阵a赋值给bfori=1:n%赋值路径矩阵forj=1:nr(i,j)=j;endendfork=1:n%求两点的距离矩阵和经过的中间点矩阵fori=1:nforj=1:nifd(i,j)>d(i,k)+d(k,j)d(i,j)=d(i,k)+d(k,j);r(i,j)=r(i,k);endendendenddisp(['两点的距离矩阵'])d%两点的距离矩阵disp(['经过的中间点矩阵'])r%经过的中间点矩阵t=d';%定义矩阵t为矩阵d的转置forp=1:n%求每列的最大距离g(p,1)=max(t(:,p));%定义g为t矩阵每行的最大值enddisp(['最大距离的最小值ans'])min(g(:,1))%最大距离的最小值fork=1:n%求最大距离中的最小距离ifg(k,1)==min(g(:,1))disp(['u为卫生站所在的行的序数'])u=k%最大距离中的最小距离所在的行的下标endenddisp(['所以最优修建卫生站的乡镇位置是V',num2str(u)])%如下是取两个卫生站时的相关代码m=1;fori=1:nforj=i+1:nfork=1:nifd(i,k)>=d(j,k)c(m,k)=d(j,k);elsec(m,k)=d(i,k);endendm;c;%矩阵c为各点到两卫生站距离较小值的距离矩阵c(m,:);m=m+1;endendsum1=0;%计算sum1为所有组合的总数fori=1:n-1sum1=sum1+i;enddisp(['c为各点到两卫生站距离较小值的距离矩阵'])cb=c';%定义矩阵b为矩阵c的转置form=1:sum1%求每列的最大距离f(m,1)=max(b(:,m));endf(:,1);disp(['最大服务距离的最小值ans'])min(f(:,1))fork=1:sum1%求最大距离中的最小距离iff(k,1)==min(f(:,1))disp(['e为组合所在的行的序数'])e=k%最大距离中的最小距离所在的行endendforh=1:12if(12+(13-h))*h/2<=e&e<(12+(13-(h+1)))*(h+1)/2%确定一个卫生站w=hendendq=e-(12+(13-w))*w/2;%确定另一个卫生站ifq==0disp(['使最大服务距离最小应选择V',num2str(w),'和','V13','为卫生站'])elsedisp(['使最大服务距离最小应选择V',num2str(w+1),'和',num2str(w+1+q),'为卫生站'])end运行结果:两点的距离矩阵d=0914158836121517122390581214715161921182914501317191220142426233415813079121211141613248121770255479617814199207369114153712125709912141122615201253909121471812161411469901113102115192414791212110212241721261691114141320102612182313641171012100192329342417152218212426190经过的中间点矩阵r=122776787776612347771777772232222292222522455555555577745676910116615555658555121312255571555551116661866666553555559555555555555510111155555555551011125666666666111112666666666666613最大距离的最小值ansans=17u为卫生站所在的行的序数u=5所以最优修建卫生站的乡镇位置是V5c为各点到两卫生站距离较小值的距离矩阵c=005888361215171223050138836121517122308130783611141612230914702354796170914920336911415071212570691214112209141253309121471809141146360111310210914147836110212230914158836122010230914136436101210019091415883612151712090081214715141921182990507971211141613248057025547961780582073691141530585709912141122605853709121471890584679011131021905879712110212249058911714132010269058647710121001990581214715161921180145007912121114161324850702554796178509207369114153501257099121411226501253909121471812501146990111310211450137912121102122414501391112141320102612501364117101210019145013171512181424261908813002554796178813020736911415371205709912141122681305390912147181281304699011131021158130791212110212241581307912121120102412813064117101210019158130791212111416130812177005347941537127020547961761217702504796178121470255079617812177025540261781217702554206178121770255479017812177025547960371292003691141561419920706911415814149207309114158141992073602415814199207362041581419920736910015814199207369114037121253009121471837121146090111310213712125709902112237121257099201022371212540791210019371212570991214110615141143900111371861520125390902718615201253909207186152012539091210018615201253909121470121614114699002102112161411469902010211216141144970111001912161411469901113100151924147912121100102412182313641171002019151924147912121102120121823136411710200191721261691114141320100121823136411710121000最大服务距离的最小值ansans=14e为组合所在的行的序数e=63w=7使最大服务距离最小应选择V7和V13为卫生站附录2;MODEL:sets:cities/1..13/:leVel;!leVel(i)=theleVelofcity;link(cities,cities):distance,!Thedistancematrix;x;!x(i,j)=1ifweuselinki,j;endsetsdata:!Distancematrix,itneednotbesymmetirc;distance=09141588361215171223905812147151619211829145013171912201424262334158130791212111416132481217702554796178

温馨提示

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

评论

0/150

提交评论