CN103336826B - 查询最大竞争力位置的动态监控方法及系统 - Google Patents

查询最大竞争力位置的动态监控方法及系统 Download PDF

Info

Publication number
CN103336826B
CN103336826B CN201310280207.4A CN201310280207A CN103336826B CN 103336826 B CN103336826 B CN 103336826B CN 201310280207 A CN201310280207 A CN 201310280207A CN 103336826 B CN103336826 B CN 103336826B
Authority
CN
China
Prior art keywords
point
client
financial value
local optimum
facility
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN201310280207.4A
Other languages
English (en)
Other versions
CN103336826A (zh
Inventor
姚斌
吴亦凡
李飞飞
肖小奎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN201310280207.4A priority Critical patent/CN103336826B/zh
Publication of CN103336826A publication Critical patent/CN103336826A/zh
Application granted granted Critical
Publication of CN103336826B publication Critical patent/CN103336826B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明提供了一种查询最大竞争力位置的动态监控方法及系统,包括:给定一个客户点的集合C和一个设施点的集合F,以及一个候选位置集合P,最大竞争力位置为根据路网中初始的设施点集合F和客户点集合C获取p;根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p。本发明能够快速和动态地查询最大竞争力位置。

Description

查询最大竞争力位置的动态监控方法及系统
技术领域
本发明涉及一种查询最大竞争力位置的动态监控方法及系统。
背景技术
在过去几年中,有很多工作研究一类在存在客户点集合的情况下的“设施放置问题”(参见文献8:Farahani,R.Z.,Hekmatfar,M.:Facility Location:Concepts,Models,Algorithms and Case Studies,1st edn.Physica-Verlag HD(2009),文献15:Nickel,S.,Puerto,J.:Location Theory:A Unified Approach,1st edn.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.:Reverse facility location problems.In:CCCG,pp.68–71(2005),文献6:Du,Y.,Zhang,D.,Xia,T.:The optimal-locationquery.In:SSTD,pp.163–180(2005),文献21:Wong,R.C.W.,¨Ozsu,T.,Yu,P.S.,Fu,A.W.C.,Liu,L.:Efficient method for maximizing bichromatic reverse nearestneighbor.PVLDB2(1),1126–1137(2009),文献24:Zhang,D.,Du,Y.,Xia,T.,Tao,Y.:Progressive computation of the min-dist optimal-location query.In:VLDB,pp.643–654(2006))中考虑的是设施点和客户点之间在Lp空间中的距离。其中Cabello等人(参见文献2)和Wong等人(参见文献21)的研究是基于L2空间的,而Du等人(参见文献6)和Zhang等人(参见文献24)的研究是基于L1空间的。这些工作并没有研究最佳位置查询问题在路网中的情况。
现有的研究工作中包括另外两种与设施点的位置选取有关的问题:单设施点查询问题(参见文献8和15)以及设施点实时建立问题(参见文献9:Fotakis,D.:Incrementalalgorithms for facility location and kmedian.Theor.Comput.Sci.361(2-3),275–313(2006),文献13:Meyerson,A.:Online facility location.In:FOCS,pp.426–431(2001)),这两种问题研究内容与最佳位置查询问题类似但是有所不同。单设施点查询问题研究的是,给定一个客户点的集合,寻找一个设施建立点从而满足一个最佳条件,在这个问题里,输入数据中没有已经建立的设施点集合,然而在最佳位置查询问题里,需要考虑一个已有的设施点的集合。设施点实时建立问题研究的是,随着客户点的不断增加,实时选取位置建立新的设施点来满足一个给定的优化条件,与最佳位置查询问题相似的是,这类问题在寻找新的设施点时,也考虑已有的设施点集合,然而[9]和[13]所采用的方法并不能解决最佳位置查询问题,这是因为在设施点实时建立问题中,建立新设施点的候选地点是一个有限的集合,但是在最佳位置查询问题中,建立新设施点的候选地点是一个无限的集合,例如Lp空间中的所有地点或是路网中的所有边上的所有地点的集合。在我们之前的研究工作中我们提出了静态一次查询路网中最佳位置的方法(参见文献22:Xiao,X.,Yao,B.,Li,F.:Optimal location queries in road network databases.In:ICDE,pp.804–815(2011)),与那篇文章相比,我们的发明提出了新的动态维护路网中最佳位置的解决方案,并为三个不同的最佳位置查询问题设计了具体的实现方法。
最后,现有的研究工作中存在着很多关于路网数据库中查询方法的研究(参见3:Chen,Z.,Shen,H.T.,Zhou,X.,Yu,J.X.:Monitoring path nearest neighbor in roadnetworks.In:SIGMOD,pp.591–602(2009),文献4:Deng,K.,Zhou,X.,Shen,H.T.,Sadiq,S.,Li,X.:Instance optimal query processing in spatial networks.VLDBJ18(3),675–693(2009),文献11:Jensen,C.S.,Kol′aˇrvr,J.,Pedersen,T.B.,Timko,I.:Nearestneighbor queries in road networks.In:GIS,pp.1–8(2003),文献12:Kolahdouzan,M.R.,Shahabi,C.:Voronoi-based k-nearest neighbor search for spatial networkdatabases.In:VLDB,pp.840–851(2004),文献14:Mouratidis,K.,Yiu,M.L.,Papadias,D.,Mamoulis,N.:Continuous nearest neighbor monitoring in road networks.In:VLDB,pp.43–54(2006),文献16:Papadias,D.,Zhang,J.,Mamoulis,N.,Tao,Y.:Queryprocessing in spatial network databases.In:VLDB,pp.802–813(2003),文献17:Samet,H.,Sankaranarayanan,J.,Alborzi,H.:Scalable network distance browsing inspatial databases.In:SIGMOD,pp.43–54(2008),文献18:Sankaranarayanan,J.,Samet,H.:Distance oracles for spatial networks.In:ICDE,pp.652–663(2009),文献19:Sankaranarayanan,J.,Samet,H.,Alborzi,H.:Path oracles for spatialnetworks.PVLDB2(1),1210–1221(2009),文献23:Yiu,M.L.,Mamoulis,N.,Papadias,D.:Aggregate nearest neighbor queries in road networks.TKDE17(6),820–833(2005))。然而这些研究工作都是关注路网数据库中最近点的查询(参见文献12、16和17)及其变种:最近点近似查询(参见文献18和19)、聚合查询(参见文献23),连续最近点查询(参见文献14),路径最近点查询(参见文献3)等等。这些研究工作中的技术并不能解决最佳位置查询问题,因为最近点查询问题与最佳位置查询问题在本质上是有所不同的。
另外,本发明相关的参考文献还包括如下:
文献1:de Berg,M.,Cheong,O.,van Kreveld,M.,Overmars,M.:ComputationalGeometry:Algorithms and Applications,3rd edn.Springer-Verlag(2008);
文献5:Dijkstra,E.W.:A note on two problems in connexion withgraphs.Numerische Mathematik1,269–271(1959);
文献7:Erwig,M.,Hagen,F.:The graph voronoi diagram withapplications.Networks36,156–163(2000);
文献10:Hershberger,J.:Finding the upper envelope of n line segmentsin o(n log n)time.Inf.Process.Lett.33(4),169–174(1989);
文献20:Shekhar,S.,Liu,D.R.:CCAM:A connectivity-clustered accessmethod for networks and network computations.TKDE9(1),102–119(1997)。
发明内容
本发明的目的在于提供一种查询最大竞争力位置的动态监控方法及系统,能够快速和动态地查询最大竞争力位置。
为解决上述问题,本发明提供一种查询最大竞争力位置的动态监控方法,包括:
给定一个客户点的集合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吸引的客户点,即
根据路网中初始的设施点集合F和客户点集合C获取p;
根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p。
进一步的,在上述方法中,根据路网中初始的设施点集合F和客户点集合C获取p的步骤包括:
通过向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;
对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m,其中,Ec为包含候选位置集合P中所有点的边的集合,某个位置的收益值m为该位置能够吸引到的所有客户点的权重之和,局部最佳位置I为边e上所有具有最大收益值的点集合;
根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
进一步的,在上述方法中,对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m的步骤包括:
通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);
分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;
根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。
进一步的,在上述方法中,已知一个顶点v,A(v)通过如下步骤获取:
初始化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′为端点的边。
进一步的,在上述方法中,根据已经计算出的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的线段的权重之和。
进一步的,在上述方法中,根据路网中设施点集合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
根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
进一步的,在上述方法中,已知更新前的局部最佳位置以及对应的收益值分别为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=I0-I′,如果I是空集,则重新初始化计算e上的I和m,如果I不是空集,令m=m0
令I和m为边e上新的局部最佳位置和对应的收益值。
根据本发明的另一面,提供一种查询最大竞争力位置的动态监控系统,包括:
定义模块,用于给定一个客户点的集合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吸引的客户点,即
获取模块,用于根据路网中初始的设施点集合F和客户点集合C获取p;
动态监控模块,用于根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p。
进一步的,在上述系统中,所述获取模块包括:
无向连通图模块,用于向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;
局部最佳位置和收益值模块,用于对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m,其中,Ec为包含候选位置集合P中所有点的边的集合,某个位置的收益值m为该位置能够吸引到的所有客户点的权重之和,局部最佳位置I为边e上所有具有最大收益值的点集合;
最大竞争力位置模块,用于根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
进一步的,在上述系统中,所述局部最佳位置和收益值模块,用于通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。
进一步的,在上述系统中,已知一个顶点v,所述局部最佳位置和收益值模块用于获取A(v),具体包括:
初始化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′为端点的边。
进一步的,在上述系统中,所述局部最佳位置和收益值模块用于:
建立一个一维平面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的线段的权重之和。
进一步的,在上述系统中,动态监控模块包括:
分类模块,用于将路网中设施点和客户点的更新归结为增加一个客户点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
结果模块,用于根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
进一步的,在上述系统中,所述更新模块包括:
初始化单元,用于初始化一个空的边集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=I0-I′,如果I是空集,则重新初始化计算e上的I和m,如果I不是空集,令m=m0
令I和m为边e上新的局部最佳位置和对应的收益值。
与现有技术相比,本发明通过给定一个客户点的集合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吸引的客户点,即
根据路网中初始的设施点集合F和客户点集合C获取p;根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p,能够快速和动态地查询最大竞争力位置。
附图说明
图1是本发明一实施例的查询最大竞争力位置的动态监控方法的流程图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
实施例一
如图1所示,本发明提供一种查询最大竞争力位置的动态监控方法,包括步骤S1至步骤S3。
步骤S1,给定一个客户点的集合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吸引的客户点,即
步骤S2,根据路网中初始的设施点集合F和客户点集合C获取p;
进一步的,步骤S2包括步骤S21至步骤S23。
步骤S21,通过向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;
步骤S22,对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m,其中,Ec为包含候选位置集合P中所有点的边的集合,某个位置的收益值m为该位置能够吸引到的所有客户点的权重之和,局部最佳位置I为边e上所有具有最大收益值的点集合;优选的,本步骤包括:通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr)。
其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。其中,已知一个顶点v,A(v)通过如下步骤获取:
初始化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′为端点的边。
其中,根据已经计算出的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的线段的权重之和。
步骤S23,根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
步骤S3,根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p。
优选的,步骤S3包括步骤S31至步骤S35:
步骤S31,路网中设施点和客户点的更新归结为增加一个客户点(AddC(c)),减少一个客户点(DelC(c)),增加一个设施点(AddF(f)),减少一个设施点(DelF(f))共四种基本操作;
步骤S32,当一个更新操作到来的时候,首先计算吸引距离会被更新所影响的客户点的集合Vc,如果操作是AddC(c)或DelC(c),则Vc={c};如果操作是AddF(f)或DelF(f),则Vc={c|<c,d(c,v)>∈A(f)};
步骤S33,对于每一个客户点c∈Vc,找出该客户点之前的吸引距离a0(c)和新的吸引距离a'(c),并建立两个集合
步骤S34,对于每一个客户点c∈Vc,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m,令更新前的局部最佳位置以及对应的收益值分别为I0和m0;其中,已知更新前的局部最佳位置以及对应的收益值分别为I0和m0,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m的步骤包括步骤一至步骤三:
步骤一:初始化一个空的边集E1
步骤二:对于E1中的每条边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=I0-I′,如果I是空集,则重新初始化计算e上的I和m,如果I不是空集,令m=m0
步骤三七:令I和m为边e上新的局部最佳位置和对应的收益值。
步骤S35根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
实施例二
本发明还提供另一种查询最大竞争力位置的动态监控系统,包括:
定义模块,用于给定一个客户点的集合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吸引的客户点,即
获取模块,用于根据路网中初始的设施点集合F和客户点集合C获取p;
动态监控模块,用于根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p。
进一步的,在上述系统中,所述获取模块包括:
无向连通图模块,用于向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;
局部最佳位置和收益值模块,用于对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m,其中,Ec为包含候选位置集合P中所有点的边的集合,某个位置的收益值m为该位置能够吸引到的所有客户点的权重之和,局部最佳位置I为边e上所有具有最大收益值的点集合;
最大竞争力位置模块,用于根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
进一步的,在上述系统中,所述局部最佳位置和收益值模块,用于通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。
进一步的,在上述系统中,已知一个顶点v,所述局部最佳位置和收益值模块用于获取A(v),具体包括:
初始化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′为端点的边。
进一步的,在上述系统中,所述局部最佳位置和收益值模块用于:
建立一个一维平面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的线段的权重之和。
进一步的,在上述系统中,动态监控模块包括:
分类模块,用于将路网中设施点和客户点的更新归结为增加一个客户点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
结果模块,用于根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
进一步的,在上述系统中,所述更新模块包括:
初始化单元,用于初始化一个空的边集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=I0-I′,如果I是空集,则重新初始化计算e上的I和m,如果I不是空集,令m=m0
令I和m为边e上新的局部最佳位置和对应的收益值。
实施例二的其它详细内容具体可参见实施例一,在此不再赘述。
本发明通过给定一个客户点的集合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吸引的客户点,即根据路网中初始的设施点集合F和客户点集合C获取p;根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p,能够快速和动态地查询最大竞争力位置。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
显然,本领域的技术人员可以对发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包括这些改动和变型在内。

