最小化最大距离位置的动态监控方法及系统技术方案

技术编号:9198321 阅读:155 留言:0更新日期:2013-09-26 02:30
本发明专利技术提供了一种查询最小化最大距离位置的动态监控方法及系统,包括:给定一个客户点的集合C和一个设施点的集合F,以及一个候选位置集合P,最小化最大距离位置为;通过向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E);把G按照边划分为n个子图G1...Gn,其中,n的值根据用户的需要设置;根据G中初始的设施点集合F和客户点集合C获取p;根据G中设施点集合F或客户点集合C发生的更新随时动态监控p。本发明专利技术能够快速和动态地查询最小化最大距离位置。

【技术实现步骤摘要】
最小化最大距离位置的动态监控方法及系统
本专利技术涉及一种最小化最大距离位置的动态监控方法及系统。
技术介绍
在过去几年中,有很多工作研究一类在存在客户点集合的情况下的“设施放置问题”(参见文献8:Farahani,R.Z.,Hekmatfar,M.:FacilityLocation:Concepts,Models,AlgorithmsandCaseStudies,1stedn.Physica-VerlagHD(2009),文献15:Nickel,S.,Puerto,J.:LocationTheory:AUnifiedApproach,1stedn.Springer(2005))。在最普遍的情况下,问题包含:(1)一个客户点的集合C和一个设施点候选集合P,并(2)在P中查询k个新设施点的位置从而满足一个事先定义的最佳条件。这类问题在k是常数的情况下存在多项式时间内的算法,在k是一般变量的情况下是NP-hard问题(参见文献8和15),已经存在的工作主要研究其近似算法。最佳位置查询问题可以被看做设施放置问题的一个变种,首先P是一个无限集合;然后通常k=1,也就是说只需要为新建一个设施点来选取位置;最后通常事先已经拥有了一个设施点集合F。以上这些是最佳位置查询问题相对于一般的“设施放置问题”的不同点。之前的最佳位置查询问题的研究工作(参见文献2:Cabello,S.,D′laz-B′a~nez,J.M.,Langerman,S.,Seara,C.,Ventura,I.:Reversefacilitylocationproblems.In:CCCG,pp.68–71(2005),文献6:Du,Y.,Zhang,D.,Xia,T.:Theoptimal-locationquery.In:SSTD,pp.163–180(2005),文献21:Wong,R.C.W.,¨Ozsu,T.,Yu,P.S.,Fu,A.W.C.,Liu,L.:Efficientmethodformaximizingbichromaticreversenearestneighbor.PVLDB2(1),1126–1137(2009),文献24:Zhang,D.,Du,Y.,Xia,T.,Tao,Y.:Progressivecomputationofthemin-distoptimal-locationquery.In:VLDB,pp.643–654(2006))中考虑的是设施点和客户点之间在Lp空间中的距离。其中Cabello等人(参见文献2)和Wong等人(参见文献21)的研究是基于L2空间的,而Du等人(参见文献6)和Zhang等人(参见文献24)的研究是基于L1空间的。这些工作并没有研究最佳位置查询问题在路网中的情况。现有的研究工作中包括另外两种与设施点的位置选取有关的问题:单设施点查询问题(参见文献8和15)以及设施点实时建立问题(参见文献9:Fotakis,D.:Incrementalalgorithmsforfacilitylocationandkmedian.Theor.Comput.Sci.361(2-3),275–313(2006),文献13:Meyerson,A.:Onlinefacilitylocation.In:FOCS,pp.426–431(2001)),这两种问题研究内容与最佳位置查询问题类似但是有所不同。单设施点查询问题研究的是,给定一个客户点的集合,寻找一个设施建立点从而满足一个最佳条件,在这个问题里,输入数据中没有已经建立的设施点集合,然而在最佳位置查询问题里,需要考虑一个已有的设施点的集合。设施点实时建立问题研究的是,随着客户点的不断增加,实时选取位置建立新的设施点来满足一个给定的优化条件,与最佳位置查询问题相似的是,这类问题在寻找新的设施点时,也考虑已有的设施点集合,然而[9]和[13]所采用的方法并不能解决最佳位置查询问题,这是因为在设施点实时建立问题中,建立新设施点的候选地点是一个有限的集合,但是在最佳位置查询问题中,建立新设施点的候选地点是一个无限的集合,例如Lp空间中的所有地点或是路网中的所有边上的所有地点的集合。在我们之前的研究工作中我们提出了静态一次查询路网中最佳位置的方法(参见文献22:Xiao,X.,Yao,B.,Li,F.:Optimallocationqueriesinroadnetworkdatabases.In:ICDE,pp.804–815(2011)),与那篇文章相比,我们的专利技术提出了新的动态维护路网中最佳位置的解决方案,并为三个不同的最佳位置查询问题设计了具体的实现方法。最后,现有的研究工作中存在着很多关于路网数据库中查询方法的研究(参见3:Chen,Z.,Shen,H.T.,Zhou,X.,Yu,J.X.:Monitoringpathnearestneighborinroadnetworks.In:SIGMOD,pp.591–602(2009),文献4:Deng,K.,Zhou,X.,Shen,H.T.,Sadiq,S.,Li,X.:Instanceoptimalqueryprocessinginspatialnetworks.VLDBJ18(3),675–693(2009),文献11:Jensen,C.S.,Kol′aˇrvr,J.,Pedersen,T.B.,Timko,I.:Nearestneighborqueriesinroadnetworks.In:GIS,pp.1–8(2003),文献12:Kolahdouzan,M.R.,Shahabi,C.:Voronoi-basedk-nearestneighborsearchforspatialnetworkdatabases.In:VLDB,pp.840–851(2004),文献14:Mouratidis,K.,Yiu,M.L.,Papadias,D.,Mamoulis,N.:Continuousnearestneighbormonitoringinroadnetworks.In:VLDB,pp.43–54(2006),文献16:Papadias,D.,Zhang,J.,Mamoulis,N.,Tao,Y.:Queryprocessinginspatialnetworkdatabases.In:VLDB,pp.802–813(2003),文献17:Samet,H.,Sankaranarayanan,J.,Alborzi,H.:Scalablenetworkdistancebrowsinginspatialdatabases.In:SIGMOD,pp.43–54(2008),文献18:Sankaranarayanan,J.,Samet,H.:Distanceoraclesforspatialnetworks.In:ICDE,pp.652–663(2009),文献19:Sankaranarayanan,J.,Samet,H.,Alborzi,H.:Pathoraclesforspatialnetworks.PVLDB2(1),1210–1221(2009),文献23:Yiu,M.L.,Mamoulis,N.本文档来自技高网...
最小化最大距离位置的动态监控方法及系统

【技术保护点】
一种查询最小化最大距离位置的动态监控方法,其特征在于,包括:给定一个客户点的集合C和一个设施点的集合F,以及一个候选位置集合P,最小化最大距离位置为p=argminp∈P(maxc∈C{a^(c)|F=F∪{p}}),其中为客户点c的加权吸引距离,w(c)是客户点c的权重,如果客户点c和设施点f在道路网络中的距离d(c,f)是c和F中的点的极小值,则定义f是c的吸引者,c被f吸引,a(c)=d(c,f)为c的吸引距离;通过向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;把G按照边划分为n个子图G1...Gn,其中,n的值根据用户的需要设置;根据G中初始的设施点集合F和客户点集合C获取p;根据G中设施点集合F或客户点集合C发生的更新随时动态监控p。FDA00003464291800012.jpg...

【技术特征摘要】
1.一种查询最小化最大距离位置的动态监控方法,其特征在于,包括:给定一个客户点的集合C和一个设施点的集合F,以及一个候选位置集合P,最小化最大距离位置为其中为客户点c的加权吸引距离,w(c)是客户点c的权重,如果客户点c和设施点f在道路网络中的距离d(c,f)是c和F中的点的极小值,则定义f是c的吸引者,c被f吸引,a(c)=d(c,f)为c的吸引距离;通过向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;把G按照边划分为n个子图G1...Gn,其中,n的值根据用户的需要设置,把G按照边划分为n个子图G1...Gn的步骤包括:从V中随机选取n个顶点作为顶点集合V△;建立n个空的子图G1...Gn,将顶点集合VΔ中的点分别设为每个子图的中心;把G和V△作为Erwig和Hagen算法的输入,计算出对于G中每一个v,V△中距离v最近的v′和两者的距离d(v,v′);对于G中的每一条边e,如果e的两个端点到VΔ中最近的点是同一个,则把e加入到对应的子图里,否则把e加入到其任意一个端点到VΔ中最近的点对应的子图里;根据G中初始的设施点集合F和客户点集合C获取p;根据G中设施点集合F或客户点集合C发生的更新随时动态监控p,步骤包括:路网中设施点和客户点的更新可以归结为增加一个客户点AddC(c),减少一个客户点DelC(c),增加一个设施点AddF(f),减少一个设施点DelF(f)共四种基本操作;当一个更新操作到来的时候,首先计算吸引距离会被更新所影响的客户点的集合Vc,如果操作是AddC(c)或DelC(c),则Vc={c};如果操作是AddF(f)或DelF(f),则Vc={c|<c,d(c,v)>∈A(f)};对于每一个客户点c∈Vc,找出该客户点之前的吸引距离a0(c)和新的吸引距离a'(c),并建立两个集合和对于每一个客户点c∈Vc,根据a0(c),a'(c),来更新所有已经被计算的子图中的每一条边e的局部最佳位置I以及对应的收益值m,令更新前的局部最佳位置以及对应的收益值分别为I0和m0;更新所有子图的收益值上限;根据新的上限对所有子图进行从高到低排序,之后按这个顺序遍历所有子图:对于被访问的子图,如果该子图未被计算,则初始计算该子图的局部最佳位置并获取对应收益值,如果该子图已被计算,则直接读取该子图的局部最佳位置和对应收益值;如果在某一时刻当前获得的最大收益值已经大于下一个待访问子图的收益值上限,则停止遍历,将这个最大收益值对应的位置作为最小化最大距离位置p;对于未遍历到的子图,把其中已经计算的子图改为未计算,以为下一次更新做准备;其中,v为无向连通图G中的一个顶点,d(c,ν)是顶点v在道路网络中的距离,A(f)是设施点f的吸引集合。2.如权利要求1所述的查询最小化最大距离位置的动态监控方法,其特征在于,根据G中初始的设施点集合F和客户点集合C获取p的步骤包括:为每个子图Gi计算这个子图中位置所能达到的收益值上限其中,某个位置的收益值m为在该位置建立新设施后所有客户点的最大加权吸引距离的减少量,Ci是Gi中的所有点可能吸引到的客户点的集合;然后根据这个上限对所有子图进行从高到低排序,之后按这个顺序遍历所有子图:对于被访问的子图,计算该子图的局部最佳位置并获取对应收益值,其中某个子图的局部最佳位置I为该子图上所有具有最大收益值的点集合;如果在某一时刻当前获得的最大收益值已经大于下一个待访问子图的收益值上限,则停止遍历,将这个最大收益值对应的位置作为最小化最大距离位置p。3.如权利要求2所述的查询最小化最大距离位置的动态监控方法,其特征在于,为每个子图Gi计算这个子图中位置所能达到的收益值上限的步骤包括:在G中加入一个虚拟的顶点v0,从v0到Gi中的每一个顶点连接一条长度为0的边;计算v0的吸引集合A(v0),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;令Ci为A(v0)中出现的所有客户点的集合;根据Ci计算出Gi的收益值上限4.如权利要求3所述的查询最小化最大距离位置的动态监控方法,其特征在于,已知一个顶点v,A(v)通过如下步骤获取:通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);初始化A(v)为空集;用Dijkstra算法按照到v的距离升序遍历G中所有顶点;对于每一个遍历到的顶点v′,令a(v′)为v′到其最近的设施点f的距离,如果d(v,v′)≤a(v′),并且v′是一个客户点,则将把<v′,d(v′,v)>加入顶点v吸引集合A(v)后;如果d(v,v′)>a(v′),则忽略所有以v′为端点的边。5.如权利要求4所述的查询最小化最大距离位置的动态监控方法,其特征在于,对于被访问的子图,计算该子图的局部最佳位置并获取对应收益值的步骤包括:对于子图中的每一条边e初始化计算其局部最佳位置I以及对应的收益值m,其中,某一条边e上的局部最佳位置I为e上所有具有最大收益值的点集合;将子图的有最大收益值的边的局部最佳位置作为该子图的局部最佳位置,所述最大收益值作为该子图的对应收益值。6.如权利要求5所述的查询最小化最大距离位置的动态监控方法,其特征在于,对于子图中的每一条边e初始化计算其局部最佳位置I以及对应的收益值m的步骤包括:分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr);根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。7.如权利要求6所述的查询最小化最大距离位置的动态监控方法,其特征在于,根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m的步骤包括:建立一个2维平面R;让C-表示在A(vl)和A(vr)中都没有出现的客户点c的集合;在C-中找到拥有最大加权吸引距离的客户点c0;在R中建立c0的WAD函数,即从坐标为的点到坐标为的点画一条线段,其中l表示待计算的边e的长度,某个客户点在e上的WAD函数表示该客户点的加权吸引距离随着在e上建立新设施的位置变化而变化的情况;对于每个在A(vl)中出现但是没有在A(vl)中出现的客户点c,令x1=0,y1=w(c)·d(c,vl),x2=min{l,a(c)-d(c,vl)},x3=l,y2=y3=w(c)(x2+d(c,vl)),在R中建立c的WAD函数:即建立两条线段,从(x1,y1)到(x2,y2),从(x2,y2)到(x3,y3);对于每个在A(vr)中出现但是没有在A(vl)中出现的客户点c,令x1=l,y1=w(c)·d(c,vr),x2=max{0,l-a(c)+d(c,vr)},x3=0,y2=y3=w(c)(l-x2+d(c,vr)),在R中建立c的WAD函数:即建立两条线段,从(x1,y1)到(x2,y2),从(x2,y2)到(x3,y3);对于每个在A(vl)和A(vl)中都出现的客户点c,令x1=0,y1=w(c)·d(c,vl),x2=min{β,a(c)-d(c,vl)},x3=max{β,l-a(c)+d(c,vr)},y2=y3=w(c)·(x2+d(c,vl)),x4=l,y4=w(c)·d(c,vr),在R中建立c的WAD函数:即建立三条线段,从(x1,y1)到(x2,y2),从(x2,y2)到(x3,y3),从(x3,y3)到(x4,y4);计算R中所有WAD函数的上界函数为gup;返回所有使gup取得最小值的点的集合为边e上的局部最佳位置I,该最小值为相应的收益值m。8.如权利要求7所述的查询最小化最大距离位置的动态监控方法,其特征在于,已知更新前的局部最佳位置以及对应的收益值分别为I0和m0,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m的步骤包括:初始化一个空的边集E1;对于E中的每一条边e,如果w(c)·max{a0(c),a′(c)}≥m0,则把e加入到E1中;对于E1中的每一条边e,如果w(c)·a0(c)≥m0,使用a0(c)建立c在e上的WAD函数,如果WAD函数的最大值小于m0,则m=m0,I=I0,如果WAD函数的最大值大于等于m0,则重新初始化计算I和m;如果w(c)·a′(c)≥m0,使用a′(c)建立c在e上的WAD函数gc(x),建立临时函数g′up(x)=max{gc(x),g0(x)=m0(0≤x≤l)},并得到点集合I′=argminxg′up(x),如果g′up(x)的最小值等于m0并且I′与I0的交集不为空,则m=m0,I′∩I0,如果g′up(x...

【专利技术属性】
技术研发人员:姚斌吴亦凡李飞飞肖小奎
申请(专利权)人:上海交通大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1