11 #ifndef COUENNE_EXPRCONST_HPP
12 #define COUENNE_EXPRCONST_HPP
53 void print (std::ostream &out = std::cout,
Cut Generator for linear convexifications.
int Linearity()
get a measure of "how linear" the expression is (see CouenneTypes.h)
virtual bool isInteger()
is this expression integer?
status of lower/upper bound of a variable, to be checked/modified in bound tightening ...
CouNumber Value() const
value of expression
void generateCuts(expression *, OsiCuts &, const CouenneCutGenerator *, t_chg_bounds *=NULL, int=-1, CouNumber=-COUENNE_INFINITY, CouNumber=COUENNE_INFINITY)
generate convexification cut for constraint w = this
void getBounds(expression *&lower, expression *&upper)
Get lower and upper bound of an expression (if any)
void print(std::ostream &out=std::cout, bool=false) const
I/O.
virtual expression * clone(Domain *d=NULL) const
Cloning method.
void fint fint fint real fint real real real real real real real real real * e
virtual int rank()
used in rank-based branching variable choice
CouNumber operator()()
return constant's value
virtual enum expr_type code()
code for comparisons
exprConst(CouNumber value)
Constructor.
CouNumber value_
the value of this constant
exprConst(const exprConst &e, Domain *d=NULL)
Copy constructor.
double CouNumber
main number type in Couenne
int dependsOn(int *ind, int n, enum dig_type type=STOP_AT_AUX)
dependence on variable set
nodeType
type of a node in an expression tree
dig_type
type of digging when filling the dependence list
expr_type
code returned by the method expression::code()
enum nodeType Type() const
node type
void getBounds(CouNumber &lower, CouNumber &upper)
Get value of lower and upper bound of an expression (if any)
expression * differentiate(int)
differentiation
Define a dynamic point+bounds, with a way to save and restore previous points+bounds through a LIFO s...
bool isInteger(CouNumber x)
is this number integer?