Cbc
2.10.5
|
#include <CoinPresolveUseless.hpp>
Classes | |
struct | action |
Public Member Functions | |
const char * | name () const |
A name for debug printing. More... | |
void | postsolve (CoinPostsolveMatrix *prob) const |
Apply the postsolve transformation for this particular presolve action. More... | |
virtual | ~useless_constraint_action () |
Public Member Functions inherited from CoinPresolveAction | |
CoinPresolveAction (const CoinPresolveAction *next) | |
Construct a postsolve object and add it to the transformation list. More... | |
void | setNext (const CoinPresolveAction *nextAction) |
modify next (when building rather than passing) More... | |
virtual | ~CoinPresolveAction () |
Virtual destructor. More... | |
Static Public Member Functions | |
static const CoinPresolveAction * | presolve (CoinPresolveMatrix *prob, const int *useless_rows, int nuseless_rows, const CoinPresolveAction *next) |
Static Public Member Functions inherited from CoinPresolveAction | |
static void | throwCoinError (const char *error, const char *ps_routine) |
Stub routine to throw exceptions. More... | |
Private Member Functions | |
useless_constraint_action (int nactions, const action *actions, const CoinPresolveAction *next) | |
Private Attributes | |
const int | nactions_ |
const action *const | actions_ |
Related Functions | |
(Note that these are not member functions.) | |
const CoinPresolveAction * | testRedundant (CoinPresolveMatrix *prob, const CoinPresolveAction *next) |
Scan constraints looking for useless constraints. More... | |
Additional Inherited Members | |
Public Attributes inherited from CoinPresolveAction | |
const CoinPresolveAction * | next |
The next presolve transformation. More... | |
Definition at line 10 of file CoinPresolveUseless.hpp.
|
private |
|
virtual |
|
virtual |
A name for debug printing.
It is expected that the name is not stored in the transform itself.
Implements CoinPresolveAction.
|
static |
|
virtual |
Apply the postsolve transformation for this particular presolve action.
Implements CoinPresolveAction.
|
related |
Scan constraints looking for useless constraints.
A front end to identify useless constraints and hand them to useless_constraint_action::presolve() for processing.
In a bit more detail, the routine implements a greedy algorithm that identifies a set of necessary constraints. A constraint is necessary if it implies a tighter bound on a variable than the original column bound. These tighter column bounds are then used to calculate row activity and identify constraints that are useless given the presence of the necessary constraints.
|
private |
Definition at line 20 of file CoinPresolveUseless.hpp.
|
private |
Definition at line 21 of file CoinPresolveUseless.hpp.