11 #ifndef COUENNE_EXPREXP_HPP 12 #define COUENNE_EXPREXP_HPP 83 return log((*vardep)());
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 CouNumber inverse(expression *vardep) const
inverse of exponential
expr_type
code returned by the method expression::code()
CouNumber(* unary_function)(CouNumber)
unary function, used in all exprUnary
CouExpr & log(CouExpr &e)
virtual bool isBijective() const
return true if bijective
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
expression * clone(Domain *d=NULL) const
Cloning method.
Cut Generator for linear convexifications.
auxSign
"sign" of the constraint defining an auxiliary.
class for the exponential,
double CouNumber
main number type in Couenne
expression class for unary functions (sin, log, etc.)
expression * differentiate(int index)
Differentiation.
CouExpr & exp(CouExpr &e)
bool impliedBound(int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
Implied bound processing.
Class for MINLP problems with symbolic information.
CouNumber gradientNorm(const double *x)
return l-2 norm of gradient at given point
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...
exprExp(expression *al)
Constructor.
expression * argument_
single argument taken by this expression
virtual enum expr_type code()
Code for comparisons.
OsiObject for auxiliary variables $w=f(x)$.
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 isCuttable(CouenneProblem *problem, int index) const
can this expression be further linearized or are we on its concave ("bad") side
std::string printOp() const
Print operator.
status of lower/upper bound of a variable, to be checked/modified in bound tightening
unary_function F()
The operator's function.
general include file for different compilers