diff --git a/examples/python/cp_is_fun_sat.py b/examples/python/cp_is_fun_sat.py index 6658696b43..3c6065f0b5 100644 --- a/examples/python/cp_is_fun_sat.py +++ b/examples/python/cp_is_fun_sat.py @@ -21,7 +21,6 @@ This problem has 72 different solutions in base 10. """ from __future__ import print_function -import time from ortools.sat.python import cp_model class VarArraySolutionPrinter(cp_model.CpSolverSolutionCallback): @@ -30,21 +29,16 @@ class VarArraySolutionPrinter(cp_model.CpSolverSolutionCallback): def __init__(self, variables): self.__variables = variables self.__solution_count = 0 - self.__start_time = time.time() - - def SolutionCount(self): - return self.__solution_count def NewSolution(self): - current_time = time.time() - print('Solution %i, time = %f s' % - (self.__solution_count, current_time - self.__start_time), end=': ') self.__solution_count += 1 - for v in self.__variables: print('%s=%i' % (v, self.Value(v)), end = ' ') print() + def SolutionCount(self): + return self.__solution_count + def CPIsFun(): @@ -85,6 +79,13 @@ def CPIsFun(): solution_printer = VarArraySolutionPrinter(letters) status = solver.SearchForAllSolutions(model, solution_printer) + print() + print('Statistics') + print(' - conflicts : %i' % solver.NumConflicts()) + print(' - branches : %i' % solver.NumBranches()) + print(' - wall time : %f ms' % solver.WallTime()) + print(' - solutions found : %i' % solution_printer.SolutionCount()) + if __name__ == '__main__': CPIsFun()