本發(fā)明涉及一種最小化最大距離位置的動(dòng)態(tài)監(jiān)控方法及系統(tǒng)。
背景技術(shù):
在過去幾年中,有很多工作研究一類在存在客戶點(diǎn)集合的情況下的“設(shè)施放置問題”(參見文獻(xiàn)8:Farahani,R.Z.,Hekmatfar,M.:FacilityLocation:Concepts,Models,AlgorithmsandCaseStudies,1stedn.Physica-VerlagHD(2009),文獻(xiàn)15:Nickel,S.,Puerto,J.:LocationTheory:AUnifiedApproach,1stedn.Springer(2005))。在最普遍的情況下,問題包含:(1)一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)候選集合P,并(2)在P中查詢k個(gè)新設(shè)施點(diǎn)的位置從而滿足一個(gè)事先定義的最佳條件。這類問題在k是常數(shù)的情況下存在多項(xiàng)式時(shí)間內(nèi)的算法,在k是一般變量的情況下是NP-hard問題(參見文獻(xiàn)8和15),已經(jīng)存在的工作主要研究其近似算法。最佳位置查詢問題可以被看做設(shè)施放置問題的一個(gè)變種,首先P是一個(gè)無限集合;然后通常k=1,也就是說只需要為新建一個(gè)設(shè)施點(diǎn)來選取位置;最后通常事先已經(jīng)擁有了一個(gè)設(shè)施點(diǎn)集合F。以上這些是最佳位置查詢問題相對(duì)于一般的“設(shè)施放置問題”的不同點(diǎn)。之前的最佳位置查詢問題的研究工作(參見文獻(xiàn)2:Cabello,S.,D′laz-B′a~nez,J.M.,Langerman,S.,Seara,C.,Ventura,I.:Reversefacilitylocationproblems.In:CCCG,pp.68–71(2005),文獻(xiàn)6:Du,Y.,Zhang,D.,Xia,T.:Theoptimal-locationquery.In:SSTD,pp.163–180(2005),文獻(xiàn)21:Wong,R.C.W.,¨Ozsu,T.,Yu,P.S.,Fu,A.W.C.,Liu,L.:Efficientmethodformaximizingbichromaticreversenearestneighbor.PVLDB2(1),1126–1137(2009),文獻(xiàn)24:Zhang,D.,Du,Y.,Xia,T.,Tao,Y.:Progressivecomputationofthemin-distoptimal-locationquery.In:VLDB,pp.643–654(2006))中考慮的是設(shè)施點(diǎn)和客戶點(diǎn)之間在Lp空間中的距離。其中Cabello等人(參見文獻(xiàn)2)和Wong等人(參見文獻(xiàn)21)的研究是基于L2空間的,而Du等人(參見文獻(xiàn)6)和Zhang等人(參見文獻(xiàn)24)的研究是基于L1空間的。這些工作并沒有研究最佳位置查詢問題在路網(wǎng)中的情況?,F(xiàn)有的研究工作中包括另外兩種與設(shè)施點(diǎn)的位置選取有關(guān)的問題:單設(shè)施點(diǎn)查詢問題(參見文獻(xiàn)8和15)以及設(shè)施點(diǎn)實(shí)時(shí)建立問題(參見文獻(xiàn)9:Fotakis,D.:Incrementalalgorithmsforfacilitylocationandkmedian.Theor.Comput.Sci.361(2-3),275–313(2006),文獻(xiàn)13:Meyerson,A.:Onlinefacilitylocation.In:FOCS,pp.426–431(2001)),這兩種問題研究內(nèi)容與最佳位置查詢問題類似但是有所不同。單設(shè)施點(diǎn)查詢問題研究的是,給定一個(gè)客戶點(diǎn)的集合,尋找一個(gè)設(shè)施建立點(diǎn)從而滿足一個(gè)最佳條件,在這個(gè)問題里,輸入數(shù)據(jù)中沒有已經(jīng)建立的設(shè)施點(diǎn)集合,然而在最佳位置查詢問題里,需要考慮一個(gè)已有的設(shè)施點(diǎn)的集合。設(shè)施點(diǎn)實(shí)時(shí)建立問題研究的是,隨著客戶點(diǎn)的不斷增加,實(shí)時(shí)選取位置建立新的設(shè)施點(diǎn)來滿足一個(gè)給定的優(yōu)化條件,與最佳位置查詢問題相似的是,這類問題在尋找新的設(shè)施點(diǎn)時(shí),也考慮已有的設(shè)施點(diǎn)集合,然而[9]和[13]所采用的方法并不能解決最佳位置查詢問題,這是因?yàn)樵谠O(shè)施點(diǎn)實(shí)時(shí)建立問題中,建立新設(shè)施點(diǎn)的候選地點(diǎn)是一個(gè)有限的集合,但是在最佳位置查詢問題中,建立新設(shè)施點(diǎn)的候選地點(diǎn)是一個(gè)無限的集合,例如Lp空間中的所有地點(diǎn)或是路網(wǎng)中的所有邊上的所有地點(diǎn)的集合。在我們之前的研究工作中我們提出了靜態(tài)一次查詢路網(wǎng)中最佳位置的方法(參見文獻(xiàn)22:Xiao,X.,Yao,B.,Li,F.:Optimallocationqueriesinroadnetworkdatabases.In:ICDE,pp.804–815(2011)),與那篇文章相比,我們的發(fā)明提出了新的動(dòng)態(tài)維護(hù)路網(wǎng)中最佳位置的解決方案,并為三個(gè)不同的最佳位置查詢問題設(shè)計(jì)了具體的實(shí)現(xiàn)方法。最后,現(xiàn)有的研究工作中存在著很多關(guān)于路網(wǎng)數(shù)據(jù)庫中查詢方法的研究(參見3:Chen,Z.,Shen,H.T.,Zhou,X.,Yu,J.X.:Monitoringpathnearestneighborinroadnetworks.In:SIGMOD,pp.591–602(2009),文獻(xiàn)4:Deng,K.,Zhou,X.,Shen,H.T.,Sadiq,S.,Li,X.:Instanceoptimalqueryprocessinginspatialnetworks.VLDBJ18(3),675–693(2009),文獻(xiàn)11:Jensen,C.S.,Kol′aˇrvr,J.,Pedersen,T.B.,Timko,I.:Nearestneighborqueriesinroadnetworks.In:GIS,pp.1–8(2003),文獻(xiàn)12:Kolahdouzan,M.R.,Shahabi,C.:Voronoi-basedk-nearestneighborsearchforspatialnetworkdatabases.In:VLDB,pp.840–851(2004),文獻(xiàn)14:Mouratidis,K.,Yiu,M.L.,Papadias,D.,Mamoulis,N.:Continuousnearestneighbormonitoringinroadnetworks.In:VLDB,pp.43–54(2006),文獻(xiàn)16:Papadias,D.,Zhang,J.,Mamoulis,N.,Tao,Y.:Queryprocessinginspatialnetworkdatabases.In:VLDB,pp.802–813(2003),文獻(xiàn)17:Samet,H.,Sankaranarayanan,J.,Alborzi,H.:Scalablenetworkdistancebrowsinginspatialdatabases.In:SIGMOD,pp.43–54(2008),文獻(xiàn)18:Sankaranarayanan,J.,Samet,H.:Distanceoraclesforspatialnetworks.In:ICDE,pp.652–663(2009),文獻(xiàn)19:Sankaranarayanan,J.,Samet,H.,Alborzi,H.:Pathoraclesforspatialnetworks.PVLDB2(1),1210–1221(2009),文獻(xiàn)23:Yiu,M.L.,Mamoulis,N.,Papadias,D.:Aggregatenearestneighborqueriesinroadnetworks.TKDE17(6),820–833(2005))。然而這些研究工作都是關(guān)注路網(wǎng)數(shù)據(jù)庫中最近點(diǎn)的查詢(參見文獻(xiàn)12、16和17)及其變種:最近點(diǎn)近似查詢(參見文獻(xiàn)18和19)、聚合查詢(參見文獻(xiàn)23),連續(xù)最近點(diǎn)查詢(參見文獻(xiàn)14),路徑最近點(diǎn)查詢(參見文獻(xiàn)3)等等。這些研究工作中的技術(shù)并不能解決最佳位置查詢問題,因?yàn)樽罱c(diǎn)查詢問題與最佳位置查詢問題在本質(zhì)上是有所不同的。另外,本發(fā)明相關(guān)的參考文獻(xiàn)還包括如下:文獻(xiàn)1:deBerg,M.,Cheong,O.,vanKreveld,M.,Overmars,M.:ComputationalGeometry:AlgorithmsandApplications,3rdedn.Springer-Verlag(2008);文獻(xiàn)5:Dijkstra,E.W.:Anoteontwoproblemsinconnexionwithgraphs.NumerischeMathematik1,269–271(1959);文獻(xiàn)7:Erwig,M.,Hagen,F.:Thegraphvoronoidiagramwithapplications.Networks36,156–163(2000);文獻(xiàn)10:Hershberger,J.:Findingtheupperenvelopeofnlinesegmentsino(nlogn)time.Inf.Process.Lett.33(4),169–174(1989);文獻(xiàn)20:Shekhar,S.,Liu,D.R.:CCAM:Aconnectivity-clusteredaccessmethodfornetworksandnetworkcomputations.TKDE9(1),102–119(1997)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種最小化最大距離位置的動(dòng)態(tài)監(jiān)控方法及系統(tǒng),能夠快速和動(dòng)態(tài)地查詢最小化最大距離位置。為解決上述問題,本發(fā)明提供一種最小化最大距離位置的動(dòng)態(tài)監(jiān)控方法,包括:給定一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)的集合F,以及一個(gè)候選位置集合P,最小化最大距離位置為,其中a為客戶點(diǎn)c的加權(quán)吸引距離,w(c)是客戶點(diǎn)c的權(quán)重,如果客戶點(diǎn)c和設(shè)施點(diǎn)f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點(diǎn)的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離;通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點(diǎn)f和客戶點(diǎn)c來將Eo中的邊劃分成新的邊,對(duì)于每一個(gè)點(diǎn)ρ∈C∪F,先考慮ρ所在的邊e∈Eo,令e的兩個(gè)端點(diǎn)為vl和vr,然后將e分為兩部分即從vl到ρ和從ρ到vr,以使ρ成為無向連通圖的一個(gè)新頂點(diǎn),加入所有的新頂點(diǎn)以生成了一個(gè)新的無向連通圖G=(V,E),且V=Vo∪C∪F;把G按照邊劃分為n個(gè)子圖G1...Gn,其中,n的值根據(jù)用戶的需要設(shè)置;根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p;根據(jù)G中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p。進(jìn)一步的,在上述方法中,把G按照邊劃分為n個(gè)子圖G1...Gn的步驟包括:從V中隨機(jī)選取n個(gè)頂點(diǎn)作為頂點(diǎn)集合VΔ;建立n個(gè)空的子圖G1...Gn,將頂點(diǎn)集合VΔ中的點(diǎn)分別設(shè)為每個(gè)子圖的中心;把G和VΔ作為Erwig和Hagen算法的輸入,計(jì)算出對(duì)于G中每一個(gè)v,VΔ中距離v最近的v′和兩者的距離d(v,v′);對(duì)于G中的每一條邊e,如果e的兩個(gè)端點(diǎn)到VΔ中最近的點(diǎn)是同一個(gè),則把e加入到對(duì)應(yīng)的子圖里,否則把e加入到其任意一個(gè)端點(diǎn)到VΔ中最近的點(diǎn)對(duì)應(yīng)的子圖里。進(jìn)一步的,在上述方法中,根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p的步驟包括:為每個(gè)子圖Gi計(jì)算這個(gè)子圖中位置所能達(dá)到的收益值上限,其中,某個(gè)位置的收益值m為在該位置建立新設(shè)施后所有客戶點(diǎn)的最大加權(quán)吸引距離的減少量,Ci是Gi中的所有點(diǎn)可能吸引到的客戶點(diǎn)的集合;然后根據(jù)這個(gè)上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,其中某個(gè)子圖的局部最佳位置I為該子圖上所有具有最大收益值的點(diǎn)集合;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p。進(jìn)一步的,在上述方法中,為每個(gè)子圖Gi計(jì)算這個(gè)子圖中位置所能達(dá)到的收益值上限的步驟包括:在G中加入一個(gè)虛擬的頂點(diǎn)v0,從v0到Gi中的每一個(gè)頂點(diǎn)連接一條長度為0的邊;計(jì)算v0的吸引集合A(v0),其中,給定一個(gè)頂點(diǎn)v,A(v)是包含v能吸引到的所有客戶點(diǎn)c以及對(duì)應(yīng)距離d(c,v)的集合;令Ci為A(v0)中出現(xiàn)的所有客戶點(diǎn)的集合;根據(jù)Ci計(jì)算出Gi的收益值上限進(jìn)一步的,在上述方法中,已知一個(gè)頂點(diǎn)v,A(v)通過如下步驟獲?。和ㄟ^Erwig和Hagen的算法來計(jì)算G中每一個(gè)頂點(diǎn)v的最近設(shè)施點(diǎn)f以及距離d(v,f);初始化A(v)為空集;用Dijkstra算法按照到v的距離升序遍歷G中所有頂點(diǎn);對(duì)于每一個(gè)遍歷到的頂點(diǎn)v′,令a(v′)為v′到其最近的設(shè)施點(diǎn)f的距離,如果d(v,v′)≤a(v′),并且v′是一個(gè)客戶點(diǎn),則將把<v′,d(v′,v)>加入頂點(diǎn)v吸引集合A(v)后;如果d(v,v′)>a(v′),則忽略所有以v′為端點(diǎn)的邊。進(jìn)一步的,在上述方法中,對(duì)于被訪問的子圖,計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值的步驟包括:對(duì)于子圖中的每一條邊e初始化計(jì)算其局部最佳位置I以及對(duì)應(yīng)的收益值m,其中,某一條邊e上的局部最佳位置I為e上所有具有最大收益值的點(diǎn)集合;將子圖的有最大收益值的邊的局部最佳位置作為該子圖的局部最佳位置,所述最大收益值作為該子圖的對(duì)應(yīng)收益值。進(jìn)一步的,在上述方法中,對(duì)于子圖中的每一條邊e初始化計(jì)算其局部最佳位置I以及對(duì)應(yīng)的收益值m的步驟包括:分別計(jì)算e的兩個(gè)端點(diǎn)vl和vr的吸引集合A(vl)和A(vr);根據(jù)已經(jīng)計(jì)算出的A(vl)和A(vr)計(jì)算e的局部最佳位置I以及對(duì)應(yīng)的收益值m。進(jìn)一步的,在上述方法中,根據(jù)已經(jīng)計(jì)算出的A(vl)和A(vr)計(jì)算e的局部最佳位置I以及對(duì)應(yīng)的收益值m的步驟包括:建立一個(gè)2維平面R;讓C-表示在A(vl)和A(vr)中都沒有出現(xiàn)的客戶點(diǎn)c的集合;在C-中找到擁有最大加權(quán)吸引距離的客戶點(diǎn)c0;在R中建立c0的WAD函數(shù),即從坐標(biāo)為的點(diǎn)到坐標(biāo)為的點(diǎn)畫一條線段,其中l(wèi)表示待計(jì)算的邊e的長度,某個(gè)客戶點(diǎn)在e上的WAD函數(shù)表示該客戶點(diǎn)的加權(quán)吸引距離隨著在e上建立新設(shè)施的位置變化而變化的情況;對(duì)于每個(gè)在A(vl)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)c,令x1=0,y1=w(c)·d(c,vl),x2=min{l,a(c)-d(c,vl)},x3=l,y2=y(tǒng)3=w(c)(x2+d(c,vl)),在R中建立c的WAD函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vr)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vl)和A(vl)中都出現(xiàn)的客戶點(diǎn)c,令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函數(shù):即建立三條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3),從(x3,y3)到(x4,y4);計(jì)算R中所有WAD函數(shù)的上界函數(shù)為gup;返回所有使gup取得最小值的點(diǎn)的集合為邊e上的局部最佳位置I,該最小值為相應(yīng)的收益值m。進(jìn)一步的,在上述方法中,根據(jù)路網(wǎng)中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p的步驟包括:路網(wǎng)中設(shè)施點(diǎn)和客戶點(diǎn)的更新可以歸結(jié)為增加一個(gè)客戶點(diǎn)(AddC(c)),減少一個(gè)客戶點(diǎn)(DelC(c)),增加一個(gè)設(shè)施點(diǎn)(AddF(f)),減少一個(gè)設(shè)施點(diǎn)(DelF(f))共四種基本操作;當(dāng)一個(gè)更新操作到來的時(shí)候,首先計(jì)算吸引距離會(huì)被更新所影響的客戶點(diǎn)的集合Vc,如果操作是AddC(c)或DelC(c),則Vc={c};如果操作是AddF(f)或DelF(f),則Vc={c|<c,d(c,v)>∈A(f)};對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,找出該客戶點(diǎn)之前的吸引距離a0(c)和新的吸引距離a'(c),并建立兩個(gè)集合和對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,根據(jù)a0(c),a'(c),來更新所有已經(jīng)被計(jì)算的子圖中的每一條邊e的局部最佳位置I以及對(duì)應(yīng)的收益值m,令更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0;更新所有子圖的收益值上限;根據(jù)新的上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,如果該子圖未被計(jì)算,則初始計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,如果該子圖已被計(jì)算,則直接讀取該子圖的局部最佳位置和對(duì)應(yīng)收益值;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p;對(duì)于未遍歷到的子圖,把其中已經(jīng)計(jì)算的子圖改為未計(jì)算,以為下一次更新做準(zhǔn)備。進(jìn)一步的,在上述方法中,已知更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0,根據(jù)a0(c),a'(c),來更新每一條邊e的局部最佳位置I以及對(duì)應(yīng)的收益值m的步驟包括:初始化一個(gè)空的邊集E1;對(duì)于E中的每一條邊e,如果w(c)·max{a0(c),a′(c)}≥m0,則把e加入到E1中;對(duì)于E1中的每一條邊e,如果w(c)·a0(c)≥m0,使用a0(c)建立c在e上的WAD函數(shù),如果WAD函數(shù)的最大值小于m0,則m=m0,I=I0,如果WAD函數(shù)的最大值大于等于m0,則重新初始化計(jì)算I和m;如果w(c)·a′(c)≥m0,使用a′(c)建立c在e上的WAD函數(shù)gc(x),建立臨時(shí)函數(shù)g′up(x)=max{gc(x),g0(x)=m0(0≤x≤l)},并得到點(diǎn)集合I′=argminxg′up(x),如果g′up(x)的最小值等于m0并且I′與I0的交集不為空,則,如果g′up(x)的最小值不等于m0或I′與I0的交集為空,則重新初始化計(jì)算I和m;返回I和m為e的新的局部最佳位置和對(duì)應(yīng)的收益值。根據(jù)本發(fā)明的另一面,提供一種最小化最大距離位置的動(dòng)態(tài)監(jiān)控系統(tǒng),包括:定義模塊,用于給定一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)的集合F,以及一個(gè)候選位置集合P,最小化最大距離位置為,其中為客戶點(diǎn)c的加權(quán)吸引距離,w(c)是客戶點(diǎn)c的權(quán)重,如果客戶點(diǎn)c和設(shè)施點(diǎn)f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點(diǎn)的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離;無向連通圖模塊,用于通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點(diǎn)f和客戶點(diǎn)c來將Eo中的邊劃分成新的邊,對(duì)于每一個(gè)點(diǎn)ρ∈C∪F,先考慮ρ所在的邊e∈Eo,令e的兩個(gè)端點(diǎn)為vl和vr,然后將e分為兩部分即從vl到ρ和從ρ到vr,以使ρ成為無向連通圖的一個(gè)新頂點(diǎn),加入所有的新頂點(diǎn)以生成了一個(gè)新的無向連通圖G=(V,E),且V=Vo∪C∪F;劃分模塊,用于把G按照邊劃分為n個(gè)子圖G1...Gn,其中,n的值根據(jù)用戶的需要設(shè)置;獲取模塊,用于根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p;更新模塊,用于根據(jù)G中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p。進(jìn)一步的,在上述系統(tǒng)中,所述劃分模塊用于:從V中隨機(jī)選取n個(gè)頂點(diǎn)作為頂點(diǎn)集合VΔ;建立n個(gè)空的子圖G1...Gn,將頂點(diǎn)集合VΔ中的點(diǎn)分別設(shè)為每個(gè)子圖的中心;把G和VΔ作為Erwig和Hagen算法的輸入,計(jì)算出對(duì)于G中每一個(gè)v,VΔ中距離v最近的v′和兩者的距離d(v,v′);對(duì)于G中的每一條邊e,如果e的兩個(gè)端點(diǎn)到VΔ中最近的點(diǎn)是同一個(gè),則把e加入到對(duì)應(yīng)的子圖里,否則把e加入到其任意一個(gè)端點(diǎn)到VΔ中最近的點(diǎn)對(duì)應(yīng)的子圖里。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:為每個(gè)子圖Gi計(jì)算這個(gè)子圖中位置所能達(dá)到的收益值上限,其中,某個(gè)位置的收益值m為在該位置建立新設(shè)施后所有客戶點(diǎn)的最大加權(quán)吸引距離的減少量,Ci是Gi中的所有點(diǎn)可能吸引到的客戶點(diǎn)的集合;然后根據(jù)這個(gè)上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,其中某個(gè)子圖的局部最佳位置I為該子圖上所有具有最大收益值的點(diǎn)集合;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:在G中加入一個(gè)虛擬的頂點(diǎn)v0,從v0到Gi中的每一個(gè)頂點(diǎn)連接一條長度為0的邊;計(jì)算v0的吸引集合A(v0),其中,給定一個(gè)頂點(diǎn)v,A(v)是包含v能吸引到的所有客戶點(diǎn)c以及對(duì)應(yīng)距離d(c,v)的集合;令Ci為A(v0)中出現(xiàn)的所有客戶點(diǎn)的集合;根據(jù)Ci計(jì)算出Gi的收益值上限進(jìn)一步的,在上述系統(tǒng)中,已知一個(gè)頂點(diǎn)v,所述獲取模塊用于獲取A(v),具體包括:通過Erwig和Hagen的算法來計(jì)算G中每一個(gè)頂點(diǎn)v的最近設(shè)施點(diǎn)f以及距離d(v,f);初始化A(v)為空集;用Dijkstra算法按照到v的距離升序遍歷G中所有頂點(diǎn);對(duì)于每一個(gè)遍歷到的頂點(diǎn)v′,令a(v′)為v′到其最近的設(shè)施點(diǎn)f的距離,如果d(v,v′)≤a(v′),并且v′是一個(gè)客戶點(diǎn),則將把<v′,d(v′,v)>加入頂點(diǎn)v吸引集合A(v)后;如果d(v,v′)>a(v′),則忽略所有以v′為端點(diǎn)的邊。進(jìn)一步的,在上述系統(tǒng)中,對(duì)于被訪問的子圖,所述獲取模塊用于:對(duì)于子圖中的每一條邊e初始化計(jì)算其局部最佳位置I以及對(duì)應(yīng)的收益值m,其中,某一條邊e上的局部最佳位置I為e上所有具有最大收益值的點(diǎn)集合;將子圖的有最大收益值的邊的局部最佳位置作為該子圖的局部最佳位置,所述最大收益值作為該子圖的對(duì)應(yīng)收益值。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:分別計(jì)算e的兩個(gè)端點(diǎn)vl和vr的吸引集合A(vl)和A(vr);根據(jù)已經(jīng)計(jì)算出的A(vl)和A(vr)計(jì)算e的局部最佳位置I以及對(duì)應(yīng)的收益值m。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:建立一個(gè)2維平面R;讓C-表示在A(vl)和A(vr)中都沒有出現(xiàn)的客戶點(diǎn)c的集合;在C-中找到擁有最大加權(quán)吸引距離的客戶點(diǎn)c0;在R中建立c0的WAD函數(shù),即從坐標(biāo)為的點(diǎn)到坐標(biāo)為的點(diǎn)畫一條線段,其中l(wèi)表示待計(jì)算的邊e的長度,某個(gè)客戶點(diǎn)在e上的WAD函數(shù)表示該客戶點(diǎn)的加權(quán)吸引距離隨著在e上建立新設(shè)施的位置變化而變化的情況;對(duì)于每個(gè)在A(vl)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vr)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vl)和A(vl)中都出現(xiàn)的客戶點(diǎn)c,令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函數(shù):即建立三條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3),從(x3,y3)到(x4,y4);計(jì)算R中所有WAD函數(shù)的上界函數(shù)為gup;返回所有使gup取得最小值的點(diǎn)的集合為邊e上的局部最佳位置I,該最小值為相應(yīng)的收益值m。進(jìn)一步的,在上述系統(tǒng)中,所述更新模塊用于:路網(wǎng)中設(shè)施點(diǎn)和客戶點(diǎn)的更新可以歸結(jié)為增加一個(gè)客戶點(diǎn)(AddC(c)),減少一個(gè)客戶點(diǎn)(DelC(c)),增加一個(gè)設(shè)施點(diǎn)(AddF(f)),減少一個(gè)設(shè)施點(diǎn)(DelF(f))共四種基本操作;當(dāng)一個(gè)更新操作到來的時(shí)候,首先計(jì)算吸引距離會(huì)被更新所影響的客戶點(diǎn)的集合Vc,如果操作是AddC(c)或DelC(c),則Vc={c};如果操作是AddF(f)或DelF(f),則Vc={c|<c,d(c,v)>∈A(f)};對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,找出該客戶點(diǎn)之前的吸引距離a0(c)和新的吸引距離a′(c),并建立兩個(gè)集合和對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,根據(jù)a0(c),a'(c),來更新所有已經(jīng)被計(jì)算的子圖中的每一條邊e的局部最佳位置I以及對(duì)應(yīng)的收益值m,令更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0;更新所有子圖的收益值上限;根據(jù)新的上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,如果該子圖未被計(jì)算,則初始計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,如果該子圖已被計(jì)算,則直接讀取該子圖的局部最佳位置和對(duì)應(yīng)收益值;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p;對(duì)于未遍歷到的子圖,把其中已經(jīng)計(jì)算的子圖改為未計(jì)算,以為下一次更新做準(zhǔn)備。進(jìn)一步的,在上述系統(tǒng)中,已知更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0,所述更新模塊用于:初始化一個(gè)空的邊集E1;對(duì)于E中的每一條邊e,如果w(c)·max{a0(c),a′(c)}≥m0,則把e加入到E1中;對(duì)于E1中的每一條邊e,如果w(c)·a0(c)≥m0,使用a0(c)建立c在e上的WAD函數(shù),如果WAD函數(shù)的最大值小于m0,則m=m0,I=I0,如果WAD函數(shù)的最大值大于等于m0,則重新初始化計(jì)算I和m;如果w(c)·a′(c)≥m0,使用a′(c)建立c在e上的WAD函數(shù)gc(x),建立臨時(shí)函數(shù)g′up(x)=max{gc(x),g0(x)=m0(0≤x≤l)},并得到點(diǎn)集合I′=argminxg′up(x),如果g′up(x)的最小值等于m0并且I′與I0的交集不為空,則m=m0,I′∩I0,如果g′up(x)的最小值不等于m0或I′與I0的交集為空,則重新初始化計(jì)算I和m;返回I和m為e的新的局部最佳位置和對(duì)應(yīng)的收益值。與現(xiàn)有技術(shù)相比,本發(fā)明通過給定一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)的集合F,以及一個(gè)候選位置集合P,最小化最大距離位置為,其中為客戶點(diǎn)c的加權(quán)吸引距離,w(c)是客戶點(diǎn)c的權(quán)重,如果客戶點(diǎn)c和設(shè)施點(diǎn)f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點(diǎn)的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離;通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點(diǎn)f和客戶點(diǎn)c來將Eo中的邊劃分成新的邊,對(duì)于每一個(gè)點(diǎn)ρ∈C∪F,先考慮ρ所在的邊e∈Eo,令e的兩個(gè)端點(diǎn)為vl和vr,然后將e分為兩部分即從vl到ρ和從ρ到vr,以使ρ成為無向連通圖的一個(gè)新頂點(diǎn),加入所有的新頂點(diǎn)以生成了一個(gè)新的無向連通圖G=(V,E),且V=Vo∪C∪F;把G按照邊劃分為n個(gè)子圖G1...Gn,其中,n的值根據(jù)用戶的需要設(shè)置;根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p;根據(jù)G中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p,能夠快速和動(dòng)態(tài)地查詢最小化最大距離位置。附圖說明圖1是本發(fā)明一實(shí)施例的最小化最大距離位置的動(dòng)態(tài)監(jiān)控方法的流程圖。具體實(shí)施方式為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能夠更加明顯易懂,下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明。實(shí)施例一如圖1所示,本發(fā)明提供一種最小化最大距離位置的動(dòng)態(tài)監(jiān)控方法,包括步驟S1至步驟S5。步驟S1,給定一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)的集合F,以及一個(gè)候選位置集合P,最小化最大距離位置為,其中為客戶點(diǎn)c的加權(quán)吸引距離,w(c)是客戶點(diǎn)c的權(quán)重,如果客戶點(diǎn)c和設(shè)施點(diǎn)f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點(diǎn)的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離;步驟S2,通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點(diǎn)f和客戶點(diǎn)c來將Eo中的邊劃分成新的邊,對(duì)于每一個(gè)點(diǎn)ρ∈C∪F,先考慮ρ所在的邊e∈Eo,令e的兩個(gè)端點(diǎn)為vl和vr,然后將e分為兩部分即從vl到ρ和從ρ到vr,以使ρ成為無向連通圖的一個(gè)新頂點(diǎn),加入所有的新頂點(diǎn)以生成了一個(gè)新的無向連通圖G=(V,E),且V=Vo∪C∪F;步驟S3,把G按照邊劃分為n個(gè)子圖G1...Gn,其中,n的值根據(jù)用戶的需要設(shè)置;優(yōu)選的,步驟S3包括:從V中隨機(jī)選取n個(gè)頂點(diǎn)作為頂點(diǎn)集合VΔ;建立n個(gè)空的子圖G1...Gn,將頂點(diǎn)集合VΔ中的點(diǎn)分別設(shè)為每個(gè)子圖的中心;把G和VΔ作為Erwig和Hagen算法的輸入,計(jì)算出對(duì)于G中每一個(gè)v,VΔ中距離v最近的v′和兩者的距離d(v,v′);對(duì)于G中的每一條邊e,如果e的兩個(gè)端點(diǎn)到VΔ中最近的點(diǎn)是同一個(gè),則把e加入到對(duì)應(yīng)的子圖里,否則把e加入到其任意一個(gè)端點(diǎn)到VΔ中最近的點(diǎn)對(duì)應(yīng)的子圖里。步驟S4,根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p;優(yōu)選的,步驟S4包括:為每個(gè)子圖Gi計(jì)算這個(gè)子圖中位置所能達(dá)到的收益值上限,其中,某個(gè)位置的收益值m為在該位置建立新設(shè)施后所有客戶點(diǎn)的最大加權(quán)吸引距離的減少量,Ci是Gi中的所有點(diǎn)可能吸引到的客戶點(diǎn)的集合;然后根據(jù)這個(gè)上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,其中某個(gè)子圖的局部最佳位置I為該子圖上所有具有最大收益值的點(diǎn)集合;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p。較佳的,為每個(gè)子圖Gi計(jì)算這個(gè)子圖中位置所能達(dá)到的收益值上限的步驟包括:在G中加入一個(gè)虛擬的頂點(diǎn)v0,從v0到Gi中的每一個(gè)頂點(diǎn)連接一條長度為0的邊;計(jì)算v0的吸引集合A(v0),其中,給定一個(gè)頂點(diǎn)v,A(v)是包含v能吸引到的所有客戶點(diǎn)c以及對(duì)應(yīng)距離d(c,v)的集合;令Ci為A(v0)中出現(xiàn)的所有客戶點(diǎn)的集合;根據(jù)Ci計(jì)算出Gi的收益值上限較佳的,已知一個(gè)頂點(diǎn)v,A(v)通過如下步驟獲?。和ㄟ^Erwig和Hagen的算法來計(jì)算G中每一個(gè)頂點(diǎn)v的最近設(shè)施點(diǎn)f以及距離d(v,f);初始化A(v)為空集;用Dijkstra算法按照到v的距離升序遍歷G中所有頂點(diǎn);對(duì)于每一個(gè)遍歷到的頂點(diǎn)v′,令a(v′)為v′到其最近的設(shè)施點(diǎn)f的距離,如果d(v,v′)≤a(v′),并且v′是一個(gè)客戶點(diǎn),則將把<v′,d(v′,v)>加入頂點(diǎn)v吸引集合A(v)后;如果d(v,v′)>a(v′),則忽略所有以v′為端點(diǎn)的邊。較佳的,對(duì)于被訪問的子圖,計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值的步驟包括:對(duì)于子圖中的每一條邊e初始化計(jì)算其局部最佳位置I以及對(duì)應(yīng)的收益值m,其中,某一條邊e上的局部最佳位置I為e上所有具有最大收益值的點(diǎn)集合;將子圖的有最大收益值的邊的局部最佳位置作為該子圖的局部最佳位置,所述最大收益值作為該子圖的對(duì)應(yīng)收益值。較佳的,對(duì)于子圖中的每一條邊e初始化計(jì)算其局部最佳位置I以及對(duì)應(yīng)的收益值m的步驟包括:分別計(jì)算e的兩個(gè)端點(diǎn)vl和vr的吸引集合A(vl)和A(vr);根據(jù)已經(jīng)計(jì)算出的A(vl)和A(vr)計(jì)算e的局部最佳位置I以及對(duì)應(yīng)的收益值m。較佳的,根據(jù)已經(jīng)計(jì)算出的A(vl)和A(vr)計(jì)算e的局部最佳位置I以及對(duì)應(yīng)的收益值m的步驟包括:建立一個(gè)2維平面R;讓C-表示在A(vl)和A(vr)中都沒有出現(xiàn)的客戶點(diǎn)c的集合;在C-中找到擁有最大加權(quán)吸引距離的客戶點(diǎn)c0;在R中建立c0的WAD函數(shù),即從坐標(biāo)為的點(diǎn)到坐標(biāo)為的點(diǎn)畫一條線段,其中l(wèi)表示待計(jì)算的邊e的長度,某個(gè)客戶點(diǎn)在e上的WAD函數(shù)表示該客戶點(diǎn)的加權(quán)吸引距離隨著在e上建立新設(shè)施的位置變化而變化的情況;對(duì)于每個(gè)在A(vl)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vr)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vl)和A(vl)中都出現(xiàn)的客戶點(diǎn)c,令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函數(shù):即建立三條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3),從(x3,y3)到(x4,y4);計(jì)算R中所有WAD函數(shù)的上界函數(shù)為gup;返回所有使gup取得最小值的點(diǎn)的集合為邊e上的局部最佳位置I,該最小值為相應(yīng)的收益值m。步驟S5,根據(jù)G中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p。優(yōu)選的,步驟S5包括:路網(wǎng)中設(shè)施點(diǎn)和客戶點(diǎn)的更新可以歸結(jié)為增加一個(gè)客戶點(diǎn)AddC(c),減少一個(gè)客戶點(diǎn)DelC(c),增加一個(gè)設(shè)施點(diǎn)AddF(f),減少一個(gè)設(shè)施點(diǎn)DelF(f)共四種基本操作;當(dāng)一個(gè)更新操作到來的時(shí)候,首先計(jì)算吸引距離會(huì)被更新所影響的客戶點(diǎn)的集合Vc,如果操作是AddC(c)或DelC(c),則Vc={c};如果操作是AddF(f)或DelF(f),則Vc={c|<c,d(c,v)>∈A(f)};對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,找出該客戶點(diǎn)之前的吸引距離a0(c)和新的吸引距離a'(c),并建立兩個(gè)集合和對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,根據(jù)a0(c),a'(c),來更新所有已經(jīng)被計(jì)算的子圖中的每一條邊e的局部最佳位置I以及對(duì)應(yīng)的收益值m,令更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0;更新所有子圖的收益值上限;根據(jù)新的上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,如果該子圖未被計(jì)算,則初始計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,如果該子圖已被計(jì)算,則直接讀取該子圖的局部最佳位置和對(duì)應(yīng)收益值;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p;對(duì)于未遍歷到的子圖,把其中已經(jīng)計(jì)算的子圖改為未計(jì)算,以為下一次更新做準(zhǔn)備。較佳的,已知更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0,根據(jù)a0(c),a'(c),來更新每一條邊e的局部最佳位置I以及對(duì)應(yīng)的收益值m的步驟包括:初始化一個(gè)空的邊集E1;對(duì)于E中的每一條邊e,如果w(c)·max{a0(c),a′(c)}≥m0,則把e加入到E1中;對(duì)于E1中的每一條邊e,如果w(c)·a0(c)≥m0,使用a0(c)建立c在e上的WAD函數(shù),如果WAD函數(shù)的最大值小于m0,則m=m0,I=I0,如果WAD函數(shù)的最大值大于等于m0,則重新初始化計(jì)算I和m;如果w(c)·a′(c)≥m0,使用a′(c)建立c在e上的WAD函數(shù)gc(x),建立臨時(shí)函數(shù)g′up(x)=max{gc(x),g0(x)=m0(0≤x≤l)},并得到點(diǎn)集合I′=argminxg′up(x),如果g′up(x)的最小值等于m0并且I′與I0的交集不為空,則m=m0,I′∩I0,如果g′up(x)的最小值不等于m0或I′與I0的交集為空,則重新初始化計(jì)算I和m;返回I和m為e的新的局部最佳位置和對(duì)應(yīng)的收益值。實(shí)施例二本發(fā)明還提供另一種最小化最大距離位置的動(dòng)態(tài)監(jiān)控系統(tǒng),包括:定義模塊,用于給定一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)的集合F,以及一個(gè)候選位置集合P,最小化最大距離位置為,其中為客戶點(diǎn)c的加權(quán)吸引距離,w(c)是客戶點(diǎn)c的權(quán)重,如果客戶點(diǎn)c和設(shè)施點(diǎn)f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點(diǎn)的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離;無向連通圖模塊,用于通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點(diǎn)f和客戶點(diǎn)c來將Eo中的邊劃分成新的邊,對(duì)于每一個(gè)點(diǎn)ρ∈C∪F,先考慮ρ所在的邊e∈Eo,令e的兩個(gè)端點(diǎn)為vl和vr,然后將e分為兩部分即從vl到ρ和從ρ到vr,以使ρ成為無向連通圖的一個(gè)新頂點(diǎn),加入所有的新頂點(diǎn)以生成了一個(gè)新的無向連通圖G=(V,E),且V=Vo∪C∪F;劃分模塊,用于把G按照邊劃分為n個(gè)子圖G1...Gn,其中,n的值根據(jù)用戶的需要設(shè)置;獲取模塊,用于根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p;更新模塊,用于根據(jù)G中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p。進(jìn)一步的,在上述系統(tǒng)中,所述劃分模塊用于:從V中隨機(jī)選取n個(gè)頂點(diǎn)作為頂點(diǎn)集合VΔ;建立n個(gè)空的子圖G1...Gn,將頂點(diǎn)集合VΔ中的點(diǎn)分別設(shè)為每個(gè)子圖的中心;把G和VΔ作為Erwig和Hagen算法的輸入,計(jì)算出對(duì)于G中每一個(gè)v,VΔ中距離v最近的v′和兩者的距離d(v,v′);對(duì)于G中的每一條邊e,如果e的兩個(gè)端點(diǎn)到VΔ中最近的點(diǎn)是同一個(gè),則把e加入到對(duì)應(yīng)的子圖里,否則把e加入到其任意一個(gè)端點(diǎn)到VΔ中最近的點(diǎn)對(duì)應(yīng)的子圖里。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:為每個(gè)子圖Gi計(jì)算這個(gè)子圖中位置所能達(dá)到的收益值上限,其中,某個(gè)位置的收益值m為在該位置建立新設(shè)施后所有客戶點(diǎn)的最大加權(quán)吸引距離的減少量,Ci是Gi中的所有點(diǎn)可能吸引到的客戶點(diǎn)的集合;然后根據(jù)這個(gè)上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,其中某個(gè)子圖的局部最佳位置I為該子圖上所有具有最大收益值的點(diǎn)集合;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:在G中加入一個(gè)虛擬的頂點(diǎn)v0,從v0到Gi中的每一個(gè)頂點(diǎn)連接一條長度為0的邊;計(jì)算v0的吸引集合A(v0),其中,給定一個(gè)頂點(diǎn)v,A(v)是包含v能吸引到的所有客戶點(diǎn)c以及對(duì)應(yīng)距離d(c,v)的集合;令Ci為A(v0)中出現(xiàn)的所有客戶點(diǎn)的集合;根據(jù)Ci計(jì)算出Gi的收益值上限進(jìn)一步的,在上述系統(tǒng)中,已知一個(gè)頂點(diǎn)v,所述獲取模塊用于獲取A(v),具體包括:通過Erwig和Hagen的算法來計(jì)算G中每一個(gè)頂點(diǎn)v的最近設(shè)施點(diǎn)f以及距離d(v,f);初始化A(v)為空集;用Dijkstra算法按照到v的距離升序遍歷G中所有頂點(diǎn);對(duì)于每一個(gè)遍歷到的頂點(diǎn)v′,令a(v′)為v′到其最近的設(shè)施點(diǎn)f的距離,如果d(v,v′)≤a(v′),并且v′是一個(gè)客戶點(diǎn),則將把<v′,d(v′,v)>加入頂點(diǎn)v吸引集合A(v)后;如果d(v,v′)>a(v′),則忽略所有以v′為端點(diǎn)的邊。進(jìn)一步的,在上述系統(tǒng)中,對(duì)于被訪問的子圖,所述獲取模塊用于:對(duì)于子圖中的每一條邊e初始化計(jì)算其局部最佳位置I以及對(duì)應(yīng)的收益值m,其中,某一條邊e上的局部最佳位置I為e上所有具有最大收益值的點(diǎn)集合;將子圖的有最大收益值的邊的局部最佳位置作為該子圖的局部最佳位置,所述最大收益值作為該子圖的對(duì)應(yīng)收益值。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:分別計(jì)算e的兩個(gè)端點(diǎn)vl和vr的吸引集合A(vl)和A(vr);根據(jù)已經(jīng)計(jì)算出的A(vl)和A(vr)計(jì)算e的局部最佳位置I以及對(duì)應(yīng)的收益值m。進(jìn)一步的,在上述系統(tǒng)中,所述獲取模塊用于:建立一個(gè)2維平面R;讓C-表示在A(vl)和A(vr)中都沒有出現(xiàn)的客戶點(diǎn)c的集合;在C-中找到擁有最大加權(quán)吸引距離的客戶點(diǎn)c0;在R中建立c0的WAD函數(shù),即從坐標(biāo)為的點(diǎn)到坐標(biāo)為的點(diǎn)畫一條線段,其中l(wèi)表示待計(jì)算的邊e的長度,某個(gè)客戶點(diǎn)在e上的WAD函數(shù)表示該客戶點(diǎn)的加權(quán)吸引距離隨著在e上建立新設(shè)施的位置變化而變化的情況;對(duì)于每個(gè)在A(vl)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vr)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點(diǎn)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函數(shù):即建立兩條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3);對(duì)于每個(gè)在A(vl)和A(vl)中都出現(xiàn)的客戶點(diǎn)c,令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函數(shù):即建立三條線段,從(x1,y1)到(x2,y2),從(x2,y2)到(x3,y3),從(x3,y3)到(x4,y4);計(jì)算R中所有WAD函數(shù)的上界函數(shù)為gup;返回所有使gup取得最小值的點(diǎn)的集合為邊e上的局部最佳位置I,該最小值為相應(yīng)的收益值m。進(jìn)一步的,在上述系統(tǒng)中,所述更新模塊用于:路網(wǎng)中設(shè)施點(diǎn)和客戶點(diǎn)的更新可以歸結(jié)為增加一個(gè)客戶點(diǎn)(AddC(c)),減少一個(gè)客戶點(diǎn)(DelC(c)),增加一個(gè)設(shè)施點(diǎn)(AddF(f)),減少一個(gè)設(shè)施點(diǎn)(DelF(f))共四種基本操作;當(dāng)一個(gè)更新操作到來的時(shí)候,首先計(jì)算吸引距離會(huì)被更新所影響的客戶點(diǎn)的集合Vc,如果操作是AddC(c)或DelC(c),則Vc={c};如果操作是AddF(f)或DelF(f),則Vc={c|<c,d(c,v)>∈A(f)};對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,找出該客戶點(diǎn)之前的吸引距離a0(c)和新的吸引距離a'(c),并建立兩個(gè)集合和對(duì)于每一個(gè)客戶點(diǎn)c∈Vc,根據(jù)a0(c),a'(c),來更新所有已經(jīng)被計(jì)算的子圖中的每一條邊e的局部最佳位置I以及對(duì)應(yīng)的收益值m,令更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0;更新所有子圖的收益值上限;根據(jù)新的上限對(duì)所有子圖進(jìn)行從高到低排序,之后按這個(gè)順序遍歷所有子圖:對(duì)于被訪問的子圖,如果該子圖未被計(jì)算,則初始計(jì)算該子圖的局部最佳位置并獲取對(duì)應(yīng)收益值,如果該子圖已被計(jì)算,則直接讀取該子圖的局部最佳位置和對(duì)應(yīng)收益值;如果在某一時(shí)刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個(gè)待訪問子圖的收益值上限,則停止遍歷,將這個(gè)最大收益值對(duì)應(yīng)的位置作為最小化最大距離位置p;對(duì)于未遍歷到的子圖,把其中已經(jīng)計(jì)算的子圖改為未計(jì)算,以為下一次更新做準(zhǔn)備。進(jìn)一步的,在上述系統(tǒng)中,已知更新前的局部最佳位置以及對(duì)應(yīng)的收益值分別為I0和m0,所述更新模塊用于:初始化一個(gè)空的邊集E1;對(duì)于E中的每一條邊e,如果w(c)·max{a0(c),a′(c)}≥m0,則把e加入到E1中;對(duì)于E1中的每一條邊e,如果w(c)·a0(c)≥m0,使用a0(c)建立c在e上的WAD函數(shù),如果WAD函數(shù)的最大值小于m0,則m=m0,I=I0,如果WAD函數(shù)的最大值大于等于m0,則重新初始化計(jì)算I和m;如果w(c)·a′(c)≥m0,使用a′(c)建立c在e上的WAD函數(shù)gc(x),建立臨時(shí)函數(shù)g′up(x)=max{gc(x),g0(x)=m0(0≤x≤l)},并得到點(diǎn)集合I′=argminxg′up(x),如果g′up(x)的最小值等于m0并且I′與I0的交集不為空,則m=m0,I′∩I0,如果g′up(x)的最小值不等于m0或I′與I0的交集為空,則重新初始化計(jì)算I和m;返回I和m為e的新的局部最佳位置和對(duì)應(yīng)的收益值。實(shí)施例二的其它詳細(xì)內(nèi)容具體可參見實(shí)施例一,在此不再贅述。本發(fā)明通過給定一個(gè)客戶點(diǎn)的集合C和一個(gè)設(shè)施點(diǎn)的集合F,以及一個(gè)候選位置集合P,最小化最大距離位置為,其中為客戶點(diǎn)c的加權(quán)吸引距離,w(c)是客戶點(diǎn)c的權(quán)重,如果客戶點(diǎn)c和設(shè)施點(diǎn)f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點(diǎn)的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離;通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點(diǎn)f和客戶點(diǎn)c來將Eo中的邊劃分成新的邊,對(duì)于每一個(gè)點(diǎn)ρ∈C∪F,先考慮ρ所在的邊e∈Eo,令e的兩個(gè)端點(diǎn)為vl和vr,然后將e分為兩部分即從vl到ρ和從ρ到vr,以使ρ成為無向連通圖的一個(gè)新頂點(diǎn),加入所有的新頂點(diǎn)以生成了一個(gè)新的無向連通圖G=(V,E),且V=Vo∪C∪F;把G按照邊劃分為n個(gè)子圖G1...Gn,其中,n的值根據(jù)用戶的需要設(shè)置;根據(jù)G中初始的設(shè)施點(diǎn)集合F和客戶點(diǎn)集合C獲取p;根據(jù)G中設(shè)施點(diǎn)集合F或客戶點(diǎn)集合C發(fā)生的更新隨時(shí)動(dòng)態(tài)監(jiān)控p,能夠快速和動(dòng)態(tài)地查詢最小化最大距離位置。本說明書中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說明的都是與其他實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同相似部分互相參見即可。對(duì)于實(shí)施例公開的系統(tǒng)而言,由于與實(shí)施例公開的方法相對(duì)應(yīng),所以描述的比較簡單,相關(guān)之處參見方法部分說明即可。專業(yè)人員還可以進(jìn)一步意識(shí)到,結(jié)合本文中所公開的實(shí)施例描述的各示例的單元及算法步驟,能夠以電子硬件、計(jì)算機(jī)軟件或者二者的結(jié)合來實(shí)現(xiàn),為了清楚地說明硬件和軟件的可互換性,在上述說明中已經(jīng)按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執(zhí)行,取決于技術(shù)方案的特定應(yīng)用和設(shè)計(jì)約束條件。專業(yè)技術(shù)人員可以對(duì)每個(gè)特定的應(yīng)用來使用不同方法來實(shí)現(xiàn)所描述的功能,但是這種實(shí)現(xiàn)不應(yīng)認(rèn)為超出本發(fā)明的范圍。顯然,本領(lǐng)域的技術(shù)人員可以對(duì)發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包括這些改動(dòng)和變型在內(nèi)。