Couenne::CouenneComplObject Class Reference

OsiObject for complementarity constraints $ x_1 x_2 \ge,\le,= 0 $. More...

#include <CouenneComplObject.hpp>

Inheritance diagram for Couenne::CouenneComplObject:
Couenne::CouenneObject

List of all members.

Public Member Functions

 CouenneComplObject (CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int sign)
 Constructor with information for branching point selection strategy.
 CouenneComplObject (exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int sign)
 Constructor with lesser information, used for infeasibility only.
 ~CouenneComplObject ()
 Destructor.
 CouenneComplObject (const CouenneComplObject &src)
 Copy constructor.
virtual CouenneObjectclone () const
 Cloning method.
virtual double infeasibility (const OsiBranchingInformation *info, int &way) const
 compute infeasibility of this variable, |w - f(x)| (where w is the auxiliary variable defined as 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 way) const
 create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object

Private Attributes

int sign_
 -1 if object is for xi * xj <= 0 +1 if object is for xi * xj <= 0 0 if object is for xi * xj = 0 (classical)

Detailed Description

OsiObject for complementarity constraints $ x_1 x_2 \ge,\le,= 0 $.

Associated with two variables $ x_1$ and $x_2$, branches with either $x_1=0$ or $x_2=0$

Definition at line 22 of file CouenneComplObject.hpp.


Constructor & Destructor Documentation

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

Constructor with information for branching point selection strategy.

Referenced by clone().

Couenne::CouenneComplObject::CouenneComplObject ( exprVar ref,
Bonmin::BabSetupBase *  base,
JnlstPtr  jnlst,
int  sign 
)

Constructor with lesser information, used for infeasibility only.

Couenne::CouenneComplObject::~CouenneComplObject (  )  [inline]

Destructor.

Definition at line 37 of file CouenneComplObject.hpp.

Couenne::CouenneComplObject::CouenneComplObject ( const CouenneComplObject src  ) 

Copy constructor.


Member Function Documentation

virtual CouenneObject* Couenne::CouenneComplObject::clone (  )  const [inline, virtual]

Cloning method.

Reimplemented from Couenne::CouenneObject.

Definition at line 43 of file CouenneComplObject.hpp.

References CouenneComplObject().

virtual double Couenne::CouenneComplObject::infeasibility ( const OsiBranchingInformation *  info,
int &  way 
) 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 double Couenne::CouenneComplObject::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::CouenneComplObject::createBranch ( OsiSolverInterface *  ,
const OsiBranchingInformation *  ,
int  way 
) const [virtual]

create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object

Reimplemented from Couenne::CouenneObject.


Member Data Documentation

-1 if object is for xi * xj <= 0 +1 if object is for xi * xj <= 0 0 if object is for xi * xj = 0 (classical)

Definition at line 64 of file CouenneComplObject.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 6 Apr 2015 for Couenne by  doxygen 1.6.1