6 #ifndef CoinPresolveFixed_H
7 #define CoinPresolveFixed_H
8 #define FIXED_VARIABLE 1
54 const char *
name()
const;
131 const char *
name()
const;
void postsolve(CoinPostsolveMatrix *prob) const
Apply the postsolve transformation for this particular presolve action.
Structure to preserve the bound overwritten when fixing a variable.
const CoinPresolveAction * remove_fixed(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
Scan the problem for fixed columns and remove them.
Excise fixed variables from the model.
action * actions_
Vector specifying variable(s) affected by this object.
int col
column index of variable
double bound
Value of bound overwritten to fix variable.
Abstract base class of all presolve routines.
int start
start of coefficients in colels_ and colrows_
const bool fix_to_lower_
True to fix at lower bound, false to fix at upper bound.
#define deleteAction(array, type)
virtual ~remove_fixed_action()
Destructor.
const char * name() const
Returns string "remove_fixed_action".
const CoinPresolveAction * make_fixed(CoinPresolveMatrix *prob, const CoinPresolveAction *next)
Scan variables and fix any with equal bounds.
int * colrows_
Array of row indices for coefficients of excised columns.
void postsolve(CoinPostsolveMatrix *prob) const
Postsolve (unfix variables)
const char * name() const
Returns string "make_fixed_action".
int col
column index of variable
const CoinPresolveAction * next
The next presolve transformation.
make_fixed_action(int nactions, const action *actions, bool fix_to_lower, const remove_fixed_action *faction, const CoinPresolveAction *next)
Constructor.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during postsol...
void transferCosts(CoinPresolveMatrix *prob)
Transfer costs from singleton variables.
double * colels_
Array of coefficients of excised columns.
Augments CoinPrePostsolveMatrix with information about the problem that is only needed during presolv...
double sol
value of variable
virtual ~make_fixed_action()
Destructor.
int nactions_
Number of entries in actions_.
Fix a variable at a specified bound.
const action * actions_
Vector of preserved bounds, one for each variable fixed in this object.
remove_fixed_action(int nactions, action *actions, double *colels, int *colrows, const CoinPresolveAction *next)
Constructor.
int nactions_
Number of preserved bounds.
const remove_fixed_action * faction_
The postsolve object with the information required to repopulate the fixed columns.
static const remove_fixed_action * presolve(CoinPresolveMatrix *prob, int *fcols, int nfcols, const CoinPresolveAction *next)
Excise the specified columns.
Structure to hold information necessary to reintroduce a column into the problem representation.
static const CoinPresolveAction * presolve(CoinPresolveMatrix *prob, int *fcols, int nfcols, bool fix_to_lower, const CoinPresolveAction *next)
Perform actions to fix variables and return postsolve object.