Class to represent nonlinear constraints. More...
#include <CouenneProblemElem.hpp>
Public Member Functions | |
CouenneConstraint (expression *body=NULL, expression *lb=NULL, expression *ub=NULL) | |
Constructor. More... | |
virtual | ~CouenneConstraint () |
Destructor. More... | |
CouenneConstraint (const CouenneConstraint &c, Domain *d=NULL) | |
Copy constructor. More... | |
virtual CouenneConstraint * | clone (Domain *d=NULL) const |
Cloning method. More... | |
virtual expression * | Lb () const |
Expression of lower bound. More... | |
virtual expression * | Ub () const |
Expression of upper bound. More... | |
virtual expression * | Body () const |
Expression of body of constraint. More... | |
virtual expression * | Body (expression *newBody) |
Set body of constraint. More... | |
virtual exprAux * | standardize (CouenneProblem *) |
decompose body of constraint through auxiliary variables More... | |
virtual void | print (std::ostream &=std::cout) |
print constraint More... | |
Protected Attributes | |
expression * | body_ |
Body of constraint. More... | |
expression * | lb_ |
Lower bound (expression) More... | |
expression * | ub_ |
Upper bound (expression) More... | |
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.
|
inline |
Constructor.
Definition at line 50 of file CouenneProblemElem.hpp.
|
inlinevirtual |
Destructor.
Definition at line 67 of file CouenneProblemElem.hpp.
|
inline |
Copy constructor.
Definition at line 74 of file CouenneProblemElem.hpp.
|
inlinevirtual |
Cloning method.
Reimplemented in Couenne::CouennePSDcon.
Definition at line 80 of file CouenneProblemElem.hpp.
|
inlinevirtual |
Expression of lower bound.
Definition at line 84 of file CouenneProblemElem.hpp.
|
inlinevirtual |
Expression of upper bound.
Definition at line 85 of file CouenneProblemElem.hpp.
|
inlinevirtual |
Expression of body of constraint.
Definition at line 86 of file CouenneProblemElem.hpp.
|
inlinevirtual |
Set body of constraint.
Definition at line 89 of file CouenneProblemElem.hpp.
|
virtual |
decompose body of constraint through auxiliary variables
Reimplemented in Couenne::CouennePSDcon.
Definition at line 31 of file constrStandardize.cpp.
|
virtual |
print constraint
Reimplemented in Couenne::CouennePSDcon.
Definition at line 19 of file constraint.cpp.
|
protected |
Body of constraint.
Definition at line 43 of file CouenneProblemElem.hpp.
|
protected |
Lower bound (expression)
Definition at line 44 of file CouenneProblemElem.hpp.
|
protected |
Upper bound (expression)
Definition at line 45 of file CouenneProblemElem.hpp.