Claims (10)

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吸引的客户点,即
根据路网中初始的设施点集合F和客户点集合C获取p;
根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p;
其中,根据路网中初始的设施点集合F和客户点集合C获取p的步骤包括:
通过向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;
对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m,其中,Ec为包含候选位置集合P中所有点的边的集合,某个位置的收益值m为该位置能够吸引到的所有客户点的权重之和,局部最佳位置I为边e上所有具有最大收益值的点集合;
根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p;
根据路网中设施点集合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)},A(f)是包含f能吸引到的所有客户点c以及对应距离d(c,f)的集合;
对于每一个客户点c∈Vc,找出该客户点之前的吸引距离a0(c)和新的吸引距离a'(c),并建立两个集合
对于每一个客户点c∈Vc,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m,令更新前的局部最佳位置以及对应的收益值分别为I0和m0
根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
2.如权利要求1所述的查询最大竞争力位置的动态监控方法,其特征在于,对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m的步骤包括:
通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);
分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;
根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。
3.如权利要求2所述的查询最大竞争力位置的动态监控方法,其特征在于,已知一个顶点v,A(v)通过如下步骤获取:
初始化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′为端点的边。
4.如权利要求3所述的查询最大竞争力位置的动态监控方法,其特征在于,根据已经计算出的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的线段的权重之和。
5.如权利要求1所述的查询最大竞争力位置的动态监控方法,其特征在于,已知更新前的局部最佳位置以及对应的收益值分别为I0和m0,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m的步骤包括:
步骤一:初始化一个空的边集E1
步骤二:对于E中的每条边e(vl,vr),如果<vl,d(c,vl)>和<vr,d(c,vr)>中至少有一个存在于的并集中,则把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=I0-I′,如果I是空集,则重新初始化计算e上的I和m,如果I不是空集,令m=m0
令I和m为边e上新的局部最佳位置和对应的收益值。
6.一种查询最大竞争力位置的动态监控系统,其特征在于,包括:
定义模块,用于给定一个客户点的集合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吸引的客户点,即
获取模块,用于根据路网中初始的设施点集合F和客户点集合C获取p;
动态监控模块,用于根据路网中设施点集合F或客户点集合C发生的更新随时动态监控p;
其中,所述获取模块包括:
无向连通图模块,用于向表示路网的无向连通图Go=(Vo,Eo)插入所有的设施点f和客户点c来将Eo中的边划分成新的边,对于每一个点ρ∈C∪F,先考虑ρ所在的边e∈Eo,令e的两个端点为vl和vr,然后将e分为两部分即从vl到ρ和从ρ到vr,以使ρ成为无向连通图的一个新顶点,加入所有的新顶点以生成了一个新的无向连通图G=(V,E),且V=Vo∪C∪F;
局部最佳位置和收益值模块,用于对于每一条边e∈Ec初始化计算其局部最佳位置I以及对应的收益值m,其中,Ec为包含候选位置集合P中所有点的边的集合,某个位置的收益值m为该位置能够吸引到的所有客户点的权重之和,局部最佳位置I为边e上所有具有最大收益值的点集合;
最大竞争力位置模块,用于根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置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)},A(f)是包含f能吸引到的所有客户点c以及对应距离d(c,f)的集合;
第二获取模块,用于对于每一个客户点c∈Vc,找出该客户点之前的吸引距离a0(c)和新的吸引距离a'(c),并建立两个集合
更新模块,用于对于每一个客户点c∈Vc,根据a0(c),a'(c),来更新每一条边e的局部最佳位置I以及对应的收益值m,令更新前的局部最佳位置以及对应的收益值分别为I0和m0
结果模块,用于根据所有边上的局部最佳位置I选出对应的收益值m最大的作为最大竞争力位置p。
7.如权利要求6所述的查询最大竞争力位置的动态监控系统,其特征在于,所述局部最佳位置和收益值模块,用于通过Erwig和Hagen的算法来计算G中每一个顶点v的最近设施点f以及距离d(v,f);分别计算e的两个端点vl和vr的吸引集合A(vl)和A(vr),其中,给定一个顶点v,A(v)是包含v能吸引到的所有客户点c以及对应距离d(c,v)的集合;根据已经计算出的A(vl)和A(vr)计算e的局部最佳位置I以及对应的收益值m。
8.如权利要求7所述的查询最大竞争力位置的动态监控系统,其特征在于,已知一个顶点v,所述局部最佳位置和收益值模块用于获取A(v),具体包括:
初始化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′为端点的边。
9.如权利要求8所述的查询最大竞争力位置的动态监控系统,其特征在于,所述局部最佳位置和收益值模块用于:
建立一个一维平面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的线段的权重之和。
10.如权利要求6所述的查询最大竞争力位置的动态监控系统,其特征在于,所述更新模块包括:
初始化单元,用于初始化一个空的边集E1
加入单元,用于对于E中的每条边e(vl,vr),如果<vl,d(c,vl)>和<vr,d(c,vr)>中至少有一个存在于的并集中,则把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=I0-I′,如果I是空集,则重新初始化计算e上的I和m,如果I不是空集,令m=m0
令I和m为边e上新的局部最佳位置和对应的收益值。
CN201310280207.4A 2013-07-04 2013-07-04 查询最大竞争力位置的动态监控方法及系统 Expired - Fee Related CN103336826B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310280207.4A CN103336826B (zh) 2013-07-04 2013-07-04 查询最大竞争力位置的动态监控方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310280207.4A CN103336826B (zh) 2013-07-04 2013-07-04 查询最大竞争力位置的动态监控方法及系统

