diff --git a/jastadd-mquat-solver-genetic/build.gradle b/jastadd-mquat-solver-genetic/build.gradle index 4ff9f9bd38fd0ce07df5eba9e9a082f0826299f5..ca6d743d207ec9c18d8d59362735f086bd5253f0 100644 --- a/jastadd-mquat-solver-genetic/build.gradle +++ b/jastadd-mquat-solver-genetic/build.gradle @@ -1,5 +1,6 @@ apply plugin: 'java' +apply plugin: 'application' sourceCompatibility = 1.8 @@ -7,6 +8,16 @@ repositories { mavenCentral() } +jar { + manifest { + attributes "Main-Class": 'de.tudresden.inf.st.mquat.solving.genetic.GeneticMain' + } + + from { + configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } + } +} + dependencies { compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.10.0' compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0' diff --git a/jastadd-mquat-solver-genetic/src/main/java/de/tudresden/inf/st/mquat/solving/genetic/GeneticMain.java b/jastadd-mquat-solver-genetic/src/main/java/de/tudresden/inf/st/mquat/solving/genetic/GeneticMain.java new file mode 100644 index 0000000000000000000000000000000000000000..993342457355527ce927d45ca2fa76473e6e85d6 --- /dev/null +++ b/jastadd-mquat-solver-genetic/src/main/java/de/tudresden/inf/st/mquat/solving/genetic/GeneticMain.java @@ -0,0 +1,43 @@ +package de.tudresden.inf.st.mquat.solving.genetic; + +import de.tudresden.inf.st.mquat.generator.ScenarioDescription; +import de.tudresden.inf.st.mquat.generator.ScenarioGenerator; +import de.tudresden.inf.st.mquat.jastadd.model.Root; +import de.tudresden.inf.st.mquat.jastadd.model.Solution; +import de.tudresden.inf.st.mquat.solving.BenchmarkableSolver; +import de.tudresden.inf.st.mquat.solving.SolvingException; + +import java.util.concurrent.TimeUnit; + +public class GeneticMain { + + public static void main(String[] args) { + + ScenarioGenerator generator = new ScenarioGenerator(new ScenarioDescription(1,1, 0,1,0,2, 10, 10, 1, 1, 0)); + + + Root model = generator.generate(); + + + System.out.println("Problem has an initial solution with objective " + generator.getInitialSolution().computeObjective()); + + BenchmarkableSolver solver = new GeneticSolver(GeneticSolver.SelectorType.NSGA2, 100,100); + + solver.setTimeout(30, TimeUnit.SECONDS); + + + + try { + Solution solution = solver.solve(model); + + System.out.println("Solution is valid: " + solution.isValid()); + + System.out.println("Found solution with objective " + solution.computeObjective()); + + } catch (SolvingException e) { + e.printStackTrace(); + } + + } + +}