class for
More...
#include <CouenneExprAbs.hpp>
Public Member Functions | |
exprAbs (expression *al) | |
Constructor. More... | |
unary_function | F () |
The operator's function. More... | |
expression * | clone (Domain *d=NULL) const |
cloning method More... | |
std::string | printOp () const |
output More... | |
CouNumber | gradientNorm (const double *x) |
return l_2 norm of gradient at given point More... | |
expression * | differentiate (int index) |
differentiation More... | |
virtual void | getBounds (expression *&, expression *&) |
Get lower and upper bound of an expression (if any) More... | |
virtual void | getBounds (CouNumber &lb, CouNumber &ub) |
Get value of lower and upper bound of an expression (if any) More... | |
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 More... | |
enum expr_type | code () |
code for comparisons More... | |
bool | isInteger () |
is this expression integer? More... | |
bool | impliedBound (int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ) |
implied bound processing More... | |
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 More... | |
virtual void | closestFeasible (expression *varind, expression *vardep, CouNumber &left, CouNumber &right) const |
closest feasible points in function in both directions More... | |
virtual bool | isCuttable (CouenneProblem *problem, int index) const |
can this expression be further linearized or are we on its concave ("bad") side More... | |
![]() | |
virtual enum nodeType | Type () const |
node type More... | |
exprUnary (expression *argument) | |
Constructor. More... | |
virtual | ~exprUnary () |
Destructor. More... | |
int | nArgs () const |
return number of arguments More... | |
virtual expression * | Argument () const |
return argument More... | |
virtual expression ** | ArgPtr () |
return pointer to argument More... | |
virtual void | print (std::ostream &out=std::cout, bool=false) const |
print this expression to iostream More... | |
virtual enum pos | printPos () const |
print position (PRE, INSIDE, POST) More... | |
virtual CouNumber | operator() () |
compute value of unary operator More... | |
virtual int | DepList (std::set< int > &deplist, enum dig_type type=ORIG_ONLY) |
fill in the set with all indices of variables appearing in the expression More... | |
expression * | simplify () |
simplification More... | |
virtual int | Linearity () |
get a measure of "how linear" the expression is (see CouenneTypes.h) for general univariate functions, return nonlinear. More... | |
virtual exprAux * | standardize (CouenneProblem *, bool addAux=true) |
reduce expression in standard form, creating additional aux variables (and constraints) More... | |
virtual int | compare (exprUnary &) |
compare two unary functions More... | |
virtual int | rank () |
used in rank-based branching variable choice More... | |
virtual void | fillDepSet (std::set< DepNode *, compNode > *dep, DepGraph *g) |
fill in dependence structure More... | |
virtual void | replace (exprVar *, exprVar *) |
replace variable with other More... | |
virtual void | realign (const CouenneProblem *p) |
empty function to redirect variables to proper variable vector More... | |
![]() | |
expression () | |
Constructor. More... | |
expression (const expression &e, Domain *d=NULL) | |
Copy constructor. More... | |
virtual | ~expression () |
Destructor. More... | |
virtual int | Index () const |
Return index of variable (only valid for exprVar and exprAux) More... | |
virtual expression ** | ArgList () const |
return arglist (when applicable, that is, with N-ary functions) More... | |
virtual void | ArgList (expression **al) |
set arglist (used in deleting nodes without deleting children) More... | |
virtual expression * | Image () const |
return pointer to corresponding expression (for auxiliary variables only) More... | |
virtual void | Image (expression *image) |
set expression associated with this auxiliary variable (for compatibility with exprAux) More... | |
virtual CouNumber | Value () const |
value (empty) More... | |
virtual const expression * | Original () const |
If this is an exprClone of a exprClone of an expr???, point to the original expr??? instead of an exprClone – improve computing efficiency. More... | |
virtual int | dependsOn (int *ind, int n, enum dig_type type=STOP_AT_AUX) |
dependence on variable set: return cardinality of subset of the set of indices in first argument which occur in expression. More... | |
int | dependsOn (int singleton, enum dig_type type=STOP_AT_AUX) |
version with one index only More... | |
virtual bool | isDefinedInteger () |
is this expression defined as an integer? More... | |
virtual enum convexity | convexity () const |
either CONVEX, CONCAVE, AFFINE, or NONCONVEX More... | |
virtual int | compare (expression &) |
compare expressions More... | |
virtual int | compare (exprCopy &) |
compare copies of expressions More... | |
virtual int | Multiplicity () |
multiplicity of a variable More... | |
virtual void | linkDomain (Domain *d) |
empty function to update domain pointer More... | |
virtual bool | isBijective () const |
indicating if function is monotonically increasing More... | |
virtual CouNumber | inverse (expression *vardep) const |
compute the inverse function More... | |
virtual bool | isaCopy () const |
return true if this is a copy of something (i.e. an exprCopy) More... | |
virtual expression * | Copy () const |
return copy of this expression (only makes sense in exprCopy) More... | |
Additional Inherited Members | |
![]() | |
enum | auxSign { AUX_UNDEF =-2, AUX_LEQ =-1, AUX_EQ, AUX_GEQ } |
"sign" of the constraint defining an auxiliary. More... | |
![]() | |
expression * | argument_ |
single argument taken by this expression More... | |
class for
Definition at line 23 of file CouenneExprAbs.hpp.
|
inline |
Constructor.
Definition at line 28 of file CouenneExprAbs.hpp.
|
inlinevirtual |
The operator's function.
Reimplemented from Couenne::exprUnary.
Definition at line 32 of file CouenneExprAbs.hpp.
|
inlinevirtual |
cloning method
Reimplemented from Couenne::expression.
Definition at line 35 of file CouenneExprAbs.hpp.
|
inlinevirtual |
|
inlinevirtual |
return l_2 norm of gradient at given point
Reimplemented from Couenne::expression.
Definition at line 43 of file CouenneExprAbs.hpp.
|
virtual |
|
virtual |
Get lower and upper bound of an expression (if any)
find lower and upper bound of a given expression
Reimplemented from Couenne::expression.
Definition at line 26 of file exprAbs.cpp.
Get value of lower and upper bound of an expression (if any)
find value of lower and upper bound of a given expression
Reimplemented from Couenne::expression.
Definition at line 51 of file exprAbs.cpp.
|
virtual |
generate equality between *this and *w
Reimplemented from Couenne::expression.
Definition at line 23 of file conv-exprAbs.cpp.
|
inlinevirtual |
code for comparisons
Reimplemented from Couenne::exprUnary.
Definition at line 63 of file CouenneExprAbs.hpp.
|
inlinevirtual |
is this expression integer?
Reimplemented from Couenne::exprUnary.
Definition at line 66 of file CouenneExprAbs.hpp.
|
virtual |
implied bound processing
implied bound processing for expression w = |x|, upon change in lower- and/or upper bound of w, whose index is wind
Reimplemented from Couenne::expression.
Definition at line 90 of file exprAbs.cpp.
|
virtual |
set up branching object by evaluating many branching points for each expression's arguments
set up branching object by evaluating branching points for each expression's arguments.
For an exprAbs, simply branch at zero.
Reimplemented from Couenne::expression.
Definition at line 28 of file branchExprAbs.cpp.
|
virtual |
closest feasible points in function in both directions
Reimplemented from Couenne::expression.
Definition at line 135 of file exprAbs.cpp.
|
virtual |
can this expression be further linearized or are we on its concave ("bad") side
Reimplemented from Couenne::expression.
Definition at line 163 of file exprAbs.cpp.