CoinOslFactorization

CoinOslFactorization class documentation

Inheritance

Inherits from: CoinOtherFactorization

Public Methods

CoinOslFactorization

Default constructor.

 CoinOslFactorization()

CoinOslFactorization

Copy constructor.

 CoinOslFactorization(const CoinOslFactorization & other)

Parameters:

~CoinOslFactorization

Destructor.

 ~CoinOslFactorization()

operator=

= copy

CoinOslFactorization & operator=(const CoinOslFactorization & other)

Parameters:

clone

Clone.

CoinOtherFactorization * clone()

getAreas

Gets space for a factorization.

void getAreas(int numberRows, int numberColumns, int maximumL, int maximumU)

Parameters:

preProcess

PreProcesses column ordered copy of basis.

void preProcess()

factor

Does most of factorization returning status 0 - OK -99 - needs more memory -1 - singular - use numberGoodColumns and redo.

int factor()

postProcess

Does post processing on valid factorization - putting variables on correct rows.

void postProcess(const int * sequence, int * pivotVariable)

Parameters:

makeNonSingular

Makes a non-singular basis by replacing variables.

void makeNonSingular(int * sequence, int numberColumns)

Parameters:

factorize

When part of LP - given by basic variables.

int factorize(const CoinPackedMatrix & matrix, int rowIsBasic, int columnIsBasic, double areaFactor = 0.0)

Parameters:

numberElements

Total number of elements in factorization.

int numberElements()

elements

Returns array to put basis elements in.

CoinFactorizationDouble2 * elements()

pivotRow

Returns pivot row.

int * pivotRow()

workArea

Returns work area.

CoinFactorizationDouble2 * workArea()

intWorkArea

Returns int work area.

int * intWorkArea()

numberInRow

Number of entries in each row.

int * numberInRow()

numberInColumn

Number of entries in each column.

int * numberInColumn()

starts

Returns array to put basis starts in.

int * starts()

permuteBack

Returns permute back.

int * permuteBack()

wantsTableauColumn

Returns true if wants tableauColumn in replaceColumn.

bool wantsTableauColumn()

setUsefulInformation

Useful information for factorization 0 - iteration number whereFrom is 0 for factorize and 1 for replaceColumn.

void setUsefulInformation(const int * info, int whereFrom)

Parameters:

maximumPivots

Set maximum pivots.

void maximumPivots(int value)

Parameters:

maximumCoefficient

Returns maximum absolute value in factorization.

double maximumCoefficient()

conditionNumber

Condition number - product of pivots after factorization.

double conditionNumber()

clearArrays

Get rid of all memory.

void clearArrays()

replaceColumn

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.

int replaceColumn(CoinIndexedVector * regionSparse, int pivotRow, double pivotCheck, bool checkBeforeModifying = false, double acceptablePivot = 1.0e-8)

Parameters:

updateColumnFT

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

int updateColumnFT(CoinIndexedVector * regionSparse, CoinIndexedVector * regionSparse2, bool noPermute = false)

Parameters:

updateColumn

This version has same effect as above with FTUpdate==false so number returned is always >=0.

int updateColumn(CoinIndexedVector * regionSparse, CoinIndexedVector * regionSparse2, bool noPermute = false)

Parameters:

updateTwoColumnsFT

does FTRAN on two columns

int updateTwoColumnsFT(CoinIndexedVector * regionSparse1, CoinIndexedVector * regionSparse2, CoinIndexedVector * regionSparse3, bool noPermute = false)

Parameters:

updateColumnTranspose

Updates one column (BTRAN) from regionSparse2 regionSparse starts as zero and is zero at end Note - if regionSparse2 packed on input - will be packed on output.

int updateColumnTranspose(CoinIndexedVector * regionSparse, CoinIndexedVector * regionSparse2)

Parameters:

indices

Get rid of all memory.

int * indices()

permute

Returns permute in.

int * permute()

gutsOfDestructor

The real work of desstructor.

void gutsOfDestructor(bool clearFact = true)

Parameters:

gutsOfInitialize

The real work of constructor.

void gutsOfInitialize(bool zapFact = true)

Parameters:

gutsOfCopy

The real work of copy.

void gutsOfCopy(const CoinOslFactorization & other)

Parameters:

Source

Header: layer-0/CoinUtils/src/CoinOslFactorization.hpp