一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于量子退火的移动自组织网络分簇及簇间路由规划方法与流程

2022-03-16 16:35:16 来源:中国专利 TAG:


1.本发明属于量子信息技术领域,特别涉及一种移动自组织网络分簇和簇间路由规划的方法,可用于移动自组织网络路由的快速构建。


背景技术:

2.移动自组织网络是一种多跳、临时的自治网络系统,能够在缺乏基础设施支持的环境中提供组网通信的能力,通过节点以分布式的方式协同工作,实现路由。该实现过程涉及到移动自组织网络通信的路由规划,由于移动自组织网络的高移动性,动态拓扑、带宽和能量有限等特点,因而设计一种节能高效的路由协议是移动自组织网络通信的重点。
3.为了提高移动自组织网络路由规划的效率,研发人员提出很多解决方案,例如,申请公布号为cn113660710a,名称为“一种基于强化学习的移动自组织网络路由方法”的专利申请,公开一种基于强化学习的移动自组织网络路由方法。该方法通过对节点质量和链路质量的双目标决策,构建网络拓扑结构;将复杂网络相关方法作为强化学习框架下q值表的生成依据,为节点质量的初步评估提供标准;采用全路径上的节点介数作为路由奖励的计算依据,充分表达非均匀网络中最短路径的需求,能够有效的建立网络拓扑结构,减少网络结构的维护成本,利用非均匀网络的特性,实现数据高效传输,提高路由规划的效率。但是由于移动自组织网络的路由协议主要应用在以小电池组为能量来源的移动设备上,因此能量消耗也是路由协议的研究重点,如何延长整个网络的生存时间是路由协议性能评价标准中一个新的研究热点。


技术实现要素:

4.本发明的目的是针对上述现有技术的不足,提出一种基于量子退火算法的移动自组织网络分簇和簇间路由规划方法,以在提高移动自组织网络路由规划效率的同时,减少移动自组织网络节点间通信时的能量消耗,实现负载均衡,延长移动自组织网络生存时间。
5.为实现上述目的,本发明的技术方案包括如下:
6.(1)初始化移动自组织网络节点通信模型:
7.初始化包括分布在空间直角坐标系o-xyz空间中的移动自组织网络所有节点的集合:a={a1,a2,...,an,...,an},其中,an表示第n个节点,n表示移动自组织网络中节点的总数量,n≥2,an的位置坐标为(xn,yn,zn),节点间通信需要消耗电池能量,电池剩余能量集合为:e={e1,e2,...,en,...,en},其中,en表示第n个节点的初始能量;
8.(2)节点集合a进行初始的簇划分;
9.(2a)每个节点an向其它节点广播自己的位置坐标信息(xn,yn,zn);
10.(2b)节点集合a中的第一个节点a1生成一个0到1的随机数,并判断该随机数是否比预设判断阈值t(n)大,若是,将自己作为簇首,否则,将自己作为簇成员,第二个节点至第n个节点依次判断,得到初始的簇首节点集合,其中,0<t(n)<1;
11.(2c)每个簇成员节点向距离最近的簇首节点发送加入簇的请求,每个发送加入簇
请求的簇成员节点和接收加入簇请求的簇首节点组成一个簇,得到初始的簇划分。
12.(3)节点集合a向空中平台发送数据信息:
13.(3a)每个簇成员节点以单跳的形式将包含位置信息等数据信息传递到所在簇的簇首节点;
14.(3b)每个簇首节点以单跳的形式将本簇内所有节点的数据信息传递到空中平台;
15.(4)空中平台对节点集合a进行分簇和簇间路由规划:
16.(4a)空中平台根据接收到的节点集合a的所有节点的数据信息,对所有的节点进行分簇和簇间路由规划,得到总的节点集合集r:
17.(4b)空中平台对移动自组织网络构造经典哈密顿量hc:
18.(4b1)利用二维路由连接矩阵s以及二维权重连接矩阵w,建立路由能量消耗的优化目标函数:
[0019][0020]
其中,s
a,b
表示二维连接矩阵s中处于第a行第b列的元素,w
a,b
表示二维权重矩阵w中处于第a行第b列的元素,c0表示无线自组织网络中的路由能量消耗;
[0021]
(4b2)通过目标函数c0和四个惩罚项计算势能项h
p

