Couenne::CouenneConstraint Class Reference

Class to represent nonlinear constraints. More...

#include <CouenneProblemElem.hpp>

List of all members.

Public Member Functions

 CouenneConstraint (expression *body=NULL, expression *lb=NULL, expression *ub=NULL)
 Constructor.
 ~CouenneConstraint ()
 Destructor.
 CouenneConstraint (const CouenneConstraint &c, Domain *d=NULL)
 Copy constructor.
CouenneConstraintclone (Domain *d=NULL) const
 Cloning method.
expressionLb () const
 Expression of lower bound.
expressionUb () const
 Expression of upper bound.
expressionBody () const
 Expression of body of constraint.
expressionBody (expression *newBody)
 Set body of constraint.
exprAuxstandardize (CouenneProblem *)
 decompose body of constraint through auxiliary variables
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().

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

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

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

Cloning method.

Definition at line 80 of file CouenneProblemElem.hpp.

References CouenneConstraint().

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

Expression of lower bound.

Definition at line 84 of file CouenneProblemElem.hpp.

References lb_.

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

Expression of upper bound.

Definition at line 85 of file CouenneProblemElem.hpp.

References ub_.

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

Expression of body of constraint.

Definition at line 86 of file CouenneProblemElem.hpp.

References body_.

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

Set body of constraint.

Definition at line 89 of file CouenneProblemElem.hpp.

References body_.

exprAux* Couenne::CouenneConstraint::standardize ( CouenneProblem  ) 

decompose body of constraint through auxiliary variables

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

print constraint


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 10 Feb 2012 for Couenne by  doxygen 1.6.1