Couenne::exprExp Class Reference

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

#include <CouenneExprExp.hpp>

Inheritance diagram for Couenne::exprExp:
Inheritance graph
[legend]
Collaboration diagram for Couenne::exprExp:
Collaboration graph
[legend]

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.


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.

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

The operator's function.

Reimplemented from Couenne::exprUnary.

Definition at line 35 of file CouenneExprExp.hpp.

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.

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

Differentiation.

Reimplemented from Couenne::expression.

Definition at line 21 of file exprExp.cpp.

void exprExp::getBounds ( expression *&  lb,
expression *&  ub 
)

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

Definition at line 29 of file exprExp.cpp.

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

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

Reimplemented from Couenne::expression.

Definition at line 40 of file exprExp.cpp.

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

Generate convexification cuts for this expression.

Definition at line 25 of file conv-exprExp.cpp.

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

Code for comparisons.

Reimplemented from Couenne::exprUnary.

Definition at line 62 of file CouenneExprExp.hpp.

bool exprExp::impliedBound ( int  wind,
CouNumber l,
CouNumber u,
t_chg_bounds chg,
enum auxSign  sign = expression::AUX_EQ 
) [virtual]

Implied bound processing.

implied bound processing for expression w = exp(x), upon change in lower- and/or upper bound of w, whose index is wind

Reimplemented from Couenne::expression.

Definition at line 52 of file exprExp.cpp.

CouNumber 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.

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

Definition at line 23 of file branchExprExp.cpp.

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.

bool 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.

Definition at line 85 of file exprExp.cpp.


The documentation for this class was generated from the following files:

Generated on 16 Feb 2012 by  doxygen 1.6.1