remove_fixed_action Class Reference

Excise fixed variables from the model. More...

#include <CoinPresolveFixed.hpp>

Inheritance diagram for remove_fixed_action:
Inheritance graph
[legend]
Collaboration diagram for remove_fixed_action:
Collaboration graph
[legend]

List of all members.

Classes

struct  action
 Structure to hold information necessary to reintroduce a column into the problem representation. More...

Public Member Functions

const char * name () const
 Returns string "remove_fixed_action".
void postsolve (CoinPostsolveMatrix *prob) const
 Apply the postsolve transformation for this particular presolve action.
 ~remove_fixed_action ()
 Destructor.

Static Public Member Functions

static const remove_fixed_actionpresolve (CoinPresolveMatrix *prob, int *fcols, int nfcols, const CoinPresolveAction *next)
 Excise the specified columns.

Public Attributes

int * colrows_
 Array of row indices for coefficients of excised columns.
double * colels_
 Array of coefficients of excised columns.
int nactions_
 Number of entries in actions_.
actionactions_
 Vector specifying variable(s) affected by this object.

Private Member Functions

 remove_fixed_action (int nactions, action *actions, double *colels, int *colrows, const CoinPresolveAction *next)
 Constructor.

Related Functions

(Note that these are not member functions.)



const CoinPresolveActionremove_fixed (CoinPresolveMatrix *prob, const CoinPresolveAction *next)
 Scan the problem for fixed columns and remove them.

Detailed Description

Excise fixed variables from the model.

Implements the action of removing one or more fixed variables x_j from the model by substituting the value sol_j in each constraint. Specifically, for each constraint i where a_ij != 0, rlo_i and rup_i are adjusted by -a_ij*sol_j and a_ij is set to 0.

There is an implicit assumption that the variable already has the correct value. If this isn't true, corrections to row activity may be incorrect. If you want to guard against this possibility, consider make_fixed_action.

Actual removal of the column from the matrix is handled by drop_empty_cols_action. Correction of the objective function is done there.

Definition at line 23 of file CoinPresolveFixed.hpp.


Constructor & Destructor Documentation

remove_fixed_action::remove_fixed_action ( int  nactions,
action actions,
double *  colels,
int *  colrows,
const CoinPresolveAction next 
) [private]

Constructor.

remove_fixed_action::~remove_fixed_action (  ) 

Destructor.


Member Function Documentation

const char* remove_fixed_action::name (  )  const [virtual]

Returns string "remove_fixed_action".

Implements CoinPresolveAction.

static const remove_fixed_action* remove_fixed_action::presolve ( CoinPresolveMatrix prob,
int *  fcols,
int  nfcols,
const CoinPresolveAction next 
) [static]

Excise the specified columns.

Remove the specified columns (nfcols, fcols) from the problem representation (prob), leaving the appropriate postsolve object linked as the head of the list of postsolve objects (currently headed by next).

void remove_fixed_action::postsolve ( CoinPostsolveMatrix prob  )  const [virtual]

Apply the postsolve transformation for this particular presolve action.

Implements CoinPresolveAction.


Friends And Related Function Documentation

const CoinPresolveAction * remove_fixed ( CoinPresolveMatrix prob,
const CoinPresolveAction next 
) [related]

Scan the problem for fixed columns and remove them.

A front end to collect a list of columns with equal bounds and hand them to remove_fixed_action::presolve() for processing.


Member Data Documentation

Array of row indices for coefficients of excised columns.

Definition at line 34 of file CoinPresolveFixed.hpp.

Array of coefficients of excised columns.

Definition at line 36 of file CoinPresolveFixed.hpp.

Number of entries in actions_.

Definition at line 38 of file CoinPresolveFixed.hpp.

Vector specifying variable(s) affected by this object.

Definition at line 40 of file CoinPresolveFixed.hpp.


The documentation for this class was generated from the following file:

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1