Couenne::exprExp Class Reference

class for the exponential, $ e^{f(x)} $ More...

#include <CouenneExprExp.hpp>

Inheritance diagram for Couenne::exprExp:
Couenne::exprUnary Couenne::expression

List of all members.

Public Member Functions

 exprExp (expression *al)
 Constructor.
expressionclone (Domain *d=NULL) const
 Cloning method.
unary_function F ()
 The operator's function.
std::string printOp () const
 Print operator.
CouNumber gradientNorm (const double *x)
 return l-2 norm of gradient at given point
expressiondifferentiate (int index)
 Differentiation.
void getBounds (expression *&, expression *&)
 Get lower and upper bound of an expression (if any).
virtual void getBounds (CouNumber &lb, CouNumber &ub)
 Get expression of lower and upper bound of an expression (if any).
void generateCuts (expression *w, OsiCuts &cs, const CouenneCutGenerator *cg, t_chg_bounds *=NULL, int=-1, CouNumber=-COUENNE_INFINITY, CouNumber=COUENNE_INFINITY)
 Generate convexification cuts for this expression.
virtual enum expr_type code ()
 Code for comparisons.
bool impliedBound (int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
 Implied bound processing.
virtual CouNumber selectBranch (const CouenneObject *obj, const OsiBranchingInformation *info, expression *&var, double *&brpts, double *&brDist, int &way)
 Set up branching object by evaluating many branching points for each expression's arguments.
virtual bool isBijective () const
 return true if bijective
virtual CouNumber inverse (expression *vardep) const
 inverse of exponential
virtual bool isCuttable (CouenneProblem *problem, int index) const
 can this expression be further linearized or are we on its concave ("bad") side

Detailed Description

class for the exponential, $ e^{f(x)} $

Definition at line 22 of file CouenneExprExp.hpp.


Constructor & Destructor Documentation

Couenne::exprExp::exprExp ( expression al  )  [inline]

Constructor.

Definition at line 27 of file CouenneExprExp.hpp.

Referenced by clone().


Member Function Documentation

expression* Couenne::exprExp::clone ( Domain d = NULL  )  const [inline, virtual]

Cloning method.

Reimplemented from Couenne::expression.

Definition at line 31 of file CouenneExprExp.hpp.

References Couenne::exprUnary::argument_, and exprExp().

unary_function Couenne::exprExp::F (  )  [inline, virtual]

The operator's function.

Reimplemented from Couenne::exprUnary.

Definition at line 35 of file CouenneExprExp.hpp.

References Couenne::exp().

std::string Couenne::exprExp::printOp (  )  const [inline, virtual]

Print operator.

Reimplemented from Couenne::exprUnary.

Definition at line 38 of file CouenneExprExp.hpp.

CouNumber Couenne::exprExp::gradientNorm ( const double *  x  )  [inline, virtual]

return l-2 norm of gradient at given point

Reimplemented from Couenne::expression.

Definition at line 42 of file CouenneExprExp.hpp.

References Couenne::exprUnary::argument_, Couenne::exp(), and Couenne::expression::Index().

expression* Couenne::exprExp::differentiate ( int  index  )  [virtual]

Differentiation.

Reimplemented from Couenne::expression.

void Couenne::exprExp::getBounds ( expression *&  ,
expression *&   
)

Get lower and upper bound of an expression (if any).

virtual void Couenne::exprExp::getBounds ( CouNumber lb,
CouNumber ub 
) [virtual]

Get expression of lower and upper bound of an expression (if any).

Reimplemented from Couenne::expression.

void Couenne::exprExp::generateCuts ( expression w,
OsiCuts &  cs,
const CouenneCutGenerator cg,
t_chg_bounds = NULL,
int  = -1,
CouNumber  = -COUENNE_INFINITY,
CouNumber  = COUENNE_INFINITY 
)

Generate convexification cuts for this expression.

virtual enum expr_type Couenne::exprExp::code (  )  [inline, virtual]

Code for comparisons.

Reimplemented from Couenne::exprUnary.

Definition at line 62 of file CouenneExprExp.hpp.

References Couenne::COU_EXPREXP.

bool Couenne::exprExp::impliedBound ( int  ,
CouNumber ,
CouNumber ,
t_chg_bounds ,
enum  auxSign = expression::AUX_EQ 
) [virtual]

Implied bound processing.

Reimplemented from Couenne::expression.

virtual CouNumber Couenne::exprExp::selectBranch ( const CouenneObject obj,
const OsiBranchingInformation *  info,
expression *&  var,
double *&  brpts,
double *&  brDist,
int &  way 
) [virtual]

Set up branching object by evaluating many branching points for each expression's arguments.

virtual bool Couenne::exprExp::isBijective (  )  const [inline, virtual]

return true if bijective

Reimplemented from Couenne::expression.

Definition at line 78 of file CouenneExprExp.hpp.

virtual CouNumber Couenne::exprExp::inverse ( expression vardep  )  const [inline, virtual]

inverse of exponential

Definition at line 81 of file CouenneExprExp.hpp.

References Couenne::log().

virtual bool Couenne::exprExp::isCuttable ( CouenneProblem problem,
int  index 
) const [virtual]

can this expression be further linearized or are we on its concave ("bad") side

Reimplemented from Couenne::expression.


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

Generated on 20 Jan 2015 for Couenne by  doxygen 1.6.1