基于神经网络的自适应最优控制

article/2025/7/22 5:46:12

《 N e u r a l n e t w o r k a p p r o a c h t o c o n t i n u o u s − t i m e d i r e c t a d a p t i v e o p t i m a l c o n t r o l f o r p a r t i a l l y u n k n o w n n o n l i n e a r s y s t e m s 》 D r a g u n a V r a b i e ∗ , F r a n k L e w i s {\it《Neural\,network\,approach\,to\,continuous-time\,direct\,adaptive\,optimal\,control\,for\,partially\,unknown\,nonlinear\,systems 》}\\ \qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad\qquad Draguna\,Vrabie*,Frank\,Lewis NeuralnetworkapproachtocontinuoustimedirectadaptiveoptimalcontrolforpartiallyunknownnonlinearsystemsDragunaVrabie,FrankLewis

非线性最优控制问题:

1. 1.\, 1.最优控制问题描述:

系统动态方程:

x ˙ = f ( x ) + g ( x ( t ) ) u ( x ( t ) ) ; x ( 0 ) = x 0 ( 1 ) \dot{x}=f(x)+g(x(t))u(x(t)) ;\quad x(0)=x_0 \quad(1) x˙=f(x)+g(x(t))u(x(t));x(0)=x0(1)

假设条件: f ( x ) + g ( x ) u f(x)+g(x)u f(x)+g(x)u在包含原点的集合 Ω \Omega Ω L i p s c h i t z Lipschitz Lipschitz连续,且系统是可稳的。

定义无限时域积分型性能指标:

V u ( x ( t ) ) = ∫ t ∞ r ( x ( τ ) , u ( τ ) ) d τ , r ( x , u ) = Q ( x ) + u T R u ( 2 ) V^u(x(t))=\int_t^\infty r(x(\tau),u(\tau))d\tau,\quad r(x,u)=Q(x)+u^TRu \quad(2) Vu(x(t))=tr(x(τ),u(τ))dτ,r(x,u)=Q(x)+uTRu(2)

Q(x)为正定函数,R为正定矩阵。

定义允许控制 μ ∈ Ψ ( Ω ) \mu\in\Psi(\Omega) μΨ(Ω),满足 μ ( x ) \mu(x) μ(x) Ω \Omega Ω上连续, μ ( 0 ) = 0 \mu(0)=0 μ(0)=0 μ ( x ) \mu(x) μ(x) 能使系统稳定,同时 ∀ x 0 ∈ Ω \forall x_0\in \Omega x0Ω V ( x 0 ) V(x_0) V(x0)有限。

对于任意的 μ ∈ Ψ ( Ω ) \mu\in\Psi(\Omega) μΨ(Ω),其对应的性能指标函数 V μ ( x ( t ) ) = ∫ t ∞ r ( x ( τ ) , u ( τ ) ) d τ ( 3 ) V^\mu(x(t))=\int_t^\infty r(x(\tau),u(\tau))d\tau\quad(3) Vμ(x(t))=tr(x(τ),u(τ))dτ(3),易知

V μ ( x ) V^\mu(x) Vμ(x)一阶导函数连续,即 V μ ( x ) ∈ C 1 V^\mu(x)\in C^1 Vμ(x)C1,故 式 ( 3 ) (3) (3) 微分形式:

0 = r ( x , μ ( x ) ) + ( ∇ V x μ ) T ( f ( x ) + g ( x ) μ ( x ) ) , V μ ( 0 ) = 0 ( 4 ) 0=r(x,\mu(x))+(\nabla V_x^\mu)^T(f(x)+g(x)\mu(x)), \quad V^\mu(0)=0 \quad(4) 0=r(x,μ(x))+(Vxμ)T(f(x)+g(x)μ(x)),Vμ(0)=0(4)

最优控制问题 : \textsf{{最优控制问题}}: :

给 定 连 续 时 间 系 统 ( 1 ) 、 允 许 控 制 集 合 μ ( x ) 、 无 限 时 域 性 能 指 标 V μ ( 2 ) , 找 到 最 优 控 制 律 μ ∗ 使 得 式 ( 2 ) 最 小 \small{给定连续时间系统(1)、允许控制集合\mu(x)、无限时域性能指标V^\mu(2),找到最优控制律\mu^*使得式(2)最小} 1μ(x)Vμ2μ使2

