11 #ifndef COUENNE_EXPRABS_HPP 12 #define COUENNE_EXPRABS_HPP exprAbs(expression *al)
Constructor.
bool isInteger()
is this expression integer?
expr_type
code returned by the method expression::code()
CouNumber(* unary_function)(CouNumber)
unary function, used in all exprUnary
expression * differentiate(int index)
differentiation
Cut Generator for linear convexifications.
auxSign
"sign" of the constraint defining an auxiliary.
double CouNumber
main number type in Couenne
expression class for unary functions (sin, log, etc.)
virtual void closestFeasible(expression *varind, expression *vardep, CouNumber &left, CouNumber &right) const
closest feasible points in function in both directions
virtual void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
std::string printOp() const
output
expression * clone(Domain *d=NULL) const
cloning method
Class for MINLP problems with symbolic information.
unary_function F()
The operator's function.
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...
expression * argument_
single argument taken by this expression
CouNumber gradientNorm(const double *x)
return l_2 norm of gradient at given point
OsiObject for auxiliary variables $w=f(x)$.
bool impliedBound(int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
implied bound processing
virtual bool isCuttable(CouenneProblem *problem, int index) const
can this expression be further linearized or are we on its concave ("bad") side
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
enum expr_type code()
code for comparisons
void generateCuts(expression *w, OsiCuts &cs, const CouenneCutGenerator *cg, t_chg_bounds *=NULL, int=-1, CouNumber=-COUENNE_INFINITY, CouNumber=COUENNE_INFINITY)
generate equality between *this and *w
status of lower/upper bound of a variable, to be checked/modified in bound tightening
general include file for different compilers