diff --git a/SoSyM2021info.txt b/SoSyM2021info.txt new file mode 100644 index 000000000..7f24ddd83 --- /dev/null +++ b/SoSyM2021info.txt @@ -0,0 +1,2 @@ +This branch represents the MDEO version used to perform experiments for the following SoSyM2021 paper: +https://github.com/Leative/SoSyM21-MDO-framework-evaluation-extended \ No newline at end of file diff --git a/build/maven/build.xml b/build/maven/build.xml index 9a5927aad..a36caba5f 100644 --- a/build/maven/build.xml +++ b/build/maven/build.xml @@ -7,7 +7,9 @@ - + + + @@ -20,8 +22,10 @@ - + + diff --git a/build/maven/template/pom.xml.template b/build/maven/template/pom.xml.template index f2503ba4d..56ef76223 100644 --- a/build/maven/template/pom.xml.template +++ b/build/maven/template/pom.xml.template @@ -147,6 +147,23 @@ + + + + com.coveo + + + fmt-maven-plugin + + [2.8,) + + format + + + + + + diff --git a/dependencies.xml b/dependencies.xml index 0494a54b2..ef377ea07 100644 --- a/dependencies.xml +++ b/dependencies.xml @@ -1,6 +1,11 @@ - + + + + + + diff --git a/interfaces/eclipse/build.xml b/interfaces/eclipse/build.xml index 8afa801fe..f703f0acb 100644 --- a/interfaces/eclipse/build.xml +++ b/interfaces/eclipse/build.xml @@ -7,7 +7,9 @@ - + + + diff --git a/languages/mopt/xtext/pom.xml b/languages/mopt/xtext/pom.xml index 7dfc74638..16ab5207e 100644 --- a/languages/mopt/xtext/pom.xml +++ b/languages/mopt/xtext/pom.xml @@ -167,9 +167,7 @@ add-resource - add-source add-test-resource - add-test-source diff --git a/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/MoeaFrameworkAlgorithmConfiguration.java b/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/MoeaFrameworkAlgorithmConfiguration.java index 1f6fa6d33..ca443cbad 100644 --- a/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/MoeaFrameworkAlgorithmConfiguration.java +++ b/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/MoeaFrameworkAlgorithmConfiguration.java @@ -65,9 +65,9 @@ public Properties loadProperties() { .getNumeric())); } - populateNumericParameter( + populateIntegerParameter( properties, this.solverSpec.getAlgorithm().getParameters(), "archive.size"); - populateNumericParameter( + populateIntegerParameter( properties, this.solverSpec.getAlgorithm().getParameters(), "bisections"); properties.put("solutionGenerator", solutionGenerator); @@ -89,10 +89,11 @@ public Properties loadProperties() { * @param parameters * @param parameterKey */ - private void populateNumericParameter( + private void populateIntegerParameter( Properties properties, EList parameters, String parameterKey) { var parameter = parameters.stream().filter(p -> p.getName().equals(parameterKey)).findFirst(); - parameter.ifPresent(p -> properties.put(parameterKey, p.getValue().getNumeric())); + parameter.ifPresent( + p -> properties.put(parameterKey, Integer.parseInt(p.getValue().getNumeric()))); } /** diff --git a/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/algorithms/MoeaOptimisationAlgorithmProvider.java b/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/algorithms/MoeaOptimisationAlgorithmProvider.java index ac2090bf8..96a66086b 100644 --- a/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/algorithms/MoeaOptimisationAlgorithmProvider.java +++ b/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/moea/algorithms/MoeaOptimisationAlgorithmProvider.java @@ -25,6 +25,7 @@ public Algorithm getAlgorithm(String algorithm, Properties properties, Problem p break; case "SMSMOEA": this.algorithm = createSMSMOEA(problem, properties); + break; case "IBEA": this.algorithm = createIBEA(problem, properties); break; @@ -33,10 +34,13 @@ public Algorithm getAlgorithm(String algorithm, Properties properties, Problem p break; case "VEGA": this.algorithm = createVEGA(problem, properties); + break; case "PESA2": this.algorithm = createPESA2(problem, properties); + break; case "PAES": this.algorithm = createPAES(problem, properties); + break; case "RANDOM": this.algorithm = createRandom(problem, properties); default: @@ -175,9 +179,8 @@ public Algorithm createIBEA(Problem problem, Properties properties) { } public Algorithm createPESA2(Problem problem, Properties properties) { - - var bisections = 0; - var archiveSize = 0; + var bisections = (Integer) properties.get("bisections"); + var archiveSize = (Integer) properties.get("archive.size"); return new PESA2( problem, @@ -192,12 +195,7 @@ public Algorithm createPAES(Problem problem, Properties properties) { var bisections = (Integer) properties.get("bisections"); var archiveSize = (Integer) properties.get("archive.size"); - return new PESA2( - problem, - getVariation(properties), - getRandomInitialization(problem, properties), - bisections, - archiveSize); + return new PAES(problem, getVariation(properties), bisections, archiveSize); } public Algorithm createRandom(Problem problem, Properties properties) { diff --git a/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/output/descriptors/SystemInformationDescriptor.java b/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/output/descriptors/SystemInformationDescriptor.java index 199376582..000e63047 100644 --- a/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/output/descriptors/SystemInformationDescriptor.java +++ b/libraries/core/src/main/java/uk/ac/kcl/inf/mdeoptimiser/libraries/core/optimisation/output/descriptors/SystemInformationDescriptor.java @@ -35,7 +35,7 @@ public void generateDescription( batchWriter.println(); batchWriter.write(getJavaVersion()); batchWriter.println(); - batchWriter.write(getHardwareInfo()); + // batchWriter.write(getHardwareInfo()); batchWriter.close(); } catch (IOException e) {