From cd63ccf6fba2a812a9b115635bbd209c92cebad0 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Sun, 9 Jun 2019 15:13:00 -0400 Subject: Bump MDEOptimizer version https://github.com/mde-optimiser/mde_optimiser/issues/49 --- .../domains/cps/mdeo/CpsMdeOptimiserMain.xtend | 5 +- .../cps/mdeo/ExcludedOptimisationInterpreter.xtend | 85 ---------------------- 2 files changed, 2 insertions(+), 88 deletions(-) delete mode 100644 Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend (limited to 'Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps') diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend index 459c6ab7..4a4b7a87 100644 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend +++ b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/CpsMdeOptimiserMain.xtend @@ -11,7 +11,7 @@ import org.eclipse.emf.common.util.URI import org.eclipse.emf.ecore.EPackage import org.eclipse.emf.ecore.resource.Resource import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl -import uk.ac.kcl.inf.mdeoptimiser.languages.MoptStandaloneSetup +import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run class CpsMdeOptimiserMain { static val PROJECT_PATH = "." @@ -31,8 +31,7 @@ class CpsMdeOptimiserMain { problem.eResource.URI = URI.createFileURI(PROBLEM_PATH) problem.eResource.save(emptyMap) fixupHenshinModel("model/cps.henshin", "model/cps_fixup.henshin", #{"cps.ecore" -> CpsPackage.eNS_URI}) - val injector = new MoptStandaloneSetup().createInjectorAndDoEMFRegistration(); - injector.getInstance(ExcludedRun).run(PROJECT_PATH, MOPT_PATH) + Run.main(#["-p", PROJECT_PATH, "-m", MOPT_PATH]) } private def static void fixupHenshinModel(String originalPath, String outputPath, Map remapMap) { diff --git a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend b/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend deleted file mode 100644 index 1e9c5adf..00000000 --- a/Domains/hu.bme.mit.inf.dslreasoner.domains.cps/src/hu/bme/mit/inf/dslreasoner/domains/cps/mdeo/ExcludedOptimisationInterpreter.xtend +++ /dev/null @@ -1,85 +0,0 @@ -package hu.bme.mit.inf.dslreasoner.domains.cps.mdeo - -import java.util.Properties -import org.moeaframework.Executor -import org.moeaframework.Instrumenter -import org.moeaframework.algorithm.PeriodicAction -import org.moeaframework.core.TerminationCondition -import org.moeaframework.core.spi.AlgorithmFactory -import uk.ac.kcl.inf.mdeoptimiser.interfaces.cli.Run -import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.Optimisation -import uk.ac.kcl.inf.mdeoptimiser.languages.mopt.SolverSpec -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.OptimisationInterpreter -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.executor.SolutionGenerator -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.MoeaOptimisation -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.algorithms.MoeaOptimisationAlgorithmProvider -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.instrumentation.PopulationCollector -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.moea.problem.MoeaOptimisationProblem -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.operators.adaptation.MutationStepSizeStrategyFactory -import uk.ac.kcl.inf.mdeoptimiser.libraries.core.optimisation.output.MDEOBatch - -class ExcludedMoeaOptimisation extends MoeaOptimisation { - SolutionGenerator solutionGenerator - Instrumenter algorithmStepSizeInstrumenter - - override execute(SolverSpec solverSpec, SolutionGenerator solutionGenerator) { - this.solutionGenerator = solutionGenerator - super.execute(solverSpec, solutionGenerator) - } - - override Instrumenter runOptimisation(SolverSpec solverSpec, Properties optimisationProperties) { - val algorithmFactory = new AlgorithmFactory - algorithmFactory.addProvider(new MoeaOptimisationAlgorithmProvider) - - algorithmStepSizeInstrumenter = new Instrumenter().addExcludedPackage("org.eclipse").withProblemClass( - MoeaOptimisationProblem, solutionGenerator).attachApproximationSetCollector().attachElapsedTimeCollector(). - attachPopulationSizeCollector.attach(new PopulationCollector()).withFrequency(1).withFrequencyType( - PeriodicAction.FrequencyType.STEPS) - - var stepSizeStrategy = new MutationStepSizeStrategyFactory(solverSpec.algorithm, algorithmStepSizeInstrumenter). - strategy - - solutionGenerator.setMutationStepSizeStrategy(stepSizeStrategy) - - // TODO: Place this in a better location. - // Exclude JDK packages from Instrumenter - this.algorithmStepSizeInstrumenter.addExcludedPackage("jdk") - - new Executor().usingAlgorithmFactory(algorithmFactory).withAlgorithm(solverSpec.algorithm.name) // Initialize problem with our solution generator - .withProblemClass(MoeaOptimisationProblem, solutionGenerator).withProperties(optimisationProperties). - withInstrumenter(algorithmStepSizeInstrumenter).withTerminationCondition( - optimisationProperties.get("terminationCondition") as TerminationCondition).run() - - return algorithmStepSizeInstrumenter - } -} - -class ExcludedOptimisationInterpreter extends OptimisationInterpreter { - val Optimisation model - - new(String projectPath, Optimisation model) { - super(projectPath, model) - this.model = model - } - - override start() { - // This model provider loads the model given by the user in the DSL - var solutionGenerator = new SolutionGenerator(model, getBreedingOperators, getMutationOperators, - getModelProvider, getMetamodel); - - return new ExcludedMoeaOptimisation().execute(model.solver, solutionGenerator) - } - -} - -class ExcludedRun extends Run { - override runBatch(String moptProjectPath, Optimisation optimisationModel, Integer batch, boolean singleBatch) { - val optimisationInterpreter = new ExcludedOptimisationInterpreter(moptProjectPath, optimisationModel); - val startTime = System.nanoTime(); - val optimisationOutcome = optimisationInterpreter.start(); - val endTime = System.nanoTime(); - val experimentDuration = ((endTime - startTime) / 1000000); - val generatedRules = optimisationInterpreter.getRulegenOperators(); - return new MDEOBatch(batch, experimentDuration, optimisationOutcome, generatedRules, singleBatch); - } -} -- cgit v1.2.3-54-g00ecf