11#ifndef ClpNetworkBasis_H
12#define ClpNetworkBasis_H
15class CoinIndexedVector;
17#include "CoinTypes.hpp"
36 int numberRows,
const CoinFactorizationDouble * pivotRegion,
37 const int * permuteBack,
const CoinBigIndex * startColumn,
38 const int * numberInColumn,
39 const int * indexRow,
const CoinFactorizationDouble * element);
60 int rowIsBasic[],
int columnIsBasic[]);
80 CoinIndexedVector * regionSparse2,
88 double array[] )
const;
96 double array[] )
const;
99 CoinIndexedVector * regionSparse2)
const;
110#ifndef COIN_FAST_CODE
Abstract base class for Clp Matrices.
This deals with Factorization and Updates for network structures.
double updateColumn(CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2, int pivotRow)
Updates one column (FTRAN) from region, Returns pivot value if "pivotRow" >=0.
int updateColumnTranspose(CoinIndexedVector *regionSparse, double array[]) const
Updates one column transpose (BTRAN) For large problems you should ALWAYS know where the nonzeros are...
ClpNetworkBasis & operator=(const ClpNetworkBasis &other)
= copy
~ClpNetworkBasis()
Destructor.
int updateColumn(CoinIndexedVector *regionSparse, double array[]) const
Updates one column (FTRAN) to/from array For large problems you should ALWAYS know where the nonzeros...
ClpNetworkBasis()
Default constructor.
int factorize(const ClpMatrixBase *matrix, int rowIsBasic[], int columnIsBasic[])
When part of LP - given by basic variables.
int updateColumnTranspose(CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2) const
Updates one column (BTRAN) from region2.
int replaceColumn(CoinIndexedVector *column, int pivotRow)
Replaces one Column to basis, returns 0=OK, 1=Probably OK, 2=singular!!
ClpNetworkBasis(const ClpNetworkBasis &other)
Copy constructor.
ClpNetworkBasis(const ClpSimplex *model, int numberRows, const CoinFactorizationDouble *pivotRegion, const int *permuteBack, const CoinBigIndex *startColumn, const int *numberInColumn, const int *indexRow, const CoinFactorizationDouble *element)
Constructor from CoinFactorization.
This solves LPs using the simplex method.