2. 2.\, 2.策略迭代算法(policy iteration):

1. 策 略 评 估 ( p o l i c y e v a l u a t i o n ) 1.策略评估(policy\,evaluation) 1.(policyevaluation)

V μ ( i ) ( x ( t ) ) = ∫ t t + T r ( x ( τ ) , μ ( i ) ( x ( τ ) ) ) d τ + V μ ( i ) ( x ( t + T ) ) , V μ ( i ) ( 0 ) = 0 ( 9 ) V^{\mu^{(i)}}(x(t))=\int_t^{t+T}r(x(\tau),\mu^{(i)}(x(\tau)))d\tau+V^{\mu^{(i)}}(x(t+T)), \, V^{\mu^{(i)}}(0)=0 \quad (9) Vμ(i)(x(t))=tt+Tr(x(τ),μ(i)(x(τ)))dτ+Vμ(i)(x(t+T)),Vμ(i)(0)=0(9)

2. 策 略 改 进 ( p o l i c y i m p r o v e m e n t ) 2.策略改进(policy\,improvement) 2.(policyimprovement)

μ ( i + 1 ) ( x ) = − 1 2 R − 1 g T ( x ) ∇ V x μ ( i ) ( 11 ) \mu^{(i+1)}(x)=-\frac12R^{-1}g^T(x)\nabla V_x^{\mu^{(i)}} \quad(11) μ(i+1)(x)=21R1gT(x)Vxμ(i)(11)
\,
L e m m a 1. 式 ( 9 ) 求 解 V μ ( i ) 等 价 于 求 解 0 = r ( x , μ ( i ) ( x ) ) + ( ∇ V x μ ( i ) ) T ( f ( x ) + g ( x ) μ ( i ) ( x ) ) , V μ ( i ) ( 0 ) = 0 ( 12 ) Lemma\,1.\;式(9)求解V^{\mu^{(i)}}等价于求解\,0=r(x,\mu^{(i)}(x))+(\nabla V_x^{\mu^{(i)}})^T(f(x)+g(x)\mu^{(i)}(x)), \quad V^{\mu^{(i)}}(0)=0 \quad(12) Lemma1.(9)Vμ(i)0=r(x,μ(i)(x))+(Vxμ(i))T(f(x)+g(x)μ(i)(x)),Vμ(i)(0)=0(12)

3. 3.\, 3.基于神经网络 近似 指标函数:

V μ ( i ) ( x ) = ∑ j = 1 L w j μ ( i ) ϕ j ( x ) = ( ω L μ ( i ) ) T φ ( x ) ( 14 ) V^{\mu^{(i)}}(x)=\sum_{j=1}^Lw_j^{\mu^{(i)}}\phi_j(x)=(\omega_L^{\mu^{(i)}})^T\varphi(x) \quad (14) Vμ(i)(x)=j=1Lwjμ(i)ϕj(x)=(ωLμ(i))Tφ(x)(14)

带入式(9)有:

( ω L μ ( i ) ) T φ ( x ( t ) ) = ∫ t t + T r ( x ( τ ) , μ ( i ) ( x ( τ ) ) ) d τ + ( ω L μ ( i ) ) T φ ( x ( t + T ) ) ( 16 ) (\omega_L^{\mu^{(i)}})^T\varphi(x(t))=\int_t^{t+T}r(x(\tau),\mu^{(i)}(x(\tau)))d\tau+(\omega_L^{\mu^{(i)}})^T\varphi(x(t+T)) \quad (16) (ωLμ(i))Tφ(x(t))=tt+Tr(x(τ),μ(i)(x(τ)))dτ+(ωLμ(i))Tφ(x(t+T))(16)

残差为:

δ L μ ( i ) ( x ( t ) , T ) = ∫ t t + T r ( x , μ ( i ) ( x ) ) d τ + ( ω L μ ( i ) ) T [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] ( 17 ) \delta_L^{\mu^{(i)}}(x(t),T)=\int_t^{t+T} r(x,\mu^{(i)}(x))d\tau+(\omega_L^{\mu^{(i)}})^T[\varphi_L(x(t+T))-\varphi_L(x(t))] \quad(17) δLμ(i)(x(t),T)=tt+Tr(x,μ(i)(x))dτ+(ωLμ(i))T[φL(x(t+T))φL(x(t))](17)

