16 #ifndef OR_TOOLS_SAT_LP_UTILS_H_ 17 #define OR_TOOLS_SAT_LP_UTILS_H_ 55 MPModelProto* mp_model);
62 SolverLogger* logger);
72 SolverLogger* logger);
80 const MPModelProto& mp_model,
81 CpModelProto* cp_model,
82 SolverLogger* logger);
89 LinearBooleanProblem* problem);
93 glop::LinearProgram* lp);
106 const glop::LinearProgram& lp, SatSolver* sat_solver,
107 double max_time_in_seconds);
112 LinearBooleanProblem* problem);
117 #endif // OR_TOOLS_SAT_LP_UTILS_H_ bool ConvertBinaryMPModelProtoToBooleanProblem(const MPModelProto &mp_model, LinearBooleanProblem *problem)
bool SolveLpAndUseSolutionForSatAssignmentPreference(const glop::LinearProgram &lp, SatSolver *sat_solver, double max_time_in_seconds)
bool SolveLpAndUseIntegerVariableToStartLNS(const glop::LinearProgram &lp, LinearBooleanProblem *problem)
void RemoveNearZeroTerms(const SatParameters ¶ms, MPModelProto *mp_model, SolverLogger *logger)
int FindRationalFactor(double x, int limit, double tolerance)
bool ConvertMPModelProtoToCpModelProto(const SatParameters ¶ms, const MPModelProto &mp_model, CpModelProto *cp_model, SolverLogger *logger)
int FixVariablesFromSat(const SatSolver &solver, glop::LinearProgram *lp)
std::vector< double > ScaleContinuousVariables(double scaling, double max_bound, MPModelProto *mp_model)
Collection of objects used to extend the Constraint Solver library.
std::vector< double > DetectImpliedIntegers(MPModelProto *mp_model, SolverLogger *logger)
void ConvertBooleanProblemToLinearProgram(const LinearBooleanProblem &problem, glop::LinearProgram *lp)