ClpGubMatrix Class Reference

This implements Gub rows plus a ClpPackedMatrix. More...

#include <ClpGubMatrix.hpp>

Inheritance diagram for ClpGubMatrix:
Inheritance graph
[legend]
Collaboration diagram for ClpGubMatrix:
Collaboration graph
[legend]

List of all members.

Public Member Functions

Main functions provided
virtual ClpMatrixBasereverseOrderedCopy () const
 Returns a new matrix in reverse order without gaps (GUB wants NULL)
virtual CoinBigIndex countBasis (const int *whichColumn, int &numberColumnBasic)
 Returns number of elements in column part of basis.
virtual void fillBasis (ClpSimplex *model, const int *whichColumn, int &numberColumnBasic, int *row, int *start, int *rowCount, int *columnCount, CoinFactorizationDouble *element)
 Fills in column part of basis.
virtual void unpack (const ClpSimplex *model, CoinIndexedVector *rowArray, int column) const
 Unpacks a column into an CoinIndexedvector.
virtual void unpackPacked (ClpSimplex *model, CoinIndexedVector *rowArray, int column) const
 Unpacks a column into an CoinIndexedvector in packed foramt Note that model is NOT const.
virtual void add (const ClpSimplex *model, CoinIndexedVector *rowArray, int column, double multiplier) const
 Adds multiple of a column into an CoinIndexedvector You can use quickAdd to add to vector.
virtual void add (const ClpSimplex *model, double *array, int column, double multiplier) const
 Adds multiple of a column into an array.
virtual void partialPricing (ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted)
 Partial pricing.
virtual int hiddenRows () const
 Returns number of hidden rows e.g. gub.
