技術(shù)特征:1.一種查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,包括:給定一個客戶點的集合C和一個設(shè)施點的集合F,以及一個候選位置集合P,最大競爭力位置為其中w(c)是客戶點c的權(quán)重,如果客戶點c和設(shè)施點f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離,Cp是所有能被p吸引的客戶點,即通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點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的值根據(jù)用戶的需要設(shè)置;根據(jù)G中初始的設(shè)施點集合F和客戶點集合C獲取p;根據(jù)G中設(shè)施點集合F或客戶點集合C發(fā)生的更新隨時動態(tài)監(jiān)控p,步驟包括:路網(wǎng)中設(shè)施點和客戶點的更新可以歸結(jié)為增加一個客戶點AddC(c),減少一個客戶點DelC(c),增加一個設(shè)施點AddF(f),減少一個設(shè)施點DelF(f)共四種基本操作;當(dāng)一個更新操作到來的時候,首先計算吸引距離會被更新所影響的客戶點的集合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,根據(jù)a0(c),a'(c),來更新所有已經(jīng)被計算的子圖中的每一條邊e的局部最佳位置I以及對應(yīng)的收益值m,令更新前的局部最佳位置以及對應(yīng)的收益值分別為I0和m0;更新所有子圖的收益值上限;根據(jù)新的上限對所有子圖進行從高到低排序,之后按這個順序遍歷所有子圖:對于被訪問的子圖,如果該子圖未被計算,則初始計算該子圖的局部最佳位置并獲取對應(yīng)收益值,如果該子圖已被計算,則直接讀取該子圖的局部最佳位置和對應(yīng)收益值;如果在某一時刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個待訪問子圖的收益值上限,則停止遍歷,將這個最大收益值對應(yīng)的位置作為最大競爭力位置p;對于未遍歷到的子圖,把其中已經(jīng)計算的子圖改為未計算,以為下一次更新做準(zhǔn)備;其中,v為無向連通圖G中的一個頂點,d(c,ν)是頂點v在道路網(wǎng)絡(luò)中的距離,A(f)是設(shè)施點f的吸引集合。2.如權(quán)利要求1所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,把G按照邊劃分為n個子圖G1...Gn的步驟包括:從V中隨機選取n個頂點作為頂點集合VΔ;建立n個空的子圖G1...Gn,將頂點集合VΔ中的點分別設(shè)為每個子圖的中心;把G和VΔ作為Erwig和Hagen算法的輸入,計算出對于G中每一個v,VΔ中距離v最近的v′和兩者的距離d(v,v′);對于G中的每一條邊e,如果e的兩個端點到VΔ中最近的點是同一個,則把e加入到對應(yīng)的子圖里,否則把e加入到其任意一個端點到VΔ中最近的點對應(yīng)的子圖里。3.如權(quán)利要求2所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,根據(jù)G中初始的設(shè)施點集合F和客戶點集合C獲取p的步驟包括:為每個子圖Gi計算這個子圖中位置所能達到的收益值上限其中,某個位置的收益值為該位置能夠吸引到的所有客戶點的權(quán)重之和,Ci是Gi中的所有點可能吸引到的客戶點的集合;然后根據(jù)這個上限對所有子圖進行從高到低排序,之后按這個順序遍歷所有子圖:對于被訪問的子圖,計算該子圖的局部最佳位置并獲取對應(yīng)收益值,其中某個子圖的局部最佳位置I為該子圖上所有具有最大收益值的點集合;如果在某一時刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個待訪問子圖的收益值上限,則停止遍歷,將這個最大收益值對應(yīng)的位置作為最大競爭力位置p。4.如權(quán)利要求3所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,為每個子圖Gi計算這個子圖中位置所能達到的收益值上限的步驟包括:在G中加入一個虛擬的頂點v0,從v0到Gi中的每一個頂點連接一條長度為0的邊;計算v0的吸引集合A(v0),其中,給定一個頂點v,A(v)是包含v能吸引到的所有客戶點c以及對應(yīng)距離d(c,v)的集合;令Ci為A(v0)中出現(xiàn)的所有客戶點的集合;根據(jù)Ci計算出Gi的收益值上限5.如權(quán)利要求4所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,已知一個頂點v,A(v)通過如下步驟獲?。和ㄟ^Erwig和Hagen的算法來計算G中每一個頂點v的最近設(shè)施點f以及距離d(v,f);初始化A(v)為空集;用Dijkstra算法按照到v的距離升序遍歷G中所有頂點;對于每一個遍歷到的頂點v′,令a(v′)為v′到其最近的設(shè)施點f的距離,如果d(v,v′)≤a(v′),并且v′是一個客戶點,則將把<v′,d(v′,v)>加入頂點v吸引集合A(v)后;如果d(v,v′)>a(v′),則忽略所有以v′為端點的邊。6.如權(quán)利要求5所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,對于被訪問的子圖,計算該子圖的局部最佳位置并獲取對應(yīng)收益值的步驟包括:對于子圖中的每一條邊e初始化計算其局部最佳位置I以及對應(yīng)的收益值m,其中,某一條邊e上的局部最佳位置I為e上所有具有最大收益值的點集合;將子圖的有最大收益值的邊的局部最佳位置作為該子圖的局部最佳位置,所述最大收益值作為該子圖的對應(yīng)收益值。7.如權(quán)利要求6所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,對于子圖中的每一條邊e初始化計算其局部最佳位置I以及對應(yīng)的收益值m的步驟包括:分別計算e的兩個端點vl和vr的吸引集合A(vl)和A(vr);根據(jù)已經(jīng)計算出的A(vl)和A(vr)計算e的局部最佳位置I以及對應(yīng)的收益值m。8.如權(quán)利要求7所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,根據(jù)已經(jīng)計算出的A(vl)和A(vr)計算e的局部最佳位置I以及對應(yīng)的收益值m的步驟包括:建立一個一維平面R;對于每個在A(vl)中出現(xiàn)但是沒有在A(vr)中出現(xiàn)的客戶點c,在R中創(chuàng)建一條線段[0,a(c)-d(c,vl)],對這條線段賦予權(quán)重w(c);對于每個在A(vr)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點c,在R中創(chuàng)建一條線段[l-a(c)+d(c,vr),l],并賦予權(quán)重w(c),l表示待計算的邊e的長度;對于每個在A(vl)和A(vr)中都出現(xiàn)的客戶點c,如果l≤2·a(c)-d(c,vl)-d(c,vr),則在R中創(chuàng)建一條線段[0,l],并賦予權(quán)重w(c);否則,在R中創(chuàng)建兩條線段[0,a(c)-d(c,vl)]和[l-a(c)+d(c,vr),l],并賦予權(quán)重w(c);計算點集合I,I是整條邊[0,l]的子集,使得R中所有覆蓋I的線段的權(quán)重之和最大化;返回點集合I為邊e上的局部最佳位置,對應(yīng)的收益值m為R中所有覆蓋I的線段的權(quán)重之和。9.如權(quán)利要求8所述的查詢最大競爭力位置的動態(tài)監(jiān)控方法,其特征在于,已知更新前的局部最佳位置以及對應(yīng)的收益值分別為I0和m0,根據(jù)a0(c),a'(c),來更新每一條邊e的局部最佳位置I以及對應(yīng)的收益值m的步驟包括:步驟一:初始化一個空的邊集E1;步驟二:對于E中的每條邊e(vl,vr),如果<vl,d(c,vl)>和<vr,d(c,vr)>中至少有一個存在于UC+和UC-的并集中,則把e加入邊集E1;步驟三:對于邊集E1中的每一條邊e(vl,vr)執(zhí)行如下步驟:初始化兩個空的點集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設(shè)為ADD,計算I′=I+-I-,否則,將flag設(shè)為DEL,計算I′=I--I+;如果I′為空集,則跳出本循環(huán),訪問邊集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(lǐng)和m為邊e上新的局部最佳位置和對應(yīng)的收益值。10.一種查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,包括:第一定義模塊,用于給定一個客戶點的集合C和一個設(shè)施點的集合F,以及一個候選位置集合P,最大競爭力位置為其中w(c)是客戶點c的權(quán)重,如果客戶點c和設(shè)施點f在道路網(wǎng)絡(luò)中的距離d(c,f)是c和F中的點的極小值,則定義f是c的吸引者,c被f吸引,a(c)=d(c,f)為c的吸引距離,Cp是所有能被p吸引的客戶點,即無向連通圖,用于通過向表示路網(wǎng)的無向連通圖Go=(Vo,Eo)插入所有的設(shè)施點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的值根據(jù)用戶的需要設(shè)置;獲取模塊,用于根據(jù)G中初始的設(shè)施點集合F和客戶點集合C獲取p;更新模塊,用于根據(jù)G中設(shè)施點集合F或客戶點集合C發(fā)生的更新隨時動態(tài)監(jiān)控p;所述更新模塊用于:路網(wǎng)中設(shè)施點和客戶點的更新可以歸結(jié)為增加一個客戶點(AddC(c)),減少一個客戶點DelC(c),增加一個設(shè)施點AddF(f),減少一個設(shè)施點DelF(f)共四種基本操作;當(dāng)一個更新操作到來的時候,首先計算吸引距離會被更新所影響的客戶點的集合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,根據(jù)a0(c),a'(c),來更新所有已經(jīng)被計算的子圖中的每一條邊e的局部最佳位置I以及對應(yīng)的收益值m,令更新前的局部最佳位置以及對應(yīng)的收益值分別為I0和m0;更新所有子圖的收益值上限;根據(jù)新的上限對所有子圖進行從高到低排序,之后按這個順序遍歷所有子圖:對于被訪問的子圖,如果該子圖未被計算,則初始計算該子圖的局部最佳位置并獲取對應(yīng)收益值,如果該子圖已被計算,則直接讀取該子圖的局部最佳位置和對應(yīng)收益值;如果在某一時刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個待訪問子圖的收益值上限,則停止遍歷,將這個最大收益值對應(yīng)的位置作為最大競爭力位置p;對于未遍歷到的子圖,把其中已經(jīng)計算的子圖改為未計算,以為下一次更新做準(zhǔn)備;其中,v為無向連通圖G中的一個頂點,d(c,ν)是頂點v在道路網(wǎng)絡(luò)中的距離,A(f)是設(shè)施點f的吸引集合。11.如權(quán)利要求10所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,所述劃分模塊用于:從V中隨機選取n個頂點作為頂點集合VΔ;建立n個空的子圖G1...Gn,將頂點集合VΔ中的點分別設(shè)為每個子圖的中心;把G和VΔ作為Erwig和Hagen算法的輸入,計算出對于G中每一個v,VΔ中距離v最近的v′和兩者的距離d(v,v′);對于G中的每一條邊e,如果e的兩個端點到VΔ中最近的點是同一個,則把e加入到對應(yīng)的子圖里,否則把e加入到其任意一個端點到VΔ中最近的點對應(yīng)的子圖里。12.如權(quán)利要求11所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,所述獲取模塊用于:為每個子圖Gi計算這個子圖中位置所能達到的收益值上限其中,某個位置的收益值為該位置能夠吸引到的所有客戶點的權(quán)重之和,Ci是Gi中的所有點可能吸引到的客戶點的集合;然后根據(jù)這個上限對所有子圖進行從高到低排序,之后按這個順序遍歷所有子圖:對于被訪問的子圖,計算該子圖的局部最佳位置并獲取對應(yīng)收益值,其中,某個子圖的局部最佳位置I為該子圖上所有具有最大收益值的點集合;如果在某一時刻當(dāng)前獲得的最大收益值已經(jīng)大于下一個待訪問子圖的收益值上限,則停止遍歷,將這個最大收益值對應(yīng)的位置作為最大競爭力位置p。13.如權(quán)利要求12所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,所述獲取模塊用于:在G中加入一個虛擬的頂點v0,從v0到Gi中的每一個頂點連接一條長度為0的邊;計算v0的吸引集合A(v0),其中,給定一個頂點v,A(v)是包含v能吸引到的所有客戶點c以及對應(yīng)距離d(c,v)的集合;令Ci為A(v0)中出現(xiàn)的所有客戶點的集合;根據(jù)Ci計算出Gi的收益值上限14.如權(quán)利要求13所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,已知一個頂點v,所述獲取模塊用于獲取A(v),具體包括:通過Erwig和Hagen的算法來計算G中每一個頂點v的最近設(shè)施點f以及距離d(v,f);初始化A(v)為空集;用Dijkstra算法按照到v的距離升序遍歷G中所有頂點;對于每一個遍歷到的頂點v′,令a(v′)為v′到其最近的設(shè)施點f的距離,如果d(v,v′)≤a(v′),并且v′是一個客戶點,則將把<v′,d(v′,v)>加入頂點v吸引集合A(v)后;如果d(v,v′)>a(v′),則忽略所有以v′為端點的邊。15.如權(quán)利要求14所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,所述獲取模塊用于:對于子圖中的每一條邊e初始化計算其局部最佳位置I以及對應(yīng)的收益值m,其中,某一條邊e上的局部最佳位置I為e上所有具有最大收益值的點集合;將子圖的有最大收益值的邊的局部最佳位置作為該子圖的局部最佳位置,所述最大收益值作為該子圖的對應(yīng)收益值。16.如權(quán)利要求15所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,所述獲取模塊用于:分別計算e的兩個端點vl和vr的吸引集合A(vl)和A(vr);根據(jù)已經(jīng)計算出的A(vl)和A(vr)計算e的局部最佳位置I以及對應(yīng)的收益值m。17.如權(quán)利要求16所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,所述獲取模塊用于:建立一個一維平面R;對于每個在A(vl)中出現(xiàn)但是沒有在A(vr)中出現(xiàn)的客戶點c,在R中創(chuàng)建一條線段[0,a(c)-d(c,vl)],對這條線段賦予權(quán)重w(c);對于每個在A(vr)中出現(xiàn)但是沒有在A(vl)中出現(xiàn)的客戶點c,在R中創(chuàng)建一條線段[l-a(c)+d(c,vr),l],并賦予權(quán)重w(c),l表示待計算的邊e的長度;對于每個在A(vl)和A(vr)中都出現(xiàn)的客戶點c,如果l≤2·a(c)-d(c,vl)-d(c,vr),則在R中創(chuàng)建一條線段[0,l],并賦予權(quán)重w(c);否則,在R中創(chuàng)建兩條線段[0,a(c)-d(c,vl)]和[l-a(c)+d(c,vr),l],并賦予權(quán)重w(c);計算點集合I,I是整條邊[0,l]的子集,使得R中所有覆蓋I的線段的權(quán)重之和最大化;返回點集合I為邊e上的局部最佳位置,對應(yīng)的收益值m為R中所有覆蓋I的線段的權(quán)重之和。18.如權(quán)利要求17所述的查詢最大競爭力位置的動態(tài)監(jiān)控系統(tǒng),其特征在于,已知更新前的局部最佳位置以及對應(yīng)的收益值分別為I0和m0,所述更新模塊用于:初始化一個空的邊集E1;對于E中的每條邊e(vl,vr),如果<vl,d(c,vl)>和<vr,d(c,vr)>中至少有一個存在于UC+和UC-的并集中,則把e加入邊集E1;對于邊集E1中的每一條邊e(vl,vr)執(zhí)行如下過程:初始化兩個空的點集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設(shè)為ADD,計算I′=I+-I-,否則,將flag設(shè)為DEL,計算I′=I--I+;如果I′為空集,則跳出本循環(huán),訪問邊集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(lǐng)和m為邊e上新的局部最佳位置和對應(yīng)的收益值。