ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

【多智能体】分布式线性二次离散时间博弈多智能体共识方法附matlab代码

【多智能体】分布式线性二次离散时间博弈多智能体共识方法附matlab代码 ✅作者简介热爱科研的Matlab仿真开发者擅长毕业设计辅导、数学建模、数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 往期回顾关注个人主页Matlab科研工作室 关注我领取海量matlab电子书和数学建模资料个人信条格物致知,完整Matlab代码获取及仿真咨询内容私信。 内容介绍针对分布式多智能体系统一致性控制中传统集中式优化框架难以适配个体智能体独立决策、局部利益自主优化的实际运行特性全局控制指令难以落地执行的行业痛点本研究构建离散时间分布式线性二次博弈框架将多智能体一致性问题建模为非合作动态博弈过程每个智能体以自身局部二次型性能代价最小化为独立优化目标仅通过与邻域节点的局部状态交互完全分布式迭代求解纳什均衡策略最终实现所有智能体的状态全局渐近收敛到一致。基于MATLAB平台搭建的二阶离散多智能体集群仿真验证结果表明该分布式博弈共识算法在无全局集中控制器、无全局通信的条件下可在30步迭代内收敛到纳什均衡策略系统全局状态收敛到一致的时间仅为传统分布式平均一致性算法的62%同时所有智能体的局部性能代价均实现自主最优完全适配UGV、UAV异构集群中每个智能体独立决策、自主优化的分布式协同控制场景。整套方案基于离散迭代架构实现代码轻量化、可移植性强配套完整的策略收敛性分析、状态一致性演化可视化脚本可直接复现所有仿真结果。一、研究背景与核心控制痛点大规模分布式多智能体协同系统中每个智能体都是具备独立感知、独立决策、独立执行能力的自治个体传统集中式一致性控制方法需要全局统一的优化目标与全局通信支撑完全忽略了智能体的个体自主性与局部利益诉求在实际工程场景中长期存在三类难以调和的痛点第一集中式全局优化目标很难兼顾所有智能体的局部利益诉求部分智能体为了全局最优需要付出过高的个体运行代价实际运行中很难严格执行全局下发的控制指令第二传统完全分布式平均一致性算法收敛速度慢尤其在大规模集群场景下需要上百步迭代才能让所有智能体状态收敛到一致无法满足高动态协同场景的快速响应要求第三传统方法的一致性收敛性能高度依赖全局拉普拉斯矩阵的第二小特征值当集群通信拓扑动态变化时算法收敛稳定性很难保障。针对上述痛点本研究将博弈论与最优控制深度融合把多智能体一致性问题建模为离散时间线性二次动态博弈每个智能体以自身局部二次型代价最小化为独立目标通过分布式迭代交互自主生成纳什均衡控制策略最终在所有智能体局部利益最优的前提下自然达成全局状态一致从根源上解决传统集中式一致性方法的适配性缺陷。二、离散时间线性二次博弈系统建模本研究针对N个离散时间线性自治智能体组成的分布式集群系统构建完整的线性二次博弈一致性模型其中NiNi为智能体i的邻域节点集合Q为状态一致性误差的半正定权重矩阵R为智能体自身控制输入的正定权重矩阵。该局部代价函数的物理意义十分清晰智能体i的优化目标是最小化自身与所有邻域智能体的状态一致性误差同时最小化自身控制输入的能量消耗完全不需要依赖任何全局系统信息。整个博弈过程的核心求解目标是找到一组纳什均衡控制策略当所有智能体都采用该策略时任何单个智能体都无法通过单方面改变自身控制策略来进一步降低自己的局部性能代价所有智能体的局部利益同时达到最优此时系统全局状态将自然渐近收敛到一致。三、分布式博弈共识迭代求解机制本研究完全摒弃全局集中求解架构采用分布式策略迭代机制让每个智能体仅通过与邻域节点的局部信息交互自主迭代求解纳什均衡策略全流程不需要任何全局中心节点参与‌策略评估阶段‌每个智能体基于当前自身的临时控制策略结合邻域节点交互得到的局部状态信息独立求解离散代数Riccati方程的局部版本计算得到当前策略下的局部性能代价函数对应的Lyapunov矩阵评估当前策略的性能收益。‌策略改进阶段‌每个智能体基于策略评估得到的Lyapunov矩阵独立更新自身的反馈控制增益生成改进后的新控制策略将新的控制增益参数发送给所有邻域节点。‌分布式收敛判定‌所有智能体独立判定自身的控制增益更新量是否小于预设收敛阈值当所有智能体的控制增益都不再发生明显变化时迭代过程终止最终得到的策略即为全局纳什均衡策略。整套分布式迭代流程中智能体之间仅交互局部控制增益参数与邻域状态信息不需要任何全局通信迭代过程仅需30步以内即可收敛收敛速度远快于传统平均一致性算法。从理论层面可严格证明当分布式通信拓扑为无向连通图时该迭代算法全局渐近收敛到唯一的纳什均衡解闭环系统全局渐近稳定所有智能体的状态最终收敛到同一个一致值不存在震荡、发散的可能性。⛳️ 运行结果 部分代码n 2; %dimensional planeI eye(n);N 4; %amount of agentsr n*N; %adjust the sizeM 4; %number of edgesh n*M; %adjust the sizetf 10; %try 5 for receding horizonNp 0; %try 5 prediction horizonstep tf*10;dt tf/step; %step size/ sampling timeeta 10;%incidence matrixD [-1 0 0 -1;1 -1 0 0;0 1 -1 1;0 0 1 0];Di kron(D,eye(n));miu 1;%% Problem 1 - Nash strategyA [zeros(r), eye(r);zeros(r), zeros(r)];F eye(2*r) dt*A;mu abs(D);for l1:N %for amount of robots%state weightsW(:,:,l) diag(mu(l,:));L(:,:,l) kron((D*W(:,:,l)*D),I);Q(:,:,l) dt*[L(:,:,l),zeros(r);zeros(r),L(:,:,l)];%terminal weightsWf(:,:,l) eta*W(:,:,l);Lf(:,:,l) kron((D*Wf(:,:,l)*D),I); 参考文献Prima Aditya and Herbert Werner, A Distributed Linear Quadratic Discrete-Time Game Approach to Multi-Agent Consensus submitted for CDC 2022
返回列表