Couenne::CouenneVarObject Class Reference

OsiObject for variables in a MINLP. More...

#include <CouenneVarObject.hpp>

Inheritance diagram for Couenne::CouenneVarObject:
Couenne::CouenneObject Couenne::CouenneVTObject

List of all members.

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 CouenneObjectclone () 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.

Detailed Description

OsiObject for variables in a MINLP.

Definition at line 22 of file CouenneVarObject.hpp.


Constructor & Destructor Documentation

Couenne::CouenneVarObject::CouenneVarObject ( CouenneCutGenerator c,
CouenneProblem p,
exprVar ref,
Bonmin::BabSetupBase *  base,
JnlstPtr  jnlst,
int  varSelection 
)

Constructor with information for branching point selection strategy.

Referenced by clone().

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.


Member Function Documentation

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.

References CouenneVarObject().

virtual double Couenne::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)|

TODO: suggest way

Reimplemented from Couenne::CouenneObject.

Reimplemented in Couenne::CouenneVTObject.

virtual double Couenne::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.

virtual OsiBranchingObject* Couenne::CouenneVarObject::createBranch ( OsiSolverInterface *  ,
const OsiBranchingInformation *  ,
int   
) const [virtual]

create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object

Reimplemented from Couenne::CouenneObject.

virtual double Couenne::CouenneVarObject::feasibleRegion ( OsiSolverInterface *  ,
const OsiBranchingInformation *   
) const [virtual]

fix nonlinear coordinates of current integer-nonlinear feasible solution

Reimplemented from Couenne::CouenneObject.

virtual bool Couenne::CouenneVarObject::isCuttable (  )  const [virtual]

are we on the bad or good side of the expression?

Reimplemented from Couenne::CouenneObject.

CouNumber Couenne::CouenneVarObject::computeBranchingPoint ( const OsiBranchingInformation *  info,
int &  bestWay,
const CouenneObject *&  criticalObject 
) const [protected]

Method computing the branching point.


Member Data Documentation

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Feb 2012 for Couenne by  doxygen 1.6.1