#include <CouenneExprBound.hpp>
Inheritance diagram for Couenne::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 38 of file CouenneExprBound.hpp.
Couenne::exprLowerBound::exprLowerBound | ( | int | varIndex, | |
Domain * | d = NULL | |||
) | [inline] |
Couenne::exprLowerBound::exprLowerBound | ( | const exprLowerBound & | src, | |
Domain * | d = NULL | |||
) | [inline] |
enum nodeType Couenne::exprLowerBound::Type | ( | ) | const [inline, virtual] |
Node type.
Reimplemented from Couenne::exprVar.
Definition at line 43 of file CouenneExprBound.hpp.
References Couenne::CONST.
exprLowerBound* Couenne::exprLowerBound::clone | ( | Domain * | d = NULL |
) | const [inline, virtual] |
cloning method
Reimplemented from Couenne::exprVar.
Definition at line 55 of file CouenneExprBound.hpp.
References exprLowerBound().
void Couenne::exprLowerBound::print | ( | std::ostream & | out = std::cout , |
|
bool | = false | |||
) | const [inline, virtual] |
Print to iostream.
Reimplemented from Couenne::exprVar.
Definition at line 59 of file CouenneExprBound.hpp.
References Couenne::exprVar::varIndex_.
CouNumber Couenne::exprLowerBound::operator() | ( | ) | [inline, virtual] |
return the value of the variable
Reimplemented from Couenne::exprVar.
Definition at line 64 of file CouenneExprBound.hpp.
References Couenne::exprVar::domain_, Couenne::exprVar::lb(), and Couenne::exprVar::varIndex_.
expression* Couenne::exprLowerBound::differentiate | ( | int | ) | [inline, virtual] |
differentiation
Reimplemented from Couenne::exprVar.
Definition at line 68 of file CouenneExprBound.hpp.
int Couenne::exprLowerBound::dependsOn | ( | int * | , | |
int | , | |||
enum dig_type | type = STOP_AT_AUX | |||
) | [inline, virtual] |
dependence on variable set
Reimplemented from Couenne::expression.
Definition at line 72 of file CouenneExprBound.hpp.
virtual int Couenne::exprLowerBound::Linearity | ( | ) | [inline, virtual] |
get a measure of "how linear" the expression is:
Reimplemented from Couenne::exprVar.
Definition at line 76 of file CouenneExprBound.hpp.
References Couenne::CONST.
virtual enum expr_type Couenne::exprLowerBound::code | ( | ) | [inline, virtual] |
code for comparisons
Reimplemented from Couenne::exprVar.
Definition at line 80 of file CouenneExprBound.hpp.
References Couenne::COU_EXPRLBOUND.