#include <CoinPresolveUseless.hpp>
Definition at line 10 of file CoinPresolveUseless.hpp.
◆ useless_constraint_action()
| useless_constraint_action::useless_constraint_action |
( |
int | nactions, |
|
|
const action * | actions, |
|
|
const CoinPresolveAction * | next ) |
|
private |
◆ ~useless_constraint_action()
| virtual useless_constraint_action::~useless_constraint_action |
( |
| ) |
|
|
virtual |
◆ name()
| const char * useless_constraint_action::name |
( |
| ) |
const |
|
virtual |
Construct a postsolve object and add it to the transformation list.
This is an `add to head' operation. This object will point to the one passed as the parameter. */ CoinPresolveAction(const CoinPresolveAction *next) : next(next) { } modify next (when building rather than passing) inline void setNext(const CoinPresolveAction *nextAction) { next = nextAction; }
/*! A name for debug printing.
It is expected that the name is not stored in the transform itself.
Implements CoinPresolveAction.
◆ presolve()
◆ postsolve()
Apply the postsolve transformation for this particular presolve action.
Implements CoinPresolveAction.
◆ testRedundant()
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.
◆ nactions_
| const int useless_constraint_action::nactions_ |
|
private |
◆ actions_
| const action* const useless_constraint_action::actions_ |
|
private |
The documentation for this class was generated from the following file:
- /builddir/build/BUILD/coin-or-CoinUtils-2.11.13-build/CoinUtils-releases-2.11.13/CoinUtils/src/CoinPresolveUseless.hpp