自适应动态规划matlab,自适应动态规划ADP

墨蓝 2023-01-16 06:25 170阅读 0赞

改d卜学亡立论文神经动丸夫见划在水泥分解炉温度挽制中的返立用花开究

Jacobian);

Aetion.Jaeobian=Action.Jacobian./Action.Jaeobi出ISealing:%Jacobian缩放比例

%AetionProeess部分

funetionAction=AetionProeess(Aetion,ActioulnPUt)

05=Action.InPutoffsets:

55=Aetion.InPutsealing:

Aetion.InPut=AetioulnPut:

Aetion,NN=NNForwardsig([(AetionlnPut+05)./55],Action.NN):

%控制器前向信号

Aetion.outPut=Action.NN.Y.*Aetion.OutPutsealing:%分配输出控制变量

%=一一=一一=一一==一一一一一一一一一=一

附:DHP结构训练的部分源码:

%二一一一一一一一一

%神经动态规划%ereatesimpleNN

%一一一一一一一一一

FunetionNN二createsimPleNN(numln,numHidden,numout,LR,

momentum,weightlnitLB,weightlnitUB)

length=weightlnitUB一weightlnitLB:

NN.WI=rand(numHidden,numln)*length+weightlnitLB;

NN.BI=rand(numHidden,1)*length+weightlnitLB;

NN.WZ=rand(numout,numHidden)*length+weightlnitLB:

NN.BZ=rand(numOut,l)*length+weightlnitLB:

