基于神ç»�网络的预测控制模型仿çœ?- 百度文库 ÏÂÔØ±¾ÎÄ

»ùÓÚÉñ¾­ÍøÂçµÄÔ¤²â¿ØÖÆÄ£ÐÍ·ÂÕæ

ÕªÒª£º±¾ÎÄÀûÓÃÒ»ÖÖȨֵ¿ÉÒÔÔÚÏßµ÷ÕûµÄ¶¯Ì¬BPÉñ¾­ÍøÂç¶ÔÄ£ÐÍÔ¤²âÎó²î½øÐÐÄâºÏ²¢ÓëÔ¤²âÄ£ÐÍÒ»Æð¹¹³É¶¯Ì¬×éºÏÔ¤²âÆ÷£¬ÔÚ´Ë»ù´¡ÉÏÐγɶÔÄ£ÐÍÎó²î¾ßÓж¯Ì¬²¹³¥ÄÜÁ¦µÄÔ¤²â¿ØÖÆËã·¨¡£¸ÃËã·¨ÏÔÖøÌá¸ßÁËÔ¤²â¾«¶È£¬ÔöÇ¿ÁËÔ¤²â¿ØÖÆËã·¨µÄ³°ôÐÔ¡£

¹Ø¼ü´Ê£ºÔ¤²â¿ØÖÆ Éñ¾­ÍøÂç ¶¯Ì¬¾ØÕó Îó²î²¹³¥

1.ÒýÑÔ

¶¯Ì¬¾ØÕó¿ØÖÆ(DMC)ÊÇÒ»ÖÖÊÊÓÃÓÚ½¥½üÎȶ¨µÄÏßÐÔ»òÈõ·ÇÏßÐÔ¶ÔÏóµÄÔ¤²â¿ØÖÆËã·¨£¬ ĿǰÒѹ㷺ӦÓÃÓÚ¹¤Òµ¹ý³Ì¿ØÖÆ¡£Ëü»ùÓÚ¶ÔÏó½×Ô¾ÏìӦϵÊý½¨Á¢Ô¤²âÄ£ÐÍ£¬ Òò´Ë½¨Ä£¼òµ¥£¬ ͬʱ²ÉÓöಽ¹ö¶¯ÓÅ»¯Óë·´À¡Ð£ÕýÏà½áºÏ£¬ÄÜÖ±½Ó´¦Àí´óʱÖͶÔÏ󣬲¢¾ßÓÐÁ¼ºÃµÄ¸ú×ÙÐÔÄܺͽÏÇ¿µÄ³°ôÐÔ¡£

