一种基于two-j9九游会真人

文档序号:35696173发布日期:2023-10-11 19:12阅读:11来源:国知局

一种基于two_arch2算法的工业物联网节点数优化方法
技术领域
1.本发明涉及工业物联网和多目标优化算法的交叉应用领域,具体为一种基于two_arch2算法的工业物联网节点数优化方法。


背景技术:

2.近年来,区块链在生活的许多方面都显示出了巨大的潜力。其中,区块链可以在工业物联网中应用于多个方面。随着工业物联网应用的扩大,可扩展性对于工业物联网至关重要,它能够支持设备和数据的增长,满足网络容量需求。然而,区块链的性能有限,在某些情况下,区块链系统可能会变得非常庞大,导致处理交易的速度变慢,并增加网络拥堵的可能性,难以满足工业物联网的事务吞吐量要求。
3.为了提高区块链系统的性能,常使用的策略包括:区块构建优化、区块大小和时间控制优化、交易安全机制优化,重新设计交易格式、区块结构和系统构建区块的方式,以提高区块链系统的性能。然而,构建区块需要大量的计算能力和电力资源,并且构建区块的过程相对缓慢,这限制了区块链网系统的吞吐量,使其无法处理大规模的交易,此外,增大区块大小可能会导致区块链系统的数据存储需求增加,并对网络带宽造成压力。为了解决上述问题,充分考虑区块链系统的可扩展性、延迟、去中心化和部署成本,本发明提出了一种基于two_arch2算法的工业物联网节点数优化方法。


技术实现要素:

