班级:控制5班 学号:2111504213 姓名:张睿设计一个神经网络监督控制系统,被控对象为:321000()s 87.35s 10470G s s=++ 采样时间1,输入信号为方波信号,幅值0.5,频率2。
设计一个神经网络监督控制系统,并采用遗传算法进行神经网络参数及权值的优化设计,并进行仿真。
需要说明控制系统结构,遗传算法优化网络的具体步骤,并对仿真结果做出分析。
解决过程及思路如下:1 网络算法以第p 个样本为例,用于训练的网络结构如图1所示。
图1 具有一个隐含层和输出层的神经网络结构网络的学习算法如下: (1)信息的正向传播隐含层神经元的输入为所有输入加权之和,j ij i ix w x =∑隐层神经元的输出'j x 采用S 函数激发j x ,则'1()1j j j x x f x e-==+ '''(1)j j j jx x x x ∂=-∂ 输出层的神经元输出为jk输入层隐含层输出层…j 'jx'k jk j jx w x =∑网络输出与理想输出误差为()k k e k x x =-误差性能指标函数为211()2N p k E e k ==∑上式的N 表示网络输出层的个数。
(2)利用梯度下降法调整各层间权值的反向传播 对从第j 个输入到第k 个输出的权值有:'11()NNp k jk k j k k jkjk E x w e e k x w w ηηη==∂∂∆=-==∂∂∑∑ 其中,η为学习速率,[]0,1η∈。
1时刻网络权值为(1)()jk jk jk w k w k w +=+∆对从第i 个输入到第j 个输出的权值有:1Np kij k k ijijE x w e w w ηη=∂∂∆=-=∂∂∑式中,''''(1)j jk k jk j j i ij j j ijx x x x w x x x w x x w ∂∂∂∂=⋅⋅=⋅⋅-⋅∂∂∂∂ 1时刻网络权值为(1)()ij ij ij w k w k w +=+∆2.网络的监督控制系统结构设计的网络监督控制系统结构如图2所示。
图2 神经网络监督控制在网络结构中,取网络的输入为r (k ),实际输出为y (k ),控制输出为(k ),隐层神经元的输出采用S 函数激发,'1()1j j j x x f x e-==+ 网络的权向量为W1, W2 的网络输出为控制律为u(k)(k)(k)采用梯度下降法调整网络的权值为神经网络权值的调整过程为3.遗传算法对网络权值的优化过程 (1) 取逼近总步骤为100 (2)终止代数:80 (3)样本个数:30 (4)交叉概率:0.70 (5)二进制编码长度:10(6)变异概率:0.001-[1:1]*0.001(7)用于优化的网络结构为:1-4-1 1 1,2,3 ,4 (8)网络权值W1的取值范围为:[-11] (9)网络权值W2的取值范围为:[-0.50.5](10)取网络误差绝对值为参数选择的最小目标函数:∑=jjj x w '2k yn )('222)()(jj k j j x k e w x k e w E w ⋅⋅-=∂∂⋅⋅-=∂∂-=∆ηηηij n ij ij w y k e w E w ∂∂⋅⋅-=∂∂-=∆)(ηη))1()(()()1(22222--+∆+=+k w k w w k w k w j j j j j α))1()(()()1(--+∆+=+k w k w w k w k w ij ij ij ij ij α式中,N 为逼近的总步骤,(i )为第i 步网络逼近误差。
(11)需要优化参数为:],,,,,,,,,,,[p 232221201716151413121110j w w w w w w w w w w w w 4 遗传算法优化网络权值的步骤(1)初始化种群;(2)计算其适应值,保留最优个体,判断是否达到最优解; (3)交叉、变异产生新个体;(4)重新计算种群中每个个体的适应值并保留最优个体;(5)交叉、变异前后的种群放在一起进行二人竞赛选择法,直到填满新的种群;(6)转2)直到找到最优解。
5 仿真结果监督网络遗传算法优化程序包括3部分,即遗传算法优化程序,网络逼近函数程序和网络逼近测试程序。
输入信号为r (t )=0.5*((2*2**k*)采样时间0.001s ,η=0.30,0.0511. 经遗传算法优化后,对象p 的值为[-0.2160,0.7576,0.5230,0.98630.0714,0.2551,0.69110.3627,0.2146,0.3338 ,-0.0875,-0.0582]仿真结果图:790800810820830840850860870880890TimesB e s t J图3 代价函数J 的优化过程00.10.20.30.40.50.60.70.80.91time(s)r a n d y图4 方波位置跟踪0.10.20.30.40.50.60.70.80.91time(s)y n0.10.20.30.40.50.60.70.80.91time(s)u p0.10.20.30.40.50.60.70.80.91time(s)u 00.10.20.30.40.50.60.70.80.91time(s)e r r o r图5 网络及总控制器输出的比较以及误差曲线结论:采用遗专算法可以实现网络参数初始值的优化,节约计算量。
并由仿真结果可知,其误差大部分趋于0,但局部有三个地区的误差比较大,产生原因可能与遗传算法的运行参数有关。
代码:[]()0.001;0.05;0.30;(1000,[1,87.35,10470]);2d(,'z');[](,'v');1=02=0;1=02=0;1=0;0;[0,0]';[0,0,0,0]';[0,0,0,0]';[0,0,0,0]';25;0.3;w1=[p(1)(2)(3)(4)(5)(6)(7)(8)]; w1_111_21;w2=[p(9)(10)(11)(12)];w2_122_22_1;1:1:1000(k)*;1;1r(k)=0.5*((2*2**k*));2r(k)=0.5*((3*2**k*));y(k)(2)*1(3)*2(2)*1(3)*2;e(k)(k)(k);(k);1:1:4I(j)'*w1();(j)=1/(1((j)));(k)2'*; %(k)*x(1)*x(2);2;1u(k)(k);2u(k)(k)(k);u(k)>=10u(k)=10;u(k)<10u(k)10;400u(k)(k)+5.0;(k)(k)(k);w22_1+(*(k))**(w2_12_2);1:1:4(j)((j))/(1((j)))^2;1=0*w1;1:1:21:1:41()(k)**(j)*w2(j)*x(i); w11_11*(w1_11_2);w1_21_11_11;w2_22_12_12;21;1(k);21;x(1)(k); Px(2)=(e(k)1)/0.05; D1(k);0;1:1:100(i)((i));50*(i);;2、;;;0.001;0.05;0.30;25;0.3;(1000,[1,87.35,10470]);2d(,'z');[](,'v');1;1w1=[p(1)(2)(3)(4)(5)(6)(7)(8)]; w2=[p(9)(10)(11)(12)];2w1(2,4);w2(1,4);w1_111_21;w2_122_22_1;1=02=0;1=02=0;[0,0]';[0,0,0,0]';[0,0,0,0]';[0,0,0,0]';0.001;1:1:1000(k)*;1;1r(k)=0.5*((2*2**k*));2r(k)=0.5*((3*2**k*));y(k)(2)*1(3)*2(2)*1(3)*2;e(k)(k)(k);1:1:4I(j)'*w1();(j)=1/(1((j)));(k)2'*; %(k)*x(1)*x(2);2;1u(k)(k);2u(k)(k)(k);u(k)>=10u(k)=10;u(k)<10u(k)10;400u(k)(k)+6.0;(k)(k)(k);w22_1+(*(k))**(w2_12_2);1:1:4(j)((j))/(1((j)))^2;1=0*w1;1:1:21:1:41()(k)**(j)*w2(j)*x(i); w11_11*(w1_11_2);w1_21_11_11;w2_22_12_12;21;1(k);21;1(k);x(1)(k); Px(2)=(e(k)1)/0.05; D1(k);(1);(,'r','b');('(s)')('r y');(2);(411);(,'b');('(s)')('');(412);(,'k');('(s)')('');(413);(,'r');('(s)')('u');(414);(,'b');('(s)')('');3、( );;30; % ȺÌå×ܸöÌåÊýÁ¿80; % ÔÊÐí×î´óµü´ú´ÎÊý10; % ÿ¸ö±äÁ¿ÓµÓеÄȾɫÌåÊýÁ¿1:1:8(i)(1); % Á¬½ÓȨֵµÄ×î´óÖµ(i)(1); % ȨֵµÄ×îСֵ9:1:12(i)=0.5*(1); % ãÐÖµµÄ×î´óÖµ(i)0.5*(1); % ãÐÖµµÄ×îСֵ% ¶ÔËùÇó²ÎÊý½øÐгõʼ¶þ½øÖƱàÂë((,12*)); % ³õʼ»¯¸öÌå´úÂ루ȾɫÌ壩% ÒÅ´«Éñ¾-ÍøÂçѵÁ·¿ªÊ¼0;1:1();1:1(s,:);1:1:12(j)=0;((1)*1:1*);1:1(j)(j)(i)*2^(1);f()=((j)(j))*(j)/1023(j);;(s,:);[]();(s);[]();()(1);();1005;1;[]();(); % ()((),:); % (m), m ()p%****** 2 : ******();()*;();1;1:11:1(i)(,:)((i),:);1;%************ 3 : ************ 0.70;(20*);1:2:(1);>:1:20()(1);(1)();(,:);;%************ 4: **************0.001-[1:1]*(0.001); ,1:11:1:12*;>()0()=1;()=0;(,:)(,:);;%*******************************************************(G)(1);();('')(' J');p;。