本发明涉及多智能体系统技术领域,具体涉及基于子图处理的多智能体系统一致性问题的优化方法。
背景技术:
多智能体系统广泛应用在飞行编队、机器人编队、交通控制系统、传感器网络等诸多领域。多智能体系统中的单个智能体具有有限的传感、通信、计算能力,而整个多智能体系统利用智能体之间的协作来完成高复杂度的任务。多智能体系统作为分布式信息处理的一个载体,在计算机科学、通信工程、生物智能、自动控制等领域均有广泛研究。在多智能体系统的协同控制问题中,达到所需的一致性是智能体进行协调合作的前提条件,因此一致性问题受到更多关注。
一致性是指每个智能体与其邻居交换彼此的状态信息,不断协同,最终使得所有智能体的某个状态值达到一致,与一致性问题相对应的算法称为一致性算法。一致性问题中,以智能体初始状态值的平均值为一致性收敛目标的问题称为一致平均问题,其应用较为广泛,如直流微电网作为一种新型的能源网络化供应与管理结构,是一个包含分布式电源、负荷及储能装置的微型系统,在微电网中需要维持母线电压的稳定,文献提出基于离散一致性的微电网自适应下垂控制策略,以全网平均电压差为一致性优化目标,来实现高精度的电压调节。
一致性问题被提出以后,在此基础上形成了分布式计算理论,众多学者提出了分布式优化算法。xiao和boyd首先提出确定性gossip算法,该算法中,同一时刻下每个节点都与其邻居节点交互信息,然后计算自己和所有邻居间的加权平均值,当加权系数所构成的权重矩阵是一致平均矩阵时,所有节点的信息会收敛到平均一致;nedic和ozdaglar借鉴确定性gossip算法的思想,提出分布式梯度下降法,该算法令每个节点对自己及邻居节点的信息求加权平均,同时采用梯度下降法极小化本地代价函数来加快一致性收敛速度,此类基于梯度的分布式优化算法实现简单,但收敛速度较慢。为此,有学者提出了基于对偶理论的分布式算法,如terelius等人提出一种分布式交替方向乘子法(alternatingdirectionmethodofmultipliers,admm),admm主要思想是引入对偶变量,将原优化问题分解为两个子问题,每个节点需要更新自身状态并计算对偶变量的更新,相较于一般的梯度算法,分布式admm算法提高了收敛速度,但对节点的存储能力、计算能力要求更高。
技术实现要素:
本发明的目的是针对现有技术的不足,而提供基于子图处理的多智能体系统一致性问题的优化方法。这种方法能降低运算复杂度、实现一致平均,且收敛速度快,对系统单个节点的计算能力、存储能力要求低。
实现本发明目的的技术方案是:
基于子图处理的多智能体系统一致性问题的优化方法,包括如下步骤:
1)构建多智能体系统的图信号模型:依据多智能体系统中各智能体之间的通信情况作图信号模型的拓扑结构,智能体的观测数据作为图信号模型中的节点信号,建立多智能体系统的图信号模型g=(v,e,a),其中v={1,2,…,n}表示节点的集合;e={eij}表示边的集合,eij=(i,j)表示节点i和节点j之间有边相连接,a表示全图的邻接矩阵,邻接矩阵a={aij}∈rn×n,当节点i与j之间有边存在时aij=aji=1,定义图的度矩阵d=diag(di),其中
l=d-a(1),
其特征分解为l=uλut,其中特征向量矩阵u=[u1,u2,…,un],特征值矩阵λ=diag{λ1,λ2,…,λn},节点i处的信号值为x(i),所有节点的信号值集合为一个列向量x=[x(1),x(2),…,x(n)]t,
在研究多智能体系统一致性问题中,一致平均矩阵有重要作用,构造一致平均矩阵为公式(2):
其中i为单位矩阵,λmax为图的拉普拉斯矩阵l的最大特征值;
2)对待求解问题加上辅助约束条件:一致性优化问题为公式(3):
其中f(xt)表示多智能体系统的全局代价函数,fi(xt)是智能体i所观测到的局部代价函数,且其它节点无法获知该代价函数,xt是全局代价函数f(xt)的自变量,
当多智能体系统实现一致平均时,该问题为如公式(4)所示的最小二乘问题:
其中x0为智能体初始信号,约束条件xt(i)=xt(j),i,j∈v等价于wxt=xt,因此问题(4)等价于公式(5):
又等价于公式(6):
其中,α为常数,将等式(6)的约束条件惩罚至目标函数上,则有:
将一致平均矩阵
对公式(8)求解梯度向量为:
令该梯度向量为零,得到该优化问题的最优解:
3)子图内局部求逆:节点i从矩阵αi εl中取出其2r阶邻居对应位置的值组成小矩阵,对小矩阵进行求逆并保留节点r阶邻居对应位置的值,过程为:首先构建子图,令每个节点及其邻居节点所在的区域作为一个子图,将建立的图模型划分为n个子图,对于节点i,取其子图内节点在大矩阵αi εl中对应位置的值组成小矩阵再进行求逆,其本地优化变量由公式(11)计算:
其中
4)子图间融合求平均:对节点i而言,节点i子图内所有节点j,包括节点i都会计算出本地优化变量
进行融合求平均的计算:
其中i∈m,mi,r表示节点i的r阶邻居内所有节点个数,vj(i)表示vj在i对应位置的值;
5)迭代消除误差:步骤1)-步骤4)将大规模矩阵的求逆问题近似为一系列小规模矩阵的求逆,假设
将
迭代过程等效为:
迭代过程可分布式进行,节点i对待求解优化变量xt(i)进行更新
对x(k)(i)进行更新:
其中di为图的度矩阵中第i行非零元素,aij为图的邻接矩阵第i行第j列的元素,
x(k)(i)更新后,返回公式(11)、公式(12)、公式(16)继续迭代,当
与现有技术相比,本技术方案基于子图处理的思想,把大规模矩阵的求逆问题近似分解为一系列子图优化问题,每个节点在大矩阵中取出子图内所有节点对应位置的值组成小矩阵,对小矩阵进行求逆并保留节点一阶邻居内所有节点对应位置的值进行融合求平均,极大地降低运算复杂度。
这种方法能降低运算复杂度、实现一致平均,且收敛速度快,对系统单个节点的计算能力、存储能力要求低。
附图说明
图1为实施例中包含6个分布式电源的直流微电网系统所建立的网络拓扑结构模型示意图;
图2为图1中电源依据自身及相邻单元的电压信息计算系统的平均电压值的仿真结果示意图;
图3为实施例中分布式admm算法与本例方法迭代次数的对比示意图。
具体实施方式
下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
基于子图处理的多智能体系统一致性问题的优化方法,包括如下步骤:
1)构建多智能体系统的图信号模型:依据多智能体系统中各智能体之间的通信情况作图信号模型的拓扑结构,智能体的观测数据作为图信号模型中的节点信号,建立多智能体系统的图信号模型g=(v,e,a),其中v={1,2,…,n}表示节点的集合;e={eij}表示边的集合,eij=(i,j)表示节点i和节点j之间有边相连接,a表示全图的邻接矩阵,邻接矩阵a={aij}∈rn×n,当节点i与j之间有边存在时aij=aji=1,定义图的度矩阵d=diag(di),其中
l=d-a(1),
其特征分解为l=uλut,其中特征向量矩阵u=[u1,u2,…,un],特征值矩阵λ=diag{λ1,λ2,…,λn},节点i处的信号值为x(i),所有节点的信号值集合为一个列向量x=[x(1),x(2),…,x(n)]t,
在研究多智能体系统一致性问题中,一致平均矩阵有重要作用,构造一致平均矩阵为公式(2):
其中i为单位矩阵,λmax为图的拉普拉斯矩阵l的最大特征值;
2)对待求解问题加上辅助约束条件:一致性优化问题为公式(3):
其中f(xt)表示多智能体系统的全局代价函数,fi(xt)是智能体i所观测到的局部代价函数,且其它节点无法获知该代价函数,xt是全局代价函数f(xt)的自变量。
当多智能体系统实现一致平均时,该问题为如公式(4)所示的最小二乘问题:
其中x0为智能体初始信号,其中约束条件xt(i)=xt(j),i,j∈v等价于wxt=xt,因此问题(4)等价于公式(5):
又等价于公式(6):
其中,α为常数,将公式(6)的约束条件惩罚至目标函数上,则有:
将一致平均矩阵w=i-εl代入公式(7),则:
对公式(8)求解梯度向量为:
令梯度向量为零,得到该优化问题的最优解:
下面对此问题进行分布式求解;
3)子图内局部求逆:节点i从矩阵αi εl中取出其2r阶邻居对应位置的值组成小矩阵,对小矩阵进行求逆并保留节点r阶邻居对应位置的值,过程为:首先构建子图,令每个节点及其邻居节点所在的区域作为一个子图,将建立的图模型划分为n个子图,对于节点i,取其子图内节点在大矩阵αi εl中对应位置的值组成小矩阵再进行求逆,其本地优化变量由公式(11)计算:
其中
4)子图间融合求平均:对节点i而言,节点i子图内所有节点j,包括节点i都会计算出本地优化变量
进行融合求平均的计算:
其中i∈m,mi,r表示节点i的r阶邻居内所有节点个数,vj(i)表示vj在i对应位置的值;
5)迭代消除误差:步骤1)-步骤4)将大规模矩阵的求逆问题近似为一系列小规模矩阵的求逆,假设
将
迭代过程等效为:
迭代过程可分布式进行,节点i对本地优化变量xt(i)进行更新
对x(k)(i)进行更新:
其中di为图的度矩阵中第i行非零元素,aij为图的邻接矩阵第i行第j列的元素。x(k)(i)更新后,返回公式(11)、公式(12)、公式(16)继续迭代,当
仿真实验1:
如图1所示,节点1-6分别代表系统中的分布式电源dg1-dg6,其电压分别为473.0v,470.2v,467.0v,466.8v,465.6v,465.5v,各电源依据自身及相邻单元的电压信息,通过一致性算法计算系统的平均电压值,仿真结果如图2所示。
仿真实验2:
不失一般性,对多智能体系统建模为随机图,图模型使用gspbox生成,图上节点的初始信号值在[-1,1]间随机取值,在图的节点数为100到5000的范围内选取各种节点数进行实验,依照本例方法应用于此类图模型上一致性问题的求解中,迭代终止条件为每个节点的信号值与上一次迭代后的信号值之差小于10-3,如图3所示,表1为两种算法迭代时间的对比,展示的结果是100次实验的平均值,不难发现,与经典的分布式admm算法相比,本例方法有效降低了迭代次数和减少迭代时间。
表1
1.基于子图处理的多智能体系统一致性问题的优化方法,其特征在于,包括如下步骤:
1)构建多智能体系统的图信号模型:依据多智能体系统中各智能体之间的通信情况作图信号模型的拓扑结构,智能体的观测数据作为图信号模型中的节点信号,建立多智能体系统的图信号模型g=(v,e,a),其中v={1,2,…,n}表示节点的集合;e={eij}表示边的集合,eij=(i,j)表示节点i和节点j之间有边相连接,a表示全图的邻接矩阵,邻接矩阵a={aij}∈rn×n,当节点i与j之间有边存在时aij=aji=1,定义图的度矩阵d=diag(di),其中
l=d-a(1),
其特征分解为l=uλut,其中特征向量矩阵u=[u1,u2,…,un],特征值矩阵λ=diag{λ1,λ2,…,λn},节点i处的信号值为x(i),所有节点的信号值集合为一个列向量x=[x(1),x(2),…,x(n)]t,
构造一致平均矩阵为公式(2):
其中i为单位矩阵,λmax为图的拉普拉斯矩阵l的最大特征值;
2)对待求解问题加上辅助约束条件:一致性优化问题为公式(3):
其中f(xt)表示多智能体系统的全局代价函数,fi(xt)是智能体i所观测到的局部代价函数,且其它节点无法获知该代价函数,xt是全局代价函数f(xt)的自变量,
当多智能体系统实现一致平均时,该问题为如公式(4)所示的最小二乘问题:
其中x0为智能体初始信号,约束条件xt(i)=xt(j),i,j∈v等价于wxt=xt,因此问题(4)等价于公式(5):
又等价于公式(6):
其中,α为常数,将公式(6)的约束条件惩罚至目标函数上,则有:
将一致平均矩阵w=i-εl代入公式(7),则:
对公式(8)求解梯度向量为:
令梯度向量为零,得到该优化问题的最优解:
3)子图内局部求逆:节点i从矩阵αi εl中取出其2r阶邻居对应位置的值组成小矩阵,对小矩阵进行求逆并保留节点r阶邻居对应位置的值,过程为:首先构建子图,令每个节点及其邻居节点所在的区域作为一个子图,将建立的图模型划分为n个子图,对于节点i,取其子图内节点在大矩阵αi εl中对应位置的值组成小矩阵再进行求逆,其本地优化变量由公式(11)计算:
其中
4)子图间融合求平均:对节点i而言,节点i子图内所有节点j,包括节点i都会计算出本地优化变量
进行融合求平均的计算:
其中i∈m,mi,r表示节点i的r阶邻居内所有节点个数,vj(i)表示vj在i对应位置的值;
5)迭代消除误差:假设
将
迭代过程等效为:
迭代过程可分布式进行,节点i对本地优化变量xt(i)进行更新
对x(k)(i)进行更新:
其中di为图的度矩阵中第i行非零元素,aij为图的邻接矩阵第i行第j列的元素,x(k)(i)更新后,返回公式(11)、公式(12)、公式(16)继续迭代,当