12 #include "OsiRowCut.hpp" 13 #include "CoinHelperFunctions.hpp" 14 #include "CoinPackedMatrix.hpp" 49 virtual double infeasibility(
const OsiBranchingInformation * info,
59 virtual int gutsOfFollowOn(
int & otherRow,
int & preferredWay)
const;
84 int numberOnDownSide,
const int * down,
85 int numberOnUpSide,
const int * up);
101 virtual double branch();
108 virtual void previousBranch();
114 virtual void print();
185 virtual double infeasibility(
const OsiBranchingInformation * info,
198 OsiRowCut buildCut(
const OsiBranchingInformation * info,
int type,
int & preferredWay)
const;
virtual double infeasibility(const OsiBranchingInformation *info, int &preferredWay) const
Infeasibility - large is 0.5.
virtual void feasibleRegion()=0
For the variable(s) referenced by the object, look at the current solution and set bounds to match th...
virtual void initializeForBranching(CbcModel *)
Initialize for branching.
virtual void feasibleRegion()
This looks at solution and sets bounds to contain solution.
Define an idiotic idea class.
CbcFollowOn & operator=(const CbcFollowOn &rhs)
Abstract branching object base class Now just difference with OsiBranchingObject. ...
CoinPackedMatrix matrixByRow_
Matrix by row.
CoinThreadRandom savedRandomNumberGenerator_
Saved version of thread specific random number generator.
CbcModel * model() const
Return model.
virtual double branch()=0
Execute the actions required to branch, as specified by the current state of the branching object...
virtual CbcBranchingObject * createCbcBranch(OsiSolverInterface *solver, const OsiBranchingInformation *info, int way)
Creates a branching object.
General Branching Object class.
virtual void print() const
Print something about branch - only if log level high.
virtual CbcBranchObjType type() const
Return the type (an integer identifier) of this.
int * rhs_
Possible rhs (if 0 then not possible)
Define a follow on class.
CoinPackedMatrix matrix_
data Matrix
CoinThreadRandom randomNumberGenerator_
data Thread specific random number generator
virtual int gutsOfFollowOn(int &otherRow, int &preferredWay) const
As some computation is needed in more than one place - returns row.
Simple Branch and bound class.
virtual CbcObject * clone() const
Clone.
int preferredWay() const
If -1 down always chosen first, +1 up always, 0 normal.