[0022][0023]
其中,c1为第一个惩罚项,用于约束每一个节点只能有一个父节点;c2为第二个惩罚项,用来约束节点度;c3为第三个惩罚项,用于确保路由规划方案符合空中平台根据节点空间分布预先划定的簇的个数;c4为第四个惩罚项,用于判断所有的簇首节点间是否连成通路;w
max
表示二维权重矩阵w中元素的最大值;
[0024]
(4b3)通过对二维路由矩阵进行p次随机赋值得到的副本集合,计算动能项hk:
[0025][0026]
其中,表示对第z个副本和第z 1个副本相同位置的值进行乘积求和,z的取值范围是从1到p-1,表示对第p个副本与第1个副本相同位置的值进行乘积求和,所述相同位置是指连接矩阵s中第a行第b列的位置;
[0027]
(4b4)空中平台根据势能项h
p
和动能项hk,计算经典哈密顿量hc:
[0028][0029]
其中,j
γ
为横向磁场耦合项,代表动能项的强度,对应ising模型中的横向磁场耦合系数;
[0030]
(4c)根据得到的经典哈密顿量hc,利用路径积分蒙特卡罗量子退火算法得到分簇和簇间路由规划的最优解s
best

[0031]
(5)空中平台根据最优解形成最新的分簇和簇间路由规划:
[0032]
(5a)空中平台根据最优解s
best
得到最新的分簇信息和簇间路由信息,并将其以单
跳的形式通知到每一个簇首节点;
[0033]
(5b)每个簇首节点以单跳的形式将最新的分簇信息和簇间路由信息通知到本簇中的每一个簇成员节点,形成最新的分簇和簇间路由规划。
[0034]
本发明与现有技术相比,具有以下优点:
[0035]
1.本发明由于在路由规划过程中,通过构造路由连接矩阵来说明节点之间的连接的关系,并利用能耗模型来构造出代表节点之间传输单位比特数据能量消耗的权重矩阵,利用路由连接矩阵和权重矩阵来构造目标函数,最后通过路径积分蒙特卡罗量子退火方法实现快速路由,可以有效节省通信网络能量开销,实现负载均衡,延长移动自组织网络寿命。
[0036]
2.本发明由于通过对移动自组织网络的目标函数添加惩罚项,构造出哈密顿量hc,并根据hc利用路径积分蒙特卡罗量子退火算法在经典计算机上得到分簇和簇间路由规划的最优解s
best

