47 void run(operations_research::MPSolver* problem)
override;
48 void printReport()
const override;
50 std::string title()
const override
52 return "Slack variables analysis";
55 const std::vector<const operations_research::MPVariable*>& largestSlackVariables();
58 void selectConstraintsToWatch(operations_research::MPSolver* problem);
59 void addSlackVariablesToConstraints(operations_research::MPSolver* problem);
60 void buildObjective(operations_research::MPSolver* problem)
const;
61 void sortSlackVariablesByValue();
62 void trimSlackVariables();
63 bool anySlackVariableNonZero();
65 std::vector<operations_research::MPConstraint*> constraintsToWatch_;
66 std::vector<const operations_research::MPVariable*> slackVariables_;
67 const double thresholdNonZero = 1e-06;