Commit 40b87b9c authored by Vladislav Kiselev's avatar Vladislav Kiselev

Упрощение.

parent 20b1908f
......@@ -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,16 +64,7 @@ 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:
if (t.equals(ConversionType.Undefined)) {
System.out.println("Undefined conversion type - \"" + args[2] + "\".");
ArrayList<String> values = new ArrayList<>();
......@@ -83,10 +76,9 @@ public class Main {
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);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment