Commit a73c7d1e authored by Vladislav Kiselev's avatar Vladislav Kiselev

Добавлена возможность тестирования с opl-солвером.

parent 752f9425
...@@ -324,14 +324,17 @@ public class Main { ...@@ -324,14 +324,17 @@ public class Main {
private static void testing(Collection<String> args) { private static void testing(Collection<String> args) {
class Arguments { 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 = ""; 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 + ".") @Option(name = "-ct", usage = "Тип сведения, один из " + ConversionType.legalValues + ".")
private String conversionType = ConversionType.WithoutSplitting.text; private String conversionType = ConversionType.WithoutSplitting.text;
@Option(name = "-s", aliases = "--solver", usage = "Тип solver-а из предопределённого списка : " + Solver.SolverName.legalValues + ".", @Option(name = "-s", aliases = "--solver", usage = "Тип solver-а из предопределённого списка : " + Solver.SolverName.legalValues + ".",
forbids = {"-fzs"}) forbids = {"-fzs", "-opls"})
private String solverName = Solver.SolverName.Chuffed.text; private String solverName = Solver.SolverName.Chuffed.text;
@Option(name = "-d", aliases = "--test_dir", usage = "Директория, задачи из которых необходимо протестировать.") @Option(name = "-d", aliases = "--test_dir", usage = "Директория, задачи из которых необходимо протестировать.")
...@@ -355,10 +358,14 @@ public class Main { ...@@ -355,10 +358,14 @@ public class Main {
} }
Solver s = t.solversGetter.get(); Solver s = t.solversGetter.get();
if (arguments.flatZincSolver.isEmpty()) { if (! arguments.flatZincSolver.isEmpty()) {
s.setSolverName(arguments.solverName);
} else {
s.setFlatZincSolver(arguments.flatZincSolver); 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); testGroup(arguments.testDir, "", s, DEFAULT_TIME_LIMIT_S);
} catch (CmdLineException ex) { } catch (CmdLineException ex) {
......
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