• 附录2 伪进化曲线


    打开shell/GA.m,在倒数第6行处添加两行代码

    %添加以下两行代码!!!
    global bests;
    bests=[(1:gen)',(best_points(1:gen))'];
    
    [a,b]=min(ObjV);
    bestChrom=Chrom(b,:);
    x=bs2rv(bestChrom,FieldD);
    y={a,x};
    fprintf('Program Finish
    ');
    
    end
    

    再将usr.m的代码设置如下

    %仿真设置
    model_name='test.cst';      %CST模型路径
    result_route='1D ResultsS-Parameters';      %仿真结果在Navigation Tree中的路径
    plot_mode='magnitudedb';    %仿真结果的模式,包括'magnitude','magnitudedb', 'phase', 'polar',  'real', 'imaginary', 'smith', 'smithy'
    solver_type='FDSolver';    %频域求解器:FDSolver  时域求解器:Solver
    start_cst=false;    %是否调用CST
     
    %变量设置
    var_name={'d','w'};    %变量名称
    var_bound=[[-10,10];[-10,10]];    %变量变化范围 [ [变量1的下界,变量1的上界] ; [变量2的下界,变量2的上界] ; ...]
    inserts=[ ];    %插入指定个体
    var_constrain='';    %变量的限制条件,若无限制请输入''
     
    %种群设置
    MAXGEN=100;    %最大代数
    NIND=20;    %一代中个体的数量
    PRECI=20;    %单个变量的二进制位数  
    MTR=1;    %变异率(默认值的倍数)
     
    %其它设置
    plot_graph=2;    %0:不绘制进化曲线  1:每进化一代就更新进化曲线  2:完成最后一代后再绘制进化曲线
    plot_ave=false;    %是否显示种群平均值
     
    
    
    %----------------------------------------------------------------------------------------
    global bests
    bests=0;
    main_function(  model_name, result_route,   plot_mode,  solver_type,  ... 
                                var_name,  var_bound',  inserts,  var_constrain,  ...
                                MAXGEN,  NIND,  PRECI,  MTR, ...
                                plot_graph, plot_ave, start_cst);
                          
    %JSOP1.3
    
    min_=bests(MAXGEN,2);
    max_=bests(1,2);
    bests(:,2)=(bests(:,2)-max_)/(max_-min_);
    min_=-20;   %期望最小值
    max_=-10;    %期望最大值
    bests(:,2)=bests(:,2)*(max_-min_)+max_;
    plot(bests(:,1),bests(:,2));
    

    其中倒数第四行的min_是您所期望的伪进化曲线的最小值,倒数第三行的max_是您所期望的伪进化曲线的最大值。

    运行usr.m,我们得到了如下的伪进化曲线图

    可以看到,种群从我们期望的最大值-10进化到了期望的最小值-20

  • 相关阅读:
    强迫症
    bzoj1758 [Wc2010]重建计划
    bzoj1070 [SCOI2007]修车
    bzoj3675 [Apio2014]序列分割
    bzoj1010 [HNOI2008]玩具装箱toy
    bzoj3697 采药人的路径
    bzoj2152 聪聪可可
    bzoj2599 [IOI2011]Race
    Ubuntu 18.04 LTS 下 GTK3 安装与编译
    启动或重启 dnsmasq 提示端口 53 被占用的解决方案
  • 原文地址:https://www.cnblogs.com/bill-h/p/13173237.html
Copyright © 2020-2023  润新知