美文网首页
遗传算法案例代码注解【转】

遗传算法案例代码注解【转】

作者: 每天必吃香菜 | 来源:发表于2020-03-22 22:47 被阅读0次

    本代码采用matlab编写:

    %% I. 清空环境变量

    clear all

    clc

    %% II. 绘制函数曲线

    x = 0:0.01:9;

    y =  x + 10*sin(5*x)+7*cos(4*x);

    figure

    plot(x, y)

    xlabel('自变量')

    ylabel('因变量')

    title('y = x + 10*sin(5*x) + 7*cos(4*x)')

    %% III. 初始化种群

    initPop = initializega(50,[0 9],'fitness');%种群大小,变量变化范围,适应度函数名称

    %% IV. 遗传算法优化

    [x endPop bpop trace] = ga([0 9],'fitness',[],initPop,[1e-6 1 1],'maxGenTerm',25,...

        'normGeomSelect',0.08,'arithXover',2,'nonUnifMutation',[2 25 3]);

    %变量范围上下界;适应度函数;适应度函数参数;初始种群;精度和显示方式;终止函数名称;终止函数参数;

    %选择函数名称;选择函数参数;交叉函数名称;交叉函数参数;变异函数名称;变异函数参数

    %X最优个体;endpop优化终止的最优种群;bpop最优种群的进化轨迹;trace进化叠代过程中最优适应度函数和适应度函数值的矩阵

    %% V. 输出最优解并绘制最优点

    x

    hold on

    plot (endPop(:,1),endPop(:,2),'ro')

    %% VI. 绘制迭代进化曲线

    figure(2)

    plot(trace(:,1),trace(:,3),'b:')

    hold on

    plot(trace(:,1),trace(:,2),'r-')

    xlabel('Generation'); ylabel('Fittness');

    legend('Mean Fitness', 'Best Fitness')

    相关文章

      网友评论

          本文标题:遗传算法案例代码注解【转】

          本文链接:https://www.haomeiwen.com/subject/qgqcjhtx.html