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

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

List of all members
AbcDualRowPivot Class Referenceabstract

Dual Row Pivot Abstract Base Class. More...

`#include <AbcDualRowPivot.hpp>`

Inheritance diagram for AbcDualRowPivot:
[legend]
Collaboration diagram for AbcDualRowPivot:
[legend]

## Public Member Functions
Algorithmic methods
virtual int | pivotRow ()=0
| Returns pivot row, -1 if none. More...
virtual double | updateWeights1 (CoinIndexedVector &input, CoinIndexedVector &updateColumn)=0
| Does most of work for weights and returns pivot alpha. More...
virtual void | updateWeightsOnly (CoinIndexedVector &input)=0
| Returns pivot row, -1 if none. More...
virtual double | updateWeights (CoinIndexedVector &input, CoinIndexedVector &updateColumn)=0
| Returns pivot row, -1 if none. More...
virtual void | updateWeights2 (CoinIndexedVector &input, CoinIndexedVector &updateColumn)=0
| Actually updates weights. More...
virtual void | updatePrimalSolution (CoinIndexedVector &updateColumn, double theta)=0
| Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Would be faster if we kept basic regions, but on other hand it means everything is always in sync. More...
virtual void | updatePrimalSolutionAndWeights (CoinIndexedVector &weightsVector, CoinIndexedVector &updateColumn, double theta)
| Returns pivot row, -1 if none. More...
virtual void | saveWeights (AbcSimplex *model, int mode)
| Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (will save model) May also recompute infeasibility stuff 1) before factorization 2) after good factorization (if weights empty may initialize) 3) after something happened but no factorization (e.g. More...
virtual void | recomputeInfeasibilities ()
| Recompute infeasibilities. More...
virtual void | checkAccuracy ()
| checks accuracy and may re-initialize (may be empty) More...
virtual void | clearArrays ()
| Gets rid of all arrays (may be empty) More...
virtual bool | looksOptimal () const
| Returns true if would not find any row. More...
Constructors and destructors
| AbcDualRowPivot ()
| Default Constructor. More...
| AbcDualRowPivot (const AbcDualRowPivot &)
| Copy constructor. More...
AbcDualRowPivot & | operator= (const AbcDualRowPivot &rhs)
| Assignment operator. More...
virtual | ~AbcDualRowPivot ()
| Destructor. More...
virtual AbcDualRowPivot * | clone (bool copyData=true) const =0
| Clone. More...
Other
AbcSimplex * | model ()
| Returns model. More...
void | setModel (AbcSimplex *newmodel)
| Sets model (normally to NULL) More...
int | type ()
| Returns type (above 63 is extra information) More...

## Protected Attributes
Protected member data
AbcSimplex * | model_
| Pointer to model. More...
int | type_
| Type of row pivot algorithm. More...

## Detailed Description

Dual Row Pivot Abstract Base Class.

Abstract Base Class for describing an interface to an algorithm to choose row pivot in dual simplex algorithm. For some algorithms e.g. Dantzig choice then some functions may be null.

Definition at line 23 of file AbcDualRowPivot.hpp.

## Constructor & Destructor Documentation

AbcDualRowPivot::AbcDualRowPivot | ( |  | ) |

Default Constructor.

AbcDualRowPivot::AbcDualRowPivot | ( | const AbcDualRowPivot & |  | ) |

Copy constructor.

virtual AbcDualRowPivot::~AbcDualRowPivot | ( |  | ) |
| virtual

Destructor.

## Member Function Documentation

virtual int AbcDualRowPivot::pivotRow | ( |  | ) |
| pure virtual

Returns pivot row, -1 if none.

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual double AbcDualRowPivot::updateWeights1 | ( | CoinIndexedVector & | input,
|  | CoinIndexedVector & | updateColumn
| ) |  |
| pure virtual

Does most of work for weights and returns pivot alpha.

Also does FT update

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual void AbcDualRowPivot::updateWeightsOnly | ( | CoinIndexedVector & | input | ) |
| pure virtual

Returns pivot row, -1 if none.

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual double AbcDualRowPivot::updateWeights | ( | CoinIndexedVector & | input,
|  | CoinIndexedVector & | updateColumn
| ) |  |
| pure virtual

Returns pivot row, -1 if none.

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual void AbcDualRowPivot::updateWeights2 | ( | CoinIndexedVector & | input,
|  | CoinIndexedVector & | updateColumn
| ) |  |
| pure virtual

Actually updates weights.

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual void AbcDualRowPivot::updatePrimalSolution | ( | CoinIndexedVector & | updateColumn,
|  | double | theta
| ) |  |
| pure virtual

Updates primal solution (and maybe list of candidates) Uses input vector which it deletes Would be faster if we kept basic regions, but on other hand it means everything is always in sync.

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual void AbcDualRowPivot::updatePrimalSolutionAndWeights | ( | CoinIndexedVector & | weightsVector,
|  | CoinIndexedVector & | updateColumn,
|  | double | theta
| ) |  |
| virtual

Returns pivot row, -1 if none.

Reimplemented in AbcDualRowSteepest.

virtual void AbcDualRowPivot::saveWeights | ( | AbcSimplex * | model,
|  | int | mode
| ) |  |
| virtual

Saves any weights round factorization as pivot rows may change Will be empty unless steepest edge (will save model) May also recompute infeasibility stuff 1) before factorization 2) after good factorization (if weights empty may initialize) 3) after something happened but no factorization (e.g.

check for infeasible) 4) as 2 but restore weights from previous snapshot 5) for strong branching - initialize , infeasibilities

Reimplemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual void AbcDualRowPivot::recomputeInfeasibilities | ( |  | ) |
| virtual

Recompute infeasibilities.

Reimplemented in AbcDualRowSteepest, and AbcDualRowDantzig.

virtual void AbcDualRowPivot::checkAccuracy | ( |  | ) |
| virtual

checks accuracy and may re-initialize (may be empty)

virtual void AbcDualRowPivot::clearArrays | ( |  | ) |
| virtual

Gets rid of all arrays (may be empty)

Reimplemented in AbcDualRowSteepest.

virtual bool AbcDualRowPivot::looksOptimal | ( |  | ) | const
| inline virtual

Returns true if would not find any row.

Reimplemented in AbcDualRowSteepest.

Definition at line 69 of file AbcDualRowPivot.hpp.

AbcDualRowPivot& AbcDualRowPivot::operator= | ( | const AbcDualRowPivot & | rhs | ) |

Assignment operator.

virtual AbcDualRowPivot* AbcDualRowPivot::clone | ( | bool | copyData = `true` | ) | const
| pure virtual

Clone.

Implemented in AbcDualRowSteepest, and AbcDualRowDantzig.

AbcSimplex* AbcDualRowPivot::model | ( |  | ) |
| inline

Returns model.

Definition at line 97 of file AbcDualRowPivot.hpp.

void AbcDualRowPivot::setModel | ( | AbcSimplex * | newmodel | ) |
| inline

Sets model (normally to NULL)

Definition at line 102 of file AbcDualRowPivot.hpp.

int AbcDualRowPivot::type | ( |  | ) |
| inline

Returns type (above 63 is extra information)

Definition at line 107 of file AbcDualRowPivot.hpp.

## Member Data Documentation

AbcSimplex* AbcDualRowPivot::model_
| protected

Pointer to model.

Definition at line 119 of file AbcDualRowPivot.hpp.

int AbcDualRowPivot::type_
| protected

Type of row pivot algorithm.

Definition at line 121 of file AbcDualRowPivot.hpp.

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

- /tmp/CHiPPS-Blis-0.94.3/Clp/src/AbcDualRowPivot.hpp