µ«ÊÇ£¬DMCËã·¨ÔÚʵ¼Ê¿ØÖÆÖдæÔÚһϵÁÐÎÊÌ⣬ģÐÍʧÅäÊÇÆäÖÐÆÕ±é´æÔÚµÄÒ»¸öÎÊÌ⣬²¢»á²»Í¬³Ì¶ÈµØÓ°ÏìϵͳÐÔÄÜ¡£DMCÔÚʵ¼Ê¿ØÖÆÖвúÉúÄ£ÐÍʧÅäµÄÔ­ÒòÖ÷ÒªÓÐ2¸ö£¬Ò»ÊÇÖîÈ罨ģÎó²î¡¢»·¾³¸ÉÈŵÈÒòËØ£¬Ëü»áÔÚʵ¼Ê¿ØÖƵÄÈ«³Ì·¶Î§ÄÚÒýÆðDMCµÄÄ£ÐÍʧÅ䣻¶þÊÇʵ¼ÊϵͳµÄ·ÇÏßÐÔÌØÐÔ£¬ÕâÒ»ÌØÐÔʹµÃ±»¿Ø¶ÔÏóµÄÄ£ÐÍ·¢Éú±ä»¯£¬´ËʱÈôÓÃÒ»×é¹Ì¶¨µÄ½×Ô¾ÏìÓ¦Êý¾ÝÉè¼Æ¿ØÖÆÆ÷½øÐÐÈ«³Ì·¶Î§µÄ¿ØÖÆ£¬±ØÈ»»áʹʵ¼Ê¿ØÖÆÔÚ¶ÔÏóµÄ·Ç½¨Ä£Çø¶ÎÄÚ³öÏÖÄ£ÐÍʧÅä¡£Õë¶ÔDMCÄ£ÐÍʧÅäÎÊÌ⣬ÒÑÓÐѧÕß½øÐÐÁË´óÁ¿µÄÑо¿£¬²¢È¡µÃÁ˷ḻµÄÑо¿³É¹û£¬ÆäÖÐÓлùÓÚDMC¿ØÖƲÎÊýÔÚÏß±æÊ¶µÄÖÇÄÜ¿ØÖÆËã·¨£¬»ùÓÚÄ£ÐÍÔÚÏß±æÊ¶µÄ×ÔУÕý¿ØÖÆËã·¨ÒÔ¼°ÓÃÉñ¾­ÔªÍøÂç½øÐÐÄ£ÐͱæÊ¶¡¢ÔÚ±æÊ¶µÄ»ù´¡ÉÏÔÙ½øÐж¯Ì¬¾ØÕó¿ØÖƵȡ£ÕâЩËã·¨¾¡¹Ü½øÐÐÔÚÏß±æÊ¶ÐÞÕý¶ÔÏóÄ£ÐͲÎÊý£¬ÈÔ¶Ô¶ÔÏó½µ½×½¨Ä£Îó²î(½á¹¹ÐÔ½¨Ä£Îó²î)µÄ³°ôÐÔ²»ºÃ£¬²¢¶ÔËæ»úÔëÉù¸ÉÈŽÏÃô¸Ð¡£Õë¶ÔÒÔÉÏÎÊÌ⣬³öÏÖÁË»ùÓÚÎó²îУÕýµÄ¶¯Ì¬¾ØÕó¿ØÖÆËã·¨¡£ÕâЩÎÄÏ×ÓûùÓÚʱ¼äÐòÁÐÔ¤²âµÄÊýѧģÐÍÎó²î´úÌæÔ­Ä£ÐÍÎó²î£¬µÃµ½¶ÔδÀ´Îó²îµÄÔ¤²â¡£ÓÐÈË»¹½«ÕâÖÖÎó²îÔ¤²â·½·¨ÒýÈ붯̬¾ØÕó¿ØÖÆ£¬²¢Ó¦ÓÃÓÚʵ¼Ê¡£ÕâÖÖ·½·¨ËäȻʹϵͳ±íÏÖ³öÁ¼ºÃµÄÎȶ¨ÐÔ£¬µ«½¨Á¢¾«È·µÄÎó²îÊýѧģÐÍ»¹´æÔÚÒ»¶¨µÄÀ§ÄÑ¡£

±¾ÎÄÀûÓÃÉñ¾­ÍøÂçͨ¹ýѵÁ·Ñ§Ï°ÄܱƽüÈÎÒâÁ¬ÐøÓн纯ÊýµÄÌØµã£¬½¨Á¢ÁËÒ»ÖÖ²ÉÓÃBPÉñ¾­ÍøÂç½øÐÐÔ¤²âÎó²î²¹³¥µÄDMCÔ¤²â¿ØÖÆÄ£ÐÍ¡£ÆäÖÐÉñ¾­ÍøÂçÔ¤²âÎó²îÃèÊöÁËÔÚÔ¤²âÄ£ÐÍÖÐδÄܰüº¬µÄÒ»Çв»È·¶¨ÐÔÐÅÏ¢£¬¿ÉÒÔ¹é½áΪÓÃBPÉñ¾­ÍøÂç»ùÓÚһϵÁйýÈ¥µÄÎó²îÐÅÏ¢Ô¤²âδÀ´µÄÎó²î£¬Ëü×÷ΪģÐÍÔ¤²âµÄÖØÒª²¹³ä£¬²»½ö½µµÍ½¨Á¢ÊýѧģÐ͵ĸºµ££¬¶øÇÒ»¹¿ÉÒÔÃÖ²¹ÔÚ¶ÔÏóÄ£ÐÍÖÐÒѼò»¯»òÎÞ·¨¼ÓÒÔ¿¼ÂǵÄÒ»ÇÐÆäËûÒòËØ¡£

