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

ClpFactorization Class Reference

#include <ClpFactorization.hpp>

List of all members.

Public Member Functions

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.

ClpFactorizationoperator= (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 11:42:58 2004 by doxygen 1.3.5