使用最小二乘法,最小化 S = ∫ Ω δ L μ ( i ) ( x , T ) δ L μ ( i ) ( x , T ) d x ( 18 ) S=\int_\Omega\delta_L^{\mu^{(i)}}(x,T)\delta_L^{\mu^{(i)}}(x,T)dx \quad(18) S=ΩδLμ(i)(x,T)δLμ(i)(x,T)dx(18)

∫ Ω δ L μ ( i ) ( x , T ) d ω L μ ( i ) δ L μ ( i ) ( x , T ) d x = 0 \int_\Omega\frac{\delta_L^{\mu^{(i)}}(x,T)}{d\omega_L^{\mu^{(i)}}}\delta_L^{\mu^{(i)}}(x,T)dx=0 ΩdωLμ(i)δLμ(i)(x,T)δLμ(i)(x,T)dx=0

写成 L e b e s g u e Lebesgue Lebesgue积分的內积形式为:

⟨ δ L μ ( i ) ( x , T ) d ω L μ ( i ) , δ L μ ( i ) ( x , T ) ⟩ Ω = 0 ( 19 ) \langle\frac{\delta_L^{\mu^{(i)}}(x,T)}{d\omega_L^{\mu^{(i)}}},\delta_L^{\mu^{(i)}}(x,T)\rangle_\Omega=0\quad(19) dωLμ(i)δLμ(i)(x,T),δLμ(i)(x,T)Ω=0(19)

结合 式(17) 和 式(19) 有:

⟨ [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] , [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] ⟩ Ω ω L μ ( i ) + ⟨ [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] , ∫ t t + T r ( x , μ ( i ) ( x ) ) d τ ⟩ Ω = 0 ( 20 ) \begin{aligned} &\langle[\varphi_L(x(t+T))-\varphi_L(x(t))],[\varphi_L(x(t+T))-\varphi_L(x(t))]\rangle_\Omega\omega_L^{\mu^{(i)}}\\ &+\langle[\varphi_L(x(t+T))-\varphi_L(x(t))],\int_t^{t+T} r(x,\mu^{(i)}(x))d\tau\rangle_\Omega=0\quad(20) \end{aligned} [φL(x(t+T))φL(x(t))],[φL(x(t+T))φL(x(t))]ΩωLμ(i)+[φL(x(t+T))φL(x(t))],tt+Tr(x,μ(i)(x))dτΩ=0(20)

假设 Φ = ⟨ [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] , [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] ⟩ Ω \Phi=\langle[\varphi_L(x(t+T))-\varphi_L(x(t))],[\varphi_L(x(t+T))-\varphi_L(x(t))]\rangle_\Omega Φ=[φL(x(t+T))φL(x(t))],[φL(x(t+T))φL(x(t))]Ω可逆,有:

ω L μ ( i ) = − Φ − 1 ⟨ [ φ L ( x ( t + T ) ) − φ L ( x ( t ) ) ] , ∫ t t + T r ( x , μ ( i ) ( x ) ) d τ ⟩ Ω ( 21 ) \omega_L^{\mu^{(i)}}=-\Phi^{-1}\langle[\varphi_L(x(t+T))-\varphi_L(x(t))],\int_t^{t+T} r(x,\mu^{(i)}(x))d\tau\rangle_\Omega\quad(21) ωLμ(i)=Φ1[φL(x(t+T))φL(x(t))],tt+Tr(x,μ(i)(x))dτΩ(21)

4. 4.\, 4.基于Actor/Critic的在线算法:

算法结构:
在这里插入图片描述
算法流程图:
算法流程图


示例1:

