Define an idiotic idea class. More...
#include <CbcFollowOn.hpp>
Public Member Functions | |
CbcIdiotBranch () | |
CbcIdiotBranch (CbcModel *model) | |
Useful constructor. | |
CbcIdiotBranch (const CbcIdiotBranch &) | |
virtual CbcObject * | clone () const |
Clone. | |
CbcIdiotBranch & | operator= (const CbcIdiotBranch &rhs) |
~CbcIdiotBranch () | |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility - large is 0.5. | |
virtual void | feasibleRegion () |
This looks at solution and sets bounds to contain solution. | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching object. | |
virtual void | initializeForBranching (CbcModel *) |
Initialize for branching. | |
Protected Member Functions | |
OsiRowCut | buildCut (const OsiBranchingInformation *info, int type, int &preferredWay) const |
Build "cut". | |
Protected Attributes | |
CoinThreadRandom | randomNumberGenerator_ |
data Thread specific random number generator | |
CoinThreadRandom | savedRandomNumberGenerator_ |
Saved version of thread specific random number generator. |
Define an idiotic idea class.
The idea of this is that we take some integer variables away from integer and sum them with some randomness to get signed sum close to 0.5. We then can branch to exclude that gap.
This branching rule should be in addition to normal rules and have a high priority.
Definition at line 161 of file CbcFollowOn.hpp.
CbcIdiotBranch::CbcIdiotBranch | ( | ) |
CbcIdiotBranch::CbcIdiotBranch | ( | CbcModel * | model | ) |
Useful constructor.
CbcIdiotBranch::CbcIdiotBranch | ( | const CbcIdiotBranch & | ) |
CbcIdiotBranch::~CbcIdiotBranch | ( | ) |
CbcIdiotBranch& CbcIdiotBranch::operator= | ( | const CbcIdiotBranch & | rhs | ) |
Reimplemented from CbcObject.
virtual double CbcIdiotBranch::infeasibility | ( | const OsiBranchingInformation * | info, | |
int & | preferredWay | |||
) | const [virtual] |
Infeasibility - large is 0.5.
Reimplemented from CbcObject.
virtual void CbcIdiotBranch::feasibleRegion | ( | ) | [virtual] |
This looks at solution and sets bounds to contain solution.
Implements CbcObject.
virtual CbcBranchingObject* CbcIdiotBranch::createCbcBranch | ( | OsiSolverInterface * | solver, | |
const OsiBranchingInformation * | info, | |||
int | way | |||
) | [virtual] |
Creates a branching object.
Reimplemented from CbcObject.
virtual void CbcIdiotBranch::initializeForBranching | ( | CbcModel * | ) | [virtual] |
Initialize for branching.
Reimplemented from CbcObject.
OsiRowCut CbcIdiotBranch::buildCut | ( | const OsiBranchingInformation * | info, | |
int | type, | |||
int & | preferredWay | |||
) | const [protected] |
Build "cut".
CoinThreadRandom CbcIdiotBranch::randomNumberGenerator_ [mutable, protected] |
data Thread specific random number generator
Definition at line 201 of file CbcFollowOn.hpp.
CoinThreadRandom CbcIdiotBranch::savedRandomNumberGenerator_ [mutable, protected] |
Saved version of thread specific random number generator.
Definition at line 203 of file CbcFollowOn.hpp.