25 #include "unfeasibility-analysis.h"
26 #include "watched-constraints.h"
28 namespace operations_research
35 namespace Antares::Optimization
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;
Definition: constraint-slack-analysis.h:43
Definition: unfeasibility-analysis.h:37