| 查看: 655 | 回复: 1 | ||
[求助]
遗传算法程序中不懂得地方
|
|
我最近在看遗传算法,看了一个程序对于其中的一些不太懂,所以想向大家请教一下: 这篇文章是实数编码遗传算法求Rosenbrock函数极大值,这个是从网上下下来的。 for i=1:Size xi=E(i, x1=xi(1) x2=xi(2) F(i)=100*(x1^2-x2)^2+(1-x1)^2 Ji=1./F BsJi(i)=min(Ji) end [OderJi,IndexJi]=sort(BsJi) BestJ(kg)=OderJi(1) BJ=BestJ(kg) Ji=BsJi+eps fi=F [Oderfi,Indexfi]=sort(fi) Bestfi=Oderfi(Size) BestS=E(Indexfi(Size), bfi(kg)=Bestfi fi_sum=sum(fi) fi_Size=(Oderfi/fi_sum)*Size fi_S=floor(fi_Size) r=Size-sum(fi_S) Rest=fi_Size-fi_S [RestValue,Index]=sort(Rest) for i=Size:-1:Size-r+1 fi_S(Index(i))=fi_S(Index(i))+1 end k=1; for i=Size:-1:1 for j=1:fi_S(i) TempE(k,=E(Indexfi(i), k=k+1 end end Pc=0.90; for i=1:2:Size-1 temp=rand if Pc>temp alfa=rand TempE(i,=alfa*E(i+1,+(1-alfa)*E(i, TempE(i+1,=alfa*E(i,+(1-alfa)*E(i+1, end end TempE(Size, =BestSE=TempE Pm=0.10-[1:Size]*(0.01)/Size %Bigger fi,smaller Pm Pm_rand=rand(Size,CodeL) Mean=(MaxX+MinX)/2 Dif=MaxX-MinX for i=1:Size for j=1:CodeL if Pm(i)>m_rand(i,j) TempE(i,j)=Mean(j)+Dif(j)*(rand-0.5) end end end end %Guarantee TempE(Size, belong to the best individualTempE(Size, =BestSE=TempE 这句话Rest=fi_Size-fi_S是什么意思呢?还有有的话就像这样的TempE(Size, 为什么要写个括号是什么意思呢?这还是个自适应pm函数是吧? r=Size-sum(fi_S)这句话的r是什么意思呢?还有这句话TempE(k, =E(Indexfi(i), 请高手指教。 |
» 猜你喜欢
“人文社科而论,许多学术研究还没有达到民国时期的水平”
已经有6人回复
体制内长辈说体制内绝大部分一辈子在底层,如同你们一样大部分普通教师忙且收入低
已经有16人回复
版面费该交吗
已经有13人回复
面上可以超过30页吧?
已经有6人回复
网上报道青年教师午睡中猝死、熬夜猝死的越来越多,主要哪些原因引起的?
已经有4人回复
为什么中国大学工科教授们水了那么多所谓的顶会顶刊,但还是做不出宇树机器人?
已经有10人回复
什么是人一生最重要的?
已经有4人回复
» 本主题相关价值贴推荐,对您同样有帮助:
关于遗传算法中交叉的程序
已经有5人回复
遗传算法的一段程序请教解释
已经有9人回复
请教关于遗传算法编程的问题(俺是小白)
已经有4人回复
【其他】了解遗传算法
已经有12人回复
【讨论】遗传算法解决象棋问题
已经有8人回复
【原创】请教遗传算法+车间调度相关的研究方向?谢谢
已经有4人回复
【分享】粒子群算法和遗传算法应用与改进实验框架
已经有42人回复
【求助】matlab 遗传算法工具箱绘图命令是什么?
已经有6人回复
Holland 遗传算法之父讲座(附PPT和讲座录音)
已经有19人回复
【求助】哪位高人讲一下遗传算法啥意思?书本看不懂啊!
已经有6人回复
2楼2011-05-13 15:16:11













=BestS
回复此楼