Cbc  2.9.9
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Public Member Functions | Static Public Member Functions | Public Attributes | Private Member Functions | Related Functions | List of all members
remove_fixed_action Class Reference

Excise fixed variables from the model. More...

#include <CoinPresolveFixed.hpp>

+ Inheritance diagram for remove_fixed_action:
+ Collaboration diagram for remove_fixed_action:

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". More...
 
void postsolve (CoinPostsolveMatrix *prob) const
 Apply the postsolve transformation for this particular presolve action. More...
 
virtual ~remove_fixed_action ()
 Destructor. More...
 
- Public Member Functions inherited from CoinPresolveAction
 CoinPresolveAction (const CoinPresolveAction *next)
 Construct a postsolve object and add it to the transformation list. More...
 
void setNext (const CoinPresolveAction *nextAction)
 modify next (when building rather than passing) More...
 
virtual ~CoinPresolveAction ()
 Virtual destructor. More...
 

Static Public Member Functions

static const remove_fixed_actionpresolve (CoinPresolveMatrix *prob, int *fcols, int nfcols, const CoinPresolveAction *next)
 Excise the specified columns. More...
 
- Static Public Member Functions inherited from CoinPresolveAction
static void throwCoinError (const char *error, const char *ps_routine)
 Stub routine to throw exceptions. More...
 

Public Attributes

int * colrows_
 Array of row indices for coefficients of excised columns. More...
 
double * colels_
 Array of coefficients of excised columns. More...
 
int nactions_
 Number of entries in actions_. More...
 
actionactions_
 Vector specifying variable(s) affected by this object. More...
 
- Public Attributes inherited from CoinPresolveAction
const CoinPresolveActionnext
 The next presolve transformation. More...
 

Private Member Functions

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

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. More...
 

Detailed Description

Excise fixed variables from the model.

Implements the action of virtually 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 empty column from the matrix is handled by drop_empty_cols_action. Correction of the objective function is done there.

Definition at line 25 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.

virtual remove_fixed_action::~remove_fixed_action ( )
virtual

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

int* remove_fixed_action::colrows_

Array of row indices for coefficients of excised columns.

Definition at line 36 of file CoinPresolveFixed.hpp.

double* remove_fixed_action::colels_

Array of coefficients of excised columns.

Definition at line 38 of file CoinPresolveFixed.hpp.

int remove_fixed_action::nactions_

Number of entries in actions_.

Definition at line 40 of file CoinPresolveFixed.hpp.

action* remove_fixed_action::actions_

Vector specifying variable(s) affected by this object.

Definition at line 42 of file CoinPresolveFixed.hpp.


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