±¾ÎÄͨ¹ý½øÐзÂÕæ£¬ÑéÖ¤ÁË»ùÓÚÉñ¾­ÍøÂçÎó²î²¹³¥µÄÔ¤²â¿ØÖÆËã·¨µÄÓÐЧÐÔ¼°ÓÅÔ½ÐÔ£¬

´Ó¶øÔöÇ¿Á˶¯Ì¬¾ØÕó¿ØÖÆËã·¨µÄ³°ôÐÔ¡£

2.BPÉñ¾­ÍøÂçÄ£ÐÍ

BPÉñ¾­ÍøÂçÄ£ÐÍ´¦ÀíÐÅÏ¢µÄ»ù±¾Ô­ÀíÊÇ£ºÊäÈëÐźÅXiͨ¹ýÖмä½Úµã£¨Òþ²ãµã£©×÷ÓÃÓÚÊä³ö½Úµã£¬¾­¹ý·ÇÏßÐα任£¬²úÉúÊä³öÐźÅYk£¬ÍøÂçѵÁ·µÄÿ¸öÑù±¾°üÀ¨ÊäÈëÏòÁ¿XºÍÆÚÍûÊä³öÁ¿t£¬ÍøÂçÊä³öÖµYÓëÆÚÍûÊä³öÖµtÖ®¼äµÄÆ«²î£¬Í¨¹ýµ÷ÕûÊäÈë½ÚµãÓëÒþ²ã½ÚµãµÄÁª½ÓÇ¿¶ÈȡֵWijºÍÒþ²ã½ÚµãÓëÊä³ö½ÚµãÖ®¼äµÄÁª½ÓÇ¿¶ÈTjkÒÔ¼°ãÐÖµ£¬Ê¹Îó²îÑØÌݶȷ½ÏòϽµ£¬¾­¹ý·´¸´Ñ§Ï°ÑµÁ·£¬È·¶¨Óë×îСÎó²îÏà¶ÔÓ¦µÄÍøÂç²ÎÊý£¨È¨ÖµºÍãÐÖµ£©£¬ÑµÁ·¼´¸æÍ£Ö¹¡£´Ëʱ¾­¹ýѵÁ·µÄÉñ¾­ÍøÂç¼´ÄܶÔÀàËÆÑù±¾µÄÊäÈëÐÅÏ¢£¬×ÔÐд¦ÀíÊä³öÎó²î×îСµÄ¾­¹ý·ÇÏßÐÎת»»µÄÐÅÏ¢¡£ 2.1 BPÄ£Ðͽ¨Á¢

BPÍøÂçÄ£ÐͰüÀ¨ÆäÊäÈëÊä³öÄ£ÐÍ¡¢×÷Óú¯ÊýÄ£ÐÍ¡¢Îó²î¼ÆËãÄ£ÐͺÍ×ÔѧϰģÐÍ¡£ £¨1£©½ÚµãÊä³öÄ£ÐÍ

Òþ½ÚµãÊä³öÄ£ÐÍ£ºOj=f(¡ÆWij¡ÁXi-q j) (1)

Êä³ö½ÚµãÊä³öÄ£ÐÍ£ºYk=f(¡ÆTjk¡ÁOj-q k) (2)

f-·ÇÏßÐÎ×÷Óú¯Êý£»q -Éñ¾­µ¥ÔªãÐÖµ¡£

£¨2£©×÷Óú¯ÊýÄ£ÐÍ

×÷Óú¯ÊýÊÇ·´Ó³Ï²ãÊäÈë¶ÔÉϲã½Úµã´Ì¼¤Âö³åÇ¿¶ÈµÄº¯Êý£¬Óֳƴ̼¤º¯Êý£¬Ò»°ãȡΪ(0,1)ÄÚÁ¬ÐøÈ¡ÖµSigmoidº¯Êý£º f(x)= 1/(1+e) £¨3£© £¨3£©Îó²î¼ÆËãÄ£ÐÍ

