Fix matlab interface.
pom.xml now targets Java 1.6 since Matlab can't handle 1.7.
This commit is contained in:
parent
b4d90e411e
commit
bcf9e6fd6f
4
pom.xml
4
pom.xml
@ -73,8 +73,8 @@
|
|||||||
<artifactId>maven-compiler-plugin</artifactId>
|
<artifactId>maven-compiler-plugin</artifactId>
|
||||||
<version>2.3.2</version>
|
<version>2.3.2</version>
|
||||||
<configuration>
|
<configuration>
|
||||||
<source>1.7</source>
|
<source>1.6</source>
|
||||||
<target>1.7</target>
|
<target>1.6</target>
|
||||||
</configuration>
|
</configuration>
|
||||||
</plugin>
|
</plugin>
|
||||||
<plugin>
|
<plugin>
|
||||||
|
@ -69,11 +69,11 @@ else
|
|||||||
end
|
end
|
||||||
|
|
||||||
if (strcmp(datatype,'double'))
|
if (strcmp(datatype,'double'))
|
||||||
int.dataType=eva2.server.go.problems.MatlabProblemDataTypeEnum.typeDouble;
|
int.dataType=eva2.optimization.problems.MatlabProblemDataTypeEnum.typeDouble;
|
||||||
elseif strcmp(datatype, 'int')
|
elseif strcmp(datatype, 'int')
|
||||||
int.dataType=eva2.server.go.problems.MatlabProblemDataTypeEnum.typeInteger;
|
int.dataType=eva2.optimization.problems.MatlabProblemDataTypeEnum.typeInteger;
|
||||||
elseif strcmp(datatype, 'binary')
|
elseif strcmp(datatype, 'binary')
|
||||||
int.dataType=eva2.server.go.problems.MatlabProblemDataTypeEnum.typeBinary;
|
int.dataType=eva2.optimization.problems.MatlabProblemDataTypeEnum.typeBinary;
|
||||||
else
|
else
|
||||||
error('Invalid data type, select double, int, or binary!');
|
error('Invalid data type, select double, int, or binary!');
|
||||||
end
|
end
|
||||||
@ -127,16 +127,16 @@ end
|
|||||||
display(getOptions(int));
|
display(getOptions(int));
|
||||||
% finally create the java object
|
% finally create the java object
|
||||||
if (isempty(int.initialRange)) % binary case
|
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
|
else
|
||||||
% size(int.range);
|
% size(int.range);
|
||||||
% size(int.initialRange);
|
% size(int.initialRange);
|
||||||
% eq(size(int.range), size(int.initialRange))
|
% eq(size(int.range), size(int.initialRange))
|
||||||
% disp('-------');
|
% disp('-------');
|
||||||
if (isempty(int.range) || (sum(eq(size(int.range), size(int.initialRange)))==2))
|
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( ...
|
%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
|
else
|
||||||
error('Mismatching dimensions of range and initial range!');
|
error('Mismatching dimensions of range and initial range!');
|
||||||
end
|
end
|
||||||
|
@ -31,14 +31,14 @@ if ((nargin == 2) || (nargin == 3))
|
|||||||
if (ischar(maxEvals)) ; maxEvals= str2num(maxEvals); end;
|
if (ischar(maxEvals)) ; maxEvals= str2num(maxEvals); end;
|
||||||
if (ischar(fTol)) ; fTol = str2num(fTol); end;
|
if (ischar(fTol)) ; fTol = str2num(fTol); end;
|
||||||
|
|
||||||
import eva2.server.go.operators.terminators.PhenotypeConvergenceTerminator;
|
import eva2.optimization.operators.terminators.PhenotypeConvergenceTerminator;
|
||||||
import eva2.server.go.operators.terminators.FitnessConvergenceTerminator;
|
import eva2.optimization.operators.terminators.FitnessConvergenceTerminator;
|
||||||
import eva2.server.go.operators.terminators.PopulationMeasureTerminator;
|
import eva2.optimization.operators.terminators.PopulationMeasureTerminator;
|
||||||
import eva2.server.go.operators.terminators.PopulationMeasureTerminator.*;
|
import eva2.optimization.operators.terminators.PopulationMeasureTerminator.*;
|
||||||
import eva2.server.go.operators.terminators.CombinedTerminator;
|
import eva2.optimization.operators.terminators.CombinedTerminator;
|
||||||
import eva2.server.go.operators.terminators.EvaluationTerminator;
|
import eva2.optimization.operators.terminators.EvaluationTerminator;
|
||||||
import eva2.OptimizerFactory;
|
import eva2.OptimizerFactory;
|
||||||
import eva2.server.go.problems.MatlabProblem;
|
import eva2.optimization.problems.MatlabProblem;
|
||||||
|
|
||||||
% set some default values if theyre not given
|
% set some default values if theyre not given
|
||||||
% fminsearch, for example, always uses TolX and TolFun with default
|
% fminsearch, for example, always uses TolX and TolFun with default
|
||||||
|
@ -22,7 +22,7 @@ end
|
|||||||
% disp(sprintf('creating mediator'));
|
% disp(sprintf('creating mediator'));
|
||||||
|
|
||||||
% set up a mediator and inform JE
|
% 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);
|
int.mp.setMediator(int.mediator);
|
||||||
JEMediator=int.mediator;
|
JEMediator=int.mediator;
|
||||||
createStopBox=int.opts.CreateStopBox;
|
createStopBox=int.opts.CreateStopBox;
|
||||||
|
@ -2,7 +2,7 @@ function testEvalFunc(int)
|
|||||||
% Test the fitness function output format.
|
% Test the fitness function output format.
|
||||||
wordwidth=32;
|
wordwidth=32;
|
||||||
|
|
||||||
if (strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typeBinary))
|
if (strcmp(int.dataType,eva2.optimization.problems.MatlabProblemDataTypeEnum.typeBinary))
|
||||||
% binary problem
|
% binary problem
|
||||||
s=sprintf('Binary problem of bitwidth %d', int.dim);
|
s=sprintf('Binary problem of bitwidth %d', int.dim);
|
||||||
disp(s);
|
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
|
%x(numInts)=bitshift(x(numInts),-overheadBits); % shift right by overhead
|
||||||
bs=eva2.tools.math.RNG.randomBitSet(0.5, int.dim);
|
bs=eva2.tools.math.RNG.randomBitSet(0.5, int.dim);
|
||||||
x=convertUnsignedJE(int, bs);
|
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
|
% double problem
|
||||||
x=rand(1, int.dim);
|
x=rand(1, int.dim);
|
||||||
s=sprintf('Real valued problem in %d dimensions and range %s ', int.dim, mat2str(int.range));
|
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
|
for i=1:int.dim
|
||||||
x(i)=int.range(i,1)+x(i)*(int.range(i,2)-int.range(i,1));
|
x(i)=int.range(i,1)+x(i)*(int.range(i,2)-int.range(i,1));
|
||||||
end
|
end
|
||||||
elseif strcmp(int.dataType,eva2.server.go.problems.MatlabProblemDataTypeEnum.typeInteger)
|
elseif strcmp(int.dataType,eva2.optimization.problems.MatlabProblemDataTypeEnum.typeInteger)
|
||||||
% integer problem
|
% integer problem
|
||||||
s=sprintf('Real valued problem in %d dimensions and range %s ', int.dim, mat2str(int.range));
|
s=sprintf('Real valued problem in %d dimensions and range %s ', int.dim, mat2str(int.range));
|
||||||
disp(s);
|
disp(s);
|
||||||
|
@ -19,7 +19,7 @@ finalPop=getMultipleResults(JI);
|
|||||||
R=30;
|
R=30;
|
||||||
JI=JEInterface(@testfun, 'binary', R, R, 4, 'Display', 'iter');
|
JI=JEInterface(@testfun, 'binary', R, R, 4, 'Display', 'iter');
|
||||||
JI=setOutputAllStatsFields(JI, 0); % suppress output of additional statistics, spares runtime with large populations
|
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);
|
[sol, fit]=getResult(JI);
|
||||||
finalPop=getMultipleResults(JI);
|
finalPop=getMultipleResults(JI);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user