diff --git a/src/inport/Main.java b/src/inport/Main.java index 3598e5062a3684817f55002a8476de05fd056aa0..2ebff9809887912bc34133a750f8b29b85c03b7a 100644 --- a/src/inport/Main.java +++ b/src/inport/Main.java @@ -324,14 +324,17 @@ public class Main { private static void testing(Collection args) { class Arguments { - @Option(name = "-fzs", aliases = "--flat_zinc_solver", usage = "Путь к исполняемому файлу flatZinc solver-а.", forbids = {"-s"}) + @Option(name = "-fzs", aliases = "--flat_zinc_solver", usage = "Путь к исполняемому файлу flatZinc solver-а.", forbids = {"-s", "-opls"}) private String flatZincSolver = ""; + @Option(name = "-opls", aliases = "--opl_solver", usage = "Path to \"oplrun\" from CPLEX.", forbids = {"-s", "-fzs"}) + private String oplSolver = ""; + @Option(name = "-ct", usage = "Тип сведения, один из " + ConversionType.legalValues + ".") private String conversionType = ConversionType.WithoutSplitting.text; @Option(name = "-s", aliases = "--solver", usage = "Тип solver-а из предопределённого списка : " + Solver.SolverName.legalValues + ".", - forbids = {"-fzs"}) + forbids = {"-fzs", "-opls"}) private String solverName = Solver.SolverName.Chuffed.text; @Option(name = "-d", aliases = "--test_dir", usage = "Директория, задачи из которых необходимо протестировать.") @@ -355,10 +358,14 @@ public class Main { } Solver s = t.solversGetter.get(); - if (arguments.flatZincSolver.isEmpty()) { - s.setSolverName(arguments.solverName); - } else { + if (! arguments.flatZincSolver.isEmpty()) { s.setFlatZincSolver(arguments.flatZincSolver); + } else if (! arguments.oplSolver.isEmpty()) { + s.setOPLSolver(arguments.oplSolver); + s.setConstraintName(s.getConstraintName().replace(".mzn", ".mod")); + s.setConversionFormat(Task.ConversionFormat.OPL); + } else { + s.setSolverName(arguments.solverName); } testGroup(arguments.testDir, "", s, DEFAULT_TIME_LIMIT_S); } catch (CmdLineException ex) {