| ²é¿´: 491 | »Ø¸´: 2 | |||
Jokcy½ð³æ (СÓÐÃûÆø)
|
[½»Á÷]
¡¾ÇóÖú¡¿ÒÅ´«Ëã·¨ ¿Î³Ì±àÅÅ ÒÑÓÐ2È˲ÎÓë
|
| ÎÒÏÖÔÚÒª×ö¸öʵÑ飬ÀûÓÃÒÅ´«Ë㷨ʵÏֿγ̵ıàÅÅ£¬ÄÄλ¸ßÈ˸øÐ©Ìáʾ°É£¬Ô´Âë¼òµ¥Àý×Ó¸üºÃ£¬²»Ê¤¸Ð¼¤£¡ |
» ²ÂÄãϲ»¶
²ÄÁϵ÷¼Á
ÒѾÓÐ7È˻ظ´
»¯Ñ§¹¤³Ì085602 305·ÖÇóµ÷¼Á
ÒѾÓÐ10È˻ظ´
289Çóµ÷¼Á
ÒѾÓÐ15È˻ظ´
291 Çóµ÷¼Á
ÒѾÓÐ7È˻ظ´
274Çóµ÷¼Á
ÒѾÓÐ14È˻ظ´
±±¾©ÁÖÒµ´óѧ˶µ¼ÕÐÉú¹ã¸æ
ÒѾÓÐ3È˻ظ´
309Çóµ÷¼Á
ÒѾÓÐ5È˻ظ´
292Çóµ÷¼Á
ÒѾÓÐ8È˻ظ´
Çóµ÷¼Á
ÒѾÓÐ4È˻ظ´
Ò»Ö¾Ô¸ Î÷±±´óѧ ×Ü·Ö282 Ó¢ÓïÒ»62 Çóµ÷¼Á
ÒѾÓÐ3È˻ظ´
» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:
Çë½ÌÒ»¸ö¹ØÓÚÒÅ´«Ëã·¨µÄ¼òµ¥ÎÊÌâ
ÒѾÓÐ12È˻ظ´
Ò»¸ö¹ØÓÚmatlabµÄÒÅ´«Ëã·¨µÄÎÊÌâ
ÒѾÓÐ3È˻ظ´
¹ØÓÚÒÅ´«Ëã·¨Öн»²æµÄ³ÌÐò
ÒѾÓÐ5È˻ظ´
ÒÅ´«Ëã·¨µÄÒ»¶Î³ÌÐòÇë½Ì½âÊÍ
ÒѾÓÐ9È˻ظ´
¡¾ÆäËû¡¿Á˽âÒÅ´«Ëã·¨
ÒѾÓÐ12È˻ظ´
¡¾ÌÖÂÛ¡¿ÒÅ´«Ëã·¨½â¾öÏóÆåÎÊÌâ
ÒѾÓÐ8È˻ظ´
¡¾ÇóÖú¡¿matlab ÒÅ´«Ëã·¨¹¤¾ßÏä»æÍ¼ÃüÁîÊÇʲô£¿
ÒѾÓÐ6È˻ظ´

zhai-lili
½ð³æ (ÕýʽдÊÖ)
- Ó¦Öú: 3 (Ó×¶ùÔ°)
- ½ð±Ò: 1412.4
- É¢½ð: 3
- Ìû×Ó: 390
- ÔÚÏß: 131.2Сʱ
- ³æºÅ: 1126500
- ×¢²á: 2010-10-19
- רҵ: Ö²Îﻯѧ±£»¤
¡ï ¡ï ¡ï
mze04532(½ð±Ò+3):¸ÐлÈÈÐÄ£¬¹ÄÀøÐ³æ~ 2011-01-14 14:51:20
mze04532(½ð±Ò+3):¸ÐлÈÈÐÄ£¬¹ÄÀøÐ³æ~ 2011-01-14 14:51:20
|
ÎÒ·¢Ò»Ð©ËûÃǵÄÔ´³ÌÐòÄ㣬¶¼ÊÇÎÒÔÚÎÄÏ×ÖÐËÑË÷×ܽá³öÀ´µÄ£º % ÏÂÃæ¾ÙÀý˵Ã÷ÒÅ´«Ëã·¨ % % ÇóÏÂÁк¯ÊýµÄ×î´óÖµ % % f(x)=10*sin(5x)+7*cos(4x) x¡Ê[0,10] % % ½« x µÄÖµÓÃÒ»¸ö10λµÄ¶þÖµÐÎʽ±íʾΪ¶þÖµÎÊÌ⣬һ¸ö10λµÄ¶þÖµÊýÌṩµÄ·Ö±æÂÊÊÇÿΪ (10-0)/(2^10-1)¡Ö0.01 ¡£ % % ½«±äÁ¿Óò [0,10] ÀëÉ¢»¯Îª¶þÖµÓò [0,1023], x=0+10*b/1023, ÆäÖÐ b ÊÇ [0,1023] ÖеÄÒ»¸ö¶þÖµÊý¡£ % % % %--------------------------------------------------------------------------------------------------------------% %--------------------------------------------------------------------------------------------------------------% % ±à³Ì %----------------------------------------------- % 2.1³õʼ»¯(±àÂë) % initpop.mº¯ÊýµÄ¹¦ÄÜÊÇʵÏÖȺÌåµÄ³õʼ»¯£¬popsize±íʾȺÌåµÄ´óС£¬chromlength±íʾȾɫÌåµÄ³¤¶È(¶þÖµÊýµÄ³¤¶È)£¬ % ³¤¶È´óСȡ¾öÓÚ±äÁ¿µÄ¶þ½øÖƱàÂëµÄ³¤¶È(ÔÚ±¾ÀýÖÐÈ¡10λ)¡£ %ÒÅ´«Ëã·¨×Ó³ÌÐò %Name: initpop.m %³õʼ»¯ function pop=initpop(popsize,chromlength) pop=round(rand(popsize,chromlength)); % randËæ»ú²úÉúÿ¸öµ¥ÔªÎª {0,1} ÐÐÊýΪpopsize£¬ÁÐÊýΪchromlengthµÄ¾ØÕó£¬ % roud¶Ô¾ØÕóµÄÿ¸öµ¥Ôª½øÐÐÔ²Õû¡£ÕâÑù²úÉúµÄ³õʼÖÖȺ¡£ % 2.2.2 ½«¶þ½øÖƱàÂëת»¯ÎªÊ®½øÖÆÊý(2) % decodechrom.mº¯ÊýµÄ¹¦ÄÜÊǽ«È¾É«Ìå(»ò¶þ½øÖƱàÂë)ת»»ÎªÊ®½øÖÆ£¬²ÎÊýspoint±íʾ´ý½âÂëµÄ¶þ½øÖÆ´®µÄÆðʼλÖà % (¶ÔÓÚ¶à¸ö±äÁ¿¶øÑÔ£¬ÈçÓÐÁ½¸ö±äÁ¿£¬²ÉÓÃ20Ϊ±íʾ£¬Ã¿¸ö±äÁ¿10Ϊ£¬ÔòµÚÒ»¸ö±äÁ¿´Ó1¿ªÊ¼£¬ÁíÒ»¸ö±äÁ¿´Ó11¿ªÊ¼¡£±¾ÀýΪ1)£¬ % ²ÎÊý1ength±íʾËù½ØÈ¡µÄ³¤¶È£¨±¾ÀýΪ10£©¡£ %ÒÅ´«Ëã·¨×Ó³ÌÐò %Name: decodechrom.m %½«¶þ½øÖƱàÂëת»»³ÉÊ®½øÖÆ function pop2=decodechrom(pop,spoint,length) pop1=pop(:,spoint:spoint+length-1); pop2=decodebinary(pop1); % 2.4 Ñ¡Ôñ¸´ÖÆ % Ñ¡Ôñ»ò¸´ÖƲÙ×÷ÊǾö¶¨ÄÄЩ¸öÌå¿ÉÒÔ½øÈëÏÂÒ»´ú¡£³ÌÐòÖвÉÓöÄÂÖÅÌÑ¡Ôñ·¨Ñ¡Ôñ£¬ÕâÖÖ·½·¨½ÏÒ×ʵÏÖ¡£ % ¸ù¾Ý·½³Ì pi=fi/¡Æfi=fi/fsum £¬Ñ¡Ôñ²½Ö裺 % 1£© ÔÚµÚ t ´ú£¬ÓÉ£¨1£©Ê½¼ÆËã fsum ºÍ pi % 2£© ²úÉú {0,1} µÄËæ»úÊý rand( .)£¬Çó s=rand( .)*fsum % 3£© Çó ¡Æfi¡Ýs ÖÐ×îСµÄ k £¬ÔòµÚ k ¸ö¸öÌ屻ѡÖÐ % 4£© ½øÐÐ N ´Î2£©¡¢3£©²Ù×÷£¬µÃµ½ N ¸ö¸öÌ壬³ÉΪµÚ t=t+1 ´úÖÖȺ %ÒÅ´«Ëã·¨×Ó³ÌÐò %Name: selection.m %Ñ¡Ôñ¸´ÖÆ function [newpop]=selection(pop,fitvalue) totalfit=sum(fitvalue); %ÇóÊÊÓ¦ÖµÖ®ºÍ fitvalue=fitvalue/totalfit; %µ¥¸ö¸öÌ屻ѡÔñµÄ¸ÅÂÊ fitvalue=cumsum(fitvalue); %Èç fitvalue=[1 2 3 4]£¬Ôò cumsum(fitvalue)=[1 3 6 10] [px,py]=size(pop); ms=sort(rand(px,1)); %´ÓСµ½´óÅÅÁÐ fitin=1; newin=1; while newin<=px if(ms(newin)) newin=newin+1; else fitin=fitin+1; end end % 2.5 ½»²æ % ½»²æ(crossover)£¬ÈºÌåÖеÄÿ¸ö¸öÌåÖ®¼ä¶¼ÒÔÒ»¶¨µÄ¸ÅÂÊ pc ½»²æ£¬¼´Á½¸ö¸öÌå´Ó¸÷×Ô×Ö·û´®µÄijһλÖà % £¨Ò»°ãÊÇËæ»úÈ·¶¨£©¿ªÊ¼»¥Ïཻ»»£¬ÕâÀàËÆÉúÎï½ø»¯¹ý³ÌÖеĻùÒò·ÖÁÑÓëÖØ×é¡£ÀýÈ磬¼ÙÉè2¸ö¸¸´ú¸öÌåx1£¬x2Ϊ£º % x1=0100110 % x2=1010001 % ´Óÿ¸ö¸öÌåµÄµÚ3λ¿ªÊ¼½»²æ£¬½»ÓÖºóµÃµ½2¸öеÄ×Ó´ú¸öÌåy1£¬y2·Ö±ðΪ£º % y1£½0100001 % y2£½1010110 % ÕâÑù2¸ö×Ó´ú¸öÌå¾Í·Ö±ð¾ßÓÐÁË2¸ö¸¸´ú¸öÌåµÄÄ³Ð©ÌØÕ÷¡£ÀûÓý»ÓÖÎÒÃÇÓпÉÄÜÓɸ¸´ú¸öÌåÔÚ×Ó´ú×éºÏ³É¾ßÓиü¸ßÊʺ϶ȵĸöÌå¡£ % ÊÂʵÉϽ»ÓÖÊÇÒÅ´«Ëã·¨Çø±ðÓÚÆäËü´«Í³ÓÅ»¯·½·¨µÄÖ÷ÒªÌØµãÖ®Ò»¡£ %ÒÅ´«Ëã·¨×Ó³ÌÐò %Name: crossover.m %½»²æ function [newpop]=crossover(pop,pc) [px,py]=size(pop); newpop=ones(size(pop)); for i=1:2:px-1 if(rand newpop(i, =[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];newpop(i+1, =[pop(i+1,1:cpoint),pop(i,cpoint+1:py)];else newpop(i, =pop(i);newpop(i+1, =pop(i+1);end end % 2.6 ±äÒì % ±äÒì(mutation)£¬»ùÒòµÄÍ»±äÆÕ±é´æÔÚÓÚÉúÎïµÄ½ø»¯¹ý³ÌÖС£±äÒìÊÇÖ¸¸¸´úÖеÄÿ¸ö¸öÌåµÄÿһλ¶¼ÒÔ¸ÅÂÊ pm ·×ª£¬¼´ÓÉ¡°1¡±±äΪ¡°0¡±£¬ % »òÓÉ¡°0¡±±äΪ¡°1¡±¡£ÒÅ´«Ëã·¨µÄ±äÒìÌØÐÔ¿ÉÒÔʹÇó½â¹ý³ÌËæ»úµØËÑË÷µ½½â¿ÉÄÜ´æÔÚµÄÕû¸ö¿Õ¼ä£¬Òò´Ë¿ÉÒÔÔÚÒ»¶¨³Ì¶ÈÉÏÇóµÃÈ«¾Ö×îÓŽ⡣ %ÒÅ´«Ëã·¨×Ó³ÌÐò %Name: mutation.m %±äÒì function [newpop]=mutation(pop,pm) [px,py]=size(pop); newpop=ones(size(pop)); for i=1:px if(rand if mpoint<=0 mpoint=1; end newpop(i)=pop(i); if any(newpop(i,mpoint))==0 newpop(i,mpoint)=1; else newpop(i,mpoint)=0; end else newpop(i)=pop(i); end end |
2Â¥2011-01-14 14:36:20
Jokcy
½ð³æ (СÓÐÃûÆø)
- Ó¦Öú: 0 (Ó×¶ùÔ°)
- ½ð±Ò: 1204.4
- Ìû×Ó: 179
- ÔÚÏß: 34.5Сʱ
- ³æºÅ: 1156644
- ×¢²á: 2010-11-26
- ÐÔ±ð: GG
- רҵ: ¼ÆËã»úÓ¦Óü¼Êõ

3Â¥2011-01-15 14:46:09













»Ø¸´´ËÂ¥
=[pop(i,1:cpoint),pop(i+1,cpoint+1:py)];