2

我刚刚开始使用 Sat4j 库。你能指导我如何计算解析和简化给定 CNF 输入所需的时间吗?

我用过

ISolver solver = SolverFactory.newDefault();
Reader reader = new DimacsReader(solver);
IProblem problem = reader.parseInstance(filename.cnf);
boolean check=problem.isSatisfiable(); 

我希望计算读者解析和 isSatisfiable 所花费的时间。如果可能,请指导我在图像中查找每个处理过的 cnf 文件 的信息 我希望使用 sat4j lib 收集的详细信息的屏幕截图 提前感谢您的时间。

4

1 回答 1

0

我尝试以旧方式嵌入您的源代码以获取执行时间。

Date startDate = Calendar.getInstance().getTime();
long d_StartTime = new Date().getTime();

    ISolver solver = SolverFactory.newDefault();
    Reader reader = new DimacsReader(solver);
    IProblem problem = reader.parseInstance(filename.cnf);

Date endDate = Calendar.getInstance().getTime();
long d_endTime = new Date().getTime();

System.out.format("Milli = %s, ( D_Start : %s, D_End : %s ) \n", (d_endTime - d_StartTime),d_StartTime, d_endTime);

boolean check=problem.isSatisfiable(); 

这样,解析实例的时间(以毫秒为单位)将出现:)。我希望这有帮助!

于 2016-10-04T19:20:04.120 回答