Solve ax+by=c for y and substitute y out of the problem. More...
#include <CoinPresolveDoubleton.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. | |
~doubleton_action () | |
Static Public Member Functions | |
static const CoinPresolveAction * | presolve (CoinPresolveMatrix *, const CoinPresolveAction *next) |
Public Attributes | |
const int | nactions_ |
const action *const | actions_ |
Private Member Functions | |
doubleton_action (int nactions, const action *actions, const CoinPresolveAction *next) |
Solve ax+by=c for y and substitute y out of the problem.
This moves the bounds information for y onto x, making y free and allowing us to substitute it away.
a x + b y = c l1 <= x <= u1 l2 <= y <= u2 ==> l2 <= (c - a x) / b <= u2 b/-a > 0 ==> (b l2 - c) / -a <= x <= (b u2 - c) / -a b/-a < 0 ==> (b u2 - c) / -a <= x <= (b l2 - c) / -a
Definition at line 24 of file CoinPresolveDoubleton.hpp.
doubleton_action::doubleton_action | ( | int | nactions, | |
const action * | actions, | |||
const CoinPresolveAction * | next | |||
) | [inline, private] |
Definition at line 52 of file CoinPresolveDoubleton.hpp.
doubleton_action::~doubleton_action | ( | ) |
const char* doubleton_action::name | ( | ) | const [inline, virtual] |
A name for debug printing.
It is expected that the name is not stored in the transform itself.
Implements CoinPresolveAction.
Definition at line 60 of file CoinPresolveDoubleton.hpp.
static const CoinPresolveAction* doubleton_action::presolve | ( | CoinPresolveMatrix * | , | |
const CoinPresolveAction * | next | |||
) | [static] |
void doubleton_action::postsolve | ( | CoinPostsolveMatrix * | prob | ) | const [virtual] |
Apply the postsolve transformation for this particular presolve action.
Implements CoinPresolveAction.
const int doubleton_action::nactions_ |
Definition at line 48 of file CoinPresolveDoubleton.hpp.
const action* const doubleton_action::actions_ |
Definition at line 49 of file CoinPresolveDoubleton.hpp.