class for
More...
#include <CouenneExprAbs.hpp>
Public Member Functions | |
exprAbs (expression *al) | |
Constructor. | |
unary_function | F () |
The operator's function. | |
expression * | clone (Domain *d=NULL) const |
cloning method | |
std::string | printOp () const |
output | |
CouNumber | gradientNorm (const double *x) |
return l_2 norm of gradient at given point | |
expression * | differentiate (int index) |
differentiation | |
virtual void | getBounds (expression *&, expression *&) |
Get lower and upper bound of an expression (if any). | |
virtual void | getBounds (CouNumber &lb, CouNumber &ub) |
Get value of lower and upper bound of an expression (if any). | |
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 | |
enum expr_type | code () |
code for comparisons | |
bool | isInteger () |
is this expression integer? | |
bool | impliedBound (int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ) |
implied bound processing | |
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 | |
virtual void | closestFeasible (expression *varind, expression *vardep, CouNumber &left, CouNumber &right) const |
closest feasible points in function in both directions | |
virtual bool | isCuttable (CouenneProblem *problem, int index) const |
can this expression be further linearized or are we on its concave ("bad") side |
class for
Definition at line 23 of file CouenneExprAbs.hpp.
Couenne::exprAbs::exprAbs | ( | expression * | al | ) | [inline] |
Constructor.
Definition at line 28 of file CouenneExprAbs.hpp.
unary_function Couenne::exprAbs::F | ( | ) | [inline, virtual] |
The operator's function.
Reimplemented from Couenne::exprUnary.
Definition at line 32 of file CouenneExprAbs.hpp.
expression* Couenne::exprAbs::clone | ( | Domain * | d = NULL |
) | const [inline, virtual] |
cloning method
Reimplemented from Couenne::expression.
Definition at line 35 of file CouenneExprAbs.hpp.
std::string Couenne::exprAbs::printOp | ( | ) | const [inline, virtual] |
CouNumber Couenne::exprAbs::gradientNorm | ( | const double * | x | ) | [inline, virtual] |
return l_2 norm of gradient at given point
Reimplemented from Couenne::expression.
Definition at line 43 of file CouenneExprAbs.hpp.
expression * exprAbs::differentiate | ( | int | index | ) | [virtual] |
void exprAbs::getBounds | ( | expression *& | lb, | |
expression *& | ub | |||
) | [virtual] |
Get lower and upper bound of an expression (if any).
find lower and upper bound of a given 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.
void exprAbs::generateCuts | ( | expression * | w, | |
OsiCuts & | cs, | |||
const CouenneCutGenerator * | cg, | |||
t_chg_bounds * | chg = NULL , |
|||
int | wind = -1 , |
|||
CouNumber | lbw = -COUENNE_INFINITY , |
|||
CouNumber | ubw = COUENNE_INFINITY | |||
) |
generate equality between *this and *w
Definition at line 23 of file conv-exprAbs.cpp.
enum expr_type Couenne::exprAbs::code | ( | ) | [inline, virtual] |
code for comparisons
Reimplemented from Couenne::exprUnary.
Definition at line 63 of file CouenneExprAbs.hpp.
bool Couenne::exprAbs::isInteger | ( | ) | [inline, virtual] |
is this expression integer?
Reimplemented from Couenne::exprUnary.
Definition at line 66 of file CouenneExprAbs.hpp.
bool exprAbs::impliedBound | ( | int | wind, | |
CouNumber * | l, | |||
CouNumber * | u, | |||
t_chg_bounds * | chg, | |||
enum auxSign | sign = expression::AUX_EQ | |||
) | [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.
CouNumber exprAbs::selectBranch | ( | const CouenneObject * | obj, | |
const OsiBranchingInformation * | info, | |||
expression *& | var, | |||
double *& | brpts, | |||
double *& | brDist, | |||
int & | way | |||
) | [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.
Definition at line 28 of file branchExprAbs.cpp.
void exprAbs::closestFeasible | ( | expression * | varind, | |
expression * | vardep, | |||
CouNumber & | left, | |||
CouNumber & | right | |||
) | const [virtual] |
closest feasible points in function in both directions
Definition at line 135 of file exprAbs.cpp.
bool exprAbs::isCuttable | ( | CouenneProblem * | problem, | |
int | index | |||
) | const [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.