14package com.google.ortools.sat;
16import com.google.ortools.sat.CpSolverResponse;
17import com.google.ortools.sat.CpSolverStatus;
18import com.google.ortools.sat.SatParameters;
20import java.util.function.Consumer;
28public final class CpSolver {
32 this.logCallback =
null;
33 this.solveWrapper =
null;
52 if (logCallback !=
null) {
56 solveResponse = solveWrapper.
solve(model.
model());
62 releaseSolveWrapper();
75 return solve(model, cb);
95 solveParameters.setEnumerateAllSolutions(
true);
97 solveParameters.setEnumerateAllSolutions(oldValue);
101 private synchronized void createSolveWrapper() {
105 private synchronized void releaseSolveWrapper() {
111 if (solveWrapper !=
null) {
151 return solveResponse;
180 return solveParameters;
185 this.logCallback = cb;
202 private final SatParameters.Builder solveParameters;
203 private Consumer<String> logCallback;