一种多智能体系统分布式优化控制方法及存储介质

文档序号:27679481发布日期:2021-11-30 22:58阅读:113来源:国知局
一种多智能体系统分布式优化控制方法及存储介质

1.本发明涉及技术领域,具体涉及一种多智能体系统分布式优化控制方法及存储介质。


背景技术:

2.现有技术中提高多智能体的网络系统性能的分布式交替方向乘子算法,通过整合很多经典优化思路,例如梯度下降法,原始对偶算法等等,结合现代统计学习遇到的问题,提出了比较好实施的分布式计算框架,从原始对偶算子的角度出发,核心为原始对偶算法的增广拉格朗日法,能够解决特定形式的有约束凸优化问题。框架能够解决很多的优化问题,也拥有不错的收敛速率,但通信问题无法解决,没有考虑限制通信的条件,导致系统达到一致性的同时会产生很多的通信损耗,制约网络系统的进一步发展。
3.还有一种针对无中心网络系统的优化算法,基于分布式交替方向乘子算法框架,进一步考虑了通信问题,从通信问题中降低通信次数的方面出发,设计了通信审查方法,采用审查的方式,避免了系统中许多不必要的通信,达到了降低网络系统通信损耗的目的。但审查方式会加大网络系统计算量,同时在网络系统收敛后期,会出现许多无效的通信,或是通信次数过少,会影响网络系统的收敛速度,达到一致性的时间变慢,同样也影响了多智能体的网络系统性能。


技术实现要素:

4.本发明解决的一个主要问题是多智能体网络系统通信损耗大,导致网络系统总体性能较较差的问题。
5.根据本发明的一个方面,本发明提供一种多智能体系统分布式优化控制方法,包括:
6.初始化所述多智能体系统的本地状态量;
7.初始化后的所述多智能体系统中的智能体迭代更新本地变量信息,迭代更新规则为:
[0008][0009]
其中,k代表迭代次数,为函数f
i
(x
i
)取得最小值时状态值x
i
的取值,为第k次迭代时智能体i本地数据原始变量信息,且i,j为两个相邻智能体,i的邻居智能体的集合记作n
i
,i的邻居智能体的数量d
i
=|n
i
|,表示第k

1次迭代时智能体i对于邻居j设置的惩罚项系数,表示智能体对自身设置的惩罚项系数,为第k

1次迭代时的对偶变量,通过迭代更新得到状态值xi;
[0010]
迭代过程中,根据不同的所述智能体之间原始变量的误差,利用第一公式更新所
述惩罚项系数,所述第一公式为:
[0011][0012]
其中,k
max2
为惩罚项最大更新次数,惩罚函数变量c0为惩罚项初始设定值,为智能体i对自身设置的惩罚项系数,为智能体i对邻居j设置的惩罚项系数,为衡量第k次迭代时智能体i的本地状态值与系统中所有智能体的最大最小状态值差距的函数,且其中,为第k次迭代时智能体i的误差函数值,为第k次迭代时智能体j的误差函数值,为第k次迭代时智能体j的本地数据原始变量信息;
[0013]
在迭代过程中,根据原始变量状态值,利用第二公式更新门限函数,所述第二公式为:
[0014][0015]
其中其中为智能体i第k

1次的通信变量,用于记录通信后本地的原始变量值,τ
k
是人为设定的随更新次数递减的序列,k
maxl
为通信门限函数的最大更新次数。
[0016]
根据所述门限函数,确认所述智能体是否能通信,若能通信,则所述智能体间交换信息,且更新其中为智能体i存储的通信变量,若智能体不能通信,则更新
[0017]
利用第三公式迭代更新所述对偶变量,所述第三公式为:
[0018][0019]
其中,为第k次迭代时的对偶变量,为第k次迭代时对自身设置的惩罚项,为第k次迭代时对邻居j设置的惩罚项;
[0020]
智能体迭代更新本地变量信息时,同步判断所述多智能体系统的更新误差是否满足预设条件,若满足所述预设条件,则完成迭代过程,若不满足所述预设条件,则多智能体系统重新按照所述迭代更新规则迭代更新,直至满足所述预设条件并结束迭代。
[0021]
进一步地,所述更新误差表达为第四公式:
[0022][0023]
其中,x
k
为第k次迭代时矩阵形式的状态量,x0为多智能体系统初始状态值矩阵,x
k
‑1为第k

