Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ClpFactorization Class Reference

#include <ClpFactorization.hpp>

List of all members.

Public Methods

factorization
int factorize (ClpSimplex *model, int solveType, bool valuesPass)
 When part of LP - given by basic variables.

Constructors, destructor
 ClpFactorization ()
 Default constructor.

 ~ClpFactorization ()
 Destructor.

Copy method
 ClpFactorization (const ClpFactorization &)
 The copy constructor.

 ClpFactorization (const CoinFactorization &)
 The copy constructor from an CoinFactorization.

ClpFactorization & operator= (const ClpFactorization &)
 The copy constructor.

rank one updates which do exist
int replaceColumn (const ClpSimplex *model, CoinIndexedVector *regionSparse, CoinIndexedVector *tableauColumn, int pivotRow, double pivotCheck, bool checkBeforeModifying=false)
 Replaces one Column to basis, returns 0=OK, 1=Probably OK, 2=singular, 3=no room If checkBeforeModifying is true will do all accuracy checks before modifying factorization.

various uses of factorization (return code number elements)
which user may want to know about

int updateColumnFT (CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2)
 Updates one column (FTRAN) from region2 Tries to do FT update number returned is negative if no room region1 starts as zero and is zero at end.

int updateColumn (CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2, bool noPermute=false) const
 Updates one column (FTRAN) from region2 Tries to do FT update number returned is negative if no room region1 starts as zero and is zero at end.

int updateColumnTranspose (CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2) const
 Updates one column (BTRAN) from region2 region1 starts as zero and is zero at end.

other stuff
void goSparse ()
 makes a row copy of L for speed and to allow very sparse problems

void cleanUp ()
 Cleans up i.e. gets rid of network basis.

bool needToReorder () const
 Says whether to redo pivot order.

bool networkBasis () const
 Says if a network basis.


Private Attributes

data
ClpNetworkBasisnetworkBasis_
 Pointer to network basis.


Constructor & Destructor Documentation

ClpFactorization::ClpFactorization  
 

Default constructor.

ClpFactorization::~ClpFactorization  
 

Destructor.

ClpFactorization::ClpFactorization const ClpFactorization &   
 

The copy constructor.

ClpFactorization::ClpFactorization const CoinFactorization &   
 

The copy constructor from an CoinFactorization.


Member Function Documentation

int ClpFactorization::factorize ClpSimplex   model,
int    solveType,
bool    valuesPass
 

When part of LP - given by basic variables.

Actually does factorization. Arrays passed in have non negative value to say basic. If status is okay, basic variables have pivot row - this is only needed if increasingRows_ >1. Allows scaling If status is singular, then basic variables have pivot row and ones thrown out have -1 returns 0 -okay, -1 singular, -2 too many in basis, -99 memory

ClpFactorization& ClpFactorization::operator= const ClpFactorization &   
 

The copy constructor.

int ClpFactorization::replaceColumn const ClpSimplex   model,
CoinIndexedVector *    regionSparse,
CoinIndexedVector *    tableauColumn,
int    pivotRow,
double    pivotCheck,
bool    checkBeforeModifying = false
 

Replaces one Column to basis, returns 0=OK, 1=Probably OK, 2=singular, 3=no room If checkBeforeModifying is true will do all accuracy checks before modifying factorization.

Whether to set this depends on speed considerations. You could just do this on first iteration after factorization and thereafter re-factorize partial update already in U

int ClpFactorization::updateColumnFT CoinIndexedVector *    regionSparse,
CoinIndexedVector *    regionSparse2
 

Updates one column (FTRAN) from region2 Tries to do FT update number returned is negative if no room region1 starts as zero and is zero at end.

int ClpFactorization::updateColumn CoinIndexedVector *    regionSparse,
CoinIndexedVector *    regionSparse2,
bool    noPermute = false
const
 

Updates one column (FTRAN) from region2 Tries to do FT update number returned is negative if no room region1 starts as zero and is zero at end.

int ClpFactorization::updateColumnTranspose CoinIndexedVector *    regionSparse,
CoinIndexedVector *    regionSparse2
const
 

Updates one column (BTRAN) from region2 region1 starts as zero and is zero at end.

void ClpFactorization::goSparse  
 

makes a row copy of L for speed and to allow very sparse problems

void ClpFactorization::cleanUp  
 

Cleans up i.e. gets rid of network basis.

bool ClpFactorization::needToReorder   const
 

Says whether to redo pivot order.

bool ClpFactorization::networkBasis   const [inline]
 

Says if a network basis.

Definition at line 101 of file ClpFactorization.hpp.

References networkBasis_.


Member Data Documentation

ClpNetworkBasis* ClpFactorization::networkBasis_ [private]
 

Pointer to network basis.

Definition at line 111 of file ClpFactorization.hpp.

Referenced by networkBasis().


The documentation for this class was generated from the following file:
Generated on Fri Aug 6 02:01:33 2004 by doxygen1.3-rc2