# remove_fixed_action Class Reference

Excise fixed variables from the model. More...

`#include <CoinPresolveFixed.hpp>`

Inheritance diagram for remove_fixed_action:
[legend]
Collaboration diagram for remove_fixed_action:
[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.
virtual | ~remove_fixed_action ()
| Destructor.
## Static Public Member Functions
static const remove_fixed_action * | presolve (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_.
action * | actions_
| 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 CoinPresolveAction * | remove_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 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:

- /home/coin/svn-release/Osi-0.107.5/CoinUtils/src/CoinPresolveFixed.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines