From 40b87b9ccc502d81930f07e9e5aebfdd78718f54 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=B8=D1=81=D0=B5=D0=BB=D1=91=D0=B2=20=D0=92=D0=BB?= =?UTF-8?q?=D0=B0=D0=B4=D0=B8=D1=81=D0=BB=D0=B0=D0=B2?= Date: Mon, 8 Jul 2019 11:20:37 +0300 Subject: [PATCH] =?UTF-8?q?=D0=A3=D0=BF=D1=80=D0=BE=D1=89=D0=B5=D0=BD?= =?UTF-8?q?=D0=B8=D0=B5.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/inport/Main.java | 44 ++++++++++++++++++-------------------------- 1 file changed, 18 insertions(+), 26 deletions(-) diff --git a/src/inport/Main.java b/src/inport/Main.java index dc13d80..138de18 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); -- GitLab