⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 isittimetostop.m

📁 matlab7 gads工具箱
💻 M
字号:
function reasonToStop = isItTimeToStop(options,state)
% Check to see if any of the stopping criteria have been met.
%   isItTimeToStop(options,state); is a string containing the reason the ga
%   should be stopped. The empty string means that it is not time to stop.

%   Copyright 2004 The MathWorks, Inc. 
%   $Revision: 1.6.4.1 $  $Date: 2004/03/09 16:15:50 $

if  any(strcmpi(options.Display, {'iter','diagnose'}))
    Gen      = state.Generation; 
    FunEval  = Gen*length(state.Score);
    BestFval = state.Best(Gen);
    MeanFval = mean(state.Score);
    StallGen = Gen  - state.LastImprovement;
    fprintf('%5.0f         %5.0f    %12.4g    %12.4g    %5.0f\n', ...
        Gen, FunEval, BestFval, MeanFval, StallGen);
end
reasonToStop = [];
if(state.Generation >= options.Generations)
    reasonToStop = sprintf(['Optimization terminated: ','maximum number of generations exceeded.']);
elseif((cputime-state.StartTime) > options.TimeLimit)
    reasonToStop = sprintf(['Optimization terminated: ','time limit exceeded.']);
elseif((cputime-state.LastImprovementTime) > options.StallTimeLimit)
    reasonToStop = sprintf(['Optimization terminated: ','stall time limit exceeded.']);
elseif((state.Generation  - state.LastImprovement) > options.StallGenLimit)
    reasonToStop = sprintf(['Optimization terminated: ','stall generations limit exceeded.']);
elseif(min(min(state.Score)) <= options.FitnessLimit )
    reasonToStop = sprintf(['Optimization terminated: ','minimum fitness limit reached.']);
elseif(~isempty(state.StopFlag))
    reasonToStop = sprintf(['Optimization terminated: ',state.StopFlag]);
end

if ~isempty(reasonToStop) && any(strcmpi(options.Display, {'iter','diagnose','final'}))
    fprintf('%s\n',reasonToStop);
end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -