Dip
0.92.4
|
This is unlike the other heuristics in that it is very very compute intensive. More...
#include <CbcHeuristicDW.hpp>
Public Member Functions | |
CbcHeuristicDW () | |
CbcHeuristicDW (CbcModel &model, int keepContinuous=0) | |
CbcHeuristicDW (CbcModel &model, int callBack(CbcHeuristicDW *currentHeuristic, CbcModel *thisModel, int whereFrom), int keepContinuous=0) | |
CbcHeuristicDW (const CbcHeuristicDW &) | |
~CbcHeuristicDW () | |
virtual CbcHeuristic * | clone () const |
Clone. More... | |
CbcHeuristicDW & | operator= (const CbcHeuristicDW &rhs) |
Assignment operator. More... | |
virtual void | generateCpp (FILE *fp) |
Create C++ lines to get to current state. More... | |
virtual void | resetModel (CbcModel *model) |
Resets stuff if model changes. More... | |
virtual void | setModel (CbcModel *model) |
update model (This is needed if cliques update matrix etc) More... | |
virtual int | solution (double &objectiveValue, double *newSolution) |
returns 0 if no solution, 1 if valid solution. More... | |
int | numberBlocks () const |
Return number of blocks <=0 - no usable structure. More... | |
void | passInSolution (const double *solution) |
Pass in a solution. More... | |
void | passInContinuousSolution (const double *solution) |
Pass in continuous solution. More... | |
void | setProposalActions (int fullDWEverySoOften) |
DW Proposal actions fullDWEverySoOften - 0 - off k - every k times solution gets better. More... | |
double | objectiveValueWhen (int whichDW) const |
Objective value when whichDw created. More... | |
int | numberColumnsDW (int whichDW) const |
Number of columns in DW. More... | |
OsiSolverInterface * | solver () const |
Solver. More... | |
OsiSolverInterface * | DWModel (int whichDW) const |
DW model (user must delete) More... | |
double | bestObjective () const |
Best objective value. More... | |
const double * | bestSolution () const |
Best solution found so far. More... | |
const double * | continuousSolution () const |
Continuous solution. More... | |
const double * | fixedDj () const |
Reduced costs of fixed solution. More... | |
const double * | objectiveDW () const |
Objective at which DW updated. More... | |
int | numberDWTimes () const |
Number of times we have added to DW model. More... | |
const int * | numberColumnsDW () const |
Number of columns in DW. More... | |
void | setNumberPasses (int value) |
Set number of passes. More... | |
void | setNumberBadPasses (int value) |
Set number of passes without better solution. More... | |
void | setNumberNeeded (int value) |
Set number free integers needed (Base value) More... | |
int | getNumberNeeded () const |
Get number free integers needed (Base value) More... | |
void | setCurrentNumberNeeded (int value) |
Set number free integers needed (Current value) More... | |
int | getCurrentNumberNeeded () const |
Get number free integers needed (Current value) More... | |
void | setNumberNodes (int value) |
Set number nodes (could be done in callback) (Base value) More... | |
int | getNumberNodes () const |
Get number nodes (could be done in callback) (Base value) More... | |
void | setCurrentNumberNodes (int value) |
Set number nodes (could be done in callback) (Current value) More... | |
int | getCurrentNumberNodes () const |
Get number nodes (could be done in callback) (Current value) More... | |
void | setTargetObjective (double value) |
Set target objective. More... | |
void | setHowOften (int value) |
Sets how often to do it. More... | |
const int * | whichRowBlock () const |
Block for every row. More... | |
const int * | whichColumnBlock () const |
Block for every column. More... | |
double * | initialLower () const |
Initial Lower bounds. More... | |
double * | initialUpper () const |
Initial Upper bounds. More... | |
int * | intArrays () const |
Local integer arrays (each numberBlocks_ long) More... | |
double * | doubleArrays () const |
Local double arrays (each numberBlocks_ long) More... | |
int | phase () const |
Phase of solution. More... | |
int | pass () const |
Pass number. More... | |
const int * | columnsInBlock () const |
Which columns are in block. More... | |
const int * | startColumnBlock () const |
Starts for columnsInBlock. More... | |
const int * | intsInBlock () const |
Number of integer variables in each block. More... | |
double | objectiveValue (const double *solution) |
Objective value (could also check validity) More... | |
![]() | |
CbcHeuristic () | |
CbcHeuristic (CbcModel &model) | |
CbcHeuristic (const CbcHeuristic &) | |
virtual | ~CbcHeuristic () |
CbcHeuristic & | operator= (const CbcHeuristic &rhs) |
Assignment operator. More... | |
virtual int | solution2 (double &, double *, OsiCuts &) |
returns 0 if no solution, 1 if valid solution, -1 if just returning an estimate of best possible solution with better objective value than one passed in Sets solution values if good, sets objective value (only if nonzero code) This is called at same time as cut generators - so can add cuts Default is do nothing More... | |
virtual void | validate () |
Validate model i.e. sets when_ to 0 if necessary (may be NULL) More... | |
void | setWhen (int value) |
Sets "when" flag - 0 off, 1 at root, 2 other than root, 3 always. More... | |
int | when () const |
Gets "when" flag - 0 off, 1 at root, 2 other than root, 3 always. More... | |
void | setNumberNodes (int value) |
Sets number of nodes in subtree (default 200) More... | |
int | numberNodes () const |
Gets number of nodes in a subtree (default 200) More... | |
void | setSwitches (int value) |
Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 16 bit - needs new solution to run 1024 bit - stop all heuristics on max time. More... | |
int | switches () const |
Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 16 bit - needs new solution to run 1024 bit - stop all heuristics on max time 65536 bit and above used for temporary communication. More... | |
bool | exitNow (double bestObjective) const |
Whether to exit at once on gap. More... | |
void | setFeasibilityPumpOptions (int value) |
Sets feasibility pump options (-1 is off) More... | |
int | feasibilityPumpOptions () const |
Gets feasibility pump options (-1 is off) More... | |
void | setModelOnly (CbcModel *model) |
Just set model - do not do anything else. More... | |
void | setFractionSmall (double value) |
Sets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0) More... | |
double | fractionSmall () const |
Gets fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound (default 1.0) More... | |
int | numberSolutionsFound () const |
Get how many solutions the heuristic thought it got. More... | |
void | incrementNumberSolutionsFound () |
Increment how many solutions the heuristic thought it got. More... | |
int | smallBranchAndBound (OsiSolverInterface *solver, int numberNodes, double *newSolution, double &newSolutionValue, double cutoff, std::string name) const |
Do mini branch and bound - return 0 not finished - no solution 1 not finished - solution 2 finished - no solution 3 finished - solution (could add global cut if finished) -1 returned on size -2 time or user event. More... | |
void | generateCpp (FILE *fp, const char *heuristic) |
Create C++ lines to get to current state - does work for base class. More... | |
virtual bool | canDealWithOdd () const |
Returns true if can deal with "odd" problems e.g. sos type 2. More... | |
const char * | heuristicName () const |
return name of heuristic More... | |
void | setHeuristicName (const char *name) |
set name of heuristic More... | |
void | setSeed (int value) |
Set random number generator seed. More... | |
int | getSeed () const |
Get random number generator seed. More... | |
void | setDecayFactor (double value) |
Sets decay factor (for howOften) on failure. More... | |
void | setInputSolution (const double *solution, double objValue) |
Set input solution. More... | |
void | setWhereFrom (int value) |
int | whereFrom () const |
void | setShallowDepth (int value) |
Upto this depth we call the tree shallow and the heuristic can be called multiple times. More... | |
void | setHowOftenShallow (int value) |
How often to invoke the heuristics in the shallow part of the tree. More... | |
void | setMinDistanceToRun (int value) |
How "far" should this node be from every other where the heuristic was run in order to allow the heuristic to run in this node, too. More... | |
virtual bool | shouldHeurRun (int whereFrom) |
Check whether the heuristic should run at all 0 - before cuts at root node (or from doHeuristics) 1 - during cuts at root 2 - after root node cuts 3 - after cuts at other nodes 4 - during cuts at other nodes 8 added if previous heuristic in loop found solution. More... | |
bool | shouldHeurRun_randomChoice () |
Check whether the heuristic should run this time. More... | |
void | debugNodes () |
void | printDistanceToNodes () |
int | numRuns () const |
how many times the heuristic has actually run More... | |
int | numCouldRun () const |
How many times the heuristic could run. More... | |
bool | isHeuristicInteger (const OsiSolverInterface *solver, int iColumn) |
Is it integer for heuristics? More... | |
OsiSolverInterface * | cloneBut (int type) |
Clone, but ... More... | |
Protected Types | |
typedef int(* | heuristicCallBack )(CbcHeuristicDW *, CbcModel *, int) |
Protected Attributes | |
double | targetObjective_ |
Target objective. More... | |
double | bestObjective_ |
Best objective value. More... | |
double | lastObjective_ |
Objective value last time. More... | |
heuristicCallBack | functionPointer_ |
Call back whereFrom - 0 - after blocks found but before data setup 1 - after blocks sorted but before used 2 - just before normal branch and bound 3 - after DW has been updated 4 - if better solution found 5 - every time a block might be used next few for adjustment of nNeeded etc 6 - complete search done - no solution 7 - stopped on nodes - no improvement 8 - improving (same as 4 but after nNeeded changed Pointers to local data given by following pointers. More... | |
int * | intArray_ |
Local integer arrays (each numberBlocks_ long) More... | |
double * | doubleArray_ |
Local double arrays (each numberBlocks_ long) More... | |
OsiSolverInterface * | solver_ |
Base solver. More... | |
OsiSolverInterface * | dwSolver_ |
DW solver. More... | |
double * | bestSolution_ |
Best solution found so far. More... | |
double * | continuousSolution_ |
Continuous solution. More... | |
double * | fixedDj_ |
Reduced costs of fixed solution. More... | |
double * | saveLower_ |
Original lower bounds. More... | |
double * | saveUpper_ |
Original Upper bounds. More... | |
double * | random_ |
random numbers for master rows More... | |
double * | weights_ |
Weights for each proposal. More... | |
double * | objectiveDW_ |
Objective at which DW updated. More... | |
int * | numberColumnsDW_ |
Number of columns in each DW. More... | |
int * | whichRowBlock_ |
Block for every row. More... | |
int * | whichColumnBlock_ |
Block for every column. More... | |
int * | dwBlock_ |
Block number for each proposal. More... | |
int * | backwardRow_ |
Points back to master rows. More... | |
int * | rowsInBlock_ |
Which rows are in blocke. More... | |
int * | columnsInBlock_ |
Which columns are in block. More... | |
int * | startRowBlock_ |
Starts for rowsInBlock. More... | |
int * | startColumnBlock_ |
Starts for columnsInBlock. More... | |
int * | intsInBlock_ |
Number of integer variables in each block. More... | |
unsigned int * | fingerPrint_ |
Bits set for 1 integers in each block. More... | |
unsigned short * | affinity_ |
Affinity each block has for other (will be triangular?) More... | |
int | fullDWEverySoOften_ |
DW Proposal actions fullDWEverySoOften - 0 - off k - every k times solution gets better. More... | |
int | numberPasses_ |
Number of passes. More... | |
int | howOften_ |
How often to do (code can change) More... | |
int | maximumDW_ |
Current maximum number of DW proposals. More... | |
int | numberDW_ |
Number of DW proposals. More... | |
int | numberDWTimes_ |
Number of times we have added to DW model. More... | |
int | sizeFingerPrint_ |
Number of unsigned ints needed for each block of fingerPrint. More... | |
int | numberMasterColumns_ |
Number of columns in master. More... | |
int | numberMasterRows_ |
Number of rows in master. More... | |
int | numberBlocks_ |
Number of blocks. More... | |
int | keepContinuous_ |
Action on decomposition - 1 keep continuous, 0 don't. More... | |
int | phase_ |
Phase of solution. More... | |
int | pass_ |
Pass number. More... | |
int | nNeededBase_ |
Base number of integers needed. More... | |
int | nNodesBase_ |
Base number of nodes needed. More... | |
int | nNeeded_ |
Base number of integers needed. More... | |
int | nNodes_ |
Base number of nodes needed. More... | |
int | numberBadPasses_ |
Number of passes without better solution. More... | |
int | solveState_ |
![]() | |
CbcModel * | model_ |
Model. More... | |
int | when_ |
When flag - 0 off, 1 at root, 2 other than root, 3 always. More... | |
int | numberNodes_ |
Number of nodes in any sub tree. More... | |
int | feasibilityPumpOptions_ |
Feasibility pump options , -1 is off >=0 for feasibility pump itself -2 quick proximity search -3 longer proximity search. More... | |
double | fractionSmall_ |
Fraction of new(rows+columns)/old(rows+columns) before doing small branch and bound. More... | |
CoinThreadRandom | randomNumberGenerator_ |
Thread specific random number generator. More... | |
std::string | heuristicName_ |
Name for printing. More... | |
int | howOften_ |
How often to do (code can change) More... | |
double | decayFactor_ |
How much to increase how often. More... | |
int | switches_ |
Switches (does not apply equally to all heuristics) 1 bit - stop once allowable gap on objective reached 2 bit - always do given number of passes 4 bit - weaken cutoff by 5% every 50 passes? 8 bit - if has cutoff and suminf bobbling for 20 passes then first try halving distance to best possible then try keep halving distance to known cutoff 16 bit - needs new solution to run 1024 bit - stop all heuristics on max time. More... | |
int | whereFrom_ |
int | shallowDepth_ |
Upto this depth we call the tree shallow and the heuristic can be called multiple times. More... | |
int | howOftenShallow_ |
How often to invoke the heuristics in the shallow part of the tree. More... | |
int | numInvocationsInShallow_ |
How many invocations happened within the same node when in a shallow part of the tree. More... | |
int | numInvocationsInDeep_ |
How many invocations happened when in the deep part of the tree. More... | |
int | lastRunDeep_ |
After how many deep invocations was the heuristic run last time. More... | |
int | numRuns_ |
how many times the heuristic has actually run More... | |
int | minDistanceToRun_ |
How "far" should this node be from every other where the heuristic was run in order to allow the heuristic to run in this node, too. More... | |
CbcHeuristicNodeList | runNodes_ |
The description of the nodes where this heuristic has been applied. More... | |
int | numCouldRun_ |
How many times the heuristic could run. More... | |
int | numberSolutionsFound_ |
How many solutions the heuristic thought it got. More... | |
int | numberNodesDone_ |
How many nodes the heuristic did this go. More... | |
double * | inputSolution_ |
Private Member Functions | |
void | gutsOfCopy (const CbcHeuristicDW &rhs) |
Guts of copy. More... | |
void | gutsOfDelete () |
Guts of delete. More... | |
void | setDefaults () |
Set default values. More... | |
void | findStructure () |
Find structure. More... | |
void | setupDWStructures () |
Set up DW structure. More... | |
int | addDW (const double *solution, int numberBlocksUsed, const int *whichBlocks) |
Add DW proposals. More... | |
This is unlike the other heuristics in that it is very very compute intensive.
It tries to find a DW structure and use that
Definition at line 16 of file CbcHeuristicDW.hpp.
|
protected |
Definition at line 256 of file CbcHeuristicDW.hpp.
CbcHeuristicDW::CbcHeuristicDW | ( | ) |
CbcHeuristicDW::CbcHeuristicDW | ( | CbcModel & | model, |
int | keepContinuous = 0 |
||
) |
CbcHeuristicDW::CbcHeuristicDW | ( | CbcModel & | model, |
int | callBackCbcHeuristicDW *currentHeuristic, CbcModel *thisModel, int whereFrom, | ||
int | keepContinuous = 0 |
||
) |
CbcHeuristicDW::CbcHeuristicDW | ( | const CbcHeuristicDW & | ) |
CbcHeuristicDW::~CbcHeuristicDW | ( | ) |
|
virtual |
Clone.
Implements CbcHeuristic.
CbcHeuristicDW& CbcHeuristicDW::operator= | ( | const CbcHeuristicDW & | rhs | ) |
Assignment operator.
|
virtual |
Create C++ lines to get to current state.
Reimplemented from CbcHeuristic.
|
virtual |
Resets stuff if model changes.
Implements CbcHeuristic.
|
virtual |
update model (This is needed if cliques update matrix etc)
Reimplemented from CbcHeuristic.
|
virtual |
returns 0 if no solution, 1 if valid solution.
Sets solution values if good, sets objective value (only if good) This does Relaxation Induced Neighborhood Search
Implements CbcHeuristic.
|
inline |
Return number of blocks <=0 - no usable structure.
Definition at line 62 of file CbcHeuristicDW.hpp.
References numberBlocks_.
void CbcHeuristicDW::passInSolution | ( | const double * | solution | ) |
Pass in a solution.
void CbcHeuristicDW::passInContinuousSolution | ( | const double * | solution | ) |
Pass in continuous solution.
void CbcHeuristicDW::setProposalActions | ( | int | fullDWEverySoOften | ) |
DW Proposal actions fullDWEverySoOften - 0 - off k - every k times solution gets better.
double CbcHeuristicDW::objectiveValueWhen | ( | int | whichDW | ) | const |
Objective value when whichDw created.
int CbcHeuristicDW::numberColumnsDW | ( | int | whichDW | ) | const |
Number of columns in DW.
|
inline |
OsiSolverInterface* CbcHeuristicDW::DWModel | ( | int | whichDW | ) | const |
DW model (user must delete)
|
inline |
|
inline |
Best solution found so far.
Definition at line 93 of file CbcHeuristicDW.hpp.
References bestSolution_.
|
inline |
Continuous solution.
Definition at line 98 of file CbcHeuristicDW.hpp.
References continuousSolution_.
|
inline |
Reduced costs of fixed solution.
Definition at line 103 of file CbcHeuristicDW.hpp.
References fixedDj_.
|
inline |
Objective at which DW updated.
Definition at line 108 of file CbcHeuristicDW.hpp.
References objectiveDW_.
|
inline |
Number of times we have added to DW model.
Definition at line 113 of file CbcHeuristicDW.hpp.
References numberDWTimes_.
|
inline |
Number of columns in DW.
Definition at line 118 of file CbcHeuristicDW.hpp.
References numberColumnsDW_.
|
inline |
|
inline |
Set number of passes without better solution.
Definition at line 128 of file CbcHeuristicDW.hpp.
References numberBadPasses_.
|
inline |
Set number free integers needed (Base value)
Definition at line 133 of file CbcHeuristicDW.hpp.
References nNeededBase_.
|
inline |
Get number free integers needed (Base value)
Definition at line 138 of file CbcHeuristicDW.hpp.
References nNeededBase_.
|
inline |
Set number free integers needed (Current value)
Definition at line 143 of file CbcHeuristicDW.hpp.
References nNeeded_.
|
inline |
Get number free integers needed (Current value)
Definition at line 148 of file CbcHeuristicDW.hpp.
References nNeeded_.
|
inline |
Set number nodes (could be done in callback) (Base value)
Definition at line 153 of file CbcHeuristicDW.hpp.
References nNodesBase_.
|
inline |
Get number nodes (could be done in callback) (Base value)
Definition at line 158 of file CbcHeuristicDW.hpp.
References nNodesBase_.
|
inline |
Set number nodes (could be done in callback) (Current value)
Definition at line 163 of file CbcHeuristicDW.hpp.
References nNodes_.
|
inline |
Get number nodes (could be done in callback) (Current value)
Definition at line 168 of file CbcHeuristicDW.hpp.
References nNodes_.
|
inline |
Set target objective.
Definition at line 173 of file CbcHeuristicDW.hpp.
References targetObjective_.
|
inline |
|
inline |
|
inline |
Block for every column.
Definition at line 188 of file CbcHeuristicDW.hpp.
References whichColumnBlock_.
|
inline |
|
inline |
|
inline |
Local integer arrays (each numberBlocks_ long)
Definition at line 203 of file CbcHeuristicDW.hpp.
References intArray_.
|
inline |
Local double arrays (each numberBlocks_ long)
Definition at line 208 of file CbcHeuristicDW.hpp.
References doubleArray_.
|
inline |
|
inline |
|
inline |
Which columns are in block.
Definition at line 223 of file CbcHeuristicDW.hpp.
References columnsInBlock_.
|
inline |
Starts for columnsInBlock.
Definition at line 228 of file CbcHeuristicDW.hpp.
References startColumnBlock_.
|
inline |
Number of integer variables in each block.
Definition at line 233 of file CbcHeuristicDW.hpp.
References intsInBlock_.
double CbcHeuristicDW::objectiveValue | ( | const double * | solution | ) |
Objective value (could also check validity)
|
private |
Guts of copy.
|
private |
Guts of delete.
|
private |
Set default values.
|
private |
Find structure.
|
private |
Set up DW structure.
|
private |
Add DW proposals.
|
protected |
Target objective.
Definition at line 259 of file CbcHeuristicDW.hpp.
Referenced by setTargetObjective().
|
protected |
Best objective value.
Definition at line 261 of file CbcHeuristicDW.hpp.
Referenced by bestObjective().
|
protected |
Objective value last time.
Definition at line 263 of file CbcHeuristicDW.hpp.
|
protected |
Call back whereFrom - 0 - after blocks found but before data setup 1 - after blocks sorted but before used 2 - just before normal branch and bound 3 - after DW has been updated 4 - if better solution found 5 - every time a block might be used next few for adjustment of nNeeded etc 6 - complete search done - no solution 7 - stopped on nodes - no improvement 8 - improving (same as 4 but after nNeeded changed Pointers to local data given by following pointers.
Definition at line 278 of file CbcHeuristicDW.hpp.
|
protected |
Local integer arrays (each numberBlocks_ long)
Definition at line 280 of file CbcHeuristicDW.hpp.
Referenced by intArrays().
|
protected |
Local double arrays (each numberBlocks_ long)
Definition at line 282 of file CbcHeuristicDW.hpp.
Referenced by doubleArrays().
|
protected |
|
protected |
DW solver.
Definition at line 286 of file CbcHeuristicDW.hpp.
|
protected |
Best solution found so far.
Definition at line 288 of file CbcHeuristicDW.hpp.
Referenced by bestSolution().
|
protected |
Continuous solution.
Definition at line 290 of file CbcHeuristicDW.hpp.
Referenced by continuousSolution().
|
protected |
Reduced costs of fixed solution.
Definition at line 292 of file CbcHeuristicDW.hpp.
Referenced by fixedDj().
|
protected |
Original lower bounds.
Definition at line 294 of file CbcHeuristicDW.hpp.
Referenced by initialLower().
|
protected |
Original Upper bounds.
Definition at line 296 of file CbcHeuristicDW.hpp.
Referenced by initialUpper().
|
protected |
random numbers for master rows
Definition at line 298 of file CbcHeuristicDW.hpp.
|
protected |
Weights for each proposal.
Definition at line 300 of file CbcHeuristicDW.hpp.
|
protected |
Objective at which DW updated.
Definition at line 302 of file CbcHeuristicDW.hpp.
Referenced by objectiveDW().
|
protected |
Number of columns in each DW.
Definition at line 304 of file CbcHeuristicDW.hpp.
Referenced by numberColumnsDW().
|
protected |
Block for every row.
Definition at line 306 of file CbcHeuristicDW.hpp.
Referenced by whichRowBlock().
|
protected |
Block for every column.
Definition at line 308 of file CbcHeuristicDW.hpp.
Referenced by whichColumnBlock().
|
protected |
Block number for each proposal.
Definition at line 310 of file CbcHeuristicDW.hpp.
|
protected |
Points back to master rows.
Definition at line 312 of file CbcHeuristicDW.hpp.
|
protected |
Which rows are in blocke.
Definition at line 314 of file CbcHeuristicDW.hpp.
|
protected |
Which columns are in block.
Definition at line 316 of file CbcHeuristicDW.hpp.
Referenced by columnsInBlock().
|
protected |
Starts for rowsInBlock.
Definition at line 318 of file CbcHeuristicDW.hpp.
|
protected |
Starts for columnsInBlock.
Definition at line 320 of file CbcHeuristicDW.hpp.
Referenced by startColumnBlock().
|
protected |
Number of integer variables in each block.
Definition at line 322 of file CbcHeuristicDW.hpp.
Referenced by intsInBlock().
|
protected |
Bits set for 1 integers in each block.
Definition at line 324 of file CbcHeuristicDW.hpp.
|
protected |
Affinity each block has for other (will be triangular?)
Definition at line 326 of file CbcHeuristicDW.hpp.
|
protected |
DW Proposal actions fullDWEverySoOften - 0 - off k - every k times solution gets better.
Definition at line 332 of file CbcHeuristicDW.hpp.
|
protected |
Number of passes.
Definition at line 334 of file CbcHeuristicDW.hpp.
Referenced by setNumberPasses().
|
protected |
How often to do (code can change)
Definition at line 336 of file CbcHeuristicDW.hpp.
Referenced by setHowOften().
|
protected |
Current maximum number of DW proposals.
Definition at line 338 of file CbcHeuristicDW.hpp.
|
protected |
Number of DW proposals.
Definition at line 340 of file CbcHeuristicDW.hpp.
|
protected |
Number of times we have added to DW model.
Definition at line 342 of file CbcHeuristicDW.hpp.
Referenced by numberDWTimes().
|
protected |
Number of unsigned ints needed for each block of fingerPrint.
Definition at line 344 of file CbcHeuristicDW.hpp.
|
protected |
Number of columns in master.
Definition at line 346 of file CbcHeuristicDW.hpp.
|
protected |
Number of rows in master.
Definition at line 348 of file CbcHeuristicDW.hpp.
|
protected |
|
protected |
Action on decomposition - 1 keep continuous, 0 don't.
Definition at line 352 of file CbcHeuristicDW.hpp.
|
protected |
|
protected |
|
protected |
Base number of integers needed.
Definition at line 358 of file CbcHeuristicDW.hpp.
Referenced by getNumberNeeded(), and setNumberNeeded().
|
protected |
Base number of nodes needed.
Definition at line 360 of file CbcHeuristicDW.hpp.
Referenced by getNumberNodes(), and setNumberNodes().
|
protected |
Base number of integers needed.
Definition at line 362 of file CbcHeuristicDW.hpp.
Referenced by getCurrentNumberNeeded(), and setCurrentNumberNeeded().
|
protected |
Base number of nodes needed.
Definition at line 364 of file CbcHeuristicDW.hpp.
Referenced by getCurrentNumberNodes(), and setCurrentNumberNodes().
|
protected |
Number of passes without better solution.
Definition at line 366 of file CbcHeuristicDW.hpp.
Referenced by setNumberBadPasses().
|
protected |
Definition at line 368 of file CbcHeuristicDW.hpp.