OsiObject for variables in a MINLP. More...
#include <CouenneVarObject.hpp>


Public Member Functions | |
| CouenneVarObject (CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int varSelection) | |
| Constructor with information for branching point selection strategy. | |
| CouenneVarObject (const CouenneVarObject &src) | |
| Copy constructor. | |
| ~CouenneVarObject () | |
| Destructor. | |
| virtual CouenneObject * | clone () const |
| Cloning method. | |
| virtual double | infeasibility (const OsiBranchingInformation *info, int &way) const |
| compute infeasibility of this variable x as the sum/min/max of all infeasibilities of auxiliaries w whose defining function depends on x |w - f(x)| | |
| virtual double | checkInfeasibility (const OsiBranchingInformation *info) const |
| compute infeasibility of this variable, |w - f(x)|, where w is the auxiliary variable defined as w = f(x) | |
| virtual OsiBranchingObject * | createBranch (OsiSolverInterface *, const OsiBranchingInformation *, int) const |
| create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object | |
| virtual double | feasibleRegion (OsiSolverInterface *, const OsiBranchingInformation *) const |
| fix nonlinear coordinates of current integer-nonlinear feasible solution | |
| virtual bool | isCuttable () const |
| are we on the bad or good side of the expression? | |
Protected Member Functions | |
| CouNumber | computeBranchingPoint (const OsiBranchingInformation *info, int &bestWay, const CouenneObject *&criticalObject) const |
| Method computing the branching point. | |
Protected Attributes | |
| int | varSelection_ |
| branching scheme used. | |
OsiObject for variables in a MINLP.
Definition at line 22 of file CouenneVarObject.hpp.
| CouenneVarObject::CouenneVarObject | ( | CouenneCutGenerator * | c, | |
| CouenneProblem * | p, | |||
| exprVar * | ref, | |||
| Bonmin::BabSetupBase * | base, | |||
| JnlstPtr | jnlst, | |||
| int | varSelection | |||
| ) |
Constructor with information for branching point selection strategy.
Definition at line 25 of file CouenneVarObject.cpp.
| Couenne::CouenneVarObject::CouenneVarObject | ( | const CouenneVarObject & | src | ) | [inline] |
Copy constructor.
Definition at line 35 of file CouenneVarObject.hpp.
| Couenne::CouenneVarObject::~CouenneVarObject | ( | ) | [inline] |
Destructor.
Definition at line 40 of file CouenneVarObject.hpp.
| virtual CouenneObject* Couenne::CouenneVarObject::clone | ( | ) | const [inline, virtual] |
Cloning method.
Reimplemented from Couenne::CouenneObject.
Reimplemented in Couenne::CouenneVTObject.
Definition at line 43 of file CouenneVarObject.hpp.
| double CouenneVarObject::infeasibility | ( | const OsiBranchingInformation * | info, | |
| int & | way | |||
| ) | const [virtual] |
compute infeasibility of this variable x as the sum/min/max of all infeasibilities of auxiliaries w whose defining function depends on x |w - f(x)|
compute infeasibility of this variable, |w - f(x)| (where w is the auxiliary variable defined as w = f(x)) TODO: suggest way
TODO: suggest way
Reimplemented from Couenne::CouenneObject.
Reimplemented in Couenne::CouenneVTObject.
Definition at line 29 of file infeasibility.cpp.
| double CouenneVarObject::checkInfeasibility | ( | const OsiBranchingInformation * | info | ) | const [virtual] |
compute infeasibility of this variable, |w - f(x)|, where w is the auxiliary variable defined as w = f(x)
Reimplemented from Couenne::CouenneObject.
Definition at line 128 of file infeasibility.cpp.
| OsiBranchingObject * CouenneVarObject::createBranch | ( | OsiSolverInterface * | si, | |
| const OsiBranchingInformation * | info, | |||
| int | way | |||
| ) | const [virtual] |
create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object
apply the branching rule
Reimplemented from Couenne::CouenneObject.
Definition at line 54 of file CouenneVarObject.cpp.
| double CouenneVarObject::feasibleRegion | ( | OsiSolverInterface * | solver, | |
| const OsiBranchingInformation * | info | |||
| ) | const [virtual] |
fix nonlinear coordinates of current integer-nonlinear feasible solution
Reimplemented from Couenne::CouenneObject.
Definition at line 340 of file CouenneVarObject.cpp.
| bool CouenneVarObject::isCuttable | ( | ) | const [virtual] |
are we on the bad or good side of the expression?
Reimplemented from Couenne::CouenneObject.
Definition at line 357 of file CouenneVarObject.cpp.
| CouNumber CouenneVarObject::computeBranchingPoint | ( | const OsiBranchingInformation * | info, | |
| int & | bestWay, | |||
| const CouenneObject *& | criticalObject | |||
| ) | const [protected] |
Method computing the branching point.
compute branching point (used in createBranch ())
Definition at line 154 of file CouenneVarObject.cpp.
int Couenne::CouenneVarObject::varSelection_ [protected] |
branching scheme used.
Experimental: still figuring out why plain LP branching doesn't work with strong/reliability branching
Definition at line 73 of file CouenneVarObject.hpp.
1.6.1