Detect and process forcing constraints and useless constraints. More...
#include <CoinPresolveForcing.hpp>
Classes | |
struct | action |
Public Member Functions | |
const char * | name () const |
A name for debug printing. | |
void | postsolve (CoinPostsolveMatrix *prob) const |
Apply the postsolve transformation for this particular presolve action. | |
~forcing_constraint_action () | |
Static Public Member Functions | |
static const CoinPresolveAction * | presolve (CoinPresolveMatrix *prob, const CoinPresolveAction *next) |
Private Member Functions | |
forcing_constraint_action () | |
forcing_constraint_action (const forcing_constraint_action &rhs) | |
forcing_constraint_action & | operator= (const forcing_constraint_action &rhs) |
forcing_constraint_action (int nactions, const action *actions, const CoinPresolveAction *next) | |
Private Attributes | |
const int | nactions_ |
const action *const | actions_ |
Detect and process forcing constraints and useless constraints.
A constraint is useless if the bounds on the variables prevent the constraint from ever being violated.
A constraint is a forcing constraint if the bounds on the constraint force the value of an involved variable to one of its bounds. A constraint can force more than one variable.
Definition at line 25 of file CoinPresolveForcing.hpp.
forcing_constraint_action::forcing_constraint_action | ( | ) | [private] |
forcing_constraint_action::forcing_constraint_action | ( | const forcing_constraint_action & | rhs | ) | [private] |
forcing_constraint_action::forcing_constraint_action | ( | int | nactions, | |
const action * | actions, | |||
const CoinPresolveAction * | next | |||
) | [inline, private] |
Definition at line 42 of file CoinPresolveForcing.hpp.
forcing_constraint_action::~forcing_constraint_action | ( | ) |
forcing_constraint_action& forcing_constraint_action::operator= | ( | const forcing_constraint_action & | rhs | ) | [private] |
const char* forcing_constraint_action::name | ( | ) | const [virtual] |
A name for debug printing.
It is expected that the name is not stored in the transform itself.
Implements CoinPresolveAction.
static const CoinPresolveAction* forcing_constraint_action::presolve | ( | CoinPresolveMatrix * | prob, | |
const CoinPresolveAction * | next | |||
) | [static] |
void forcing_constraint_action::postsolve | ( | CoinPostsolveMatrix * | prob | ) | const [virtual] |
Apply the postsolve transformation for this particular presolve action.
Implements CoinPresolveAction.
const int forcing_constraint_action::nactions_ [private] |
Definition at line 38 of file CoinPresolveForcing.hpp.
const action* const forcing_constraint_action::actions_ [private] |
Definition at line 40 of file CoinPresolveForcing.hpp.