11#ifndef COUENNESOSOBJECT_HPP
12#define COUENNESOSOBJECT_HPP
20class CouenneSOSObject;
Class for MINLP problems with symbolic information.
bool doFBBT_
shall we do Feasibility based Bound Tightening (FBBT) at branching?
CouenneProblem * problem_
pointer to Couenne problem
CouenneSOSBranchingObject(CouenneProblem *p, exprVar *ref, OsiSolverInterface *solver, const OsiSOS *originalObject, int way, double separator, JnlstPtr jnlst, bool doFBBT, bool doConvCuts)
bool doConvCuts_
shall we add convexification cuts at branching?
exprVar * reference_
The (auxiliary) variable this branching object refers to.
JnlstPtr jnlst_
SmartPointer to the Journalist.
virtual double branch(OsiSolverInterface *solver)
Does next branch and updates state.
CouenneSOSBranchingObject()
virtual OsiBranchingObject * clone() const
Clone.
CouenneSOSBranchingObject(const CouenneSOSBranchingObject &src)
virtual OsiObject * clone() const
Cloning method.
bool doFBBT_
shall we do Feasibility based Bound Tightening (FBBT) at branching?
JnlstPtr jnlst_
SmartPointer to the Journalist.
CouenneSOSObject(const CouenneSOSObject &src)
Copy constructor.
bool doConvCuts_
shall we add convexification cuts at branching?
exprVar * reference_
The (auxiliary) variable this branching object refers to.
OsiBranchingObject * createBranch(OsiSolverInterface *si, const OsiBranchingInformation *info, int way) const
create branching objects
CouenneProblem * problem_
pointer to Couenne problem
CouenneSOSObject(OsiSolverInterface *solver, int nelem, int *indices, double *weights, int type, CouenneProblem *problem, exprVar *ref, JnlstPtr jnlst, bool doFBBT, bool doConvCuts)
const OsiObject * originalObject() const
const double * weights() const
general include file for different compilers