[发明专利]一种结合DMPC的改进的ADMM算法有效
| 申请号: | 201910722465.0 | 申请日: | 2019-08-06 |
| 公开(公告)号: | CN110515301B | 公开(公告)日: | 2021-06-08 |
| 发明(设计)人: | 夏浩;何雨暘 | 申请(专利权)人: | 大连理工大学 |
| 主分类号: | G05B13/04 | 分类号: | G05B13/04;G06F17/10;G06F17/11 |
| 代理公司: | 大连理工大学专利中心 21200 | 代理人: | 温福雪;侯明远 |
| 地址: | 116024 辽*** | 国省代码: | 辽宁;21 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 结合 dmpc 改进 admm 算法 | ||
1.一种结合DMPC的改进的ADMM算法,其特征在于,将ADMM算法结合分布式模预测控制问题进行改进,提高算法的实时性与适用性,步骤如下:
步骤一、构建所研究的DMPC问题
建立一般性的全局优化目标函数为:
其中,Np为预测时域大小,当前时刻k状态为x(k|k),i=0,1...,Np,x(k+i|k),u(k+i|k)分别表示MPC问题的状态变量和输入变量的第i步预测值;Q,R分别表示状态变量和输入变量的权重矩阵,Qf为终端权重矩阵;
结合MPC问题的状态预测模型以及约束条件将公式(1)结合约束条件以及矩阵压缩转化为标准的二次规划问题(2):
其中,H表示压缩后系统的海森阵,g表示压缩后的权重向量,Aineq表示系统压缩后不等式约束的权重矩阵;bineq表示不等式约束向量;u表示N个系统输入信号组成的向量;
由于本方法中考虑的问题规模较大并且子系统间具有输出耦合,从而将集中式MPC进行分解成若干个问题形式一致,但参数不同的子问题;
其中,m∈N,N表示子系统个数,Um表示第m个子系统的箱式约束集,cm表示由子系统m的耦合子系统通讯传递给子系统m的输出耦合信息,并且有:
结合第m个子系统的输出预测模型(4):
其中c′m,Mm表示状态预测矩阵,Cm,Dm为系统输出方程中的输出矩阵与直接传递矩阵,将第m个子系统对应的子问题(3)中的约束分解成:
Em(CmMmx(k)+(Cmc'm+Dm)um(k))=cm
令即将子系统间的输出耦合进行分解;
引入拉格朗日乘子变量λm,同时令由式(3)和(4)得到下面的拉格朗日函数:
其中um,zm,μm分别表示第m个子系统的输入,状态以及乘子变量;
给定现有的算法残差计算公式为:
步骤二、计算最优步长ρ*
算法求解过程中将um,xm看作是优化变量,同时为了便于描述,用zm的更新来表示xm的更新,并且求解过程采用并行化求解,即若干个子系统并行同步求解各自的子问题,分析时每个子系统的更新与求解同步,结合所构建的DMPC问题(3)以及拉格朗日乘子函数(5),得到优化变量和对偶变量迭代公式:
将umk+1代入zmk+1得到zmk+1的最优步长选取方法:
其中,Y为常数项,令则zmk+1的迭代步长与G的特征值由关,结合目标函数中的权重矩阵以及子系统间耦合矩阵对于优化变量迭代过程的影响,从而得到最优步长与上述因素的关系式,正则因子为1:
其中,ρ′取G阵最大值,λ(…)表示求矩阵的特征值,目的是增大式(5)中由输出耦合产生的误差项的权重,从而尽可能更快的消除该项对整个目标函数产生的影响,有利于提高算法的收敛速度与实时性;
式(6)中常数项Y对于zmk+1迭代的影响用正则因子相关的关系式来近似,从而得到最优步长与上述影响因素的关系:
步骤三、选定第m个子系统的最优步长ρ*作为全局迭代步长
考虑到各个子系统结构参数的不同,由步骤二计算出来的每个子系统对应的最优步长,结合如下的收敛因子计算方法计算出来的收敛因子,
找到所有子系统中收敛因子最大的子系统,选取其按步长选取公式计算出的步长作为算法迭代过程中的全局最优步长;
步骤四、计算求解
①初始化:
设求解次数最大值sol,迭代次数最大值K;
设定初始求解次数n=1,迭代次数k=1,
对于将ρ*代入公式:
②最优控制序列的求解
此步中应在当前的情况下迭代采用模型预测控制的方式求解控制序列u,直至满足残差条件后得到当前迭代步最优控制序列
③耦合通讯输出信息
各子系统更新其自身输出信息,同时将传递给所有的子系统并且从这些子系统中接收cm
④对偶变量更新:
⑤乘子变量更新
如果n<sol、k<K、精确度ε>0.001,令k=k+1,n=n,执行②;
如果n<sol、k<K、精确度ε≤0.001,令k=1,n=n+1,执行②;
如果n<sol、k=K,令k=1,n=n+1,执行②;
如果n=sol、k<K、精确度ε≤0.001,计算结束;
如果n=sol、k<K、精确度ε>0.001,令k=k+1,n=n,执行②;
如果n=sol、k=K,计算结束。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910722465.0/1.html,转载请声明来源钻瓜专利网。





