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