62 bool nothing_to_recompute,
const UpdateRow& update_row,
63 Fractional cost_variation, std::vector<ColIndex>* bound_flip_candidates,
64 ColIndex* entering_col);
71 bool nothing_to_recompute,
const UpdateRow& update_row,
72 Fractional cost_variation, ColIndex* entering_col);
77 void SetRandom(absl::BitGenRef random) { random_ = random; }
80 std::string
StatString()
const {
return stats_.StatString(); }
93 absl::BitGenRef random_;
103 num_perfect_ties(
"num_perfect_ties", this) {}
112 std::vector<ColIndex> equivalent_entering_choices_;
116 struct ColWithRatio {
117 ColWithRatio() =
default;
119 : col(_col), ratio(reduced_cost / coeff_m), coeff_magnitude(coeff_m) {}
122 bool operator<(
const ColWithRatio& other)
const {
123 if (ratio == other.ratio) {
124 if (coeff_magnitude == other.coeff_magnitude) {
125 return col > other.col;
127 return coeff_magnitude < other.coeff_magnitude;
129 return ratio > other.ratio;
138 std::vector<ColWithRatio> breakpoints_;
141 int64_t num_operations_ = 0;