11 #ifndef COUENNE_EXPRMIN_H
12 #define COUENNE_EXPRMIN_H
29 class exprMin:
public exprOp {
99 for (
int ind = 2; ind <
nargs_; ind += 2) {
103 if (val < best_val) {
109 return (*(
arglist_ [best_ind + 1])) ();
Cut Generator for linear convexifications.
Constructor exprMin(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
virtual enum pos printPos() const
print position (PRE, INSIDE, POST)
Function for the evaluation of the expression CouNumber operator()()
null function for evaluating the expression
Code for virtual comparisons enum expr_type code()
return code to classify type of expression
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)
Class for MINLP problems with symbolic information.
Constructor with only two arguments exprMin(expression *el0, expression *el1)
Cloning method exprMin * clone(Domain *d=NULL) const
Cloning method.
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)
void getBounds(expression *&, expression *&)
Get lower and upper bound of an expression (if any)
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
Reduce expression in standard creating additional aux bool addAux
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
Simplification expression * simplify()
simplification
Differentiation expression * differentiate(int)
differentiation
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...