1次更新系统的状态值矩阵,c(k)为更新误差值,|| ||
f
表示矩阵的frobenius范数,|| ||2表示该范数的平方值。
[0024]
进一步地,所述多智能体系统分布式优化控制方法还包括:
[0025]
设置衡量第k次迭代智能体i与系统中其它智能体状态误差的误差函数,所述误差函数为:
[0026][0027]
其中,为衡量第k次迭代智能体i与系统中其它智能体状态误差的误差函数值,表示第k次迭代时多智能体系统中所有智能体状态函数值的2范数的最大值,表示第k次迭代时多智能体系统中所有智能体状态函数值的2范数的最小值。
[0028]
进一步地,所述预设条件为所述系统更新误差的值小于10
‑8。
[0029]
进一步地,所述根据原始变量状态值,利用第二公式更新门限函数包括:
[0030]
当门限函数更新次数超过k
max1
次时,设置门限函数为0,此时门限函数作用消失,在每次迭代过程中所有智能体均与其邻居进行通信。
[0031]
进一步地,所述门限函数的最大更新次数k
max1
为满足更新误差值c(k)>1
×
10
‑7时的最大迭代次数。
[0032]
进一步地,当惩罚项更新次数超过所述惩罚项最大更新次数k
max2
时,所述智能体的惩罚项重置为初始状态。
[0033]
进一步地,所述惩罚项最大更新次数k
max2
设置为当更新误差值c(k)>5
×
10
‑3时的更新次数。
[0034]
根据本发明的另一个方面,还公开一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有如权利要求1

8任一所述的一种多智能体系统分布式优化控制方法。
[0035]
本发明使用分布式交替方向乘子法优化框架,该算法拥有优秀的迭代速度,同时具有很强的鲁棒性与普适性,通信门限函数的设计,规定智能体只有当本地信息更新足够有效时才能进行通信,保证了通信的高效性,大幅度减少系统优化所消耗的通信资源,对其迭代次数的设定也对系统降低通信损耗的能力有影响。自适应惩罚函数的设计,根据智能体状态值的不同,具体设计了智能体在每次迭代中的惩罚项,能够保证系统的收敛速度,使系统每次迭代都具有足够的有效性,对其最大迭代次数k
max2
的设置会对系统的收敛速度产生影响。总之,多智能体系统通过本算法的计算,可以达到优化一致性,一致性即系统中所有智能体均达到最优状态值最优表示在该状态值下能够使得多智能体系统函数值总和达到最小。
附图说明
[0036]
本发明构成说明书的一部分附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
[0037]
图1为本发明实施例中多智能体网络系统节点更新步骤示意图。
[0038]
图2为本发明实施例中全连通多智能系统结构示意图。
[0039]
图3为本发明实施例中本算法与传统交替方向乘子算法的收敛速度与通信损耗效果比较示意图。
具体实施方式
[0040]
下面将结合附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
[0041]
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
[0042]
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
[0043]
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
[0044]
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
[0045]
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
[0046]
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
[0047]
实施例一,如图2所示,为本实施例全连通多智能系统结构示意图,多智能体系统(以下简称系统)包括的智能体个数记作n,每个独立智能体都保存有自身状态信息,规定第i个智能体的状态值为状态值函数为要求该本地状态函数f
i
(x)为凸函数,且存在最优解,才能保证算法最后可以求得最优值且仅有一个最优值。
[0048]
系统通过无向连通网络进行通信,该网络定义为g={υ,ε},υ是一个非空的节点集合,每个节点代表一个智能体;ε代表一个有向的边集合,如果两个节点i,j可以进行通信,那么有(i,j)∈ε,节点j代表i的邻居,节点i的邻居集合记作n
i
,其中i的邻居数量为d
i
=|n
i
|。每个智能体本地都需要保存数据原始变量,且智能体i的本地原始数据变量对偶变量通信变量用于记录最近一次通信后本地的原始变量值,通信变量用于记录最近一次通信后邻居的原始变量值。
[0049]
为表示方便,系统的各变量的矩阵形式定义为为表示方便,系统的各变量的矩阵形式定义为公式中字母右上角t均表示转置符号,其中,x为系统原始变量状态值矩阵,包含所有智能体的状态值信息,其中x
n
表示第n个智能体的状态值信息,表示系统通信状态值矩阵,包含所有智能体的通信变量状态值信息,其中表示第n个智能体的通信变量状态值,λ表示系统对偶变量状态值,包含所有智能体的对偶变量状态值信息,其中λ
n
表示第n个智能体的对偶变量状态值。由于系统拥有n个智能体,且上
述每个变量x
n
,λ
n
均为p维向量,故矩阵均为n行p列的不同矩阵。
[0050]
如图1所示,为系统中多智能体网络系统节点更新步骤示意图,智能体i的信息处理步骤具体为:
[0051]
步骤一,首先为了使智能体系统能够达到一致性,需要系统将状态量初始化为0。设置初始化原始变量对偶变量通信变量通信变量惩罚函数变量即将本地存储的所有有关邻居的状态值信息均进行初始化。
[0052]
智能体信息初始化后,开始通过迭代更新寻找最优状态值首先智能体i更新本地原始数据变量信息地原始数据变量信息按如下规则进行更新:
[0053][0054]
其中,k代表迭代次数,为函数f
i
(x
i
)取得最小值时状态值x
i
的取值,为第k次迭代时智能体i本地数据原始变量信息,且i,j为两个相邻智能体,i的邻居智能体的集合记作n
i
,i的邻居智能体的数量d
i
=|n
i
|,表示第k