NN`LR=LR;

NN.MOM=momentum二

NN.WIUPDATE二zeros(numHidden,numln):

NN.WZUPDATE=zeros(numout,numHidden);

NN.BIUPDATE二zeros(numHidden,l);

NN.BZUPDATE=zeros(numout,l);

NN.JBLANK二zeros(numout,l);

%一一一-一一一一一一一一一一一一一一

%CreateUtility

%一一一一一一一一一一…

55

侧穿大学不斑.士学位论文神经动魔老见划在水泥分解炉弓盈度控制中的石这用研究

附:评价网络的部分源码:

%一一=========二

%copyright(c),2006.广西大学电气学院%张志刚

喻申经动态规划程序米CreateCritic

%======二二==二二=-一一==二二

n川ctionCreateCritie(LR,MOM,初,NUMseHIDDEN,Name,SavePath)

Critie.EveniLog=[numZ州elock)’

Critie.Filenarne=Na们比e;

Critie.InPut=zeros(2,l):

Critic.NN=createsimPleNN(2,NUM

Creationoferitiene扒刀ork,]:

Critie.OutPut=zeros(2,l):

Critie.Feedback=zeros(2,l):

Critie.LeamingRate=LR;

Critie.Momentum=MOM;

Critic.InPutoffeets=[00],:

Critie.InPutsealing=[11],,

save([SavePathName],,Critic,):

%CritieProeess部分

%定义评价网络的输入变量

一IDDEFJ,2,LR,MOM,一Wl,Wl):

%输出层控制

%反馈层.控制误差

%输入变量的偏移量

%输入变量的缩放比

funetionCritie=CritieProeess(Critie,CritielnPut)

05=Critie.InPutoffsets:

55=Critie.InPutsealing:

Critie.InPut=CritielnPut:

eritie.NN=NNForwardLin([(eritielnput+05)./55],Critie.NN):%反馈控制

Critic.OutP咋Critic.NN.Y,;%分配输出控制变量

附:执行网络的部分源码:

%=一一

%神经动态规划%AetionCalculatejacobian

%一一一一

funetionAetion=AetionCaleulatejacobian(Aetion)%计算Jacobian变量X的输入点

ACtioll.JaC0bi即=

NNCaleulatejacobian(Aetion.NN,Aetion.JacobianlnPuts,Aetion.JacobianoutPuts,Aetion.

54

部分神经网络建模源代码:

%输入样本

elear;

elearall;

data=xlsread(‘E:\BYL,八Program\nlant\datasooo.xls,);%注意选择data500o文件的路径

P=data(l:5000,l:3);

t=data(l:5000,4):

p=P’;

t=t.;

%对原始数据进行归一化

[Pn,minP,maxP,tn,mint,maxtl=Premnmx(P,t);

%P(i,:)=(P(i,:)一min(P(i,:)))/(max(P(i,:))一min(P(i,:))):

%T(l,:)=(t(l,:)一min(t))/(max(t)一min(t)):

%建立网络

%net=newff(minmax(pn),[8,l],{‘tansig,,,tansig,},,trainbr,):%采用贝叶斯归一法trainbr

%net=newff(minmax(Pn),[8,l],{‘109519,,,109519,},,traingd,):

ne拼newff(minmax(Pn),[10,l],{‘tansig,,,tansig,},,trainlm,):

%建立模型,采用Levenberg一Marquardt算法进行训练

net=init(net);

net.trainParam.show=500;

net.trainPara们比.1下0.01;

net.trainParam.ePoehs=3000:

net.trainParam.goal=0.0001:

[net,tr]减rain(net,pn,tn);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%用训练好的模型进行仿真%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%

dat亡=xlsread(‘E:泊YLW\program\plant\data5000.xls,);%注意选择dat的000文件的路径

a=sim(net,Pn):

b=Postmnmx(a,mint,maxt):%反归一化

广翅叮大学祠砚口士之瞬七立论文神经动荞乏月见划在水泥分解炉沮度控制中的石立用研究

funetionCreateUtillty

Utility.Numbe旧侣tates=2:

Utility.PresentDerivatives=zeros田tility.Numberofstates,l):%dU(t)尼叹t)

Utility.FutureDerivatives=zeros(Utility.Numbe旧fstates,l);

%dU(t+l)/dr(t+l)

Utility.Derivativeseales二[1010],:%比例系数

save(,Utili勺匕BloReactlpart3,,,Utility,):%保存

%一一一一一

%NNCaleulatejacobian

%一一一一一一一

九netionjacobian千NNCaleulatejacobian价IN,InPutlndiees,outPutlndieesjacobian)

numln=max(size(InPutlndiees)):

numout=max(size(OutPutlndiees));

blank=NN.JBLANK;

forl=1:numout

blank(OutPutlndiees(i))=l:

NN=NNDual(blank,NN);

forj=l:numln

jacobianG,i)=NN.DXDE(InPutlndieesO)):

elld

blank(OutPutlndiees(i))=0:

end

发表评论

表情:
评论列表 (有 0 条评论,170人围观)

还没有评论,来说两句吧...

相关阅读

    相关 动态规划

    一:概念: 和分冶法相似,不同之处在于前者是把问题划分为互不相交的子问题,而动态规划会出现子问题重叠的情况。通常用来求解最优化问题。。 基本步骤: ①:刻画一个最优

    相关 动态规划

    -------------------- 动态规划的设计思想 动态规划(DP)\[1\]通过分解成子问题解决了给定复杂的问题,并存储子问题的结果,以避免再次计算相同的结

    相关 动态规划

    1. 首先,动态规划不是一个特定的算法,它代表的是一种思想,一种手段 2. 动态规划方法往往用于求解“最优化问题”,能用动态规划求解的问题的前提是问题具有“最优子结构性质”

    相关 动态规划

    首先是概念:动态规划就是将原问题划分为简单的几个小问题(有点类似与分治法?但是分治法中的各个小问题是相互独立的,彼此之间不会产生影响,但是动态规划中所得的值和前面相关,当前的解

    相关 动态规划

    基本思想:     动态规划算法与分治法类似,其基本思想也是将待求解问题分解成若干个子问题,先求解子问题,然后从这些子问题的解得到原问题的解。 区别:     与

    相关 动态规划

    等我有时间了,一定要把《算法导论》啃完,这本书的印刷质量实在太好了,就是烧脑子,滑稽。 适合应用动态规划求解的最优化问题应该具备两个要素: 最优子结构:一个问题的最优解包含