Couenne::exprLowerBound Class Reference

These are bound expression classes. More...

#include <CouenneExprBound.hpp>

Inheritance diagram for Couenne::exprLowerBound:
Couenne::exprVar Couenne::expression

List of all members.

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.
exprLowerBoundclone (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
expressiondifferentiate (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

Detailed Description

These are bound expression classes.

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. lower bound

Definition at line 38 of file CouenneExprBound.hpp.


Constructor & Destructor Documentation

Couenne::exprLowerBound::exprLowerBound ( int  varIndex,
Domain d = NULL 
) [inline]

Constructor.

Definition at line 47 of file CouenneExprBound.hpp.

Referenced by clone().

Couenne::exprLowerBound::exprLowerBound ( const exprLowerBound src,
Domain d = NULL 
) [inline]

Copy constructor.

Definition at line 51 of file CouenneExprBound.hpp.


Member Function Documentation

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.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 17 Feb 2015 for Couenne by  doxygen 1.6.1