#include <ClpGubDynamicMatrix.hpp>
Inheritance diagram for ClpGubDynamicMatrix:
gets and sets | |
enum | DynamicStatus { inSmall = 0x01, atUpperBound = 0x02, atLowerBound = 0x03 } |
enums for status of various sorts More... | |
bool | flagged (int i) const |
Whether flagged. | |
void | setFlagged (int i) |
enums for status of various sorts | |
void | unsetFlagged (int i) |
enums for status of various sorts | |
void | setDynamicStatus (int sequence, DynamicStatus status) |
enums for status of various sorts | |
DynamicStatus | getDynamicStatus (int sequence) const |
enums for status of various sorts | |
double | objectiveOffset () const |
Saved value of objective offset. | |
CoinBigIndex * | startColumn () const |
Starts of each column. | |
int * | row () const |
rows | |
float * | element () const |
elements | |
float * | cost () const |
costs | |
int * | fullStart () const |
full starts | |
int * | id () const |
ids of active columns (just index here) | |
float * | lowerColumn () const |
Optional lower bounds on columns. | |
float * | upperColumn () const |
Optional upper bounds on columns. | |
float * | lowerSet () const |
Optional true lower bounds on sets. | |
float * | upperSet () const |
Optional true upper bounds on sets. | |
int | numberGubColumns () const |
size | |
int | firstAvailable () const |
first free | |
void | setFirstAvailable (int value) |
set first free | |
int | firstDynamic () const |
first dynamic | |
int | lastDynamic () const |
number of columns in dynamic model | |
int | numberElements () const |
size of working matrix (max) | |
unsigned char * | gubRowStatus () const |
Status region for gub slacks. | |
unsigned char * | dynamicStatus () const |
Status region for gub variables. | |
int | whichSet (int sequence) const |
Returns which set a variable is in. | |
Public Member Functions | |
Main functions provided | |
virtual void | partialPricing (ClpSimplex *model, double start, double end, int &bestSequence, int &numberWanted) |
Partial pricing. | |
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=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming. | |
virtual void | useEffectiveRhs (ClpSimplex *model, bool cheapest=true) |
Sets up an effective RHS and does gub crash if needed. | |
virtual int | updatePivot (ClpSimplex *model, double oldInValue, double oldOutValue) |
update information for a pivot (and effective rhs) | |
void | insertNonBasic (int sequence, int iSet) |
Add a new variable to a set. | |
virtual double * | rhsOffset (ClpSimplex *model, bool forceRefresh=false, bool check=false) |
Returns effective RHS offset if it is being used. | |
virtual void | times (double scalar, const double *x, double *y) const |
Return y + A * scalar *x in y . | |
virtual int | checkFeasible (ClpSimplex *model, double &sum) const |
Just for debug Returns sum and number of primal infeasibilities. | |
void | cleanData (ClpSimplex *model) |
Cleans data after setWarmStart. | |
Constructors, destructor | |
ClpGubDynamicMatrix () | |
Default constructor. | |
virtual | ~ClpGubDynamicMatrix () |
Destructor. | |
Copy method | |
ClpGubDynamicMatrix (const ClpGubDynamicMatrix &) | |
The copy constructor. | |
ClpGubDynamicMatrix (ClpSimplex *model, int numberSets, int numberColumns, const int *starts, const double *lower, const double *upper, const int *startColumn, const int *row, const double *element, const double *cost, const double *lowerColumn=NULL, const double *upperColumn=NULL, const unsigned char *status=NULL) | |
This is the real constructor. | |
ClpGubDynamicMatrix & | operator= (const ClpGubDynamicMatrix &) |
The copy constructor. | |
virtual ClpMatrixBase * | clone () const |
Clone. | |
Protected Attributes | |
Data members | |
The data members are protected to allow access for derived classes. | |
double | objectiveOffset_ |
Saved value of objective offset. | |
CoinBigIndex * | startColumn_ |
Starts of each column. | |
int * | row_ |
rows | |
float * | element_ |
elements | |
float * | cost_ |
costs | |
int * | fullStart_ |
full starts | |
int * | id_ |
ids of active columns (just index here) | |
unsigned char * | dynamicStatus_ |
for status and which bound | |
float * | lowerColumn_ |
Optional lower bounds on columns. | |
float * | upperColumn_ |
Optional upper bounds on columns. | |
float * | lowerSet_ |
Optional true lower bounds on sets. | |
float * | upperSet_ |
Optional true upper bounds on sets. | |
int | numberGubColumns_ |
size | |
int | firstAvailable_ |
first free | |
int | savedFirstAvailable_ |
saved first free | |
int | firstDynamic_ |
first dynamic | |
int | lastDynamic_ |
number of columns in dynamic model | |
int | numberElements_ |
size of working matrix (max) |
This a dynamic version which stores the gub part and dynamically creates matrix. All bounds are assumed to be zero and infinity
This is just a simple example for real column generation
Definition at line 17 of file ClpGubDynamicMatrix.hpp.
|
enums for status of various sorts
Definition at line 95 of file ClpGubDynamicMatrix.hpp. Referenced by getDynamicStatus(). |
|
Default constructor.
|
|
Destructor.
|
|
The copy constructor.
|
|
This is the real constructor. It assumes factorization frequency will not be changed. This resizes model !!!! |
|
Partial pricing.
Reimplemented from ClpGubMatrix. |
|
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=8 - make sure set is clean mode=9 - adjust lower, upper on set by incoming.
Reimplemented from ClpGubMatrix. |
|
Sets up an effective RHS and does gub crash if needed.
Reimplemented from ClpGubMatrix. |
|
update information for a pivot (and effective rhs)
Reimplemented from ClpGubMatrix. |
|
Add a new variable to a set.
|
|
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 ClpGubMatrix. |
|
Return
Reimplemented from ClpPackedMatrix. |
|
Just for debug Returns sum and number of primal infeasibilities. Recomputes keys Reimplemented from ClpMatrixBase. |
|
Cleans data after setWarmStart.
|
|
The copy constructor.
|
|
Clone.
Reimplemented from ClpGubMatrix. |
|
Whether flagged.
Reimplemented from ClpGubMatrix. Definition at line 101 of file ClpGubDynamicMatrix.hpp. References dynamicStatus_. |
|
enums for status of various sorts
Reimplemented from ClpGubMatrix. Definition at line 104 of file ClpGubDynamicMatrix.hpp. References dynamicStatus_. |
|
enums for status of various sorts
Definition at line 107 of file ClpGubDynamicMatrix.hpp. References dynamicStatus_. |
|
enums for status of various sorts
Definition at line 110 of file ClpGubDynamicMatrix.hpp. References dynamicStatus_. |
|
enums for status of various sorts
Definition at line 116 of file ClpGubDynamicMatrix.hpp. References DynamicStatus, and dynamicStatus_. |
|
Saved value of objective offset.
Definition at line 119 of file ClpGubDynamicMatrix.hpp. |
|
Starts of each column.
Definition at line 122 of file ClpGubDynamicMatrix.hpp. |
|
rows
Definition at line 125 of file ClpGubDynamicMatrix.hpp. |
|
elements
Definition at line 128 of file ClpGubDynamicMatrix.hpp. |
|
costs
Definition at line 131 of file ClpGubDynamicMatrix.hpp. |
|
full starts
Definition at line 134 of file ClpGubDynamicMatrix.hpp. |
|
ids of active columns (just index here)
Definition at line 137 of file ClpGubDynamicMatrix.hpp. |
|
Optional lower bounds on columns.
Definition at line 140 of file ClpGubDynamicMatrix.hpp. |
|
Optional upper bounds on columns.
Definition at line 143 of file ClpGubDynamicMatrix.hpp. |
|
Optional true lower bounds on sets.
Definition at line 146 of file ClpGubDynamicMatrix.hpp. |
|
Optional true upper bounds on sets.
Definition at line 149 of file ClpGubDynamicMatrix.hpp. |
|
size
Definition at line 152 of file ClpGubDynamicMatrix.hpp. |
|
first free
Definition at line 155 of file ClpGubDynamicMatrix.hpp. |
|
set first free
Definition at line 158 of file ClpGubDynamicMatrix.hpp. References firstAvailable_. |
|
first dynamic
Definition at line 161 of file ClpGubDynamicMatrix.hpp. |
|
number of columns in dynamic model
Definition at line 164 of file ClpGubDynamicMatrix.hpp. |
|
size of working matrix (max)
Definition at line 167 of file ClpGubDynamicMatrix.hpp. |
|
Status region for gub slacks.
Definition at line 170 of file ClpGubDynamicMatrix.hpp. |
|
Status region for gub variables.
Definition at line 173 of file ClpGubDynamicMatrix.hpp. |
|
Returns which set a variable is in.
|
|
Saved value of objective offset.
Definition at line 185 of file ClpGubDynamicMatrix.hpp. |
|
Starts of each column.
Definition at line 187 of file ClpGubDynamicMatrix.hpp. |
|
rows
Definition at line 189 of file ClpGubDynamicMatrix.hpp. |
|
elements
Definition at line 191 of file ClpGubDynamicMatrix.hpp. |
|
costs
Definition at line 193 of file ClpGubDynamicMatrix.hpp. |
|
full starts
Definition at line 195 of file ClpGubDynamicMatrix.hpp. |
|
ids of active columns (just index here)
Definition at line 197 of file ClpGubDynamicMatrix.hpp. |
|
for status and which bound
Definition at line 199 of file ClpGubDynamicMatrix.hpp. Referenced by flagged(), getDynamicStatus(), setDynamicStatus(), setFlagged(), and unsetFlagged(). |
|
Optional lower bounds on columns.
Definition at line 201 of file ClpGubDynamicMatrix.hpp. |
|
Optional upper bounds on columns.
Definition at line 203 of file ClpGubDynamicMatrix.hpp. |
|
Optional true lower bounds on sets.
Definition at line 205 of file ClpGubDynamicMatrix.hpp. |
|
Optional true upper bounds on sets.
Definition at line 207 of file ClpGubDynamicMatrix.hpp. |
|
size
Definition at line 209 of file ClpGubDynamicMatrix.hpp. |
|
first free
Definition at line 211 of file ClpGubDynamicMatrix.hpp. Referenced by setFirstAvailable(). |
|
saved first free
Definition at line 213 of file ClpGubDynamicMatrix.hpp. |
|
first dynamic
Definition at line 215 of file ClpGubDynamicMatrix.hpp. |
|
number of columns in dynamic model
Definition at line 217 of file ClpGubDynamicMatrix.hpp. |
|
size of working matrix (max)
Definition at line 219 of file ClpGubDynamicMatrix.hpp. |