[0037]
与模拟退火算法相比,量子退火算法由于量子波动,从而能够更加快速跳出局部最优解,到达全局最优解,有效避免了以往元启发式算法陷入局部最优解问题,进而提高了路由规划效率,实现快速路由,保证了移动自组织网络中节点实时的数据信息和控制信息传输。
附图说明
[0038]
图1为本发明的实现总流程图。
[0039]
图2为本发明中空中平台对节点集合集中每一个簇首节点集合进行路由规划的子流程图。
具体实施方式
[0040]
以下结合附图,对本发明的具体实施例作进一步的详细描述。
[0041]
参照图1,本实例的实现步骤包括如下:
[0042]
步骤1,初始化移动自组织网络节点通信模型。
[0043]
初始化包括对分布在空间直角坐标系o-xyz空间的每一个移动自组织节点的位置坐标进行随机赋初值;
[0044]
设所有的移动自组织网络节点集合为a={a1,a2,...,an,...,an},节点集合a中包括簇成员节点和簇首节点,其中,an表示第n个节点,n=1,2,...,n,n为节点的总数量,n≥2,本实施例中,n=100;an的位置坐标为(xn,yn,zn),通过对三个坐标值进行随机赋值获得该节点的位置坐标;
[0045]
节点间通信需要消耗电池能量,电池剩余能量集合为:e={e1,e2,...,en,...,en},其中,en表示第n个节点的初始能量,通过随机赋值的方式获得电池剩余能量集合;
[0046]
空中平台用于汇聚移动自组织网络中所有节点的信息,利用这些信息对其进行分簇和簇间路由规划,并将得到的最优分簇信息和簇间路由规划信息传递给所有节点。
[0047]
步骤2,节点集合a进行初始的簇划分。
[0048]
(2.1)每个节点an向其它节点广播自己的位置坐标信息(xn,yn,zn);
[0049]
(2.2)节点集合a中的第一个节点a1生成一个0到1的随机数,并判断该随机数是否
比预设判断阈值t(n)大,若是,将自己作为簇首,否则,将自己作为簇成员,第二个节点至第n个节点依次判断,得到初始的簇首节点集合,其中,0<t(n)<1;
[0050]
(2.3)每个簇成员节点向距离最近的簇首节点发送加入簇的请求,每个发送加入簇请求的簇成员节点和接收加入簇请求的簇首节点组成一个簇,得到初始的簇划分。
[0051]
步骤3,节点集合a向空中平台发送数据信息。
[0052]
(3.1)每个簇成员节点以单跳的形式将包含位置信息等数据信息传递到所在簇的簇首节点;
[0053]
(3.2)每个簇首节点以单跳的形式将本簇内所有节点的数据信息传递到空中平台。
[0054]
步骤4,空中平台对节点集合a进行分簇和簇间路由规划。
[0055]
参照图2,本步骤的具体实现如下:
[0056]
(4.1)空中平台根据接收到节点集合a的所有节点数据信息,得到总的节点集合集r:
[0057]
(4.1.1)设簇首节点集合为ch={ch1,ch2,...,ch
l
,...,ch
l
},其中,ch
l
表示第l个簇中的簇首节点,l=1,2,...l,l表示该移动自组织网络中簇的总数量,l≥1;
[0058]
(4.1.2)将每一个簇中包含的簇首节点和所有簇成员节点组成簇节点集合:
[0059][0060]
其中,表示第k个簇中第q个节点,k=1,2,...,l,k_num表示第k个簇中节点的总数量,本实例中,k_num≥2;
[0061]
(4.1.3)由l个簇节点集合,得到总的节点集合集:r={r1,r2,...,rk,...r
l
};
[0062]
(4.2)空中平台对移动自组织网络构造经典哈密顿量hc:
[0063]
本步骤的总体思路是:通过空中平台构造可以代表路由方案的二维路由矩阵s和二维权重矩阵w,然后通过s和w建立目标函数c0,再通过c0计算势能项h
p
;通过对s进行p次随机赋值得到的副本集合s={s1,s2,...,sz,...,s
p
}计算动能项hk,再由势能项h
p
和动能项hk计算得到经典哈密顿量hc,具体实现如下:
[0064]
(4.2.1)构造二维路由矩阵s和二维权重矩阵w:
[0065]
首先,假设需要进行路由规划的节点的总数量为b,b≥2,以一个二进制数表示节点之间是否有路由连接,即可用一个b
×
b的二维矩阵表示路由连接关系,这样的矩阵称为二维连接矩阵s,其结构为:
[0066][0067]
式中,数字1到表示b对应需要进行路由规划的节点,s
a,b
表示节点之间的路由连接状态,为二进制数,s
a,b
=0代表节点a和节点b之间没有路由连接;s
a,b
=1代表节点a和节点b
之间有路由连接,有1和0组成的二维路由连接矩阵便代表了路由规划方案;
[0068]
其次,根据优化目标,通过对节点与节点之间的连接进行权重赋值,便可得到与二维路由矩阵相对应的二维权重矩阵w,矩阵中的每一个元素都对应着节点之间的连接权重,即节点之间传输数据消耗的能量。实际的能量消耗应该是每个节点接收和发送数据消耗的能量之和,主要是根据能耗模型计算。但是由于实际业务情况是随机的,是无法估计的,为了简化分析,用节点之间传输单位比特数据消耗的能量作为连接权重。
[0069]
节点之间传输单位比特数据消耗的能量是根据以下能耗模型来计算:
[0070]
假设此时从节点a发送单位比特信息到节点b,节点a发送该信息所消耗的能量为es(d
a,b
),而节点b接收该信息所消耗的能量为er,若假设节点a到节点b的传输距离为d
a,b
,则es(d
a,b
)和er的计算方式如下:
[0071][0072]er
=e
elec
[0073]
其中,e
elec
为无线收发电路的单位比特能量消耗;和ε
mp
是不同传输距离下功率放大器的相关参数,表示自由空间模型中功率放大器的能量消耗,ε
mp
表示多径损耗模型中功率放大器的能量消耗;d0表示传输门限,收发距离小于d0时,采用自由空间传播模型,收发距离大于d0时,采用多径衰落传播模型。本实施例中,e
elec
=50nj/bit,ε
mp
=0.0013pj/bit/m4,d0=87.7m;
[0074]
实际中,由于每个节点消耗的能量只考虑发送信息所消耗的能量es(d
a,b
),而忽略接收信息所消耗的能量,因此,移动自组织网络中所有节点间通信时的能耗就可以表示为二维权重矩阵w,计算方式如下:
[0075][0076]
式中,w
a,b
代表节点a和节点b之间的连接权重,值为节点a传输单位比特数据到节点b消耗的能量,即es(d
a,b
);
[0077]
(4.2.2)利用二维路由连接矩阵s以及二维权重连接矩阵w,建立路由能量消耗的优化目标函数c0:
[0078][0079]
其中,c0表示无线自组织网络中的路由能量消耗,优化的目标即获得c0最小值,使得路由能量消耗最小,保证在任务成功执行的前提下,可以有效节省通信网络能量开销,延长网络寿命。
[0080]
(4.2.3)根据优化目标函数c0和四个惩罚项计算势能项h
p

