| 查看: 358 | 回复: 1 | ||
[求助]
遗传算法求助指点需要改进的地方
|
|
function [out]=my_function(input) clear all; clc; size=50; codel=4; G=100; T1=clock; s=sprintf('程序正在运行中,请稍等......'); disp(s); popu=2*rand(size,codel)-1; for kg=1:G time(kg)=kg; for i=1:size xi=popu(i,; x1=xi(1); x2=xi(2); x3=xi(3); x4=xi(4); a=load('C:\testresult\控制.txt'); b=load('C:\testresult\反馈.txt'); c=0; for k=3:360 f=[b(k)-x1*b(k-1)-x2*b(k-2)-x3*a(k-1)-x4*a(k-2)]^2; c=c+f; Msum(i,k)=c; Mfit(i,k)=1/c; end fitness=Mfit(:,k); end [Oderfi,Indexfi]=sort(fitness); Bestfi=Oderfi(size); BestS=popu(Indexfi(size),; bfi(kg)=Bestfi fi_sum=sum(fitness); fi_size=(Oderfi/fi_sum)*size; fi_s=floor(fi_size); r=size-sum(fi_s); for i=size:-1:size-r+1 fi_s(Indexfi(i))=fi_s(Indexfi(i))+1; %Adding rest to equal Size end k=1; for i=size:-1:1 for j=1:fi_s(i) newpopu(k,=popu(Indexfi(i),; %Selecting and Reproduce k=k+1; %k is used to reproduce end end popu=newpopu; pc=0.9; for i=1:2:size-1 temp=rand; if pc>temp alfa=rand; newpopu(i,=alfa*popu(i+1,+(1-alfa)*popu(i,; newpopu(i+1,=alfa*popu(i,+(1-alfa)*popu(i+1,; end end A(size, =BestS;popu=newpopu; pm=0.1; minx=[-1 -1 -1 -1]; maxx=[1 1 1 1]; Dif=maxx-minx; for i=1:size for j=1:codel if pm>rand(i,j) mean=(minx+maxx)/2 newpopu(i,j)=mean(j)+Dif(j)*(rand-0.5); end end end B(size, =BestS;popu=newpopu; end fmin=1/Bestfi BestS %观测终了代数的极小值(解) figure(1) %画每代适应度最小值fmin、平均值 t=1:G; plot(t,1./bfi,'r') xlabel('t'); ylabel('每代适应度最小值fmin'); T2=clock; %计算运行时间 elapsed_time=T2-T1; if elapsed_time(6)<0 elapsed_time(6)=elapsed_time(6)+60; elapsed_time(5)=elapsed_time(5)-1; end %秒 if elapsed_time(5)<0 elapsed_time(5)=elapsed_time(5)+60;elapsed_time(4)=elapsed_time(4)-1; end %分 if elapsed_time(4)<0 elapsed_time(4)=elapsed_time(4)+24;elapsed_time(3)=elapsed_time(3)-1; end %时 str2=sprintf('程序运行耗时 %d 小时 %d 分钟 %.f 秒',elapsed_time(4),elapsed_time(5),elapsed_time(6)); disp(str2); end 这是我最近根据其他人改进的适合自己的遗传算法,运行速度是6、7分钟,存在以下问题,结果每次相差太大,有时候就是100代都保持相同的值不变,有时候值特别的大,若是收敛值也不理想,请教有什么地方不合适需要改进的地方,请指点,谢谢 |
» 猜你喜欢
参与限项
已经有5人回复
推荐一本书
已经有7人回复
有没有人能给点建议
已经有5人回复
假如你的研究生提出不合理要求
已经有12人回复
全日制(定向)博士
已经有5人回复
萌生出自己或许不适合搞科研的想法,现在跑or等等看?
已经有4人回复
Materials Today Chemistry审稿周期
已经有4人回复
对氯苯硼酸纯化
已经有3人回复
所感
已经有4人回复
要不要辞职读博?
已经有7人回复
» 本主题相关价值贴推荐,对您同样有帮助:
求助:利用蒙特卡罗方法和遗传算法求解可靠度的程序
已经有13人回复
遗传算法和神经网络,改进点
已经有11人回复
遗传算法的一段程序请教解释
已经有9人回复
【求助】合金团簇的遗传算法修改
已经有4人回复
【求助】遗传算法求解eil51.tsp问题,离最优解还很远。怎么办?
已经有26人回复
【分享】粒子群算法和遗传算法应用与改进实验框架
已经有42人回复
【求助】matlab 遗传算法工具箱绘图命令是什么?
已经有6人回复
【求助】请问遗传模拟退火算法能提高搜索质量吗?
已经有4人回复
2楼2011-07-01 15:18:29












=BestS;
回复此楼