Publications (2)

Publication Number Publication Date
CN103336826A CN103336826A (zh) 2013-10-02
CN103336826B true CN103336826B (zh) 2017-03-08

Family

ID=49244991

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310280207.4A Expired - Fee Related CN103336826B (zh) 2013-07-04 2013-07-04 查询最大竞争力位置的动态监控方法及系统

Country Status (1)

Country Link
CN (1) CN103336826B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324748B (zh) * 2013-07-04 2017-03-01 上海交通大学 查询最大竞争力位置的动态监控方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778184A (en) * 1996-06-28 1998-07-07 Mci Communications Corporation System method and computer program product for processing faults in a hierarchial network
WO2005091901A2 (en) * 2004-03-10 2005-10-06 Enterasys Networks, Inc. Dynamic network detection system and method
CN101777049A (zh) * 2009-01-12 2010-07-14 联发科技(合肥)有限公司 在数据库中搜索位置数据集的方法及数据搜索系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778184A (en) * 1996-06-28 1998-07-07 Mci Communications Corporation System method and computer program product for processing faults in a hierarchial network
WO2005091901A2 (en) * 2004-03-10 2005-10-06 Enterasys Networks, Inc. Dynamic network detection system and method
CN101777049A (zh) * 2009-01-12 2010-07-14 联发科技(合肥)有限公司 在数据库中搜索位置数据集的方法及数据搜索系统