[0081]
为了确保最终的解符合约束条件以及实际情况,还需要为c0添加惩罚项作为约束排除错误的路由,本实例添加了四个惩罚项:
[0082]
所述第一个惩罚项c1,用于约束每一个节点只能有一个父节点,其表示如下:
[0083][0084]
其中,表示节点b的父节点个数,表示节点b没有父节点,路由出现了断路;表示节点b有多个父节点,且节点b向它们传输相同的数据是时,出现了传输数据冗余,即路由出现了回路。因此和都是错误的路由方案,都会使得c1>0,在此约束条件下,二维路由连接矩阵每一列都将只有一个元素为1。
[0085]
所述第二个惩罚项c2,用于约束节点度δ,即该节点最大允许的节点交互数量,其表示如下:
[0086][0087]
其中,表示节点a的实际子节点个数;e
a,e
为二进制数,当时,e
a,e
=1,否则,e
a,e
=0;的最大值为δ-1;由于每个节点处理数据能力有限,加上节点连接其它节点数量过多,必将导致在任务执行过程中需要转发的其它节点的数据信息过多,节点能量消耗过快,因此需要对每个节点连接到其它节点的最大数量进行限制。由于每个节点都要有一个父节点进行传输,对应任一节点a的最大子节点个数为δ-1。所以,当节点a的子节点个数大于δ-1时,将使得c2>0。通过这种方式,既考虑到节点实际数据处理能力,又可以实现负载均衡,有效避免了由于部分节点失效,导致整个网络执行任务时长变短。
[0088]
所述第三个惩罚项c3,用于确保路由规划方案符合空中平台根据节点空间分布预先划定的簇的个数,其表示如下:
[0089][0090]
其中,c
num
为预先划定的簇个数;表示节点a的实际子节点个数;e
a,e
为二进制数,当时,e
a,e
=1,否则,e
a,e
=0;当节点a为簇首节点时,否则,则,表示网络中实际存在的簇的个数,当实际划分的簇的个数与预先划定的不同时,将会使得c3>0。
[0091]
所述第四个惩罚项c4,用于确保所有的簇首节点间连成通路。其基本思路是首先
对所有节点进行遍历,判断该节点是否是簇首节点,当节点a满足则该节点是簇首节点,反之,当节点a满足则该节点是簇成员节点,用一个数组array来统计每个簇首节点的父节点个数,如果array中每个元素都是1,或者array中有且只有一个元素为0,这两种情况下,c4=0,否则,c4>0。即当所有簇首节点均只有一个父节点或者所有簇首节点中有且仅有一个簇首节点没有父节点的情况下,c4=0,否则,c4>0,是错误的路由方案。
[0092]
由上述化目标函数c0和其约束条件计算势能项h
p

