From c1f185fd8fc2c3dfc123d9271726c588963c7c01 Mon Sep 17 00:00:00 2001 From: Kristóf Marussy Date: Mon, 8 Apr 2019 00:58:00 +0200 Subject: Objective POC implementation --- .../reasoner/optimization/ObjectiveKind.java | 36 ++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/optimization/ObjectiveKind.java (limited to 'Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/optimization/ObjectiveKind.java') diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/optimization/ObjectiveKind.java b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/optimization/ObjectiveKind.java new file mode 100644 index 00000000..f65428fe --- /dev/null +++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner/src/hu/bme/mit/inf/dslreasoner/viatrasolver/reasoner/optimization/ObjectiveKind.java @@ -0,0 +1,36 @@ +package hu.bme.mit.inf.dslreasoner.viatrasolver.reasoner.optimization; + +import java.util.Comparator; + +import org.eclipse.viatra.dse.objectives.Comparators; + +public enum ObjectiveKind { + LOWER_IS_BETTER { + + @Override + public Comparator getComparator() { + return Comparators.LOWER_IS_BETTER; + } + + }, + HIGHER_IS_BETTER { + + @Override + public Comparator getComparator() { + return Comparators.HIGHER_IS_BETTER; + } + + }; + + public abstract Comparator getComparator(); + + public static ObjectiveKind fromComparator(Comparator comparator) { + if (Comparators.LOWER_IS_BETTER.equals(comparator)) { + return ObjectiveKind.LOWER_IS_BETTER; + } else if (Comparators.HIGHER_IS_BETTER.equals(comparator)) { + return ObjectiveKind.HIGHER_IS_BETTER; + } else { + throw new IllegalStateException("Only LOWER_IS_BETTER and HIGHER_IS_BETTER comparators are supported."); + } + } +} -- cgit v1.2.3-54-g00ecf