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