Detect interesting 2 by 2 blocks. More...
#include <CoinPresolveDupcol.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. | |
~twoxtwo_action () | |
Static Public Member Functions | |
static const CoinPresolveAction * | presolve (CoinPresolveMatrix *prob, const CoinPresolveAction *next) |
Detect interesting 2 by 2 blocks.
If a variable has two entries and for each row there are only two entries with same other variable then we can get rid of one constraint and modify costs.
This is a work in progress - I need more examples
Definition at line 195 of file CoinPresolveDupcol.hpp.
twoxtwo_action::~twoxtwo_action | ( | ) | [inline] |
Definition at line 226 of file CoinPresolveDupcol.hpp.
const char* twoxtwo_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* twoxtwo_action::presolve | ( | CoinPresolveMatrix * | prob, | |
const CoinPresolveAction * | next | |||
) | [static] |
void twoxtwo_action::postsolve | ( | CoinPostsolveMatrix * | prob | ) | const [virtual] |
Apply the postsolve transformation for this particular presolve action.
Implements CoinPresolveAction.