查询最大竞争力位置的动态监控方法及系统技术方案

技术编号:9198322 阅读:138 留言: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),且V=Vo∪C∪F;把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.,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.,Papadias,D.:Agg本文档来自技高网...
查询最大竞争力位置的动态监控方法及系统

【技术保护点】
一种查询最大竞争力位置的动态监控方法,其特征在于,包括:给定一个客户点的集合C和一个设施点的集合F,以及一个候选位置集合P,最大竞争力位置为其中w(c)是客户点c的权重,如果客户点c和设施点f在道路网络中的距离d(c,f)是c和F中的点的极小值,则定义f是c的吸引者,c被f吸引,a(c)=d(c,f)为c的吸引距离,Cp是所有能被p吸引的客户点,即通过向表示路网的无向连通图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。FDA00003463576200011.jpg,FDA00003463576200012.jpg

【技术特征摘要】
1.一种查询最大竞争力位置的动态监控方法,其特征在于,包括:给定一个客户点的集合C和一个设施点的集合F,以及一个候选位置集合P,最大竞争力位置为其中w(c)是客户点c的权重,如果客户点c和设施点f在道路网络中的距离d(c,f)是c和F中的点的极小值,则定义f是c的吸引者,c被f吸引,a(c)=d(c,f)为c的吸引距离,Cp是所有能被p吸引的客户点,即通过向表示路网的无向连通图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,步骤包括:路网中设施点和客户点的更新可以归结为增加一个客户点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按照边划分为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Δ中最近的点对应的子图里。3.如权利要求2所述的查询最大竞争力位置的动态监控方法,其特征在于,根据G中初始的设施点集合F和客户点集合C获取p的步骤包括:为每个子图Gi计算这个子图中位置所能达到的收益值上限其中,某个位置的收益值为该位置能够吸引到的所有客户点的权重之和,Ci是Gi中的所有点可能吸引到的客户点的集合;然后根据这个上限对所有子图进行从高到低排序,之后按这个顺序遍历所有子图:对于被访问的子图,计算该子图的局部最佳位置并获取对应收益值,其中某个子图的局部最佳位置I为该子图上所有具有最大收益值的点集合;如果在某一时刻当前获得的最大收益值已经大于下一个待访问子图的收益值上限,则停止遍历,将这个最大收益值对应的位置作为最大竞争力位置p。4.如权利要求3所述的查询最大竞争力位置的动态监控方法,其特征在于,为每个子图Gi计算这个子图中位置所能达到的收益值上限的步骤包括:在G中加入一个虚拟的顶点v0,从v0到Gi中的每一个顶点连接一条长度为0的边;计算v0的吸引集合A(v0),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;令Ci为A(v0)中出现的所有客户点的集合;根据Ci计算出Gi的收益值上限5.如权利要求4所述的查询最大竞争力位置的动态监控方法,其特征在于,已知一个顶点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′为端点的边。6.如权利要求5所述的查询最大竞争力位置的动态监控方法,其特征在于,对于被访问的子图,计算该子图的局部最佳位置并获取对应收益值的步骤包括:对于子图中的每一条边e初始化计算其局部最佳位置I以及对应的收益值m,其中,某一条边e上的局部最佳位置I为e上所有具有最大收益值的点集合;将子图的有最大收益值的边的局部最佳位置作为该子图的局部最佳位置,所述最大收益值作为该子图的对应收益值。7.如权利要求6所述的查询最大竞争力位置的动态监控方法,其特征在于,对于子图中的每一条边e初始化计算其局部最佳位置I以及对应的收益值m的步骤包括:分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr);根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。8.如权利要求7所述的查询最大竞争力位置的动态监控方法,其特征在于,根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m的步骤包括:建立一个一维平面R;对于每个在A(vl)中出现但是没有在A(vr)中出现的客户点c,在R中创建一条线段[0,a(c)-d(c,vl)],对这条线段赋予权重w(c);对于每个在A(vr)中出现但是没有在A(vl)中出现的客户点c,在R中创建一条线段[l-a(c)+d(c,vr),l],并赋予权重w(c),l表示待计算的边e的长度;对于每个在A(vl)和A(vr)中都出现的客户点c,如果l≤2·a(c)-d(c,vl)-d(c,vr),则在R中创建一条线段[0,l],并赋予权重w(c);否则,在R中创建两条线段[0,a(c)-d(c,vl)]和[l-a(c)+d(c,vr),l],并赋予权重w(c);计算点集合I,I是整条边[0,l]的子集,使得R中所有覆盖I的线段的权重之和最大化;返回点集合I为边e上的局部最佳位置,对应的收益值m为R中所有覆盖I的线段的权重之和。9.如权利要求8所述的查询最大竞争力位置的动态监控方法,其特征在于,已知更新前的局部最佳位置以及对应的收益值分别为I0和m0,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m的步骤包括:步骤一:初始化一个空的边集E1;步骤二:对于E中的每条边e(vl,vr),如果<vl,d(c,vl)>和<vr,d(c,vr)>中至少有一个存在于UC+和UC-的并集中,则把e加入边集E1;步骤三:对于边集E1中的每一条边e(vl,vr)执行如下步骤:初始化两个空的点集I+和I-,如果<vl,d(c,vl)>存在于中,但是<vr,d(c,vr)>不存在于中,则向I-中加入一条线段[0,a0(c)-d(c,vl)];如果<vl,d(c,vl)>不存在于中,但是<vr,d(c,vr)>存在于中,则向I-中加入一条线段[l-a0(c)-d(c,vr),l];如果<vl,d(c,vl)>和<vr,d(c,vr)>都存在于中,则如果l≤2a0(c)-d(c,vl)-d(c,vr),则向I-中加入一条线段[0,l],l>2a0(c)-d(c,vl)-d(c,vr),向I-中加入两条线段[0,a(c)-d(c,vl)]和[l-a(c)+d(c,vr),l];与获取I-一样的方式,将换成a0(c)换成a′(c),类似地计算出I+;如果a0(c)<a′(c),则将一个临时的flag设为ADD,计算I′=I+-I-,否则,将flag设为DEL,计算I′=I--I+;如果I′为空集,则跳出本循环,访问边集E1中的下一条边e;如果flag为ADD,则计算I=I0∩I′,如果I是空集,则重新初始化计算e上的I和m;否则,令m=m0+w(c);如果flag为DEL,则如果I′=[0,l],则I=I0,m=m0-w(c);否则,计算I=I...

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

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

1