Couenne::CouenneConstraint Class Reference

Class to represent nonlinear constraints. More...

#include <CouenneProblemElem.hpp>

Inheritance diagram for Couenne::CouenneConstraint:
Couenne::CouennePSDcon

List of all members.

Public Member Functions

 CouenneConstraint (expression *body=NULL, expression *lb=NULL, expression *ub=NULL)
 Constructor.
virtual ~CouenneConstraint ()
 Destructor.
 CouenneConstraint (const CouenneConstraint &c, Domain *d=NULL)
 Copy constructor.
virtual CouenneConstraintclone (Domain *d=NULL) const
 Cloning method.
virtual expressionLb () const
 Expression of lower bound.
virtual expressionUb () const
 Expression of upper bound.
virtual expressionBody () const
 Expression of body of constraint.
virtual expressionBody (expression *newBody)
 Set body of constraint.
virtual exprAuxstandardize (CouenneProblem *)
 decompose body of constraint through auxiliary variables
virtual void print (std::ostream &=std::cout)
 print constraint

Protected Attributes

expressionbody_
 Body of constraint.
expressionlb_
 Lower bound (expression).
expressionub_
 Upper bound (expression).

Detailed Description

Class to represent nonlinear constraints.

It consists of an expression as the body and two range expressions as lower- and upper bounds.

A general constraint is defined as lb_ <= body_ <= ub_, where all three components are expressions, depending on variables, auxiliaries and bounds. If the constraint is 2 <= exp (x1+x2) <= 4, then:

body_ = exp (x1+x2), that is,

new exprExp (new exprSum (new exprVar (1), new exprVar (2))

while lb_ = new exprConst (2.) and ub_ = new exprConst (4.).

Definition at line 39 of file CouenneProblemElem.hpp.


Constructor & Destructor Documentation

Couenne::CouenneConstraint::CouenneConstraint ( expression body = NULL,
expression lb = NULL,
expression ub = NULL 
) [inline]

Constructor.

Definition at line 50 of file CouenneProblemElem.hpp.

References COUENNE_INFINITY, lb_, and ub_.

Referenced by clone().

virtual Couenne::CouenneConstraint::~CouenneConstraint (  )  [inline, virtual]

Destructor.

Definition at line 67 of file CouenneProblemElem.hpp.

References body_, lb_, and ub_.

Couenne::CouenneConstraint::CouenneConstraint ( const CouenneConstraint c,
Domain d = NULL 
) [inline]

Copy constructor.

Definition at line 74 of file CouenneProblemElem.hpp.


Member Function Documentation

virtual CouenneConstraint* Couenne::CouenneConstraint::clone ( Domain d = NULL  )  const [inline, virtual]

Cloning method.

Reimplemented in Couenne::CouennePSDcon.

Definition at line 80 of file CouenneProblemElem.hpp.

References CouenneConstraint().

virtual expression* Couenne::CouenneConstraint::Lb (  )  const [inline, virtual]

Expression of lower bound.

Definition at line 84 of file CouenneProblemElem.hpp.

References lb_.

virtual expression* Couenne::CouenneConstraint::Ub (  )  const [inline, virtual]

Expression of upper bound.

Definition at line 85 of file CouenneProblemElem.hpp.

References ub_.

virtual expression* Couenne::CouenneConstraint::Body (  )  const [inline, virtual]

Expression of body of constraint.

Definition at line 86 of file CouenneProblemElem.hpp.

References body_.

virtual expression* Couenne::CouenneConstraint::Body ( expression newBody  )  [inline, virtual]

Set body of constraint.

Definition at line 89 of file CouenneProblemElem.hpp.

References body_.

virtual exprAux* Couenne::CouenneConstraint::standardize ( CouenneProblem  )  [virtual]

decompose body of constraint through auxiliary variables

Reimplemented in Couenne::CouennePSDcon.

virtual void Couenne::CouenneConstraint::print ( std::ostream &  = std::cout  )  [virtual]

print constraint

Reimplemented in Couenne::CouennePSDcon.


Member Data Documentation

Body of constraint.

Definition at line 43 of file CouenneProblemElem.hpp.

Referenced by Body(), and ~CouenneConstraint().

Lower bound (expression).

Definition at line 44 of file CouenneProblemElem.hpp.

Referenced by CouenneConstraint(), Lb(), and ~CouenneConstraint().

Upper bound (expression).

Definition at line 45 of file CouenneProblemElem.hpp.

Referenced by CouenneConstraint(), Ub(), and ~CouenneConstraint().


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

Generated on 17 Feb 2015 for Couenne by  doxygen 1.6.1