考虑如下动态系统:
{ x ˙ 1 = − x 1 + x 2 x ˙ 2 = f ( x ) + g ( x ) u \left\{\begin{aligned} &\dot{x} _1= -x_1+x_2\\ &\dot{x} _2= f(x)+g(x)u \end{aligned}\right. {x˙1=x1+x2x˙2=f(x)+g(x)u
其中, f ( x ) = − 1 2 ( x 1 + x 2 ) + 1 2 x 2 sin ⁡ ( x 1 ) g ( x ) = sin ⁡ ( x 1 ) f(x)= -\frac12(x_1+x_2)+\frac12x_2\sin(x_1)\quad g(x)=\sin(x_1) f(x)=21(x1+x2)+21x2sin(x1)g(x)=sin(x1)

定义无限时域性能指标函数 V u ( x ( t ) ) = ∫ t ∞ ( Q ( x ) + u 2 ) d τ V^u(x(t))=\int_t^\infty(Q(x)+u^2)d\tau Vu(x(t))=t(Q(x)+u2)dτ, Q ( x ) = x 1 2 + x 2 2 Q(x)=x_1^2+x_2^2 Q(x)=x12+x22

∀ x ∈ Ω \forall x\in\Omega xΩ V μ ( i ) ( x ) V^{\mu^{(i)}}(x) Vμ(i)(x) 由如下光滑函数近似:

V L μ ( i ) ( x ) = ( ω L μ ( i ) ) T φ ( x ) V_L^{\mu^{(i)}}(x)=(\omega_L^{\mu^{(i)}})^T\varphi(x) VLμ(i)(x)=(ωLμ(i))Tφ(x) L = 3 L=3 L=3

ω 3 μ ( i ) = [ w 1 μ ( i ) w 2 μ ( i ) w 3 μ ( i ) ] T \omega_3^{\mu^{(i)}}=[w_1^{\mu^{(i)}}\,w_2^{\mu^{(i)}}\,w_3^{\mu^{(i)}}]^T ω3μ(i)=[w1μ(i)w2μ(i)w3μ(i)]T φ 3 ( x ) = [ x 1 2 x 1 x 2 x 2 2 ] T \varphi_3(x)=[x_1^2\,\,x_1x_2\,\,x_2^2]^T φ3(x)=[x12x1x2x22]T

根据式(21)更新权重w。

matlab代码如下:

function odestart
clear all;close all;clc;global P;          %w权重
global Target;  %cost积分
global v;figure;hold on;%initializations
%iteration step
j=0;
%initial state
x0=[1 1 0];
% P gives the controller parameters
P=[-1 3 1.5];Target=0;
vv=[];
C=[];T=0.1;      %采样间隔
Fsamples=150;   %采样总点数    
nop=30;         %一次更新采样点数%next WW gives the initial stabilizing controller
WW=zeros(length(P),1+Fsamples/nop);     %记录w权重
WW(:,1)=P'; for k=1:Fsamplesj=j+1;% simulation of the system to get the measurementstspan=[0 T];[t,x]= ode23(@odefile,tspan,x0);x1=x(length(x),(1:2));X(j,:)=[x0(1)^2 x0(1)*x0(2) x0(2)^2]'- [x1(1)^2 x1(1)*x1(2) x1(2)^2]';Target=x(length(x),3);Y(j,:)=Target;%每次更新w,随机五次初始状态,即采样五条状态轨迹if mod(k,nop/5)==0x0=[2*(rand(1,2)-1/2) 0];elsex0=[x1 0];endplot(t+T*(k-1),x(:,1));vv=[vv v];      %记录控制量%每次更新w,采样nop个点if mod(k,nop)==0weights=X\Y;%calculating the matrix PP=[weights(1) weights(2) weights(3)];WW(:,k/nop+1)=[weights(1) weights(2) weights(3)]';X=zeros(nop,3);Y=zeros(nop,1);j=0;x0=[0.5*(rand(1,2)-1/2) 0];endend
P=[weights(1) weights(2) weights(3)]title('System states'); xlabel('Time (s)');figure; plot([0:T:T*(length(vv)-1)],vv); title('Control signal'); xlabel('Time (s)')figure; % in this figure we plot the neural network parameters at each iteration step in the policy iteration
WW % the matrix of parameteres is printed in the comand window
ss=size(WW);
plot((0:T*nop:T*Fsamples),WW(1,1:ss(2))','.-');hold on
plot((0:T*nop:T*Fsamples),WW(2,1:ss(2))','*:'); hold on
plot((0:T*nop:T*Fsamples),WW(3,1:ss(2))','o--'); 
legend('w_1','w_2 ','w_3');
title('W  parameters'); xlabel('Time (s)'); %hold on; plot(T*(Fsamples+1),WW(:,length(WW))','*'); title('W  parameters');%-------------------------------------------------------------------------------------
function xdot=odefile(t,x);
global P;
global v;Q=[1 0; 0 1];R=1;
x=[x(1) x(2)]';%calculating the control signal
% P are the parameters of the critic
v=-1/2*inv(R)*sin(x(1))*P*[0; x(1); 2*x(2)];%xdot=[A*[x1;x2;x3;x4]+B*v %+F*deltaPd
xdot=[[-1 1; -1/2 -1/2]*x+[0; 1/2*x(2)*(sin(x(1))^2)+sin(x(1))*v];   x'*Q*x+v'*R*v];
%-------------------------------------------------------------------------------------

运行结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


http://chatgpt.dhexx.cn/article/CaJEbisa.shtml

相关文章

堆排序(排升序为啥建大堆,排降序为啥建小堆)

简介: 之前对堆排序认识的不是很透彻,今天回过头来再把堆排序的知识整理整理!以及排升序为什么要建大堆,排降序要建小堆。 正文: 首先我们要知道:   ①堆的逻辑是一颗完全二叉树;   ②它使…

残差网络Residual Networks-残差网络的创建、训练、测试、调参

残差网络的创建、训练、测试、调参加粗样式 在Keras中实现残差网络模型的创建,并通过模型来实现对图片的分类。 残差网络的预备知识 网络越深越好? 随着网络层级的不断增加,模型精度不断得到提升,而当网络层级增加到一定的数目…

堆排序,为什么升序排列要建大堆,降序排列要建小堆

堆排序中用到了建立大小堆和向下调整的内容,对这些内容有些不了解的同学可以去补一补专门写堆的博客,方便更好的理解堆排序数据结构之堆(Heap),堆的相关操作,用堆模拟优先级队列。 如果把待排序序列分为未排…

操作系统——动态分配算法(首次适应算法,最佳适应算法,最坏适应算法及回收)

操作系统——动态分配 写的时间早了,有些许漏洞和不足,请大家不要介意 分配方式可分为四类:单一连续分配、固定分区分配、动态分区分配以及动态可重定位分区分配算法四种方式,其中动态分区分配算法就是此实验的实验对象。动态分区分配又称为…

pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制)

前言 我想把数据分析刻进DNA里 如下面的数据,对price,要进行最简单的升序操作: 这个好整: import pandas as pdshop pd.read_csv("data/shop.csv", index_colid)shop.sort_values(byprice, inplaceTrue)结果: 如果你想整活(被迫)要把数据进行降序排列: 按照降序,传…

最先适应法、最佳适应法、下次适配法、最差适配法

题: 分析: 1. 首先分析是不是最差适配法,最差适配法意思是首先找到最大的内存空间进行分配, 对于请求的5K存储空间,首先找到地址200K容量为56K的地方进行分配,然后剩余51K。 再对请求的15K进行分配&…

自适应滤波器更新算法-EP1

自适应滤波器更新算法-EP1 自适应滤波器是回声消除系统中非常重要的一个功能模块,而对于自适应滤波器来说,如果更新滤波器系数则是关键所在。本文将介绍几种现有的滤波器更新算法,并附上Matlab测试代码。 1、LMS算法 1.1算法原理 LMS算法即…

自适应神经网络算法原理,单神经元自适应控制

关于神经网络自适应控制求助 这句话你可以直接用,不用加引用。因为这句话是很容易验证的。在网络层数、隐含层节点数逐渐增加,训练次数增加之后,他的拟合能力也是不断增加的,所以说,他可以以任意精度逼近任何非线性连…

【转载】梯度下降算法的参数更新公式

NN这块的公式,前馈网络是矩阵乘法。损失函数的定义也是一定的。 但是如何更新参数看了不少描述,下面的叙述比较易懂的: 1、在吴恩达的CS229的讲义的第四页直接给出参数迭代公式 在UFLDL中反向传导算法一节也是直接给出的公式 2、例子&#x…

Java中Comparator的个人简单理解(升序降序)与使用

目录 Java自定义排序返回值简单记忆理解实践LInkedList升序(默认情况)降序 PriorityQueue升序下的小顶堆(默认情况)降序下的大顶堆 总结补充数组类型自定义排序降序排序 数组 Java自定义排序返回值简单记忆理解 默认情况下&#…

深度残差收缩网络(从信号降噪的角度进行理解)

本文探讨了深度残差收缩网络的另一种理解方式。 传统信号降噪算法的常见步骤是: ① 采用某种信号变换方法(例如小波、经验模态分解),将含噪信号变换到另外一种形态(例如小波系数、本征模态分量等)。在这些…

NIPS 2016 深度学习 迁移学习 ---残差转移网络用于无监督领域自适应

深度学习的成功得益于大量的标注数据,而数据标注是非常消耗资源的。当一个问题中缺少标注数据时,可以从另一个源中所学知识迁移过来,并且用于新问题中。 清华大学的学者提出了一种新的方法(https://arxiv.org/pdf/1602.04433.pdf&…

深度残差网络+自适应参数化ReLU激活函数(调参记录21)Cifar10~95.12%

本文在调参记录20的基础上,将残差模块的个数,从27个增加到60个,继续测试深度残差网络ResNet+自适应参数化ReLU激活函数在Cifar10数据集上的表现。 自适应参数化ReLU函数被放在了残差模块的第二个卷积层之后,这与Squeeze-and-Excitation Networks或者深度残差收缩网络是相似…

已知两个长度分别为m 和 n 的升序链表,合并降序链表,求时间复杂度

王道数据结构上一道题: 之前我看到一个电子版的书,上边答案解析写的有点错误, 听说有些同学买的实体书上,答案解析也是这样写的 这个是刊印错误,很显然2Max( m , n )大于等于 m n 而且这个解析也不够清晰。 解析&a…

波束形成 常见自适应波束形成算法信(干)噪比增益影响因素

0、其他补充 均匀线阵波束形成器的信噪比增益上确界可由下式表示: 其中为阵元数,所以为了方便起见,一般的稳健自适应波束形成算法在仿真过程中的阵元数量均设置为10。 阵列的导向矢量可由下式表示: 以首个阵元为参考阵元&#xff…

两个升序链表合并成一个降序链表的时间复杂度

王道考研P7 第六题 【2013年统考真题】已知两个长度分别为m和n的升序链表,若将它们合并为长度为mn的一个降序链表,则最坏情况下的时间复杂度是() A. O(n) B. O(mn) C. O(min(m,n)) D. O(max(m,n)) 答案是D 注意,此题…

无线传感器网络路由优化中的能量均衡LEACH改进算法

文章目录 一、理论基础1、LEACH算法概述2、改进的LEACH算法 二、算法流程图三、仿真实验与分析四、参考文献 一、理论基础 1、LEACH算法概述 请参考这里。 2、改进的LEACH算法 改进的LEACH算法(LEACH-N)主要针对LEACH算法分簇阶段的缺陷而改进的&…

机器学习之自适应增强(Adaboost)

1.Adaboost简介 **Adaptive boosting(自适应增强)是一种迭代算法,其核心思想是针对同一个训练集训练不同的弱分类器,然后把这些弱分类器集合起来,构成一个强分类器,Adaboost可处理分类和回归问题。了解Adaboost算法之前&#xff…

自适应阈值(adaptiveThreshold)分割原理及实现

背景介绍及原理 前面介绍了OTSU算法和最大熵算法,但这两种算法都属于全局阈值法,所以对于某些光照不均的图像,这种全局阈值分割的方法会显得苍白无力,如下图: 显然,这样的阈值处理结果不是我们想要的&…

优化算法+神经网络:神经网络自动参数优化

当智能群优化算法遇上神经网络 优化算法进行神经网络的参数寻优,解放深度调参1.已经实现的Genetic Algorithm优化Neural Network2.已经实现的PSO优化Neural Network3.已实现的SSA[^1]优化Neural Network 三种方法的可视化搜索过程对比三种优化算法性能总结总结目前来…