Couenne::CouenneConstraint Class Reference

Class to represent nonlinear constraints. More...

#include <CouenneProblemElem.hpp>

Inheritance diagram for Couenne::CouenneConstraint:
Inheritance graph
[legend]
Collaboration diagram for Couenne::CouenneConstraint:
Collaboration graph
[legend]

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.

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

Destructor.

Definition at line 67 of file CouenneProblemElem.hpp.

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.

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

Expression of lower bound.

Definition at line 84 of file CouenneProblemElem.hpp.

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

Expression of upper bound.

Definition at line 85 of file CouenneProblemElem.hpp.

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

Expression of body of constraint.

Definition at line 86 of file CouenneProblemElem.hpp.

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

Set body of constraint.

Definition at line 89 of file CouenneProblemElem.hpp.

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

decompose body of constraint through auxiliary variables

Reimplemented in Couenne::CouennePSDcon.

Definition at line 31 of file constrStandardize.cpp.

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

print constraint

Reimplemented in Couenne::CouennePSDcon.

Definition at line 19 of file constraint.cpp.


Member Data Documentation

Body of constraint.

Definition at line 43 of file CouenneProblemElem.hpp.

Lower bound (expression).

Definition at line 44 of file CouenneProblemElem.hpp.

Upper bound (expression).

Definition at line 45 of file CouenneProblemElem.hpp.


The documentation for this class was generated from the following files:

Generated on 5 Jul 2015 by  doxygen 1.6.1