Clp 1.17.6

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Private Member Functions | List of all members
ClpNetworkBasis Class Reference

This deals with Factorization and Updates for network structures. More...

`#include <ClpNetworkBasis.hpp>`

Collaboration diagram for ClpNetworkBasis:
[legend]

## Public Member Functions
Constructors and destructor and copy
| ClpNetworkBasis ()
| Default constructor. More...
| ClpNetworkBasis (const ClpSimplex *model, int numberRows, const CoinFactorizationDouble *pivotRegion, const int *permuteBack, const int *startColumn, const int *numberInColumn, const int *indexRow, const CoinFactorizationDouble *element)
| Constructor from CoinFactorization. More...
| ClpNetworkBasis (const ClpNetworkBasis &other)
| Copy constructor. More...
| ~ClpNetworkBasis ()
| Destructor. More...
ClpNetworkBasis & | operator= (const ClpNetworkBasis &other)
| = copy More...
Do factorization
int | factorize (const ClpMatrixBase *matrix, int rowIsBasic[], int columnIsBasic[])
| When part of LP - given by basic variables. More...
rank one updates which do exist
int | replaceColumn (CoinIndexedVector *column, int pivotRow)
| Replaces one Column to basis, returns 0=OK, 1=Probably OK, 2=singular!! More...
various uses of factorization (return code number elements)
which user may want to know about
double | updateColumn (CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2, int pivotRow)
| Updates one column (FTRAN) from region, Returns pivot value if "pivotRow" >=0. More...
int | updateColumn (CoinIndexedVector *regionSparse, double array[]) const
| Updates one column (FTRAN) to/from array For large problems you should ALWAYS know where the nonzeros are, so please try and migrate to previous method after you have got code working using this simple method - thank you! (the only exception is if you know input is dense e.g. More...
int | updateColumnTranspose (CoinIndexedVector *regionSparse, double array[]) const
| Updates one column transpose (BTRAN) For large problems you should ALWAYS know where the nonzeros are, so please try and migrate to previous method after you have got code working using this simple method - thank you! (the only exception is if you know input is dense e.g. More...
int | updateColumnTranspose (CoinIndexedVector *regionSparse, CoinIndexedVector *regionSparse2) const
| Updates one column (BTRAN) from region2. More...

## Private Member Functions
void | check ()
void | print ()

## Private Attributes
data
int | numberRows_
| Number of Rows in factorization. More...
int | numberColumns_
| Number of Columns in factorization. More...
const ClpSimplex * | model_
| model More...
int * | parent_
| Parent for each column. More...
int * | descendant_
| Descendant. More...
int * | pivot_
| Pivot row. More...
int * | rightSibling_
| Right sibling. More...
int * | leftSibling_
| Left sibling. More...
double * | sign_
| Sign of pivot. More...
int * | stack_
| Stack. More...
int * | permute_
| Permute into array. More...
int * | permuteBack_
| Permute back array. More...
int * | stack2_
| Second stack. More...
int * | depth_
| Depth. More...
char * | mark_
| To mark rows. More...

## Detailed Description

This deals with Factorization and Updates for network structures.

Definition at line 25 of file ClpNetworkBasis.hpp.

## Constructor & Destructor Documentation

ClpNetworkBasis::ClpNetworkBasis | ( |  | ) |

Default constructor.

ClpNetworkBasis::ClpNetworkBasis | ( | const ClpSimplex * | model,
|  | int | numberRows,
|  | const CoinFactorizationDouble * | pivotRegion,
|  | const int * | permuteBack,
|  | const int * | startColumn,
|  | const int * | numberInColumn,
|  | const int * | indexRow,
|  | const CoinFactorizationDouble * | element
| ) |  |

Constructor from CoinFactorization.

ClpNetworkBasis::ClpNetworkBasis | ( | const ClpNetworkBasis & | other | ) |

Copy constructor.

ClpNetworkBasis::~ClpNetworkBasis | ( |  | ) |

Destructor.

## Member Function Documentation

ClpNetworkBasis& ClpNetworkBasis::operator= | ( | const ClpNetworkBasis & | other | ) |

= copy

int ClpNetworkBasis::factorize | ( | const ClpMatrixBase * | matrix,
|  | int | rowIsBasic[],
|  | int | columnIsBasic[]
| ) |  |

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. 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

int ClpNetworkBasis::replaceColumn | ( | CoinIndexedVector * | column,
|  | int | pivotRow
| ) |  |

Replaces one Column to basis, returns 0=OK, 1=Probably OK, 2=singular!!

double ClpNetworkBasis::updateColumn | ( | CoinIndexedVector * | regionSparse,
|  | CoinIndexedVector * | regionSparse2,
|  | int | pivotRow
| ) |  |

Updates one column (FTRAN) from region, Returns pivot value if "pivotRow" >=0.

int ClpNetworkBasis::updateColumn | ( | CoinIndexedVector * | regionSparse,
|  | double | array[]
| ) |  | const

Updates one column (FTRAN) to/from array For large problems you should ALWAYS know where the nonzeros are, so please try and migrate to previous method after you have got code working using this simple method - thank you! (the only exception is if you know input is dense e.g.

rhs)

int ClpNetworkBasis::updateColumnTranspose | ( | CoinIndexedVector * | regionSparse,
|  | double | array[]
| ) |  | const

Updates one column transpose (BTRAN) For large problems you should ALWAYS know where the nonzeros are, so please try and migrate to previous method after you have got code working using this simple method - thank you! (the only exception is if you know input is dense e.g.

dense objective) returns number of nonzeros

int ClpNetworkBasis::updateColumnTranspose | ( | CoinIndexedVector * | regionSparse,
|  | CoinIndexedVector * | regionSparse2
| ) |  | const

Updates one column (BTRAN) from region2.

void ClpNetworkBasis::check | ( |  | ) |
| private

void ClpNetworkBasis::print | ( |  | ) |
| private

## Member Data Documentation

int ClpNetworkBasis::numberRows_
| private

Number of Rows in factorization.

Definition at line 112 of file ClpNetworkBasis.hpp.

int ClpNetworkBasis::numberColumns_
| private

Number of Columns in factorization.

Definition at line 114 of file ClpNetworkBasis.hpp.

const ClpSimplex* ClpNetworkBasis::model_
| private

model

Definition at line 116 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::parent_
| private

Parent for each column.

Definition at line 118 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::descendant_
| private

Descendant.

Definition at line 120 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::pivot_
| private

Pivot row.

Definition at line 122 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::rightSibling_
| private

Right sibling.

Definition at line 124 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::leftSibling_
| private

Left sibling.

Definition at line 126 of file ClpNetworkBasis.hpp.

double* ClpNetworkBasis::sign_
| private

Sign of pivot.

Definition at line 128 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::stack_
| private

Stack.

Definition at line 130 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::permute_
| private

Permute into array.

Definition at line 132 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::permuteBack_
| private

Permute back array.

Definition at line 134 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::stack2_
| private

Second stack.

Definition at line 136 of file ClpNetworkBasis.hpp.

int* ClpNetworkBasis::depth_
| private

Depth.

Definition at line 138 of file ClpNetworkBasis.hpp.

char* ClpNetworkBasis::mark_
| private

To mark rows.

Definition at line 140 of file ClpNetworkBasis.hpp.

The documentation for this class was generated from the following file:

- /tmp/Clp-1.17.6/Clp/src/ClpNetworkBasis.hpp