11 #ifndef COUENNEVAROBJECT_HPP
12 #define COUENNEVAROBJECT_HPP
30 Bonmin::BabSetupBase *base,
51 virtual double infeasibility (
const OsiBranchingInformation *info,
int &way)
const;
59 virtual OsiBranchingObject *
createBranch (OsiSolverInterface*,
60 const OsiBranchingInformation*,
int)
const;
63 virtual double feasibleRegion (OsiSolverInterface *,
const OsiBranchingInformation *)
const;
Cut Generator for linear convexifications.
OsiObject for auxiliary variables $w=f(x)$.
virtual CouenneObject * clone() const
Cloning method.
virtual bool isCuttable() const
are we on the bad or good side of the expression?
~CouenneVarObject()
Destructor.
virtual double feasibleRegion(OsiSolverInterface *, const OsiBranchingInformation *) const
fix nonlinear coordinates of current integer-nonlinear feasible solution
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 w...
int varSelection_
branching scheme used.
Class for MINLP problems with symbolic information.
virtual OsiBranchingObject * createBranch(OsiSolverInterface *, const OsiBranchingInformation *, int) const
create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object
CouNumber computeBranchingPoint(const OsiBranchingInformation *info, int &bestWay, const CouenneObject *&criticalObject) const
Method computing the branching point.
double CouNumber
main number type in Couenne
CouenneVarObject(CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int varSelection)
Constructor with information for branching point selection strategy.
virtual double checkInfeasibility(const OsiBranchingInformation *info) const
compute infeasibility of this variable, |w - f(x)|, where w is the auxiliary variable defined as w = ...
CouenneVarObject(const CouenneVarObject &src)
Copy constructor.
OsiObject for variables in a MINLP.