14 #ifndef OR_TOOLS_GLOP_ENTERING_VARIABLE_H_
15 #define OR_TOOLS_GLOP_ENTERING_VARIABLE_H_
64 ABSL_MUST_USE_RESULT
Status
74 std::vector<ColIndex>* bound_flip_candidates, ColIndex* entering_col,
92 std::string
StatString()
const {
return stats_.StatString(); }
102 template <
bool normalize,
bool nested_pricing>
103 void DantzigChooseEnteringColumn(ColIndex* entering_col);
108 template <
bool use_steepest_edge>
109 void NormalizedChooseEnteringColumn(ColIndex* entering_col);
119 GlopParameters parameters_;
120 GlopParameters::PricingRule rule_;
126 num_perfect_ties(
"num_perfect_ties", this) {}
140 std::vector<ColIndex> equivalent_entering_choices_;
144 struct ColWithRatio {
149 bool operator<(
const ColWithRatio& other)
const {
150 if (
ratio == other.ratio) {
152 return col > other.col;
156 return ratio > other.ratio;
165 std::vector<ColWithRatio> breakpoints_;
174 #endif // OR_TOOLS_GLOP_ENTERING_VARIABLE_H_