11 #ifndef COUENNE_EXPRMAX_H
12 #define COUENNE_EXPRMAX_H
22 class exprMax:
public exprOp {
92 for (
int ind = 2; ind <
nargs_; ind += 2) {
102 return (*(
arglist_ [best_ind + 1])) ();
Cut Generator for linear convexifications.
function for the evaluation of the expression CouNumber operator()()
null function for evaluating the expression
cloning method exprMax * clone(Domain *d=NULL) const
Cloning method.
Constructor exprMax(expression **al, int n)
pos
position where the operator should be printed when printing the expression
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
virtual exprAux * standardize(CouenneProblem *, bool addAux=true)
generate auxiliary variable
print position enum pos printPos() const
print position (PRE, INSIDE, POST)
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
Constructor with only two arguments exprMax(expression *el0, expression *el1)
simplification expression * simplify()
simplification
reduce expression in standard creating additional aux bool addAux
virtual int Linearity()
get a measure of "how linear" the expression is (see CouenneTypes.h)
expression ** clonearglist(Domain *d=NULL) const
clone argument list (for use with clone method)
differentiation expression * differentiate(int)
differentiation
code for virtual comparisons enum expr_type code()
return code to classify type of expression
Class for MINLP problems with symbolic information.
expression ** arglist_
argument list is an array of pointers to other expressions
double CouNumber
main number type in Couenne
int nargs_
number of arguments (cardinality of arglist)
general n-ary operator-type expression: requires argument list.
virtual std::string printOp() const
print operator
expr_type
code returned by the method expression::code()
storage class for previously evaluated expressions
virtual void generateCuts(expression *w, OsiCuts &cs, const CouenneCutGenerator *cg, t_chg_bounds *chg=NULL, int wind=-1, CouNumber lb=-COUENNE_INFINITY, CouNumber ub=COUENNE_INFINITY)
generate convexification cut for constraint w = this
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...