Updates to the Matlab interface

This commit is contained in:
Marcel Kronfeld
2010-11-11 13:59:19 +00:00
parent 023bea7ee2
commit aff7042a51
3 changed files with 18 additions and 8 deletions

View File

@@ -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