Go to the documentation of this file.
11 #ifndef COUENNE_EXPREVENPOW_HPP
12 #define COUENNE_EXPREVENPOW_HPP
69 {
return COU_EXPREVENPOW;}
status of lower/upper bound of a variable, to be checked/modified in bound tightening
virtual bool isCuttable(CouenneProblem *problem, int index) const
can this expression be further linearized or are we on its concave ("bad") side
exprEvenPow(expression **al, int n=2)
Constructor.
int nargs_
number of arguments (cardinality of arglist)
expr_type
code returned by the method expression::code()
Power of an expression (binary operator), with constant.
expression ** clonearglist(Domain *d=NULL) const
clone argument list (for use with clone method)
Cut Generator for linear convexifications.
general include file for different compilers
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)$.
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
bool impliedBound(int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
implied bound processing
exprEvenPow(expression *arg0, expression *arg1)
Constructor with only two arguments.
double CouNumber
main number type in Couenne
CouNumber operator()()
function for the evaluation of the expression
auxSign
"sign" of the constraint defining an auxiliary.
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
virtual enum expr_type code()
code for comparison
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
void getBounds(CouNumber &lb, CouNumber &ub)
Get value of lower and upper bound of an expression (if any)
CouNumber safe_pow(CouNumber base, CouNumber exponent, bool signpower=false)
compute power and check for integer-and-odd inverse exponent
expression * clone(Domain *d=NULL) const
cloning method
Class for MINLP problems with symbolic information.
expression * getFixVar()
return an index to the variable's argument that is better fixed in a branching rule for solving a non...
expression ** arglist_
argument list is an array of pointers to other expressions
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...
Power of an expression (binary operator) with even exponent, with constant even.