[0093][0094]
其中,w
max
表示二维权重矩阵w中元素的最大值,不难看出,当两种路由方案具有相同的c0值时,对于错误的路由方案,即c1>0或c2>0或c3>0或c4>0的情况下,势能项h
pot
的值会更大,而对于满足实际情况的路由方案,c1、c2、c3或c4都为0,所以对于满足实际情况的路由方案,得到h
p
最小值也即得到了c0最小值。
[0095]
(4.2.4)通过对二维路由连接矩阵s进行p次随机赋值得到的副本集合,计算动能项hk;
[0096]
动能项hk用于模拟量子波动,在循环迭代过程中提供了一种相互作用,使得最终结果跳出局部最优解,动能项hk指p个副本之间存在的相互作用,它通过循环p个副本,对相邻副本之间相同位置的值进行乘积求和,若相邻副本之间越趋于一致,即p个副本中相同位置为1的位置数量越来越多,则依据公式hk的值也就越大,hk的计算方式如下:
[0097][0098]
其中,表示对第z个副本和第z 1个副本相同位置的值进行乘积求和,z的取值范围是从1到p-1,表示对第p个副本与第1个副本相同位置的值进行乘积求和,所述相同位置是指连接矩阵s中第a行第b列的位置,本实施例中,p=40;
[0099]
(4.2.5)空中平台根据势能项h
p
和动能项hk,计算经典哈密顿量hc:
[0100][0101]
其中,为p个副本势能项之和;hk为动能项;j
γ
表示横向磁场耦合项,其中t为温度;pt为有效量子温度;γ为隧穿场强度参数,初始设置一个较高的值,然后随着蒙特卡罗步骤缓慢下降,初始γ0的取值范围为[0,3pt];动能项差值δhk在蒙特卡罗迭代过程中提供了一种扰动,利用设定的副本更新准则,在h
p
未能取得更小值的情况下,使得hc取得更小值,来跳出局部最优解。不难发现j
γ
的大小决定了动
能项相比势能项的重要性,其取值越大,动能项的影响力越大。它的取值与γ成反比,这也与实际情况相符合。随着迭代次数的增多,在此过程中γ逐渐下降,副本之间逐渐相似,δhk逐渐减小。此时通过增大j
γ
值,保证了动能项继续发挥作用,使得副本之间逐渐趋于一致。理想情况下,p个副本在趋于一致过程中最终都将到达最优解,p个副本势能和的平均值也就是最优解的目标函数值。
[0102]
(4.3)根据得到的经典哈密顿量hc,利用路径积分蒙特卡罗量子退火算法得出分簇和簇间路由规划的最优解s
best