Îó²î¼ÆËãÄ£ÐÍÊÇ·´Ó³Éñ¾­ÍøÂçÆÚÍûÊä³öÓë¼ÆËãÊä³öÖ®¼äÎó²î´óСµÄº¯Êý£º

Ep=1/2¡Á¡Æ(tpi-Opi) tpi- i½ÚµãµÄÆÚÍûÊä³öÖµ£»Opi-i½Úµã¼ÆËãÊä³öÖµ¡£ (4)

£¨4£©×ÔѧϰģÐÍ

Éñ¾­ÍøÂçµÄѧϰ¹ý³Ì£¬¼´Á¬½Óϲã½ÚµãºÍÉϲã½ÚµãÖ®¼äµÄÈ¨ÖØ¾ÜÕóWijµÄÉ趨ºÍÎó²îÐÞÕý¹ý³Ì¡£BPÍøÂçÓÐʦѧϰ·½Ê½-ÐèÒªÉ趨ÆÚÍûÖµºÍÎÞʦѧϰ·½Ê½-Ö»ÐèÊäÈëģʽ֮·Ö¡£×ÔѧϰģÐÍΪ

¡÷Wij(n+1)= h¡Á§¶i¡ÁOj+a¡Á¡÷Wij(n) (5)

h-ѧϰÒò×Ó£»§¶i-Êä³ö½ÚµãiµÄ¼ÆËãÎó²î£»Oj-Êä³ö½ÚµãjµÄ¼ÆËãÊä³ö£»a-¶¯Á¿Òò×Ó¡£ 2.2 BPÍøÂçÄ£Ð͵ÄȱÏÝ·ÖÎö¼°ÓÅ»¯²ßÂÔ £¨1£©Ñ§Ï°Òò×Óh µÄÓÅ»¯

²ÉÓñ䲽³¤·¨¸ù¾ÝÊä³öÎó²î´óС×Ô¶¯µ÷ÕûѧϰÒò×Ó£¬À´¼õÉÙµü´ú´ÎÊýºÍ¼Ó¿ìÊÕÁ²ËÙ¶È¡£

h =h+a¡Á(Ep(n)- Ep(n-1))/ Ep(n)

aΪµ÷Õû²½³¤£¬0~1Ö®¼äȡֵ £¨6£©

£¨2£©Òþ²ã½ÚµãÊýµÄÓÅ»¯

2

-x

Òþ²ã½ÚµãÊýµÄ¶àÉÙ¶ÔÍøÂçÐÔÄܵÄÓ°Ïì½Ï´ó£¬µ±Òþ½ÚµãÊýÌ«¶àʱ£¬»áµ¼ÖÂÍøÂçѧϰʱ¼ä¹ý³¤£¬ÉõÖÁ²»ÄÜÊÕÁ²£»¶øµ±Òþ½ÚµãÊý¹ýСʱ£¬ÍøÂçµÄÈÝ´íÄÜÁ¦²î¡£ÀûÓÃÖ𲽻عé·ÖÎö ·¨²¢½øÐвÎÊýµÄÏÔÖøÐÔ¼ìÑéÀ´¶¯Ì¬É¾³ýһЩÏßÐÎÏà¹ØµÄÒþ½Úµã£¬½Úµãɾ³ý±ê×¼£ºµ±Óɸýڵã³ö·¢Ö¸ÏòÏÂÒ»²ã½ÚµãµÄËùÓÐȨֵºÍãÐÖµ¾ùÂäÓÚËÀÇø£¨Í¨³£È¡¡À0.1¡¢¡À0.05µÈÇø¼ä£©Ö®ÖУ¬Ôò¸Ã½Úµã¿Éɾ³ý¡£×î¼ÑÒþ½ÚµãÊýL¿É²Î¿¼ÏÂÃæ¹«Ê½¼ÆË㣺

