11 #ifndef COUENNE_EXPRSIGNPOW_HPP
12 #define COUENNE_EXPRSIGNPOW_HPP
39 {
return new exprSignPow (clonearglist (d), nargs_);}
71 const OsiBranchingInformation *
info,
87 return (
safe_pow ((**arglist_) (), (*(arglist_ [1])) ()));
Cut Generator for linear convexifications.
virtual bool isCuttable(CouenneProblem *problem, int index) const
can this expression be further linearized or are we on its concave ("bad") side
void fint fint fint real fint real real real real real real real real real fint real fint fint fint real fint fint fint fint * info
exprAux * standardize(CouenneProblem *p, bool addAux=true)
reduce expression in standard form, creating additional aux variables (and constraints) ...
OsiObject for auxiliary variables $w=f(x)$.
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
Power of an expression (binary operator), with constant.
virtual enum expr_type code()
code for comparison
expression * clone(Domain *d=NULL) const
cloning method
CouNumber operator()()
function for the evaluation of the expression
Class for MINLP problems with symbolic information.
exprSignPow(expression *arg0, expression *arg1)
Constructor with only two arguments.
void getBounds(expression *&, expression *&)
Get 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 equality between *this and *w
double CouNumber
main number type in Couenne
Power of an expression (binary operator), with constant.
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 ...
bool impliedBound(int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
implied bound processing
expr_type
code returned by the method expression::code()
CouNumber safe_pow(CouNumber base, CouNumber exponent, bool signpower=false)
compute power and check for integer-and-odd inverse exponent
exprSignPow(expression **al, int n=2)
Constructor.
void fint fint fint real fint real real real real real real real real * w
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...