#include <exprBound.hpp>
Inheritance diagram for exprLowerBound:
Public Member Functions | |
enum nodeType | Type () const |
Node type. | |
exprLowerBound (int varIndex, Domain *d=NULL) | |
Constructor. | |
exprLowerBound (const exprLowerBound &src, Domain *d=NULL) | |
Copy constructor. | |
exprLowerBound * | clone (Domain *d=NULL) const |
cloning method | |
void | print (std::ostream &out=std::cout, bool=false) const |
Print to iostream. | |
CouNumber | operator() () |
return the value of the variable | |
expression * | differentiate (int) |
differentiation | |
int | dependsOn (int *, int, enum dig_type type=STOP_AT_AUX) |
dependence on variable set | |
virtual int | Linearity () |
get a measure of "how linear" the expression is: | |
virtual enum expr_type | code () |
code for comparisons |
They are used in the parametric convexification part to obtain lower/upper bounds of an expression as a function of the expression itself.
For example, the lower and upper bounds to expression (x1 - exp (x2)) are (l1 - exp (u2)) and (u1 - exp (l2)), respectively, where l1 (l2) is the lower bound of x1 (x2) and u1 (u2) is the upper bound of x1 (x2).
A lower/upper bound of an expression is a function of all bounds in the expression and is known only when all variables bounds are known.
Definition at line 36 of file exprBound.hpp.
exprLowerBound::exprLowerBound | ( | int | varIndex, | |
Domain * | d = NULL | |||
) | [inline] |
exprLowerBound::exprLowerBound | ( | const exprLowerBound & | src, | |
Domain * | d = NULL | |||
) | [inline] |
enum nodeType exprLowerBound::Type | ( | ) | const [inline, virtual] |
Node type.
Reimplemented from exprVar.
Definition at line 41 of file exprBound.hpp.
References CONST.
exprLowerBound* exprLowerBound::clone | ( | Domain * | d = NULL |
) | const [inline, virtual] |
cloning method
Reimplemented from exprVar.
Definition at line 53 of file exprBound.hpp.
References exprLowerBound().
void exprLowerBound::print | ( | std::ostream & | out = std::cout , |
|
bool | = false | |||
) | const [inline, virtual] |
Print to iostream.
Reimplemented from exprVar.
Definition at line 57 of file exprBound.hpp.
References exprVar::varIndex_.
CouNumber exprLowerBound::operator() | ( | ) | [inline, virtual] |
return the value of the variable
Reimplemented from exprVar.
Definition at line 62 of file exprBound.hpp.
References exprVar::domain_, exprVar::lb(), and exprVar::varIndex_.
expression* exprLowerBound::differentiate | ( | int | ) | [inline, virtual] |
int exprLowerBound::dependsOn | ( | int * | , | |
int | , | |||
enum dig_type | type = STOP_AT_AUX | |||
) | [inline, virtual] |
dependence on variable set
Reimplemented from expression.
Definition at line 70 of file exprBound.hpp.
virtual int exprLowerBound::Linearity | ( | ) | [inline, virtual] |
get a measure of "how linear" the expression is:
Reimplemented from exprVar.
Definition at line 74 of file exprBound.hpp.
References CONST.
virtual enum expr_type exprLowerBound::code | ( | ) | [inline, virtual] |
code for comparisons
Reimplemented from exprVar.
Definition at line 78 of file exprBound.hpp.
References COU_EXPRLBOUND.