# Couenne::CouenneComplObject Class Reference

OsiObject for complementarity constraints . More...

`#include <CouenneComplObject.hpp>`

Inheritance diagram for Couenne::CouenneComplObject:

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 CouenneObject * | clone () 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 .

Associated with two variables and , branches with either or

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

int Couenne::CouenneComplObject::sign_`[private]`

-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:

- CouenneComplObject.hpp

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines