|
| CouenneChooseStrong (Bonmin::BabSetupBase &b, CouenneProblem *problem, JnlstPtr jnlst) |
| Constructor from solver (so we can set up arrays etc) More...
|
|
| CouenneChooseStrong (const CouenneChooseStrong &) |
| Copy constructor. More...
|
|
CouenneChooseStrong & | operator= (const CouenneChooseStrong &rhs) |
| Assignment operator. More...
|
|
virtual OsiChooseVariable * | clone () const |
| Clone. More...
|
|
virtual | ~CouenneChooseStrong () |
| Destructor. More...
|
|
virtual int | setupList (OsiBranchingInformation *info, bool initialize) |
| Sets up strong list and clears all if initialize is true. More...
|
|
int | gutsOfSetupList (OsiBranchingInformation *info, bool initialize) |
|
virtual int | doStrongBranching (OsiSolverInterface *OsiSolver, OsiBranchingInformation *info, int numberToDo, int returnCriterion) |
| This is a utility function which does strong branching on a list of objects and stores the results in OsiHotInfo.objects. More...
|
|
virtual bool | feasibleSolution (const OsiBranchingInformation *info, const double *solution, int numberObjects, const OsiObject **objects) |
| Returns true if solution looks feasible against given objects. More...
|
|
virtual int | chooseVariable (OsiSolverInterface *solver, OsiBranchingInformation *info, bool fixVariables) |
| choose object to branch based on earlier setup More...
|
|
| BonChooseVariable (BabSetupBase &b, const OsiSolverInterface *solver) |
|
| BonChooseVariable (const BonChooseVariable &) |
|
BonChooseVariable & | operator= (const BonChooseVariable &rhs) |
|
virtual | ~BonChooseVariable () |
|
double | maxminCrit (const OsiBranchingInformation *info) const |
|
void | computeMultipliers (double &upMult, double &downMult) const |
|
double | computeUsefulness (const double MAXMIN_CRITERION, const double upMult, const double dowMult, const double value, const OsiObject *object, int i, double &value2) const |
|
virtual void | updateInformation (const OsiBranchingInformation *info, int branch, OsiHotInfo *hotInfo) |
|
virtual void | updateInformation (int whichObject, int branch, double changeInObjective, double changeInValue, int status) |
|
void | setCbcModel (CbcModel *cbc_model) |
|
void | setOnlyPseudoWhenTrusted (bool only_pseudo_when_trusted) |
|
const OsiPseudoCosts & | pseudoCosts () const |
|
OsiPseudoCosts & | pseudoCosts () |
|
void | passInMessageHandler (CoinMessageHandler *handler) |
|
CoinMessageHandler & | message (Messages_Types type) const |
|
| OsiChooseVariable () |
|
| OsiChooseVariable (const OsiSolverInterface *solver) |
|
| OsiChooseVariable (const OsiChooseVariable &) |
|
OsiChooseVariable & | operator= (const OsiChooseVariable &rhs) |
|
virtual | ~OsiChooseVariable () |
|
void | saveSolution (const OsiSolverInterface *solver) |
|
void | clearGoodSolution () |
|
double | goodObjectiveValue () const |
|
double | upChange () const |
|
double | downChange () const |
|
const double * | goodSolution () const |
|
int | bestObjectIndex () const |
|
void | setBestObjectIndex (int value) |
|
int | bestWhichWay () const |
|
void | setBestWhichWay (int value) |
|
int | firstForcedObjectIndex () const |
|
void | setFirstForcedObjectIndex (int value) |
|
int | firstForcedWhichWay () const |
|
void | setFirstForcedWhichWay (int value) |
|
int | numberUnsatisfied () const |
|
int | numberStrong () const |
|
void | setNumberStrong (int value) |
|
int | numberOnList () const |
|
int | numberStrongDone () const |
|
int | numberStrongIterations () const |
|
int | numberStrongFixed () const |
|
const int * | candidates () const |
|
bool | trustStrongForBound () const |
|
void | setTrustStrongForBound (bool yesNo) |
|
bool | trustStrongForSolution () const |
|
void | setTrustStrongForSolution (bool yesNo) |
|
void | setSolver (const OsiSolverInterface *solver) |
|
int | status () const |
|
void | setStatus (int value) |
|
Definition at line 23 of file CouenneChooseStrong.hpp.
bool Couenne::CouenneChooseStrong::estimateProduct_ |
|
protected |
Normally, a convex combination of the min/max lower bounds' estimates is taken to select a branching variable, as in the original definition of strong branching.
If this option is set to true, their product is taken instead:
(1e-6+min) * max
where the 1e-6 is used to ensure that even those with one subproblem with no improvement are compared.
Definition at line 135 of file CouenneChooseStrong.hpp.