diff --git a/src/inport/Main.java b/src/inport/Main.java index dc13d80ac3c106688c93f5a6445b09deb180e83b..138de18a546d8a608f63f92bd3df834142288741 100644 --- a/src/inport/Main.java +++ b/src/inport/Main.java @@ -13,17 +13,19 @@ import inport.ConversionUtils.ParserException; import inport.ConversionUtils.Task; public class Main { - private static final int DEFAULT_TIME_LIMIT_S = 3600; private enum ConversionType { - Undefined (""), - WithoutSplitting("Without splitting"), - WithSplitting ("With splitting"); + Undefined ("", ""), + WithoutSplitting("Without splitting", "conversion_2.mzn"), + WithSplitting ("With splitting", "conversion_2_with_partial_cargo_operations.mzn"), + Greedy_v2 ("Greedy v2", "conversion_2_greedy_v2.mzn"); private final String text; - ConversionType(String text) { + private final String constraintName; + ConversionType(String text, String constraintName) { this.text = text; + this.constraintName = constraintName; } public static ConversionType fromString(String text) { for (ConversionType t : ConversionType.values()) { @@ -62,31 +64,21 @@ public class Main { ConversionType t = (args.length == 2) ? ConversionType.WithoutSplitting : ConversionType.fromString(args[2]); - String constraintName; - - switch (t) { - case WithSplitting: - constraintName = "conversion_2_with_partial_cargo_operations.mzn"; - break; - case WithoutSplitting: - constraintName = "conversion_2.mzn"; - break; - default: - System.out.println("Undefined conversion type - \"" + args[2] + "\"."); - - ArrayList values = new ArrayList<>(); - for (ConversionType conversionType : ConversionType.values()) { - if (! conversionType.equals(ConversionType.Undefined)) { - values.add("\"" + conversionType.text + "\""); - } + if (t.equals(ConversionType.Undefined)) { + System.out.println("Undefined conversion type - \"" + args[2] + "\"."); + + ArrayList values = new ArrayList<>(); + for (ConversionType conversionType : ConversionType.values()) { + if (! conversionType.equals(ConversionType.Undefined)) { + values.add("\"" + conversionType.text + "\""); } - System.out.print("Conversion type can be one of " + String.join(", ", values) + "."); - return; + } + System.out.print("Conversion type can be one of " + String.join(", ", values) + "."); + return; } - error = solveTask( task, - constraintName, + t.constraintName, Task::portToMiniZinc_2, MZnResultsResolver::resolveMiniZincResults, DEFAULT_TIME_LIMIT_S);