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 (ClpSimplex *model, const int *whichColumn, int numberRowBasic, 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, double *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 19 of file ClpGubMatrix.hpp.


Constructor & Destructor Documentation

ClpGubMatrix::ClpGubMatrix (  ) 

Default constructor.

virtual ClpGubMatrix::~ClpGubMatrix (  )  [virtual]

Destructor.

ClpGubMatrix::ClpGubMatrix ( const ClpGubMatrix  ) 

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 ( ClpSimplex model,
const int *  whichColumn,
int  numberRowBasic,
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,
double *  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.

Reimplemented from ClpPackedMatrix.

Reimplemented in ClpGubDynamicMatrix.

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 209 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 218 of file ClpGubMatrix.hpp.

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

Status.

Definition at line 222 of file ClpGubMatrix.hpp.

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

Status.

Reimplemented in ClpGubDynamicMatrix.

Definition at line 226 of file ClpGubMatrix.hpp.

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

To say key is above ub.

Definition at line 229 of file ClpGubMatrix.hpp.

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

To say key is feasible.

Definition at line 236 of file ClpGubMatrix.hpp.

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

To say key is below lb.

Definition at line 243 of file ClpGubMatrix.hpp.

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

Status.

Definition at line 249 of file ClpGubMatrix.hpp.

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

Starts.

Definition at line 256 of file ClpGubMatrix.hpp.

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

End.

Definition at line 259 of file ClpGubMatrix.hpp.

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

Lower bounds on sets.

Definition at line 262 of file ClpGubMatrix.hpp.

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

Upper bounds on sets.

Definition at line 265 of file ClpGubMatrix.hpp.

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

Key variable of set.

Definition at line 268 of file ClpGubMatrix.hpp.

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

Backward pointer to set number.

Definition at line 271 of file ClpGubMatrix.hpp.

int ClpGubMatrix::numberSets (  )  const [inline]

Number of sets (gub rows).

Definition at line 274 of file ClpGubMatrix.hpp.

void ClpGubMatrix::switchOffCheck (  ) 

Switches off dj checking each factorization (for BIG models).


Member Data Documentation

Sum of dual infeasibilities.

Definition at line 286 of file ClpGubMatrix.hpp.

Sum of primal infeasibilities.

Definition at line 288 of file ClpGubMatrix.hpp.

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

Definition at line 290 of file ClpGubMatrix.hpp.

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

Definition at line 292 of file ClpGubMatrix.hpp.

Infeasibility weight when last full pass done.

Definition at line 294 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::start_ [protected]

Starts.

Definition at line 296 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::end_ [protected]

End.

Definition at line 298 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::lower_ [protected]

Lower bounds on sets.

Definition at line 300 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::upper_ [protected]

Upper bounds on sets.

Definition at line 302 of file ClpGubMatrix.hpp.

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

Status of slacks.

Definition at line 304 of file ClpGubMatrix.hpp.

unsigned char* ClpGubMatrix::saveStatus_ [protected]

Saved status of slacks.

Definition at line 306 of file ClpGubMatrix.hpp.

Saved key variables.

Definition at line 308 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::backward_ [protected]

Backward pointer to set number.

Definition at line 310 of file ClpGubMatrix.hpp.

Backward pointer to pivot row !!!

Definition at line 312 of file ClpGubMatrix.hpp.

double* ClpGubMatrix::changeCost_ [protected]

Change in costs for keys.

Definition at line 314 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::keyVariable_ [mutable, protected]

Key variable of set.

Definition at line 316 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 320 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::toIndex_ [protected]

Backward pointer to index in CoinIndexedVector.

Definition at line 322 of file ClpGubMatrix.hpp.

int* ClpGubMatrix::fromIndex_ [protected]

Sum of dual infeasibilities.

Definition at line 324 of file ClpGubMatrix.hpp.

Pointer back to model.

Definition at line 326 of file ClpGubMatrix.hpp.

Number of dual infeasibilities.

Definition at line 328 of file ClpGubMatrix.hpp.

Number of primal infeasibilities.

Definition at line 330 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 336 of file ClpGubMatrix.hpp.

int ClpGubMatrix::numberSets_ [protected]

Number of sets (gub rows).

Definition at line 338 of file ClpGubMatrix.hpp.

int ClpGubMatrix::saveNumber_ [protected]

Number in vector without gub extension.

Definition at line 340 of file ClpGubMatrix.hpp.

Pivot row of possible next key.

Definition at line 342 of file ClpGubMatrix.hpp.

int ClpGubMatrix::gubSlackIn_ [protected]

Gub slack in (set number or -1).

Definition at line 344 of file ClpGubMatrix.hpp.

int ClpGubMatrix::firstGub_ [protected]

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

Definition at line 346 of file ClpGubMatrix.hpp.

int ClpGubMatrix::lastGub_ [protected]

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

Definition at line 348 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 351 of file ClpGubMatrix.hpp.


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

Generated on 15 Mar 2015 for Coin-All by  doxygen 1.6.1