• 大小: 9KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-05
  • 语言: Matlab
  • 标签: DE  matlab  code  

资源简介

微分进化算法,附带简单的例子,可以站内交流,

资源截图

代码片段和文件信息

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Function:         [FVr_bestmemS_bestvalI_nfeval] = deopt(fnameS_struct)
%                    
% Author:           Rainer Storn Ken Price Arnold Neumaier Jim Van Zandt
% Description:      Minimization of a user-supplied function with respect to x(1:I_D)
%                   using the differential evolution (DE) algorithm.
%                   DE works best if [FVr_minboundFVr_maxbound] covers the region where the
%                   global minimum is expected. DE is also somewhat sensitive to
%                   the choice of the stepsize F_weight. A good initial guess is to
%                   choose F_weight from interval [0.5 1] e.g. 0.8. F_CR the crossover
%                   probability constant from interval [0 1] helps to maintain
%                   the diversity of the population but should be close to 1 for most. 
%                   practical cases. Only separable problems do better with CR close to 0.
%                   If the parameters are correlated high values of F_CR work better.
%                   The reverse is true for no correlation.
%
%                   The number of population members I_NP is also not very critical(决定性的). A
%                   good initial guess is 10*I_D. Depending on the difficulty of the
%                   problem I_NP can be lower than 10*I_D or must be higher than 10*I_D
%                   to achieve convergence.
%
%                   deopt is a vectorized variant of DE which however has a
%                   property which differs from the original version of DE:
%                   The random selection of vectors is performed by shuffling(滑移) the
%                   population array. Hence a certain vector can‘t be chosen twice
%                   in the same term of the perturbation expression.
%                   Due to the vectorized expressions deopt executes fairly fast
%                   in MATLAB‘s interpreter environment.
%
% Parameters:       fname        (I)    String naming a function f(xy) to minimize.
%                   S_struct     (I)    Problem data vector (must remain fixed during the
%                                       minimization). For details see Rundeopt.m.
%                   ---------members of S_struct----------------------------------------------------
%                   F_VTR        (I)    “Value To Reach“. deopt will stop its minimization
%                                       if either the maximum number of iterations “I_itermax“
%                                       is reached or the best parameter vector “FVr_bestmem“ 
%                                       has found a value f(FVr_bestmemy) <= F_VTR.
%                   FVr_minbound (I)    Vector of lower bounds FVr_minbound(1) ... FVr_minbound(I_D)
%                                       of initial population.
%                                       *** note: these are not bound con

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

     文件      15800  2010-04-12 21:34  DE\deopt.m

     文件       1839  2010-04-13 19:52  DE\left_win.m

     文件       2260  2010-04-12 21:36  DE\objfun.m

     文件       1453  2002-01-24 23:05  DE\PlotIt.m

     文件       5100  2010-04-12 17:17  DE\Rundeopt.m

     文件        512  2002-01-24 22:51  DE\step.m

     目录          0  2010-05-15 12:14  DE

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

                26964                    7


评论

共有 条评论