L=(m+n)1/2+c (7) m-ÊäÈë½ÚµãÊý£»n-Êä³ö½ÚµãÊý£»c-½éÓÚ1¡«10µÄ³£Êý¡£

£¨3£©ÊäÈëºÍÊä³öÉñ¾­ÔªµÄÈ·¶¨

ÀûÓöàÔª»Ø¹é·ÖÎö·¨¶ÔÉñ¾­ÍøÂçµÄÊäÈë²ÎÊý½øÐд¦Àí£¬É¾³ýÏà¹ØÐÔÇ¿µÄÊäÈë²ÎÊý£¬À´¼õÉÙÊäÈë½ÚµãÊý¡£ £¨4£©Ëã·¨ÓÅ»¯

ÓÉÓÚBPËã·¨²ÉÓõÄÊÇÌê¶ÈϽµ·¨£¬Òò¶øÒ×ÏÝÓÚ¾Ö²¿×îС²¢ÇÒѵÁ·Ê±¼ä½Ï³¤¡£ÓûùÓÚÉúÎïÃâÒß»úÖÆµØ¼ÈÄÜÈ«¾ÖËÑË÷ÓÖÄܱÜÃâδ³ÉÊìÊÕÁ²µÄÃâÒßÒÅ´«Ëã·¨IGAÈ¡´ú´«Í³BPËã·¨À´¿Ë·þ´Ëȱµã¡£

2.3 BPÉñ¾­ÍøÂç·ÂÕæ

¼ÙÉ豸¿Ø¶ÔÏóµÄ½üËÆÊýѧģÐÍΪ£º yout(k)? £¨8£©

ʽÖУ¬ÏµÍ³a£¨k£©ÊÇÂýʱ±äµÄ£¬a(k)?1.2(1?0.8e?0.1ka(k)yout(k?1)?u(k?1)1?yout2(k?1)

)¡£

Éñ¾­ÍøÂçµÄ½á¹¹Ñ¡Ôñ2-6-1£¬Ñ§Ï°ËÙ¶È ¦Ç=0.5ºÍ¹ßÐÔϵÊý¦Á=0.05£¬ÊäÈëÖ¸ÁîÐźÅΪ£º

rin(k)=0.5*sin(6*§Ý*t)¡£ ·ÂÕæ³ÌÐò£º clear all; x=[0,0]'; close all; u_1=0; xite=0.50; y_1=0; alfa=0.05; I=[0,0,0,0,0,0]'; w2=rand(6,1); Iout=[0,0,0,0,0,0]'; w2_1=w2;w2_2=w2; FI=[0,0,0,0,0,0]'; w1=rand(2,6); ts=0.001; w1_1=w1;w1_2=w1; for k=1:1:1000 dw1=0*w1; time(k)=k*ts; u(k)=0.50*sin(3*2*pi*k*ts);

a(k)=1.2*(1-0.8*exp(-0.1*k)); y(k)=a(k)*y_1/(1+y_1^2)+u_1;

for j=1:1:6

I(j)=x'*w1(:,j);

Iout(j)=1/(1+exp(-I(j))); end

yn(k)=w2'*Iout; e(k)=y(k)-yn(k);

w2=w2_1+(xite*e(k))*Iout+alfa*(w2_1-w2_2);

for j=1:1:6

FI(j)=exp(-I(j))/(1+exp(-I(j)))^2; end

for i=1:1:2 for j=1:1:6

dw1(i,j)=e(k)*xite*FI(j)*w2(j)*x(i); end end

w1=w1_1+dw1+alfa*(w1_1-w1_2);

x(1)=u(k); x(2)=y(k);

w1_2=w1_1;w1_1=w1; w2_2=w2_1;w2_1=w2; u_1=u(k); y_1=y(k); end

subplot(2,1,1);

plot(time,y,'r',time,yn,'b');

xlabel('times');ylabel('ʵ¼ÊÊä³öºÍ·ÂÕæÊä³ö'); grid on

subplot(2,1,2);

plot(time,y-yn,'r');

xlabel('times');ylabel('error'); grid on