Also Published As

Publication number Publication date
CN103336826A (zh) 2013-10-02

Similar Documents

Publication Publication Date Title
Cheng et al. Swarm intelligence in big data analytics
Zhu et al. An improved particle swarm optimization algorithm for vehicle routing problem with time windows
Tlili et al. A hybrid metaheuristic for the distance-constrained capacitated vehicle routing problem
CN105574541A (zh) 一种基于紧密度排序的网络社区发现方法
Khishe Greedy opposition-based learning for chimp optimization algorithm
CN105335785A (zh) 一种基于向量运算的关联规则挖掘方法
Meyerhenke et al. Drawing large graphs by multilevel maxent-stress optimization
CN103336826B (zh) 查询最大竞争力位置的动态监控方法及系统
Wu et al. Selecting dynamic skyline services for QoS-based service composition
Kalir et al. Optimal Solutions for the Single Batch, Flow Shop, Lot‐streaming Problem with Equal Sublots
CN103324748B (zh) 查询最大竞争力位置的动态监控方法及系统
Thillaigovindan et al. A better score function for multiple criteria decision making in fuzzy environment with criteria choice under risk
CN103336823B (zh) 查询最小化最大距离位置的动态监控方法及系统
Asfoor et al. Computing fuzzy rough approximations in large scale information systems
CN103345510B (zh) 查询最小距离和位置的动态监控方法及系统
CN103336824B (zh) 查询最小距离和位置的动态监控方法及系统
CN103324747B (zh) 最小化最大距离位置的动态监控方法及系统
Bae et al. Label propagation-based parallel graph partitioning for large-scale graph data
Hu et al. Diploid hybrid particle swarm optimization with differential evolution for open vehicle routing problem
Xu et al. Dm-KDE: dynamical kernel density estimation by sequences of KDE estimators with fixed number of components over data streams
Huang et al. Dynamic updating rough approximations in distributed information systems
Zhang et al. Mining related information of traffic flows on lanes by k-medoids
Goswami et al. Multiobjective differential evolution algorithm using binary encoded data in selecting views for materializing in data warehouse
CN109710700A (zh) 一种olap语义缓存方法
Ozaki et al. Agglomerative hierarchical clustering based on local optimization for cluster validity measures

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170308

Termination date: 20190704

CF01 Termination of patent right due to non-payment of annual fee