• 大小: 0.01M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-03-27
  • 语言: Matlab
  • 标签: matlab  

资源简介


解压后,将matlab工作路径切换到ga文件夹,打开intcomputing.m或intcomputing.fig文件运行即可。基本遗传算法matlab的实现(比例选择(轮盘法),单点交叉,基本位变异),可以查看每代种群的最大及平均适应值曲线,各代个体的离散分布图及动画。

资源截图

代码片段和文件信息

%基本选择算子(轮转法)
% current_generation: 选择前的种群(二进制)
% xn: 未知数个数
% return: 选择后的种群(二进制)
function next_generation = basicSelect(current_generationxn)
    cur_code = decoder(current_generationxn);
    m = size(current_generation1);%种群大小
    %初始化:
    next_generation = zeros(msize(current_generation2));
    fitness = zeros(1m);
    
    %计算种群中各个体的适应值
    for i=1:m
        fitness(i) = fitfunction(cur_code(i1)cur_code(i2));
    end
    
    %累加适应值
    acfits = addFitness(fitness);
    
    %轮转法选择
    for k=1:m
        comp = rand()*acfits(m);
        selected = 1;
        for q=1:m
%             if comp>acfits(q)&&comp<=acfits(q+1)
%                 selected = q+1;
%                 break;
%             end
            if comp>acfits(q)
                continue;
            else
                selected = q;
                break;
            end
        end
        next_generation(k:) = current_generation(selected:);
    end
end      
%适应值累加函数    

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

     文件       1276  2011-10-24 21:20  ga\basicSelect.m

     文件        941  2011-10-25 21:40  ga\basicVariation.m

     文件         94  2011-10-20 21:14  ga\createInitialPopulation.m

     文件       1025  2011-10-25 20:27  ga\decoder.m

     文件         92  2011-10-20 22:54  ga\fitfunction.m

     文件       2634  2011-10-26 08:42  ga\ga.m

     文件       9007  2011-10-21 15:40  ga\intcomputing.fig

     文件      13449  2011-10-26 08:56  ga\intcomputing.m

     文件        999  2011-10-23 09:24  ga\singlePointCrossover.m

     目录          0  2011-10-26 08:57  ga

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

                29517                    10


评论

共有 条评论