2 #ifndef CbcFullNodeInfo_H
3 #define CbcFullNodeInfo_H
8 #include "CoinWarmStartBasis.hpp"
9 #include "CoinSearchTree.hpp"
13 class OsiSolverInterface;
14 class OsiSolverBranch;
18 class OsiRowCutDebugger;
19 class CoinWarmStartBasis;
24 class CbcGeneralBranchingObject;
90 int ¤tNumberCuts)
const ;
106 int numberRowsAtContinuous);
117 inline const double *
lower()
const {
121 inline const double *
upper()
const {
131 CoinWarmStartBasis *
basis_;
140 #endif //CbcFullNodeInfo_H
virtual int applyBounds(int iColumn, double &lower, double &upper, int force)
Just apply bounds to one variable - force means overwrite by lower,upper (1=>infeasible) ...
Information required to recreate the subproblem at this node.
Information required to recreate the subproblem at this node.
void addCuts(OsiCuts &cuts, int numberToBranch, int numberPointingToThis)
CoinWarmStartBasis * basis_
Full basis.
CbcFullNodeInfo & operator=(const CbcFullNodeInfo &rhs)
Illegal Assignment operator.
virtual CbcNodeInfo * clone() const
Clone.
virtual CbcNodeInfo * buildRowBasis(CoinWarmStartBasis &basis) const
Builds up row basis backwards (until original model).
const double * lower() const
Lower bounds.
virtual void applyToModel(CbcModel *model, CoinWarmStartBasis *&basis, CbcCountRowCut **addCuts, int ¤tNumberCuts) const
Modify model according to information at node.
Information required while the node is live.
const double * upper() const
Upper bounds.
OsiRowCut augmented with bookkeeping.
Simple Branch and bound class.