class for the exponential,
More...
#include <CouenneExprExp.hpp>
Public Member Functions | |
exprExp (expression *al) | |
Constructor. | |
expression * | clone (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 | |
expression * | differentiate (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 |
class for the exponential,
Definition at line 22 of file CouenneExprExp.hpp.
Couenne::exprExp::exprExp | ( | expression * | al | ) | [inline] |
Constructor.
Definition at line 27 of file CouenneExprExp.hpp.
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] |
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.
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.