zoukankan      html  css  js  c++  java
  • 2.4 运行JSOP

    在上一节中,我们将适应度函数设定为Rastrigin函数,现在我们就通过JSOP来寻找该函数的全局最小值(JSOP默认寻找函数的最小值而非最大值)。

    打开usr.m,相关参数设置如下

    %仿真设置
    model_name='test.cst';      %CST模型路径
    result_route='1D ResultsS-Parameters';      %仿真结果在Navigation Tree中的路径
    result_name='SZmax(1),Zmax(1)';      %仿真结果的名称(参见rtdata.txt)
    plot_mode='phase';    %仿真结果的模式,包括'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=40;    %一代中个体的数量
    PRECI=20;    %单个变量的二进制位数   
    MTR=1;    %变异率(默认值的倍数)
    
    %其它设置
    plot_graph=2;    %0:不绘制进化曲线  1:每进化一代就更新进化曲线  2:完成最后一代后再绘制进化曲线
    plot_ave=false;    %是否显示种群平均值
    
    %----------------------------------------------------------------------------------------
    main_function(  model_name, result_route, result_name,  plot_mode,  solver_type,  ...  
                    var_name,  var_bound',  inserts,  var_constrain,  ...
                    MAXGEN,  NIND,  PRECI,  MTR, ...
                    plot_graph, plot_ave, start_cst);
                         
    %JSOP1.2
    

    由于不需要调用CST,因此“仿真设置”中除了start_cst,其它的变量可任意设置,只要没有语法错误即可。

    运行usr.m,几秒钟后程序即运行完毕并显示出进化曲线图,如下图所示。

    每一代的最优个体的适应度值输出在命令行窗口,可以看到,当种群进化到第40代,就基本找到了全局最小值0。

    打开JSOPinterface esult.txt,可以看到每一代的每个个体的参数和适应度值,如下图所示,图中展示了某一代的第35-40号个体的信息。在每一代信息的最下方还有每一代的最优个体和平均适应度值,在图中,最优个体为17号个体,平均适应度值为8.0588

     

    如果JSOP没有优化出期望的结果,可以重新运行JSOP进行优化,运行时JSOP会先将result.txt中的数据备份到同一文件夹下的result.old.txt中,再将result.txt清空。需要注意的是,result.old.txt只对上一次的运行结果进行备份,因此若要保留运行结果,建议对result.txt进行手动备份。

  • 相关阅读:
    HTMLParser使用
    SpringMVC学习系列(6) 之 数据验证
    SpringMVC学习系列 之 表单标签
    开源OSS.Social微信项目解析
    源码分析——核心机制
    Struts2 源码分析——过滤器(Filter)
    调结者(Dispatcher)之执行action
    配置管理之PackageProvider接口
    源码分析——Action代理类的工作
    DefaultActionInvocation类的执行action
  • 原文地址:https://www.cnblogs.com/bill-h/p/13073873.html
Copyright © 2011-2022 走看看