Matrix times vector methods
virtual void transposeTimes (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const
 Return x * scalar * A + y in z.
virtual void transposeTimesByRow (const ClpSimplex *model, double scalar, const CoinIndexedVector *x, CoinIndexedVector *y, CoinIndexedVector *z) const
 Return x * scalar * A + y in z.
virtual void subsetTransposeTimes (const ClpSimplex *model, const CoinIndexedVector *x, const CoinIndexedVector *y, CoinIndexedVector *z) const
 Return x *A in z but just for indices in y.
virtual int extendUpdated (ClpSimplex *model, CoinIndexedVector *update, int mode)
 expands an updated column to allow for extra rows which the main solver does not know about and returns number added if mode 0.
virtual void primalExpanded (ClpSimplex *model, int mode)
 mode=0 - Set up before "update" and "times" for primal solution using extended rows mode=1 - Cleanup primal solution after "times" using extended rows.
virtual void dualExpanded (ClpSimplex *model, CoinIndexedVector *array, double *other, int mode)
 mode=0 - Set up before "updateTranspose" and "transposeTimes" for duals using extended updates array (and may use other if dual values pass) mode=1 - Update dual solution after "transposeTimes" using extended rows.
virtual int generalExpanded (ClpSimplex *model, int mode, int &number)
 mode=0 - Create list of non-key basics in pivotVariable_ using number as numberBasic in and out mode=1 - Set all key variables as basic mode=2 - return number extra rows needed, number gives maximum number basic mode=3 - before replaceColumn mode=4 - return 1 if can do primal, 2 if dual, 3 if both mode=5 - save any status stuff (when in good state) mode=6 - restore status stuff mode=7 - flag given variable (normally sequenceIn) mode=8 - unflag all variables mode=9 - synchronize costs mode=10 - return 1 if there may be changing bounds on variable (column generation) mode=11 - make sure set is clean (used when a variable rejected - but not flagged) mode=12 - after factorize but before permute stuff mode=13 - at end of simplex to delete stuff
virtual int updatePivot (ClpSimplex *model, double oldInValue, double oldOutValue)
 update information for a pivot (and effective rhs)
virtual void useEffectiveRhs (ClpSimplex *model, bool cheapest=true)
 Sets up an effective RHS and does gub crash if needed.
virtual double * rhsOffset (ClpSimplex *model, bool forceRefresh=false, bool check=false)
 Returns effective RHS offset if it is being used.
virtual int synchronize (ClpSimplex *model, int mode)
 This is local to Gub to allow synchronization: mode=0 when status of basis is good mode=1 when variable is flagged mode=2 when all variables unflagged (returns number flagged) mode=3 just reset costs (primal) mode=4 correct number of dual infeasibilities mode=5 return 4 if time to re-factorize mode=6 - return 1 if there may be changing bounds on variable (column generation) mode=7 - do extra restores for column generation mode=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming.
virtual void correctSequence (const ClpSimplex *model, int &sequenceIn, int &sequenceOut)
 Correct sequence in and out to give true value.
Constructors, destructor
 ClpGubMatrix ()
 Default constructor.
virtual ~ClpGubMatrix ()
 Destructor.
Copy method
 ClpGubMatrix (const ClpGubMatrix &)
 The copy constructor.
 ClpGubMatrix (const CoinPackedMatrix &)
 The copy constructor from an CoinPackedMatrix.
 ClpGubMatrix (const ClpGubMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 Subset constructor (without gaps).
 ClpGubMatrix (const CoinPackedMatrix &wholeModel, int numberRows, const int *whichRows, int numberColumns, const int *whichColumns)
 The copy constructor.
 ClpGubMatrix (CoinPackedMatrix *matrix)
 This takes over ownership (for space reasons)
 ClpGubMatrix (ClpPackedMatrix *matrix, int numberSets, const int *start, const int *end, const double *lower, const double *upper, const unsigned char *status=NULL)
 This takes over ownership (for space reasons) and is the real constructor.
ClpGubMatrixoperator= (const ClpGubMatrix &)
 The copy constructor.
virtual ClpMatrixBaseclone () const
 Clone.
virtual ClpMatrixBasesubsetClone (int numberRows, const int *whichRows, int numberColumns, const int *whichColumns) const
 Subset clone (without gaps).
void redoSet (ClpSimplex *model, int newKey, int oldKey, int iSet)
 redoes next_ for a set.
gets and sets
ClpSimplex::Status getStatus (int sequence) const
 Status.
void setStatus (int sequence, ClpSimplex::Status status)
 Status.
void setFlagged (int sequence)
 To flag a variable.
void clearFlagged (int sequence)
 Status.
bool flagged (int sequence) const
 Status.
void setAbove (int sequence)
 To say key is above ub.
void setFeasible (int sequence)
 To say key is feasible.
void setBelow (int sequence)
 To say key is below lb.
double weight (int sequence) const
 Status.
int * start () const
 Starts.
int * end () const
 End.
double * lower () const
 Lower bounds on sets.
double * upper () const
 Upper bounds on sets.
int * keyVariable () const
 Key variable of set.
int * backward () const
 Backward pointer to set number.
int numberSets () const
 Number of sets (gub rows)
void switchOffCheck ()
 Switches off dj checking each factorization (for BIG models)

Protected Attributes

Data members

The data members are protected to allow access for derived classes.

double sumDualInfeasibilities_
 Sum of dual infeasibilities.
double sumPrimalInfeasibilities_
 Sum of primal infeasibilities.
double sumOfRelaxedDualInfeasibilities_
 Sum of Dual infeasibilities using tolerance based on error in duals.
double sumOfRelaxedPrimalInfeasibilities_
 Sum of Primal infeasibilities using tolerance based on error in primals.
double infeasibilityWeight_
 Infeasibility weight when last full pass done.
int * start_
 Starts.
int * end_
 End.
double * lower_
 Lower bounds on sets.
double * upper_
 Upper bounds on sets.
unsigned char * status_
 Status of slacks.
unsigned char * saveStatus_
 Saved status of slacks.
int * savedKeyVariable_
 Saved key variables.
int * backward_
 Backward pointer to set number.
int * backToPivotRow_
 Backward pointer to pivot row !!!
double * changeCost_
 Change in costs for keys.
int * keyVariable_
 Key variable of set.
int * next_
 Next basic variable in set - starts at key and end with -(set+1).
int * toIndex_
 Backward pointer to index in CoinIndexedVector.
int * fromIndex_
 Sum of dual infeasibilities.
ClpSimplexmodel_
 Pointer back to model.
int numberDualInfeasibilities_
 Number of dual infeasibilities.
int numberPrimalInfeasibilities_
 Number of primal infeasibilities.
int noCheck_
 If pricing will declare victory (i.e.
int numberSets_
 Number of sets (gub rows)
int saveNumber_
 Number in vector without gub extension.
int possiblePivotKey_
 Pivot row of possible next key.
int gubSlackIn_
 Gub slack in (set number or -1)
int firstGub_
 First gub variables (same as start_[0] at present)
int lastGub_
 last gub variable (same as end_[numberSets_-1] at present)
int gubType_
 type of gub - 0 not contiguous, 1 contiguous add 8 bit to say no ubs on individual variables

Detailed Description

This implements Gub rows plus a ClpPackedMatrix.

There will be a version using ClpPlusMinusOne matrix but there is no point doing one with ClpNetworkMatrix (although an embedded network is attractive).

Definition at line 20 of file ClpGubMatrix.hpp.


Constructor & Destructor Documentation

Default constructor.

virtual ClpGubMatrix::~ClpGubMatrix ( ) [virtual]

Destructor.

The copy constructor.

ClpGubMatrix::ClpGubMatrix ( const CoinPackedMatrix &  )

The copy constructor from an CoinPackedMatrix.

ClpGubMatrix::ClpGubMatrix ( const ClpGubMatrix wholeModel,
int  numberRows,
const int *  whichRows,
int  numberColumns,
const int *  whichColumns 
)

Subset constructor (without gaps).

Duplicates are allowed and order is as given

ClpGubMatrix::ClpGubMatrix ( const CoinPackedMatrix &  wholeModel,
int  numberRows,
const int *  whichRows,
int  numberColumns,
const int *  whichColumns 
)

The copy constructor.

ClpGubMatrix::ClpGubMatrix ( CoinPackedMatrix *  matrix)

This takes over ownership (for space reasons)

ClpGubMatrix::ClpGubMatrix ( ClpPackedMatrix matrix,
int  numberSets,
const int *  start,
const int *  end,
const double *  lower,
const double *  upper,
const unsigned char *  status = NULL 
)

This takes over ownership (for space reasons) and is the real constructor.


Member Function Documentation

virtual ClpMatrixBase* ClpGubMatrix::reverseOrderedCopy ( ) const [virtual]

Returns a new matrix in reverse order without gaps (GUB wants NULL)

Reimplemented from ClpPackedMatrix.

virtual CoinBigIndex ClpGubMatrix::countBasis ( const int *  whichColumn,
int &  numberColumnBasic 
) [virtual]

Returns number of elements in column part of basis.

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::fillBasis ( ClpSimplex model,
const int *  whichColumn,
int &  numberColumnBasic,
int *  row,
int *  start,
int *  rowCount,
int *  columnCount,
CoinFactorizationDouble *  element 
) [virtual]

Fills in column part of basis.

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::unpack ( const ClpSimplex model,
CoinIndexedVector *  rowArray,
int  column 
) const [virtual]

Unpacks a column into an CoinIndexedvector.

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::unpackPacked ( ClpSimplex model,
CoinIndexedVector *  rowArray,
int  column 
) const [virtual]

Unpacks a column into an CoinIndexedvector in packed foramt Note that model is NOT const.

Bounds and objective could be modified if doing column generation (just for this variable)

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::add ( const ClpSimplex model,
CoinIndexedVector *  rowArray,
int  column,
double  multiplier 
) const [virtual]

Adds multiple of a column into an CoinIndexedvector You can use quickAdd to add to vector.

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::add ( const ClpSimplex model,
double *  array,
int  column,
double  multiplier 
) const [virtual]

Adds multiple of a column into an array.

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::partialPricing ( ClpSimplex model,
double  start,
double  end,
int &  bestSequence,
int &  numberWanted 
) [virtual]

Partial pricing.

Reimplemented from ClpPackedMatrix.

Reimplemented in ClpGubDynamicMatrix.

virtual int ClpGubMatrix::hiddenRows ( ) const [virtual]

Returns number of hidden rows e.g. gub.

Reimplemented from ClpMatrixBase.

virtual void ClpGubMatrix::transposeTimes ( const ClpSimplex model,
double  scalar,
const CoinIndexedVector *  x,
CoinIndexedVector *  y,
CoinIndexedVector *  z 
) const [virtual]

Return x * scalar * A + y in z.

Can use y as temporary array (will be empty at end) Note - If x packed mode - then z packed mode Squashes small elements and knows about ClpSimplex

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::transposeTimesByRow ( const ClpSimplex model,
double  scalar,
const CoinIndexedVector *  x,
CoinIndexedVector *  y,
CoinIndexedVector *  z 
) const [virtual]

Return x * scalar * A + y in z.

Can use y as temporary array (will be empty at end) Note - If x packed mode - then z packed mode Squashes small elements and knows about ClpSimplex. This version uses row copy

Reimplemented from ClpPackedMatrix.

virtual void ClpGubMatrix::subsetTransposeTimes ( const ClpSimplex model,
const CoinIndexedVector *  x,
const CoinIndexedVector *  y,
CoinIndexedVector *  z 
) const [virtual]

Return x *A in z but just for indices in y.

Note - z always packed mode

Reimplemented from ClpPackedMatrix.

virtual int ClpGubMatrix::extendUpdated ( ClpSimplex model,
CoinIndexedVector *  update,
int  mode 
) [virtual]

expands an updated column to allow for extra rows which the main solver does not know about and returns number added if mode 0.

If mode 1 deletes extra entries

This active in Gub

Reimplemented from ClpMatrixBase.

virtual void ClpGubMatrix::primalExpanded ( ClpSimplex model,
int  mode 
) [virtual]

mode=0 - Set up before "update" and "times" for primal solution using extended rows mode=1 - Cleanup primal solution after "times" using extended rows.

mode=2 - Check (or report on) primal infeasibilities

Reimplemented from ClpMatrixBase.

virtual void ClpGubMatrix::dualExpanded ( ClpSimplex model,
CoinIndexedVector *  array,
double *  other,
int  mode 
) [virtual]

mode=0 - Set up before "updateTranspose" and "transposeTimes" for duals using extended updates array (and may use other if dual values pass) mode=1 - Update dual solution after "transposeTimes" using extended rows.

mode=2 - Compute all djs and compute key dual infeasibilities mode=3 - Report on key dual infeasibilities mode=4 - Modify before updateTranspose in partial pricing

Reimplemented from ClpMatrixBase.

virtual int ClpGubMatrix::generalExpanded ( ClpSimplex model,
int  mode,
int &  number 
) [virtual]

mode=0 - Create list of non-key basics in pivotVariable_ using number as numberBasic in and out mode=1 - Set all key variables as basic mode=2 - return number extra rows needed, number gives maximum number basic mode=3 - before replaceColumn mode=4 - return 1 if can do primal, 2 if dual, 3 if both mode=5 - save any status stuff (when in good state) mode=6 - restore status stuff mode=7 - flag given variable (normally sequenceIn) mode=8 - unflag all variables mode=9 - synchronize costs mode=10 - return 1 if there may be changing bounds on variable (column generation) mode=11 - make sure set is clean (used when a variable rejected - but not flagged) mode=12 - after factorize but before permute stuff mode=13 - at end of simplex to delete stuff

Reimplemented from ClpMatrixBase.

virtual int ClpGubMatrix::updatePivot ( ClpSimplex model,
double  oldInValue,
double  oldOutValue 
) [virtual]

update information for a pivot (and effective rhs)

Reimplemented from ClpMatrixBase.

Reimplemented in ClpGubDynamicMatrix.

virtual void ClpGubMatrix::useEffectiveRhs ( ClpSimplex model,
bool  cheapest = true 
) [virtual]

Sets up an effective RHS and does gub crash if needed.

Reimplemented in ClpGubDynamicMatrix.

virtual double* ClpGubMatrix::rhsOffset ( ClpSimplex model,
bool  forceRefresh = false,
bool  check = false 
) [virtual]

Returns effective RHS offset if it is being used.

This is used for long problems or big gub or anywhere where going through full columns is expensive. This may re-compute

Reimplemented from ClpMatrixBase.

Reimplemented in ClpGubDynamicMatrix.

virtual int ClpGubMatrix::synchronize ( ClpSimplex model,
int  mode 
) [virtual]

This is local to Gub to allow synchronization: mode=0 when status of basis is good mode=1 when variable is flagged mode=2 when all variables unflagged (returns number flagged) mode=3 just reset costs (primal) mode=4 correct number of dual infeasibilities mode=5 return 4 if time to re-factorize mode=6 - return 1 if there may be changing bounds on variable (column generation) mode=7 - do extra restores for column generation mode=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming.

Reimplemented in ClpGubDynamicMatrix.

virtual void ClpGubMatrix::correctSequence ( const ClpSimplex model,
int &  sequenceIn,
int &  sequenceOut 
) [virtual]

Correct sequence in and out to give true value.

Reimplemented from ClpPackedMatrix.

ClpGubMatrix& ClpGubMatrix::operator= ( const ClpGubMatrix )

The copy constructor.

virtual ClpMatrixBase* ClpGubMatrix::clone ( ) const [virtual]

Clone.

Reimplemented from ClpPackedMatrix.

Reimplemented in ClpGubDynamicMatrix.

virtual ClpMatrixBase* ClpGubMatrix::subsetClone ( int  numberRows,
const int *  whichRows,
int  numberColumns,
const int *  whichColumns 
) const [virtual]

Subset clone (without gaps).

Duplicates are allowed and order is as given

Reimplemented from ClpPackedMatrix.

void ClpGubMatrix::redoSet ( ClpSimplex model,
int  newKey,
int  oldKey,
int  iSet 
)

redoes next_ for a set.

ClpSimplex::Status ClpGubMatrix::getStatus ( int  sequence) const [inline]

Status.

Definition at line 208 of file ClpGubMatrix.hpp.

void ClpGubMatrix::setStatus ( int  sequence,
ClpSimplex::Status  status 
) [inline]

Status.

Definition at line 211 of file ClpGubMatrix.hpp.

void ClpGubMatrix::setFlagged ( int  sequence) [inline]

To flag a variable.

Reimplemented in ClpGubDynamicMatrix.

Definition at line 217 of file ClpGubMatrix.hpp.

void ClpGubMatrix::clearFlagged ( int  sequence) [inline]

Status.

Definition at line 220 of file ClpGubMatrix.hpp.

bool ClpGubMatrix::flagged ( int  sequence) const [inline]

Status.

Reimplemented in ClpGubDynamicMatrix.

Definition at line 223 of file ClpGubMatrix.hpp.

void ClpGubMatrix::setAbove ( int  sequence) [inline]

To say key is above ub.

Definition at line 227 of file ClpGubMatrix.hpp.

void ClpGubMatrix::setFeasible ( int  sequence) [inline]

To say key is feasible.

Definition at line 233 of file ClpGubMatrix.hpp.

void ClpGubMatrix::setBelow ( int  sequence) [inline]

To say key is below lb.

Definition at line 239 of file ClpGubMatrix.hpp.

double ClpGubMatrix::weight ( int  sequence) const [inline]

Status.

Definition at line 244 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::start ( ) const [inline]

Starts.

Definition at line 250 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::end ( ) const [inline]

End.

Definition at line 254 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::lower ( ) const [inline]

Lower bounds on sets.

Definition at line 258 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::upper ( ) const [inline]

Upper bounds on sets.

Definition at line 262 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::keyVariable ( ) const [inline]

Key variable of set.

Definition at line 266 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::backward ( ) const [inline]

Backward pointer to set number.

Definition at line 270 of file ClpGubMatrix.hpp.

int ClpGubMatrix::numberSets ( ) const [inline]

Number of sets (gub rows)

Definition at line 274 of file ClpGubMatrix.hpp.

Switches off dj checking each factorization (for BIG models)


Member Data Documentation

Sum of dual infeasibilities.

Definition at line 287 of file ClpGubMatrix.hpp.

Sum of primal infeasibilities.

Definition at line 289 of file ClpGubMatrix.hpp.

Sum of Dual infeasibilities using tolerance based on error in duals.

Definition at line 291 of file ClpGubMatrix.hpp.

Sum of Primal infeasibilities using tolerance based on error in primals.

Definition at line 293 of file ClpGubMatrix.hpp.

Infeasibility weight when last full pass done.

Definition at line 295 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::start_ [protected]

Starts.

Definition at line 297 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::end_ [protected]

End.

Definition at line 299 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::lower_ [protected]

Lower bounds on sets.

Definition at line 301 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::upper_ [protected]

Upper bounds on sets.

Definition at line 303 of file ClpGubMatrix.hpp.

unsigned char* ClpGubMatrix::status_ [mutable, protected]

Status of slacks.

Definition at line 305 of file ClpGubMatrix.hpp.

unsigned char* ClpGubMatrix::saveStatus_ [protected]

Saved status of slacks.

Definition at line 307 of file ClpGubMatrix.hpp.

Saved key variables.

Definition at line 309 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::backward_ [protected]

Backward pointer to set number.

Definition at line 311 of file ClpGubMatrix.hpp.

Backward pointer to pivot row !!!

Definition at line 313 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::changeCost_ [protected]

Change in costs for keys.

Definition at line 315 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::keyVariable_ [mutable, protected]

Key variable of set.

Definition at line 317 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::next_ [mutable, protected]

Next basic variable in set - starts at key and end with -(set+1).

Now changes to -(nonbasic+1). next_ has extra space for 2* longest set

Definition at line 321 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::toIndex_ [protected]

Backward pointer to index in CoinIndexedVector.

Definition at line 323 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::fromIndex_ [protected]

Sum of dual infeasibilities.

Definition at line 325 of file ClpGubMatrix.hpp.

Pointer back to model.

Definition at line 327 of file ClpGubMatrix.hpp.

Number of dual infeasibilities.

Definition at line 329 of file ClpGubMatrix.hpp.

Number of primal infeasibilities.

Definition at line 331 of file ClpGubMatrix.hpp.

int ClpGubMatrix::noCheck_ [protected]

If pricing will declare victory (i.e.

no check every factorization). -1 - always check 0 - don't check 1 - in don't check mode but looks optimal

Definition at line 337 of file ClpGubMatrix.hpp.

int ClpGubMatrix::numberSets_ [protected]

Number of sets (gub rows)

Definition at line 339 of file ClpGubMatrix.hpp.

int ClpGubMatrix::saveNumber_ [protected]

Number in vector without gub extension.

Definition at line 341 of file ClpGubMatrix.hpp.

Pivot row of possible next key.

Definition at line 343 of file ClpGubMatrix.hpp.

int ClpGubMatrix::gubSlackIn_ [protected]

Gub slack in (set number or -1)

Definition at line 345 of file ClpGubMatrix.hpp.

int ClpGubMatrix::firstGub_ [protected]

First gub variables (same as start_[0] at present)

Definition at line 347 of file ClpGubMatrix.hpp.

int ClpGubMatrix::lastGub_ [protected]

last gub variable (same as end_[numberSets_-1] at present)

Definition at line 349 of file ClpGubMatrix.hpp.

int ClpGubMatrix::gubType_ [protected]

type of gub - 0 not contiguous, 1 contiguous add 8 bit to say no ubs on individual variables

Definition at line 352 of file ClpGubMatrix.hpp.


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