Updates to the Matlab interface
This commit is contained in:
@@ -32,10 +32,13 @@ if ((nargin == 2) || (nargin == 3))
|
||||
if (ischar(fTol)) ; fTol = str2num(fTol); end;
|
||||
|
||||
import eva2.server.go.operators.terminators.PhenotypeConvergenceTerminator;
|
||||
import eva2.server.go.operators.terminators.FitnessConvergenceTerminator;
|
||||
import eva2.server.go.operators.terminators.FitnessConvergenceTerminator;
|
||||
import eva2.server.go.operators.terminators.PopulationMeasureTerminator;
|
||||
import eva2.server.go.operators.terminators.PopulationMeasureTerminator.*;
|
||||
import eva2.server.go.operators.terminators.CombinedTerminator;
|
||||
import eva2.server.go.operators.terminators.EvaluationTerminator;
|
||||
import eva2.OptimizerFactory;
|
||||
import eva2.server.go.problems.MatlabProblem;
|
||||
|
||||
% set some default values if theyre not given
|
||||
% fminsearch, for example, always uses TolX and TolFun with default
|
||||
@@ -46,11 +49,12 @@ if ((nargin == 2) || (nargin == 3))
|
||||
% construct Terminators
|
||||
if ((xTol > 0) && (fTol > 0))
|
||||
% both criteria are given, use combination
|
||||
convTerm = CombinedTerminator(FitnessConvergenceTerminator(fTol, int.opts.TolFunEvals, 1, 1), PhenotypeConvergenceTerminator(xTol, int.opts.TolXEvals, 1, 1), 1);
|
||||
convTerm = CombinedTerminator(MatlabProblem.makeFitConvTerm(fTol, int.opts.TolFunEvals), ...
|
||||
MatlabProblem.makePhenConvTerm(xTol, int.opts.TolXEvals), 1);
|
||||
else if (xTol > 0) % only phenotye convergence
|
||||
convTerm = PhenotypeConvergenceTerminator(xTol, int.opts.TolXEvals, 1, 1);
|
||||
convTerm = MatlabProblem.makePhenConvTerm(xTol, int.opts.TolXEvals);
|
||||
else if (fTol > 0 ) % only fitness covnergence
|
||||
convTerm = FitnessConvergenceTerminator(fTol, int.opts.TolFunEvals, 1, 1);
|
||||
convTerm = MatlabProbelm.makeFitConvTerm(fTol, int.opts.TolFunEvals);
|
||||
else
|
||||
convTerm = 'undef'; % signal that there is no terminator yet
|
||||
end
|
||||
|
Reference in New Issue
Block a user