Couenne 0.5.8
Loading...
Searching...
No Matches
Couenne::CouenneSOSObject Class Reference

#include <CouenneSOSObject.hpp>

+ Inheritance diagram for Couenne::CouenneSOSObject:
+ Collaboration diagram for Couenne::CouenneSOSObject:

Public Member Functions

 CouenneSOSObject (OsiSolverInterface *solver, int nelem, int *indices, double *weights, int type, CouenneProblem *problem, exprVar *ref, JnlstPtr jnlst, bool doFBBT, bool doConvCuts)
 
 CouenneSOSObject (const CouenneSOSObject &src)
 Copy constructor.
 
virtual OsiObjectclone () const
 Cloning method.
 
OsiBranchingObjectcreateBranch (OsiSolverInterface *si, const OsiBranchingInformation *info, int way) const
 create branching objects
 
- Public Member Functions inherited from OsiSOS
 OsiSOS ()
 
 OsiSOS (const OsiSolverInterface *solver, int numberMembers, const int *which, const double *weights, int type=1)
 
 OsiSOS (const OsiSOS &)
 
OsiSOSoperator= (const OsiSOS &rhs)
 
virtual ~OsiSOS ()
 
virtual double infeasibility (const OsiBranchingInformation *info, int &whichWay) const
 
virtual double feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const
 
virtual double upEstimate () const
 
virtual double downEstimate () const
 
virtual void resetSequenceEtc (int numberColumns, const int *originalColumns)
 
int numberMembers () const
 
const int * members () const
 
int sosType () const
 
int setType () const
 
const double * weights () const
 
virtual bool canDoHeuristics () const
 
void setIntegerValued (bool yesNo)
 
virtual bool canHandleShadowPrices () const
 
void setNumberMembers (int value)
 
int * mutableMembers () const
 
void setSosType (int value)
 
double * mutableWeights () const
 
double infeasibility (const OsiSolverInterface *solver, int &whichWay) const
 
double infeasibility () const
 
virtual double feasibleRegion (OsiSolverInterface *solver) const
 
- Public Member Functions inherited from OsiObject2
 OsiObject2 ()
 
 OsiObject2 (const OsiObject2 &)
 
OsiObject2operator= (const OsiObject2 &rhs)
 
virtual ~OsiObject2 ()
 
void setPreferredWay (int value)
 
virtual int preferredWay () const
 
- Public Member Functions inherited from OsiObject
 OsiObject ()
 
 OsiObject (const OsiObject &)
 
OsiObjectoperator= (const OsiObject &rhs)
 
virtual ~OsiObject ()
 
double infeasibility (const OsiSolverInterface *solver, int &whichWay) const
 
virtual double checkInfeasibility (const OsiBranchingInformation *info) const
 
virtual bool canMoveToNearest () const
 
virtual int columnNumber () const
 
int priority () const
 
void setPriority (int priority)
 
virtual bool boundBranch () const
 
int numberWays () const
 
void setNumberWays (int numberWays)
 
void setWhichWay (int way)
 
int whichWay () const
 
double infeasibility () const
 
virtual void resetBounds (const OsiSolverInterface *)
 
virtual void updateBefore (const OsiObject *)
 
virtual void updateAfter (const OsiObject *, const OsiObject *)
 

Protected Attributes

CouenneProblemproblem_
 pointer to Couenne problem
 
exprVarreference_
 The (auxiliary) variable this branching object refers to.
 
JnlstPtr jnlst_
 SmartPointer to the Journalist.
 
bool doFBBT_
 shall we do Feasibility based Bound Tightening (FBBT) at branching?
 
bool doConvCuts_
 shall we add convexification cuts at branching?
 
- Protected Attributes inherited from OsiSOS
int * members_
 
double * weights_
 
int numberMembers_
 
int sosType_
 
bool integerValued_
 
- Protected Attributes inherited from OsiObject2
int preferredWay_
 
double otherInfeasibility_
 
- Protected Attributes inherited from OsiObject
double infeasibility_
 
short whichWay_
 
short numberWays_
 
int priority_
 

Detailed Description

Definition at line 95 of file CouenneSOSObject.hpp.

Constructor & Destructor Documentation

◆ CouenneSOSObject() [1/2]

Couenne::CouenneSOSObject::CouenneSOSObject ( OsiSolverInterface * solver,
int nelem,
int * indices,
double * weights,
int type,
CouenneProblem * problem,
exprVar * ref,
JnlstPtr jnlst,
bool doFBBT,
bool doConvCuts )
inline

Definition at line 118 of file CouenneSOSObject.hpp.

◆ CouenneSOSObject() [2/2]

Couenne::CouenneSOSObject::CouenneSOSObject ( const CouenneSOSObject & src)
inline

Copy constructor.

Definition at line 134 of file CouenneSOSObject.hpp.

Member Function Documentation

◆ clone()

virtual OsiObject * Couenne::CouenneSOSObject::clone ( ) const
inlinevirtual

Cloning method.

Reimplemented from OsiSOS.

Definition at line 143 of file CouenneSOSObject.hpp.

◆ createBranch()

OsiBranchingObject * Couenne::CouenneSOSObject::createBranch ( OsiSolverInterface * si,
const OsiBranchingInformation * info,
int way ) const
virtual

create branching objects

Reimplemented from OsiSOS.

Member Data Documentation

◆ problem_

CouenneProblem* Couenne::CouenneSOSObject::problem_
protected

pointer to Couenne problem

Definition at line 100 of file CouenneSOSObject.hpp.

◆ reference_

exprVar* Couenne::CouenneSOSObject::reference_
protected

The (auxiliary) variable this branching object refers to.

If the expression is w=f(x,y), this is w, as opposed to CouenneBranchingObject, where it would be either x or y.

Definition at line 105 of file CouenneSOSObject.hpp.

◆ jnlst_

JnlstPtr Couenne::CouenneSOSObject::jnlst_
protected

SmartPointer to the Journalist.

Definition at line 108 of file CouenneSOSObject.hpp.

◆ doFBBT_

bool Couenne::CouenneSOSObject::doFBBT_
protected

shall we do Feasibility based Bound Tightening (FBBT) at branching?

Definition at line 111 of file CouenneSOSObject.hpp.

◆ doConvCuts_

bool Couenne::CouenneSOSObject::doConvCuts_
protected

shall we add convexification cuts at branching?

Definition at line 114 of file CouenneSOSObject.hpp.


The documentation for this class was generated from the following file: