1.本发明属于自组织网络技术领域,尤其涉及一种基于多目标优化的自适应网关部署方法及系统。
背景技术:
2.移动自组织网络(manet)是无线移动节点的集合,动态形成临时网络,不需要任何固定基础设施。manet可以是一个独立的网络,但是随着manets技术的发展,孤立的manets已经不能满足当前日益增长的业务应用需求。manet通过网关与internet相连已成为无线网络技术发展的必然趋势。
3.尽管manets可以通过网关连接到internet已经成为一种有前途的技术,可以应用于许多领域,但仍有许多问题和挑战需要解决,这主要来自移动节点的随机性。由于每个网关具有有限的覆盖范围和负载容量,如果网关的网关位置不合适,不仅会导致网络拥塞,还会导致网关重叠覆盖范围过大。因此,在实现网关负载平衡的同时最大限度地减少重叠的网关覆盖范围是一项紧迫且具有挑战性的任务。增加网关数量可以有效提高网络性能,缓解网络拥塞。但由于网关部署成本高,在实际网络中,网关的数量需要控制。先前的研究工作已经提出了几种方法来最小化网关的数量,同时满足网关容量限制或覆盖限制,但是,网关负载平衡尚未考虑在内。
技术实现要素:
4.本发明针对现有自组织网络网关部署时将网络覆盖范围作为单目标而导致网关负载不均衡的问题,提出一种基于多目标优化的自适应网关部署方法及系统。
5.为了实现上述目的,本发明采用以下技术方案:
6.本发明一方面提出一种基于多目标优化的自适应网关部署方法,包括:
7.步骤1:建立多目标优化的自适应网关部署数学模型;
8.步骤2:利用粒子群算法初始化网关部署数学模型;
9.步骤3:利用变长粒子群算法对网关部署数学模型求解,获得满足约束条件的最优网关数量;
10.步骤4:利用标准粒子群算法对网关部署数学模型求解,获得网关的最优位置实现网关负载均衡。
11.进一步地,所述步骤1包括:
12.步骤101:计算满足节点覆盖需求的网关数量:
[0013][0014]
square=πr2(2)
[0015]
其中sa为网络区域总面积,r为网关的覆盖半径,square为网关的覆盖面积;
[0016]
步骤102:计算满足节点流量需求的网关数量:
[0017][0018]
其中n为网络区域中总的节点数,t为每个节点满足目标需求的流量,l
large
为每个网关的最大负载,因此,满足节点流量需求和覆盖需求的网关数量n
objective
为:
[0019]nobjective
=max(n
cov
,n
sern
)(4)
[0020]
为了找到最优网关数量,设置初始网关n=2n
objective
;
[0021]
步骤103:建立网关覆盖范围的约束如式(6)所示:
[0022][0023][0024]
其中d
ij
表示节点i到网关j的距离;如果节点i在网关j的覆盖范围内,c
ij
为1,否则c
ij
为0;
[0025]
步骤104:建立网关负载容量的约束如式(9)所示:
[0026]dij
=min{d
j1
,d
j2
,
…djn
}(7)
[0027][0028][0029]
其中,d
ij
为节点i到所有网关的最近的距离,如果节点i选择了最近的网关,则s
ij
=1,否则s
ij
=0;nj为网关j服务的节点数量,每个网关的负载为其所服务节点的流量之和,不能超过网关的最大负载;
[0030]
步骤105:建立满足覆盖约束和容量约束的最优的网关数量:
[0031][0032]
步骤106:建立网关负载的标准差如式(11)所示:
[0033][0034][0035][0036]
其中,l(j)为网关j的负载,为当前系统的平均网关负载;
[0037]
步骤107:综合公式(1)至公式(13)作为多目标优化的自适应网关部署数学模型。
[0038]
进一步地,所述步骤2包括:
[0039]
步骤201:自组织网络系统中有n个网关组成的网关集合g,得出g中的网关j在二维平面的坐标为(xj,yj),j=1,2
…
n;
[0040]
步骤202:设置粒子数为k;
[0041]
步骤203:对于任意的网关粒子k,其位置向量w
(k)
按照下式得出:
[0042]w(k)
=(x1,x2…
xn,y1,y2…
,yn);k=1,2
…
k(14)
[0043]
步骤204:计算粒子k通过的个体最优位置、即个体极值pbest:
[0044]
pbest=(p
k1
,p
k2
…
p
k2n
)(15)
[0045]
步骤205:计算整个粒子群搜索到的最优位置、即全局极值gbest:
[0046]
gbest=(g
k1
,g
k2
…gk2n
)(16)
[0047]
步骤206:按照下式对粒子k的位置和速度进行更新:
[0048][0049][0050]
其中,ω为惯性权重,c1、c2为常数,r1、r2为[0,1]范围内的均匀随机数,t表示迭代次数,1≤d≤2n且d为自然数;
[0051]
步骤207:设置粒子群算法的最大迭代次数p。
[0052]
进一步地,所述步骤3包括:
[0053]
步骤301:如果节点满足公式(6),设置变量否则按照下式计算网关粒子k对应的没有被网关覆盖的节点数ak及网关的覆盖率
[0054][0055][0056]
步骤302:如果节点满足公式(9),设置变量否则按照下式计算网关的服务率
[0057][0058]
步骤303:首先将适应度函数设置为当网关覆盖率达到时再将适应度函数设置为其中0《ρ《1;当网关的服务率达到时,网关的数量减1,重复上述搜索过程,直到找到满足约束的最小的网关数量、即最优网关数量。
[0059]
进一步地,所述步骤4包括:
[0060]
步骤401:以最优网关数量随机部署网关;
[0061]
步骤402:利用公式(20)计算网关的覆盖率;
[0062]
步骤403:利用公式(21)计算网关的服务率;
[0063]
步骤404:利用公式(11)计算网关负载的标准差;
[0064]
步骤405:定义一个数组来存储每次迭代得到的网关负载的标准差,定义一个矩阵来存储每次迭代的网关位置坐标,当迭代结束时,得到网关负载与网关负载的标准差最小的网关位置,即为网关的最优部署。
[0065]
本发明另一方面提出一种基于多目标优化的自适应网关部署系统,包括:
[0066]
模型构建模块,用于建立多目标优化的自适应网关部署数学模型;
[0067]
初始化模块,用于利用粒子群算法初始化网关部署数学模型;
[0068]
第一模型求解模块,用于利用变长粒子群算法对网关部署数学模型求解,获得满
足约束条件的最优网关数量;
[0069]
第二模型求解模块,用于利用标准粒子群算法对网关部署数学模型求解,获得网关的最优位置实现网关负载均衡。
[0070]
进一步地,所述模型构建模块包括:
[0071]
第一计算子模块,用于计算满足节点覆盖需求的网关数量:
[0072][0073]
square=πr2(2)
[0074]
其中sa为网络区域总面积,r为网关的覆盖半径,square为网关的覆盖面积;
[0075]
第二计算子模块,用于计算满足节点流量需求的网关数量:
[0076][0077]
其中n为网络区域中总的节点数,t为每个节点满足目标需求的流量,l
large
为每个网关的最大负载,因此,满足节点流量需求和覆盖需求的网关数量n
objective
为:
[0078]nobjective
=max(n
cov
,n
sern
)(4)
[0079]
为了找到最优网关数量,设置初始网关n=2n
objective
;
[0080]
第一约束建立子模块,用于建立网关覆盖范围的约束如式(6)所示:
[0081][0082][0083]
其中d
ij
表示节点i到网关j的距离;如果节点i在网关j的覆盖范围内,c
ij
为1,否则c
ij
为0;
[0084]
第二约束建立子模块,用于建立网关负载容量的约束如式(9)所示:
[0085]dij
=min{d
j1
,d
j2
,
…djn
}(7)
[0086][0087][0088]
其中,d
ij
为节点i到所有网关的最近的距离,如果节点i选择了最近的网关,则s
ij
=1,否则s
ij
=0;nj为网关j服务的节点数量,每个网关的负载为其所服务节点的流量之和,不能超过网关的最大负载;
[0089]
最优网关数量方程建立子模块,用于建立满足覆盖约束和容量约束的最优的网关数量:
[0090][0091]
网关负载标准差方程建立子模块,用于建立网关负载的标准差如式(11)所示:
[0092]
[0093][0094][0095]
其中,l(j)为网关j的负载,为当前系统的平均网关负载;
[0096]
模型得出子模块,用于综合公式(1)至公式(13)作为多目标优化的自适应网关部署数学模型。
[0097]
进一步地,所述初始化模块包括:
[0098]
网关坐标得出子模块,用于自组织网络系统中有n个网关组成的网关集合g,得出g中的网关j在二维平面的坐标为(xj,yj),j=1,2
…
n;
[0099]
粒子数设置子模块,用于设置粒子数为k;
[0100]
位置向量得出子模块,用于对于任意的网关粒子k,其位置向量w
(k)
按照下式得出:
[0101]w(k)
=(x1,x2…
xn,y1,y2…
,yn);k=1,2
…
k(14)
[0102]
第三计算子模块,用于计算粒子k通过的个体最优位置、即个体极值pbest:
[0103]
pbest=(p
k1
,p
k2
…
p
k2n
)(15)
[0104]
第四计算子模块,用于计算整个粒子群搜索到的最优位置、即全局极值gbest:
[0105]
gbest=(g
k1
,g
k2
…gk2n
)(16)
[0106]
位置、速度更新子模块,用于按照下式对粒子k的位置和速度进行更新:
[0107][0108][0109]
其中,ω为惯性权重,c1、c2为常数,r1、r2为[0,1]范围内的均匀随机数,
t
表示迭代次数,1≤d≤2n且d为自然数;
[0110]
最大迭代次数设置子模块,用于设置粒子群算法的最大迭代次数p。
[0111]
进一步地,所述第一模型求解模块包括:
[0112]
第五计算子模块,用于如果节点满足公式(6),设置变量否则按照下式计算网关粒子k对应的没有被网关覆盖的节点数ak及网关的覆盖率
[0113][0114][0115]
第六计算子模块,用于如果节点满足公式(9),设置变量否则按照下式计算网关的服务率
[0116][0117]
第一迭代求解子模块,用于首先将适应度函数设置为当网关覆盖率达到时再将适应度函数设置为其中0《ρ《1;当网关的服务率达到时,网关的数量减1,重复上述搜索过程,直到找到满足约束的最小的网关数量、即最优网关
数量。
[0118]
进一步地,所述第二模型求解模块包括:
[0119]
随机部署子模块,用于以最优网关数量随机部署网关;
[0120]
第七计算子模块,用于利用公式(20)计算网关的覆盖率;
[0121]
第八计算子模块,用于利用公式(21)计算网关的服务率;
[0122]
第九计算子模块,用于利用公式(11)计算网关负载的标准差;
[0123]
第二迭代求解子模块,用于定义一个数组来存储每次迭代得到的网关负载的标准差,定义一个矩阵来存储每次迭代的网关位置坐标,当迭代结束时,得到网关负载与网关负载的标准差最小的网关位置,即为网关的最优部署。
[0124]
与现有技术相比,本发明具有的有益效果:
[0125]
本发明通过设置网关覆盖率和网关服务率为约束,采用变长粒子群算法优化网关的数量,减少网关部署的代价和成本。
[0126]
本发明提出网关负载标准差作为网络负载的指标,在满足网关覆盖率和服务率的前提下,计算每种网关部署方案的网关负载标准差,找到网关负载标准差最小的部署方案,实现网关的负载均衡,提高网络服务质量。
附图说明
[0127]
图1为本发明实施例一种基于多目标优化的自适应网关部署方法的基本流程图;
[0128]
图2为本发明实施例自组织网络随机网关部署示意图;
[0129]
图3为本发明实施例利用变长粒子群算法求解最优网关数量流程图;
[0130]
图4为本发明实施例最优网关数量示意图;
[0131]
图5为本发明实施例利用标准粒子群算法部署网关流程图;
[0132]
图6为本发明实施例网关负载标准差示意图;
[0133]
图7为本发明实施例最优网关部署示意图;
[0134]
图8为本发明实施例一种基于多目标优化的自适应网关部署系统架构示意图。
具体实施方式
[0135]
下面结合附图和具体的实施例对本发明做进一步的解释说明:
[0136]
如图1所示,一种基于多目标优化的自适应网关部署方法,包括:
[0137]
步骤s101:建立多目标优化的自适应网关部署数学模型;
[0138]
步骤s102:利用粒子群算法初始化网关部署数学模型;
[0139]
步骤s103:利用变长粒子群算法对网关部署数学模型求解,获得满足约束条件的最优网关数量。
[0140]
步骤s104:利用标准粒子群算法对网关部署数学模型求解,获得网关的最优位置实现网关负载均衡。
[0141]
进一步地,所述步骤s101中,建立多目标优化的自适应网关部署数学模型的具体步骤如下:
[0142]
步骤s101.1:计算满足节点覆盖需求的网关数量:
[0143][0144]
square=πr2(2)
[0145]
其中sa为网络区域总面积,r为网关的覆盖半径,square为网关的覆盖面积;
[0146]
步骤s101.2:计算满足节点流量需求的网关数量:
[0147][0148]
其中n为网络区域中总的节点数,t为每个节点满足目标需求的流量,l
large
为每个网关的最大负载,因此,满足节点流量需求和覆盖需求的网关数量n
objective
为;
[0149]nobjective
=max(n
cov
,n
sern
)(4)
[0150]
为了找到最优网关数量,设置初始网关n=2n
objective
;
[0151]
步骤s101.3:建立网关覆盖范围的约束如式(6)所示:
[0152][0153][0154]
其中对于任意一个节点i,到网关j的距离为d
ij
;如果节点i在网关j的覆盖范围内,c
ij
为1,否则c
ij
为0;
[0155]
步骤s101.4:建立网关负载容量的约束如式(9)所示:
[0156]dij
=min{d
j1
,d
j2
,
…djn
}(7)
[0157][0158][0159]
其中,d
ij
为节点i到所有网关的最近的距离,如果节点i选择了最近的网关,则s
ij
=1,否则s
ij
=0;nj为网关j服务的节点数量,每个网关的负载为其所服务节点的流量之和,不能超过网关的最大负载;
[0160]
步骤s101.5:建立满足覆盖约束和容量约束的最优的网关数量:
[0161][0162]
步骤s101.6:建立网关负载的标准差如式(11)所示:
[0163][0164][0165]
其中,l(j)为网关j的负载,为当前系统的平均网关负载;
[0166]
步骤s107:综合公式(1)至公式(13)作为多目标优化的自适应网关部署数学模型。
[0167]
进一步地,所述的步骤s102中,利用粒子群算法初始化网关步骤如下:
[0168]
步骤s102.1:自组织网络系统中有n个网关组成的网关集合g,得出g中的网关j在二维平面的坐标为(xj,yj)(j=1,2
…
n);
[0169]
步骤s102.2:为了搜索到最优的网关位置,我们设置粒子数为k;
[0170]
步骤s102.3:对于任意的网关粒子k,其位置向量w
(k)
为:
[0171]w(k)
=(x1,x2…
xn,y1,y2…
,yn);k=1,2
…
k(14)
[0172]
步骤s102.4:计算粒子k通过的个体最优位置、即个体极值pbest:
[0173]
pbest=(p
k1
,p
k2
…
p
k2n
)(15)
[0174]
步骤s102.5:计算到目前为止整个粒子群搜索到的最优位置、即全局极值gbest,可以表示为:
[0175]
gbest=(g
k1
,g
k2
…gk2n
)(16)
[0176]
步骤s102.6:粒子k的位置和速度更新方程如下:
[0177][0178][0179]
其中,ω为惯性权重,c1、c2为常数,r1、r2为[0,1]范围内的均匀随机数,t表示迭代次数,1≤d≤2n且d为自然数;作为一种可实施方式,惯性权重ω=0.8,c1=c2=1.5;
[0180]
步骤s102.7:粒子群算法的最大迭代次数p;作为一种可实施方式,p=100。
[0181]
进一步地,所述的s103中,利用变长粒子群算法对网关部署数学模型求解,获得满足约束条件的最优网关数量,具体步骤如下:
[0182]
步骤s103.1:如果节点满足公式(6),设置变量否则按照下式计算网关粒子k对应的没有被网关覆盖的节点数ak及网关的覆盖率
[0183][0184][0185]
步骤s103.2:如果节点满足公式(9),设置变量否则按照下式计算网关的服务率
[0186][0187]
步骤s103.3:首先将适应度函数u设置为当网关覆盖率达到再将适应度函数设置当网关的服务率达到时,网关的数量减1(n=n-1),重复上述搜索过程,直到找到满足约束的最小的网关数量n
min
即最优网关数量。
[0188]
进一步地,所述的步骤s104中,利用标准粒子群算法对网关部署数学模型求解,获得网关的最优位置实现网关负载均衡,具体步骤如下:
[0189]
步骤s104.1:以最优网关数量n随机部署网关;
[0190]
步骤s104.2:利用公式(20)计算网关的覆盖率;
[0191]
步骤s104.3:利用公式(21)计算网关的服务率;
[0192]
步骤s104.4:利用公式(11)计算网关负载的标准差;
[0193]
步骤s104.5:定义一个数组来存储每次迭代得到的网关负载的标准差,定义一个矩阵来存储每次迭代的网关位置坐标,当迭代结束时,找到网关负载与网关负载的标准差最小的网关位置,即为网关的最优部署。
[0194]
为使更好的理解本发明,进行如下具体示例:
[0195]
作为一种可实施方式,自组织网络各节点随机分布在100*100的部署区域中;网络中节点的数量为100,初始网关数量为20,网络的模型如图2所示,具体采用如下步骤完成网关的最优位置部署:
[0196]
步骤一:建立多目标优化的自组织(自适应)网关部署数学模型,网关半径为10,节点满足目标需求的流量为3,网关的最大负载为30,网关的覆盖率为95%,网关服务率为95%,迭代次数为100。
[0197]
步骤二:利用粒子群算法初始化网关,设定粒子数量为100;
[0198]
步骤三:利用变长粒子群算法计算最优网关数量,计算过程如图3所示,网关数量随着迭代次数的增加,逐渐趋于稳定,网关数量的变化如图4所示。
[0199]
步骤四:利用标准粒子群算法计算网关的负载标准差,计算过程如图5所示,网关负载的标准差变化如图6所示。
[0200]
步骤五:确定网关部署的最佳位置,如图7所示。
[0201]
在上述实施例的基础上,如图8所示,本发明另一方面提出一种基于多目标优化的自适应网关部署系统,包括:
[0202]
模型构建模块,用于建立多目标优化的自适应网关部署数学模型;
[0203]
初始化模块,用于利用粒子群算法初始化网关部署数学模型;
[0204]
第一模型求解模块,用于利用变长粒子群算法对网关部署数学模型求解,获得满足约束条件的最优网关数量;
[0205]
第二模型求解模块,用于利用标准粒子群算法对网关部署数学模型求解,获得网关的最优位置实现网关负载均衡。
[0206]
进一步地,所述模型构建模块包括:
[0207]
第一计算子模块,用于计算满足节点覆盖需求的网关数量:
[0208][0209]
square=πr2(2)
[0210]
其中sa为网络区域总面积,r为网关的覆盖半径,square为网关的覆盖面积;
[0211]
第二计算子模块,用于计算满足节点流量需求的网关数量:
[0212][0213]
其中n为网络区域中总的节点数,t为每个节点满足目标需求的流量,l
large
为每个网关的最大负载,因此,满足节点流量需求和覆盖需求的网关数量n
objective
为:
[0214]nobjective
=max(n
cov
,n
sern
)(4)
[0215]
为了找到最优网关数量,设置初始网关n=2n
objective
;
[0216]
第一约束建立子模块,用于建立网关覆盖范围的约束如式(6)所示:
[0217][0218][0219]
其中d
ij
表示节点i到网关j的距离;如果节点i在网关j的覆盖范围内,c
ij
为1,否则c
ij
为0;
[0220]
第二约束建立子模块,用于建立网关负载容量的约束如式(9)所示:
[0221]dij
=min{d
j1
,d
j2
,
…djn
}(7)
[0222][0223][0224]
其中,d
ij
为节点i到所有网关的最近的距离,如果节点i选择了最近的网关,则s
ij
=1,否则s
ij
=0;nj为网关j服务的节点数量,每个网关的负载为其所服务节点的流量之和,不能超过网关的最大负载;
[0225]
最优网关数量方程建立子模块,用于建立满足覆盖约束和容量约束的最优的网关数量:
[0226][0227]
网关负载标准差方程建立子模块,用于建立网关负载的标准差如式(11)所示:
[0228][0229][0230][0231]
其中,l(j)为网关j的负载,为当前系统的平均网关负载;
[0232]
模型得出子模块,用于综合公式(1)至公式(13)作为多目标优化的自适应网关部署数学模型。
[0233]
进一步地,所述初始化模块包括:
[0234]
网关坐标得出子模块,用于自组织网络系统中有n个网关组成的网关集合g,得出g中的网关j在二维平面的坐标为(xj,yj),j=1,2
…
n;
[0235]
粒子数设置子模块,用于设置粒子数为k;
[0236]
位置向量得出子模块,用于对于任意的网关粒子k,其位置向量w
(k)
按照下式得出:
[0237]w(k)
=(x1,x2…
xn,y1,y2…
,yn);k=1,2
…
k(14)
[0238]
第三计算子模块,用于计算粒子k通过的个体最优位置、即个体极值pbest:
[0239]
pbest=(p
k1
,p
k2
…
p
k2n
)(15)
[0240]
第四计算子模块,用于计算整个粒子群搜索到的最优位置、即全局极值gbest:
[0241]
gbest=(g
k1
,g
k2
…gk2n
)(16)
[0242]
位置、速度更新子模块,用于按照下式对粒子k的位置和速度进行更新:
[0243][0244][0245]
其中,ω为惯性权重,c1、c2为常数,t表示迭代次数,r1、r2为[0,1]范围内的均匀随机数,1≤d≤2n且d为自然数;
[0246]
最大迭代次数设置子模块,用于设置粒子群算法的最大迭代次数p。
[0247]
进一步地,所述第一模型求解模块包括:
[0248]
第五计算子模块,用于如果节点满足公式(6),设置变量否则按照下式计算网关粒子k对应的没有被网关覆盖的节点数ak及网关的覆盖率
[0249][0250][0251]
第六计算子模块,用于如果节点满足公式(9),设置变量否则按照下式计算网关的服务率
[0252][0253]
第一迭代求解子模块,用于首先将适应度函数设置为当网关覆盖率达到时再将适应度函数设置为其中0《ρ《1;当网关的服务率达到时,网关的数量减1,重复上述搜索过程,直到找到满足约束的最小的网关数量、即最优网关数量。
[0254]
进一步地,所述第二模型求解模块包括:
[0255]
随机部署子模块,用于以最优网关数量随机部署网关;
[0256]
第七计算子模块,用于利用公式(20)计算网关的覆盖率;
[0257]
第八计算子模块,用于利用公式(21)计算网关的服务率;
[0258]
第九计算子模块,用于利用公式(11)计算网关负载的标准差;
[0259]
第二迭代求解子模块,用于定义一个数组来存储每次迭代得到的网关负载的标准差,定义一个矩阵来存储每次迭代的网关位置坐标,当迭代结束时,得到网关负载与网关负载的标准差最小的网关位置,即为网关的最优部署。
[0260]
综上,本发明通过设置网关覆盖率和网关服务率为约束,采用变长粒子群算法优化网关的数量,减少网关部署的代价和成本。本发明提出网关负载标准差作为网络负载的指标,在满足网关覆盖率和服务率的前提下,计算每种网关部署方案的网关负载标准差,找到网关负载标准差最小的部署方案,实现网关的负载均衡,提高网络服务质量。
[0261]
以上所示仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应
视为本发明的保护范围。
转载请注明原文地址:https://tc.8miu.com/read-174.html