• 大小: 5KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: 其他
  • 标签:

资源简介

遗传算法求最小值 经本人调试 十分好用 用run命令调用mainmin1和mainmin2 就可以算出了 f='-(exp(-1))+(x-20).*(x-22)';可以改为其他计算其他函数的最小值

资源截图

代码片段和文件信息



%--------------------------------------------------------------------------
%Crossover%交叉操作
function v=crossover(vtemppc)
[NL]=size(vtemp);
C(:1)=rand(N1)<=pc;%选择被杂交的。<=pc就是1否则是0构成0-1向量
I=find(C(:1)==1);%找分量等于1的元素,其下标构成向量。
I‘;%变成行向量
j=1;
for i=1:2:size(I)%两两配对所以以2为步长
    if i>=size(I)%奇数个处理 如果是奇数个,则最后一行不处理
        break;
    end
    site=fix(1+L*rand(1));%fix向零取整,L=22.%site属于1-22.随机确定交换点的位置
    temp=vtemp(I(i1):);%交换的暂存变量。T  记录要交叉的第一行基因
    vtemp(I(i1)site:end)=vtemp(I(i+11)site:end);%交换后面的数值
    vtemp(I(i+11)site:end)=temp(:site:end);%交换  temp没有被修改
end
v=vtemp;%复制返回
end        
%%

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件        751  2013-12-03 20:58  ga_main\crossover.m

     文件        513  2013-12-03 20:57  ga_main\decode.m

     文件        210  2013-12-03 20:58  ga_main\init_population.m

     文件       2984  2015-08-25 16:28  ga_main\mainmin1.m

     文件       2999  2015-08-25 16:42  ga_main\mainmin2.m

     文件        376  2013-12-05 00:54  ga_main\roulette.m

     文件        403  2013-12-03 21:00  ga_main\roulette2.m

     目录          0  2015-08-25 16:39  ga_main

----------- ---------  ---------- -----  ----

                 8236                    8


评论

共有 条评论

相关资源