1次迭代时智能体i对于邻居j设置的惩罚项系数,表示k

1次迭代时智能体对自身设置的惩罚项系数,为第k

1次迭代时的对偶变量;<x,y>表示向量x,y的内积。本步骤通过迭代得到使系统中所有智能体状态函数值总和更小的状态值x
i

[0055]
步骤二,为了找到更适合的惩罚项系数,根据不同智能体之间原始变量的误差更新惩罚项系数c
ij
k的更新公式为:
[0056][0057]
其中,为衡量本地函数值与最大最小系统值的差距的表达式,k
max2
为惩罚项最大更新次数,惩罚函数变量c0为惩罚项初始设定值,为智能体i对自身设置的惩罚项系数,为第k+1次迭代时智能体i对邻居j设置的惩罚项系数;
[0058]
表示为:
[0059][0060]
其中与规定如下:
[0061]
[0062][0063]
其中,表示第k次迭代时多智能体系统中所有智能体状态函数值的2范数的最大值,表示第k次迭代时多智能体系统中所有智能体状态函数值的2范数的最小值,为公式表述方便,设置为衡量第k次迭代智能体i与系统中其它智能体的状态误差,为第k次迭代时智能体i的误差函数值,为第k次迭代时智能体j的误差函数值,为第k次迭代时智能体j的本地数据原始变量信息。
[0064]
k
max2
为惩罚项最大更新次数,当迭代次数超过k
max2
时,智能体的惩罚项重置为初始状态,k
max2
为c(k)满足一定条件时的迭代次数,根据不同的应用设计不同的k
max2
可以获得更好的加快收敛速度的效果,一般设置k
max2
为c(k)>5e
‑3时的最大迭代次数。
[0065]
即表示当系统误差值c(k)达到某条件前,根据智能体状态值的不同,自适应更新最适合的惩罚项当达到条件后,将重置为初始状态,防止惩罚项影响系统一致性状态的达成。将k
max2
根据不同的应用情况进行变更,能够获得更好的降低通信损耗效果。
[0066]
步骤三,为了在每次迭代过程中都有合适的门限函数需要根据原始变量状态值更新门限函数,的更新公式为:
[0067][0068]
其中,其中,为智能体i第k