[0103]
(4.3.1)设置初始迭代次数为t=1,最大蒙特卡罗迭代次数m
max
,m
max
>10,本实施例中,m
max
=10000;最优解s
best
初始值为副本集合s={s1,s2,...,sz,...,s
p
}中的第一个副本s1;
[0104]
(4.3.2)计算当前蒙特卡罗循环下的横向磁场耦合项j
γ
=(-t/2)*ln(tanh(γ/pt)),不同迭代次数下,隧穿场强度γ不同;
[0105]
(4.3.3)设sz是当前第z个副本,1≤z≤p,通过随机变换的方式产生sz的新副本sz',所述随机变换产生新副本是从以下三个方法中选择一种:
[0106]
《1》置换:随机断开两个节点之间的连接,再连接任意两个节点,即空中平台在当前副本中找到任意一个值为1的位置,将其值变为0,再找到任意一个值为0的位置,将其值变为1,并将得到的二维路由矩阵作为新的副本。
[0107]
《2》反转:随机选取一个存在父节点的节点,选择它的一条连接,将父、子节点地位反转,即空中平台在当前副本中找到任意一个值为1的位置,将其值变为0,再将它在矩阵中对称位置的值变为1,并将得到的二维路由矩阵作为新的副本。
[0108]
《3》换父:随机选取一个存在父节点的节点,断开任一父节点的连接,再随机选取一个节点作为新的父节点,即空中平台在当前副本中找到任意一个值为1的位置,将其值变为0,在同一列中,再找到任意一个值为0的位置,将其值变为1,并将得到的二维路由矩阵作为新的副本。
[0109]
(4.3.4)对所有的副本均通过随机变换的方式产生新副本,完成对所有副本的更新;
[0110]
(4.3.5)判断每个新副本是否满足h
p
(sz')-h
p
(sz)≤0或h(sz')-h(sz)≤0或者exp(-δhc/t)>random(0,1):如果满足其中之一者,则用新副本来代替原来的副本,即sz=sz',否则,执行(4.3.6);
[0111]
(4.3.6)判断遍历过的所有副本中使得势能项最小的副本即最优解是否需要更新:
[0112]
如果接受了新副本且该新副本的势能项小于当前最优解的势能项,即h
p
(sz')-h
p
(s
best
)≤0,则更新最优解为s
best
=sz';否则,执行(4.3.7);
[0113]
(4.3.7)判断空中平台的所有副本是否都执行完毕:若是,则执行(4.3.8),否则,令z=z 1,对下一个副本进行更新,返回(4.3.3);
[0114]
(4.3.8)判断t≥m
max
是否成立:若是,则结束循环,得到最终的最优解s
best
,执行步骤4,若否,则令t=t 1,γ=γ-γ/m
max
,返回(4.3.2)。
[0115]
步骤5,空中平台根据最优解形成最新的分簇和簇间路由规划。
[0116]
(5.1)空中平台根据最优解得到最新的分簇信息和簇间路由信息:
[0117]
空中平台根据最优解s
best
,也即最优的二维路由连接矩阵,分析节点之间的是否存在连接关系,在s
best
中,元素为1,代表节点之间有连接关系,元素为0,代表节点之间没有连接关系,在s
best
中,遍历每一行,若第a行有两个或两个以上1,则代表存在一个簇,该簇首节点为节点a,簇成员节点为第a行中为1的元素对应列数所对应的节点,比如,s
best
中第a行第b列是1,则代表节点b是该簇的簇成员,遍历第a行,可以得到所有的簇成员,也即得到了最优的分簇信息;
[0118]
空中平台在s
best
中,找到每一个簇首节点所对应的父节点,即为簇首节点间数据传输的方向,得到最优的簇间路由;
[0119]
最终得到最新的分簇信息和簇间路由信息,并将其以单跳的形式通知到每一个簇首节点;
[0120]
(5.2)每个簇首节点需要在所有节点中找到本簇的簇成员,即簇首节点的所有子节点,每个簇首节点以单跳的形式将最新的分簇信息和簇间路由信息通知到本簇中的每一个簇成员节点,形成最新的分簇和簇间路由规划。
[0121]
以上描述仅是本发明的一个具体实例,不构成对本发明的任何限制,显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献