30 class CbcGeneralBranchingObject;
86 const double *lastLower,
const double *lastUpper,
87 int numberOldActiveCuts,
int numberNewCuts);
111 int numberPassesLeft);
140 int numberPassesLeft);
void setObjectiveValue(double value)
void createInfo(CbcModel *model, CbcNode *lastNode, const CoinWarmStartBasis *lastws, const double *lastLower, const double *lastUpper, int numberOldActiveCuts, int numberNewCuts)
Create a description of the subproblem at this node.
void initializeInfo()
Initialize reference counts in attached CbcNodeInfo.
void setActive(bool yesNo)
Sets true if active.
void checkInfo() const
Debug.
void setNumberUnsatisfied(int value)
Set the number of objects unsatisfied at this node.
int depth_
Depth of the node in the search tree.
int getState() const
Get state (really for debug)
void setOnTree(bool yesNo)
Sets true if on tree.
void setSumInfeasibilities(double value)
Set sum of "infeasibilities" reported by each object.
void nullNodeInfo()
Nulls out node info.
int numberBranches() const
Number of arms defined for the attached OsiBranchingObject.
OsiBranchingObject * branch_
Branching object for this node.
Collections of row cuts and column cuts.
void decrementParentCuts(CbcModel *model, int change=1)
Decrement all active cut counts in chain starting at parent.
double sumInfeasibilities_
Sum of "infeasibilities" reported by each object.
Abstract branching object base class.
int numberUnsatisfied() const
Get the number of objects unsatisfied at this node.
The default COIN simplex (basis-oriented) warm start class.
int depth() const
Depth in branch-and-cut search tree.
bool onTree() const
Returns true if on tree.
double guessedObjectiveValue() const
void setNodeNumber(int node)
const OsiBranchingObject * branchingObject() const
Branching object for this node.
CbcNodeInfo * nodeInfo_
Information to make basis and bounds.
Abstract Base Class for describing an interface to a solver.
int numberUnsatisfied_
The number of objects unsatisfied at this node.
int chooseDynamicBranch(CbcModel *model, CbcNode *lastNode, OsiSolverBranch *&branches, int numberPassesLeft)
Create a branching object for the node - when dynamic pseudo costs.
int chooseOsiBranch(CbcModel *model, CbcNode *lastNode, OsiBranchingInformation *usefulInfo, int branchState)
Create a branching object for the node.
CbcNode()
Default Constructor.
int state_
State 1 - on tree 2 - active.
CbcNode & operator=(const CbcNode &rhs)
Assignment operator.
OsiBranchingObject * modifiableBranchingObject() const
Modifiable branching object for this node.
double objectiveValue() const
OsiRowCut augmented with bookkeeping.
Information required while the node is live.
CbcNodeInfo * nodeInfo() const
double sumInfeasibilities() const
Get sum of "infeasibilities" reported by each object.
int numberBranchesLeft() const
The number of branch arms left for this branching object.
int nodeNumber_
The node number.
void setDepth(int value)
Set depth in branch-and-cut search tree.
int branch(OsiSolverInterface *solver)
Does next branch and updates state.
bool active() const
Returns true if active.
int analyze(CbcModel *model, double *results)
A class from which the real tree nodes should be derived from.
int nodeNumber() const
The node number.
Information required to recreate the subproblem at this node.
double checkIsCutoff(double cutoff)
Double checks in case node can change its mind! Returns objective value Can change objective etc...
double guessedObjectiveValue_
Guessed satisfied Objective value.
void setBranchingObject(OsiBranchingObject *branchingObject)
Set branching object for this node (takes ownership)
void print() const
Print.
Validate cuts against a known solution.
int chooseClpBranch(CbcModel *model, CbcNode *lastNode)
Create a branching object for the node.
int numberBranches() const
The number of branch arms created for this branching object.
int numberBranchesLeft() const
Return number of branches left in object.
void setState(int value)
Set state (really for debug)
Simple Branch and bound class.
double objectiveValue_
Objective value.
void setGuessedObjectiveValue(double value)
int chooseBranch(CbcModel *model, CbcNode *lastNode, int numberPassesLeft)
Create a branching object for the node.
void decrementCuts(int change=1)
Decrement active cut counts.