106 int arraysExist,
int depth);
122 unsigned int firstBranch: 1;
123 unsigned int branch: 2;
124 unsigned int spare: 29;
202 const int * priority,
203 const int * numberDown,
const int * numberUp,
204 const int * numberDownInfeasible,
const int * numberUpInfeasible,
207 void update(
int way,
int sequence,
double change,
bool feasible);
247 #ifndef NO_FATHOM_PRINT
280 #ifndef NO_FATHOM_PRINT
293 int index(
double value)
const;
324 int hash(
double value)
const;
326 void resize(
bool increaseMax);
int lastUsed_
Last used space.
int flags_
Flags - 1 duals scaled.
unsigned char * status_
Status vector.
double * upPseudo_
Up pseudo costs.
virtual ~ClpNodeStuff()
Destructor.
void applyNode(ClpSimplex *model, int doBoundsEtc)
Applies node to model 0 - just tree bounds 1 - tree bounds and basis etc 2 - saved bounds and basis e...
int * lower_
Integer lower bounds (only used in fathomMany)
double objectiveValue() const
Objective value.
double * dualSolution_
Dual solution.
Base class for message handling.
void changeState()
Change state of variable i.e. go other way.
int * numberDown_
Number of times down.
int index(double value) const
Return index or -1 if not found.
double branchingValue_
Initial value of integer variable.
int startingDepth_
Depth passed in.
int maximumFixed_
Maximum number fixed by reduced cost.
int numberInfeasibilities_
Number of infeasibilities.
ClpNode & operator=(const ClpNode &)
Operator =.
int numberEntries() const
Number of different entries.
ClpHashValue & operator=(const ClpHashValue &)
=
const unsigned char * statusArray() const
Status array.
void resize(bool increaseMax)
Resizes.
int maxHash_
Maximum number of entries in hash table i.e. size.
int stateOfSearch_
State of search from CbcModel.
double estimatedSolution_
Estimated solution value.
ClpNodeStuff & operator=(const ClpNodeStuff &)
Operator =.
ClpNodeStuff()
Default constructor.
double integerIncrement_
Integer increment.
double * saveCosts_
Copy of costs (local)
int hash(double value) const
returns hash
int * whichRow_
Which rows in large model.
int * upper_
Integer upper bounds (only used in fathomMany)
bool fathomed() const
Return true if branch exhausted.
Dual Row Pivot Steepest Edge Algorithm Class.
int maximumSpace() const
Return maximum space for nodes.
int * numberDownInfeasible_
Number of times down infeasible.
virtual ~ClpNode()
Destructor.
int nNodes_
Number nodes returned (-1 if fathom aborted)
int numberNodesExplored_
Number of nodes explored.
int numberHash_
Number of entries in hash table.
void zap(int type)
Zaps stuff 1 - arrays, 2 ints, 3 both.
int depth() const
Relative depth.
int nodeCalled_
Node at which called.
void fillPseudoCosts(const double *down, const double *up, const int *priority, const int *numberDown, const int *numberUp, const int *numberDownInfeasible, const int *numberUpInfeasible, int number)
Fill with pseudocosts.
void gutsOfConstructor(ClpSimplex *model, const ClpNodeStuff *stuff, int arraysExist, int depth)
Does work of constructor (partly so gdb will work)
int * fixed_
Variables fixed by reduced costs (at end of branch) 0x10000000 added if fixed to UB.
double branchingValue() const
Initial value of integer variable.
branchState branchState_
State of branch.
int solverOptions_
Options to pass to solver 1 - create external reduced costs for columns 2 - create external reduced c...
double objectiveValue_
Value of objective.
int way() const
Way for integer variable -1 down , +1 up.
int sequence_
Sequence number of integer variable (-1 if none)
int sequence() const
Sequence number of integer variable (-1 if none)
void setObjectiveValue(double value)
Set objective value.
ClpSimplex * large_
Large model if crunched.
double sumInfeasibilities() const
Sum infeasibilities.
int numberIterations_
Number of iterations.
double * primalSolution_
Primal solution.
int maximumNodes_
Maximum number of nodes to do.
ClpHashValue()
Default constructor.
int saveOptions_
Save of specialOptions_ (local)
int fixOnReducedCosts(ClpSimplex *model)
Fix on reduced costs.
This solves LPs using the simplex method.
double estimatedSolution() const
Estimated solution value.
int numberFixed_
Number fixed by reduced cost.
int maximumColumns_
Maximum columns so far.
void update(int way, int sequence, double change, bool feasible)
Update pseudo costs.
int * whichColumn_
Which columns in large model.
void cleanUpForCrunch()
Clean up as crunch is different model.
double integerTolerance_
Integer tolerance.
double * downPseudo_
Down pseudo costs.
virtual ~ClpHashValue()
Destructor.
int depth_
Relative depth.
int * numberUpInfeasible_
Number of times up infeasible.
int maximumIntegers_
Maximum Integers so far.
double smallChange_
Small change in branch.
ClpNode()
Default constructor.
int * pivotVariables_
Pivot variables for factorization.
ClpFactorization * factorization_
Factorization.
int numberInfeasibilities() const
Number infeasibilities.
double sumInfeasibilities_
Sum of infeasibilities.
CoinHashLink * hash_
Hash table.
ClpNode ** nodeInfo_
Array of ClpNodes.
int * numberUp_
Number of times up.
int addValue(double value)
Add value to list and return index.
int nBound_
Number bounds in large model.
void createArrays(ClpSimplex *model)
Create odd arrays.
int numberBeforeTrust_
Number before trust from CbcModel.
ClpDualRowSteepest * weights_
Steepest edge weights.
This just implements CoinFactorization when an ClpMatrixBase object is passed.
void chooseVariable(ClpSimplex *model, ClpNodeStuff *info)
Choose a new variable.
const double * dualSolution() const
Dual solution.
int maximumRows_
Maximum rows so far.
bool oddArraysExist() const
If odd arrays exist.
const double * primalSolution() const
Primal solution.
int presolveType_
Type of presolve - 0 none, 1 crunch.
int maximumNodes() const
Return maximum number of nodes.
CoinMessageHandler * handler_
Cbc's message handler.