14#ifndef OR_TOOLS_SAT_CP_MODEL_SYMMETRIES_H_
15#define OR_TOOLS_SAT_CP_MODEL_SYMMETRIES_H_
22#include "ortools/sat/cp_model.pb.h"
24#include "ortools/sat/sat_parameters.pb.h"
46 const SatParameters& params,
const CpModelProto& problem,
47 std::vector<std::unique_ptr<SparsePermutation>>* generators,
48 double deterministic_limit, SolverLogger* logger);
52 CpModelProto*
proto, SolverLogger* logger);
CpModelProto proto
The output proto.
GurobiMPCallbackContext * context
bool DetectAndExploitSymmetriesInPresolve(PresolveContext *context)
void DetectAndAddSymmetryToProto(const SatParameters ¶ms, CpModelProto *proto, SolverLogger *logger)
Detects symmetries and fill the symmetry field.
void FindCpModelSymmetries(const SatParameters ¶ms, const CpModelProto &problem, std::vector< std::unique_ptr< SparsePermutation > > *generators, double deterministic_limit, SolverLogger *logger)
In SWIG mode, we don't want anything besides these top-level includes.