1次的通信变量,用于记录通信后本地的原始变量值,τ
k
是人为设定的随更新次数递减的序列,k
maxl
为通信门限函数的最大更新次数。因为迭代过程中是随迭代过程逐渐减小的,为了衡量更新的有效性,τ
k
也必须随着迭代次数增加而减小,为函数提供一个通信门限,不满足通信条件则无法通信,使系统原始变量更新较小时无法通信,从而减少通信的次数。
[0069]
由于无法通信会影响系统一致性的达成,故当迭代次数超过k
max1
时,设置门限函数为0,此时门限函数作用消失,在每次迭代过程中智能体间均进行通信,能够使系统更快的达到一致性。
[0070]
在一些实施例中,设置k
max1
为满足c(k)>1e
‑7时的最大迭代次数,k
max1
根据不同的应用情况进行变更,能够获得不同的降低通信损耗效果。
[0071]
总之,此步骤决定智能体是否能通信,并为下一步对偶变量的更新做数据准备。根据决定智能体是否与邻居通信,进行信息传递。当该智能体可以与其邻居进行通信,交换信息,更新否则智能体不能通信,更新如果i接收到来自邻居j的通信,则保存并更新否则更新
[0072]
步骤四,最后更新对偶变量为交替方向乘子法中的λ算子,通过对偶域状态量的更新,为下一次迭代找到更合适的原始变量做准备。其更新公式为:
[0073][0074]
其中,为第k次迭代时的对偶变量。
[0075]
步骤五,判断更新误差是否满足要求,更新误差表示为数学表达式为:
[0076][0077]
此处x
k
为第k次迭代时矩阵形式的状态量,x0为多智能体系统初始状态值矩阵,x
k
‑1为第k

1次更新系统的状态值矩阵,c(k)为更新误差值,|| ||
f
表示矩阵的frobenius范数。
[0078]
在一些实施例中,设置c(k)<10
‑8,也可根据应用情况进行调整,若c(k)满足要求,则完成迭代过程,若c(k)不满足要求,则返回第二步继续进行迭代,直至满足要求结束迭代。
[0079]
总体上通过定义误差函数,来表示函数迭代后的状态值x
k
距上次迭代状态值x
k
‑1的差距,要求当c(k)<10
‑8时结束迭代,得到最优值,此时多智能体系统达到一致性,得到的即为最优结果
[0080]
与现有的技术比较,本发明方法使得多智能体系统具有较快的收敛速率,和快速的收敛一致性,能够使系统较快的达到优化一致性。此外,系统的通信损耗低,多智能体系统间不需过多无效通信就可达到优化一致性过程。
[0081]
下面结合实验数据来说明本方法的效果:
[0082]
考虑一个具有50个智能体的多智能体系统,通过无向连通网络通信,解决分布式最小二乘法问题,智能体状态方程为其中其中即为四维向量,a
(i)
为四维矩阵,b
(i)
为四维向量,a
(i)
和b
(i)
中的元素是智能体i区间[0,10]均匀分布的本地数据。
[0083]
运行本算法完成一致性优化迭代过程后,比较本算法与传统交替方向乘子算法的收敛速度与通信损耗。
[0084]
如图3中a和b所示,两图中横坐标均为迭代次数k,a图纵坐标为精准度c(k),b图纵坐标为通信损耗,通信损耗定义为多智能体系统完成一致性后,系统总共进行的通信次数。仿真实验比较了达到一定收敛精度时的系统的通信损耗和需要的迭代次数。所有参数都被调整到最佳,本发明算法的初始化变量使用了与传统交替方向乘子算法相同的惩罚项。
[0085]
a图仿真结果表明,本发明算法在有通信门限函数影响收敛,且自适应惩罚项函数的加速情况下,能够做到不影响系统的收敛速度,同时右图能够看出,在相同的精准度要求下,能够显著降低系统的通信损耗,本发明算法的通信损耗大概为传统交替方向乘子法通信损耗的1/2。
[0086]
综上表明,本发明在平衡通信损耗和收敛速度方面取得了良好的效果,能够在不影响收敛速度的情况下大幅降低通信损耗,具有实用性,适用于通信损耗严重又对收敛速
度有一定要求的多智能体系统。
[0087]
以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则范围之内所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
[0088]
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1