4.针对现有技术存在的不足,本发明目的是提供一种基于two_arch2算法的工业物联网节点数优化方法,以解决上述背景技术中提出的问题,本发明能够在提高区块链系统吞吐率和降低系统成本,同时降低因增加节点导致的通讯时延开销的前提下为工业物联网部署时寻找最优节点数,提高系统的可扩展性。
5.为了实现上述目的,本发明是通过如下的技术方案来实现:一种基于two_arch2算法的工业物联网节点数优化方法,包括如下步骤:
6.步骤1:初始化区块链系统,获取系统的基本属性,设定系统的优化目标函数以及约束条件,初始化随机生成two_arch2算法种群并设置最大迭代次数itermax,初始化固定大小为nca的收敛存档ca和固定大小为nda的多样性存档da。
7.步骤2:设置交叉概率pc,对ca和da进行模拟二进制交叉;
8.步骤3:设置变异概率pm,对ca进行多项式变异;
9.步骤4:将没有被任何其他个体支配的解从ca中删除并添加到da中;
10.步骤5:对种群ca进行更新;
11.步骤6:对种群da进行更新;
12.步骤7:判断是否满足终止条件,其中,终止条件设为是否达到最大迭代次数itermax,若否,则返回执行所述步骤2;若是,则输出da为最优的节点数集。
13.进一步的,所述步骤1具体实现包括以下子步骤:
14.步骤1.1:设定系统的吞吐率函数,可以用公式(1)来表示:
[0015][0016]
其中o为系统的区块大小,t为每条交易的平均时间,m为系统的节点数,α为系统的传递时延;
[0017]
步骤1.2:设定系统的开销函数,可以用公式(2)来表示:
[0018]
c=2ωm(m-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0019]
其中ω为系统的传递时延开销,m为系统的节点数;
[0020]
步骤1.3:设定系统约束条件,可以用公式(3)来表示:
[0021]mmin
《m《m
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0022]
其中m
min
为最小优化节点数,m
max
为最大节点数。
[0023]
进一步的,所述步骤2具体实现包括以下子步骤:
[0024]
步骤2.1:对于每一对来自ca和da的父代个体,选择一个交叉概率pc;
[0025]
步骤2.2:生成一个随机数u在[0,1]之间。如果pc≥u,则进行交叉,反之则不进行交叉;
[0026]
步骤2.3:对于种群中的每个个体,设定交叉参数δ,控制交叉的强度;
[0027]
步骤2.4:对于每个个体i,生成一个随机数ui在[0,1]之间,如果ui≤0.5,则使用公式(4)和公式(5)计算子代个体的第i个个体值:
[0028][0029][0030]
如果ui》0.5,则使用公式(6)和公式(7)计算子代个体的第i个个体值:
[0031][0032][0033]
其中n为自定义的参数,n的值越大,产生的后代个体逼近父代的概率越大,这里n取值为16,ui为每一个个体对应的[0,1]之间的随机数,ca[i]为种群ca中第i个个体,da[i]为种群da中第i个个体;δ为交叉的强度;
[0034]
步骤2.5:重复上述步骤,直到生成所有子代个体。
[0035]
进一步的,所述步骤3具体实现包括以下子步骤:
[0036]
步骤3.1:对于每一对来自ca的个体,选择一个变异概率pm;
[0037]
步骤3.2:生成一个随机数u在[0,1]之间。如果pm≥u,则进行变异,反之,则不进行变异;
[0038]
步骤3.3:生成一个随机数δ在[-1,1]之间,用于控制变异的强度;
[0039]
步骤3.4:对于每个个体的值,执行以下操作:对于每个个体i,生成一个随机数u在[0,1]之间。如果u≥0.5,则使用公式(8)计算第i个个体的子代个体值:
[0040][0041]
如果ui《0.5,则使用公式(9)计算第i个个体的子代个体值:
[0042][0043]
其中t是ca种群的上界,d是ca种群的下界,如果变异后的个体值超出上下界,则将其限制在上下界范围内,q为分布因子,取值为15,ca[i]为第i个个体,δ为变异的强度;
[0044]
步骤3.5:重复上述步骤,直到生成所有子代个体。
[0045]
进一步的,所述步骤4具体实现包括以下子步骤:
[0046]
步骤4.1:初始化ca种群中每个个体的非支配等级为0,并初始化每个个体的被支配解集合为空。
[0047]
进一步的,步骤4.2:对于ca种群中的每一个个体a,遍历所有其他个体b,计算个体a和个体b之间的目标函数值。如果个体a在所有目标函数上不劣于个体b,即个体a优于或等于个体b的每个目标函数值,那么个体b被个体a支配。将个体b添加到个体a的被支配解集合中,并将个体a的支配计数增加1。如果个体a在所有目标函数上都被个体b支配,则个体b的被支配解集合中添加个体a。
[0048]
步骤4.3:将没有被任何其他个体支配的解划分为第一等级,这些个体不被任何其他个体支配,将这些非支配解从ca中移除并添加到da中。
[0049]
进一步的,所述步骤5具体实现包括以下子步骤:
[0050]
步骤5.1:判断ca种群中个体的个数是否大于固定大小nca,如果小于固定大小nca,则进行步骤6;如果ca种群中个体的个数大于固定大小nca,则进入步骤5.2。
[0051]
步骤5.2:计算第一个指标i1,i1可以用公式(12)来表示:
[0052]iε
(x1,x2)=min{fi(x1)-ε}≤fi(x2)} i∈(1,2,

,m)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0053][0054]
i1={fi(x1),fi(x2),

,fi(xn)} i∈(1,2,

,m)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0055]
其中,i
ε
描述了一个解支配另一个解的最小距离,f(x1)是计算适应度值的公式,l是f(x1)包含所有个体和所有目标函数的函数的集合,x1和x2分别代表种群ca中的两个不同个体,m表示目标函数的个数。
[0056]
步骤5.3:计算第二个指标i2,i2可以用公式(13)表示:
[0057][0058]
其中fi(x1)与fi(x2)分别代表个体x1与个体x2在第i个目标函数中的计算结果。
[0059]
进一步的,步骤5.4:选定指标值q用来衡量两个指标之间的权重,然后生成[0,1]之间的随机数u。
[0060]
步骤5.5:将指标值q与随机数u进行比较,如果q《u,则比较种群中个体的i1指标,将指标值较小的个体前置;如果q≥u,则比较种群中个体的i2指标,将指标值较小的个体前置。
[0061]
步骤5.6:将ca中所有个体按照适应度值从小到大排序后,删除适应度最小的个体,直到ca的大小等于nca。
[0062]
进一步的,所述步骤6具体实现包括以下子步骤:
[0063]
步骤6.1:判断da种群中个体的个数是否大于固定大小nda,如果小于固定大小nda,则进行下一步;如果da种群中个体的个数大于固定大小nda,则进行步骤6.2。
[0064]
步骤6.2:新建一个种群da
*
,计算da中目标值最大的结果,从da中删除并添加到da
*
中。
[0065]
进一步的,所述步骤6.3:对da中的个体进行迭代,求解每一个da中的个体与da
*
中个体的最小距离并添加到一个新的列表s中,计算da种群的最小距离公式可以用公式(14)表示:
[0066]
similarity[x1]= min(distance(x1,x2)),x1∈da,x2∈da
*
ꢀꢀꢀꢀꢀꢀꢀ
(14)
[0067]
其中similarity[i]用来衡量da种群中的个体与da
*
种群中的个体的距离,distance描述向量在不同方向上的距离,distance可以用公式(15)表示:
[0068]
distance(x1,x2)=(|x1|
p
|x2|
p
)
1/p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0069]
其中p可以是任意实数值,参数p越小,最远和最近邻居之间的对比度越高,p取值为目标的个数。
[0070]
步骤6.4:对da种群中的所有个体计算完成以后,对s中的结果进行从大到小排序,将所选解的最不同解添加到da
*
中,直到da
*
的大小达到nda。
[0071]
本发明的有益效果:
[0072]
1.该基于two_arch2算法的工业物联网节点数优化方法在对ca和da进行更新时采用非支配排序,将解集按照其在多目标优化问题中的优劣程度进行分类和排序。通过非支配排序,可以得到一组具有不同非支配等级的解,并将没有被任何其他个体支配的解放入da中,可以在高维的目标空间中增加种群的多样性。
[0073]
2.该基于two_arch2算法的工业物联网节点数优化方法在对ca种群进行更新时引入基于偏移的密度估计指标,基于密度估计值和真实密度分布之间的偏移,而不仅仅关注点之间的距离。基于偏移的密度估计指标可以更加敏感地反映出密度估计的整体性能。并用随机排序法对两个指标进行平衡,使ca种群可以随机在两个指标之间进行衡量,可以更充分的适应多种条件,有效提高了ca种群的收敛性,引导种群以较快的速度收敛到真实的帕累托前沿。
[0074]
3.本发明提出的基于two_arch2的区块链性能优化方法可以在提高区块链系统吞吐率的同时,同时降低因增加节点导致的通讯时延开销,为区块链系统部署时寻找分布在pareto前沿的最优节点数。
附图说明
[0075]
图1为本发明实施例节点选择的基本流程图;
[0076]
图2为本发明实施例的流程图。
具体实施方式
[0077]
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
[0078]
请参阅图1至图2,本发明提供一种技术方案:一种基于two_arch2算法的工业物联
网节点数优化方法。
[0079]
包括以下步骤:
[0080]
步骤1:初始化系统,获取系统的基本属性,设定系统的优化目标函数以及约束条件,设定系统的吞吐率函数,可以用公式(1)来表示:
[0081][0082]
其中o为系统的区块大小,t为每条交易的平均时间,m为系统的节点数,α为系统的传递时延;设定系统的开销函数,可以用公式(2)来表示:
[0083]
c=2ωm(m-1)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
[0084]
其中ω为区块链系统的传递时延开销,m为系统的节点数;设定系统约束条件,可以用公式(3)来表示:
[0085]mmin
《m《m
max
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)
[0086]
其中m
min
为最小优化节点数,m
max
为最大节点数。然后初始化随机生成two_arch2算法种群并设置最大迭代次数itermax,初始化固定大小为nca的收敛存档ca和固定大小为nda的多样性存档da;
[0087]
步骤2:设置交叉概率pc,对ca和da进行模拟二进制交叉。对于每一对来自ca和da的父代个体,选择一个交叉概率pc,生成一个随机数u在[0,1]之间。如果pc》u,则进行模拟二进制交叉,如果pc≤u,则不进行模拟二进制交叉。对于种群中的每个个体,设定交叉参数δ,控制交叉的强度。对于每个个体i,生成一个随机数ui在[0,1]之间,如果ui≤0.5,则使用公式(4)和公式(5)计算子代个体的第i个个体值:
[0088][0089][0090]
如果ui》0.5,则使用公式(6)和公式(7)计算子代个体的第i个个体值:
[0091][0092][0093]
其中n为自定义的参数,n的值越大,产生的后代个体逼近父代的概率越大,这里n取值为16,ui为每一个个体对应的[0,1]之间的随机数,ca[i]为种群ca中第i个个体,da[i]为种群da中第i个个体;δ为交叉的强度。最后遍历所有种群个体,直到生成所有子代个体。
[0094]
步骤3:对ca进行多项式变异。对于每一对来自ca的个体,选择一个变异概率pm。生成一个随机数u在[0,1]之间。如果pm≥u,则进行变异,反之则不进行变异。然后生成一个随机数δ在[-1,1]之间,用于控制变异的强度;对于每个个体的值,执行以下操作:对于每个个体i,生成一个随机数u在[0,1]之间。如果u≥0.5,则使用公式(8)计算第i个个体的子代个体值:
[0095]
[0096]
如果u《0.5,则使用公式(9)计算第i个个体的子代个体值:
[0097][0098]
其中t是ca种群的上界,d是ca种群的下界,如果变异后的个体值超出上下界,则将其限制在上下界范围内,q为分布因子,取值为15,ca[i]为第i个个体,δ为变异的强度。最后遍历所有种群个体,直到生成所有子代个体。
[0099]
步骤4:将没有被任何其他个体支配的解从ca中删除并添加到da中。初始化ca种群中每个个体的非支配等级为0,并初始化每个个体的被支配解集合为空。对于ca种群中的每一个个体a,遍历所有其他个体b,计算个体a和个体b之间的目标函数值。如果个体a在所有目标函数上不劣于个体b,即个体a优于或等于个体b的每个目标函数值,那么个体b被个体a支配。将个体b添加到个体a的被支配解集合中,并将个体a的支配计数增加1。如果个体a在所有目标函数上都被个体b支配,则个体b的被支配解集合中添加个体a。将没有被任何其他个体支配的解划分为第一等级,这些个体不被任何其他个体支配,将这些非支配解从ca中移除并添加到da中。
[0100]
步骤5:判断ca种群中个体的个数是否大于固定大小nca,如果小于固定大小nca,则进行下一步;如果ca种群中个体的个数大于固定大小nca,则计算ca种群中每一个个体的指标i1,i1可以用公式(12)来表示:
[0101]iε
(x1,x2)=min{fi(x1)-ε}≤fi(x2)} i∈(1,2,

,m)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)
[0102][0103]
i1={fi(x1),fi(x2),

,fi(xn)},i∈(1,2,

,m)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(12)
[0104]
其中,i
ε
描述了一个解支配另一个解的最小距离,f(x1)是计算适应度值的公式,l是f(x1)包含所有个体和所有目标函数的函数的集合,x1和x2分别代表种群ca中的两个不同个体,m表示目标函数的个数,得到第一个指标的值i1。然后选择位于一前一后的两个个体x和y,计算基于平移密度估计的i2指标,i2可以用公式(13)表示:
[0105][0106]
本实施例,其中fi(x1)与fi(x2)分别代表个体x1与个体x2在第i个目标函数中的计算结果。取距离矩阵的每一行的最小值形成列向量得到第二个指标值i2,i2指标不仅可以衡量种群的收敛性,还能度量种群的多样性。将ca中所有个体按照适应度值从小到大排序后,删除适应度最小的个体,直到ca的大小等于nca。
[0107]
步骤6:判断da种群中个体的个数是否大于固定大小nda,如果小于固定大小nda,则进行下一步;如果da种群中个体的个数大于固定大小nda,则新建一个种群da
*
,计算da中目标值最大的结果,从da中删除并添加到da
*
中,然后对da进行迭代,求解每一个da中的个体与da
*
中个体的最小距离并添加到一个新的列表s中,计算da种群的最小距离公式可以用公式(14)表示:
[0108]
similarity[x1]= min(distance(x1,x2)),x1∈da,x2∈da
*
ꢀꢀꢀꢀꢀꢀꢀ
(14)
[0109]
其中similarity[i]用来衡量da种群中的个体与da
*
种群中的个体的距离,distance描述向量在不同方向上的距离,distance可以用公式(15)表示:
[0110]
distance(x1,x2)=(|x1|
p
|x2|
p
)
1/p
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)
[0111]
其中p可以是任意实数值,参数p越小,最远和最近邻居之间的对比度越高,p取值为目标的个数。对da种群中的所有个体计算完成以后,对s中的结果进行从大到小排序,将所选解的最不同解添加到da
*
中,直到da
*
的大小达到nda。
[0112]
步骤7:判断是否满足终止条件,其中,终止条件设为达到最大迭代次数,若否,则返回执行所述步骤2;若是,则输出da为最优的节点数集。
[0113]
以上显示和描述了本发明的基本原理和主要特征和本发明的优点,对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
[0114]
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
当前第1页1  
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
网站地图