From bcf9e6fd6fe0ee2c47067a85af5c49bd87c029a3 Mon Sep 17 00:00:00 2001 From: Fabian Becker Date: Mon, 24 Jun 2013 15:46:24 +0200 Subject: [PATCH] Fix matlab interface. pom.xml now targets Java 1.6 since Matlab can't handle 1.7. --- pom.xml | 4 ++-- .../MatlabInterface/@JEInterface/JEInterface.m | 12 ++++++------ resources/MatlabInterface/@JEInterface/optimize.m | 14 +++++++------- .../MatlabInterface/@JEInterface/runEvalLoopJE.m | 2 +- .../MatlabInterface/@JEInterface/testEvalFunc.m | 6 +++--- resources/MatlabInterface/JEInterface-examples.m | 2 +- 6 files changed, 20 insertions(+), 20 deletions(-) diff --git a/pom.xml b/pom.xml index 40d7f85e..7fdaa66c 100644 --- a/pom.xml +++ b/pom.xml @@ -73,8 +73,8 @@ maven-compiler-plugin 2.3.2 - 1.7 - 1.7 + 1.6 + 1.6 diff --git a/resources/MatlabInterface/@JEInterface/JEInterface.m b/resources/MatlabInterface/@JEInterface/JEInterface.m index 3bc7e776..6b630cd5 100644 --- a/resources/MatlabInterface/@JEInterface/JEInterface.m +++ b/resources/MatlabInterface/@JEInterface/JEInterface.m @@ -69,11 +69,11 @@ else end if (strcmp(datatype,'double')) - int.dataType=eva2.server.go.problems.MatlabProblemDataTypeEnum.typeDouble; + int.dataType=eva2.optimization.problems.MatlabProblemDataTypeEnum.typeDouble; elseif strcmp(datatype, 'int') - int.dataType=eva2.server.go.problems.MatlabProblemDataTypeEnum.typeInteger; + int.dataType=eva2.optimization.problems.MatlabProblemDataTypeEnum.typeInteger; elseif strcmp(datatype, 'binary') - int.dataType=eva2.server.go.problems.MatlabProblemDataTypeEnum.typeBinary; + int.dataType=eva2.optimization.problems.MatlabProblemDataTypeEnum.typeBinary; else error('Invalid data type, select double, int, or binary!'); end @@ -127,16 +127,16 @@ end display(getOptions(int)); % finally create the java object if (isempty(int.initialRange)) % binary case - int.mp = eva2.server.go.problems.MatlabProblem(int.dim, int.dataType, int.range); + int.mp = eva2.optimization.problems.MatlabProblem(int.dim, int.dataType, int.range); else % size(int.range); % size(int.initialRange); % eq(size(int.range), size(int.initialRange)) % disp('-------'); if (isempty(int.range) || (sum(eq(size(int.range), size(int.initialRange)))==2)) - int.mp = eva2.server.go.problems.MatlabProblem(int.dim, int.dataType, int.range, int.initialRange); + int.mp = eva2.optimization.problems.MatlabProblem(int.dim, int.dataType, int.range, int.initialRange); %int.mp.getIndividualTemplate().setMutationOperator( ... - % eva2.server.go.operators.mutation.MutateEAMixer(eva2.server.go.operators.mutation.MutateGASwapBits, eva2.server.go.operators.mutation.MutateGAUniform)); + % eva2.optimization.operators.mutation.MutateEAMixer(eva2.optimization.operators.mutation.MutateGASwapBits, eva2.optimization.operators.mutation.MutateGAUniform)); else error('Mismatching dimensions of range and initial range!'); end diff --git a/resources/MatlabInterface/@JEInterface/optimize.m b/resources/MatlabInterface/@JEInterface/optimize.m index 6ca2eaad..3a58d533 100644 --- a/resources/MatlabInterface/@JEInterface/optimize.m +++ b/resources/MatlabInterface/@JEInterface/optimize.m @@ -31,14 +31,14 @@ if ((nargin == 2) || (nargin == 3)) if (ischar(maxEvals)) ; maxEvals= str2num(maxEvals); end; 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.PopulationMeasureTerminator; - import eva2.server.go.operators.terminators.PopulationMeasureTerminator.*; - import eva2.server.go.operators.terminators.CombinedTerminator; - import eva2.server.go.operators.terminators.EvaluationTerminator; + import eva2.optimization.operators.terminators.PhenotypeConvergenceTerminator; + import eva2.optimization.operators.terminators.FitnessConvergenceTerminator; + import eva2.optimization.operators.terminators.PopulationMeasureTerminator; + import eva2.optimization.operators.terminators.PopulationMeasureTerminator.*; + import eva2.optimization.operators.terminators.CombinedTerminator; + import eva2.optimization.operators.terminators.EvaluationTerminator; import eva2.OptimizerFactory; - import eva2.server.go.problems.MatlabProblem; + import eva2.optimization.problems.MatlabProblem; % set some default values if theyre not given % fminsearch, for example, always uses TolX and TolFun with default diff --git a/resources/MatlabInterface/@JEInterface/runEvalLoopJE.m b/resources/MatlabInterface/@JEInterface/runEvalLoopJE.m index 60145175..8c15d6b6 100644 --- a/resources/MatlabInterface/@JEInterface/runEvalLoopJE.m +++ b/resources/MatlabInterface/@JEInterface/runEvalLoopJE.m @@ -22,7 +22,7 @@ end % disp(sprintf('creating mediator')); % set up a mediator and inform JE -int.mediator = eva2.server.go.problems.MatlabEvalMediator(int.opts.NiceSleepTime); +int.mediator = eva2.optimization.problems.MatlabEvalMediator(int.opts.NiceSleepTime); int.mp.setMediator(int.mediator); JEMediator=int.mediator; createStopBox=int.opts.CreateStopBox; diff --git a/resources/MatlabInterface/@JEInterface/testEvalFunc.m b/resources/MatlabInterface/@JEInterface/testEvalFunc.m index 8b5b1b91..d37cf04c 100644 --- a/resources/MatlabInterface/@JEInterface/testEvalFunc.m +++ b/resources/MatlabInterface/@JEInterface/testEvalFunc.m @@ -2,7 +2,7 @@ function testEvalFunc(int) % Test the fitness function output format. wordwidth=32; -if (strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typeBinary)) +if (strcmp(int.dataType,eva2.optimization.problems.MatlabProblemDataTypeEnum.typeBinary)) % binary problem s=sprintf('Binary problem of bitwidth %d', int.dim); disp(s); @@ -13,7 +13,7 @@ if (strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typeBi %x(numInts)=bitshift(x(numInts),-overheadBits); % shift right by overhead bs=eva2.tools.math.RNG.randomBitSet(0.5, int.dim); x=convertUnsignedJE(int, bs); -elseif strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typeDouble) +elseif strcmp(int.dataType,eva2.optimization.problems.MatlabProblemDataTypeEnum.typeDouble) % double problem x=rand(1, int.dim); s=sprintf('Real valued problem in %d dimensions and range %s ', int.dim, mat2str(int.range)); @@ -21,7 +21,7 @@ elseif strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typ for i=1:int.dim x(i)=int.range(i,1)+x(i)*(int.range(i,2)-int.range(i,1)); end -elseif strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typeInteger) +elseif strcmp(int.dataType,eva2.optimization.problems.MatlabProblemDataTypeEnum.typeInteger) % integer problem s=sprintf('Real valued problem in %d dimensions and range %s ', int.dim, mat2str(int.range)); disp(s); diff --git a/resources/MatlabInterface/JEInterface-examples.m b/resources/MatlabInterface/JEInterface-examples.m index b284fb57..66032f66 100755 --- a/resources/MatlabInterface/JEInterface-examples.m +++ b/resources/MatlabInterface/JEInterface-examples.m @@ -19,7 +19,7 @@ finalPop=getMultipleResults(JI); R=30; JI=JEInterface(@testfun, 'binary', R, R, 4, 'Display', 'iter'); JI=setOutputAllStatsFields(JI, 0); % suppress output of additional statistics, spares runtime with large populations -JI=optimizeWith(JI, 3, 'population', eva2.server.go.populations.Population(1000); +JI=optimizeWith(JI, 3, 'population', eva2.optimization.populations.Population(1000); [sol, fit]=getResult(JI); finalPop=getMultipleResults(JI);