14 #ifndef OR_TOOLS_SAT_ZERO_HALF_CUTS_H_
15 #define OR_TOOLS_SAT_ZERO_HALF_CUTS_H_
51 const std::vector<std::pair<glop::ColIndex, IntegerValue>>& terms,
52 IntegerValue lb, IntegerValue ub);
53 std::vector<std::vector<std::pair<glop::RowIndex, IntegerValue>>>
66 std::vector<std::pair<glop::RowIndex, IntegerValue>>
multipliers;
95 const std::vector<int>&
a, std::vector<int>*
b);
98 void ProcessSingletonColumns();
103 const double kSlackThreshold = 0.5;
104 const int kMaxAggregationSize = 100;
109 const int kMaxInputConstraintSize = 100;
110 const double kMaxInputConstraintMagnitude = 1e6;
113 std::vector<double> lp_values_;
114 std::vector<double> shifted_lp_values_;
115 std::vector<int> bound_parity_;
121 std::vector<CombinationOfRows> rows_;
122 std::vector<std::vector<int>> col_to_rows_;
123 std::vector<int> singleton_cols_;
126 std::vector<bool> tmp_marked_;
132 #endif // OR_TOOLS_SAT_ZERO_HALF_CUTS_H_