class opposite,
More...
#include <CouenneExprOpp.hpp>
Public Member Functions | |
exprOpp (expression *al) | |
Constructors, destructor. | |
expression * | clone (Domain *d=NULL) const |
cloning method | |
unary_function | F () |
the operator's function | |
void | print (std::ostream &out, bool descend) const |
Output. | |
CouNumber | gradientNorm (const double *x) |
return l-2 norm of gradient at given point | |
expression * | differentiate (int index) |
differentiation | |
virtual expression * | simplify () |
simplification | |
int | Linearity () |
get a measure of "how linear" the expression is (see CouenneTypes.h) | |
void | getBounds (expression *&, expression *&) |
Get lower and upper bound of an expression (if any). | |
void | getBounds (CouNumber &, CouNumber &) |
Get value of lower and upper bound of an expression (if any). | |
virtual void | generateCuts (expression *, OsiCuts &, const CouenneCutGenerator *, t_chg_bounds *=NULL, int=-1, CouNumber=-COUENNE_INFINITY, CouNumber=COUENNE_INFINITY) |
special version for linear constraints | |
virtual 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 | |
exprAux * | standardize (CouenneProblem *, bool addAux=true) |
standardization (to deal with complex arguments) |
class opposite,
Definition at line 27 of file CouenneExprOpp.hpp.
Couenne::exprOpp::exprOpp | ( | expression * | al | ) | [inline] |
Constructors, destructor.
Definition at line 32 of file CouenneExprOpp.hpp.
expression* Couenne::exprOpp::clone | ( | Domain * | d = NULL |
) | const [inline, virtual] |
cloning method
Reimplemented from Couenne::expression.
Definition at line 36 of file CouenneExprOpp.hpp.
unary_function Couenne::exprOpp::F | ( | ) | [inline, virtual] |
the operator's function
Reimplemented from Couenne::exprUnary.
Definition at line 40 of file CouenneExprOpp.hpp.
void exprOpp::print | ( | std::ostream & | out, | |
bool | descend | |||
) | const [virtual] |
CouNumber Couenne::exprOpp::gradientNorm | ( | const double * | x | ) | [inline, virtual] |
return l-2 norm of gradient at given point
Reimplemented from Couenne::expression.
Definition at line 48 of file CouenneExprOpp.hpp.
expression * exprOpp::differentiate | ( | int | index | ) | [inline, virtual] |
expression * exprOpp::simplify | ( | ) | [virtual] |
int Couenne::exprOpp::Linearity | ( | ) | [inline, virtual] |
get a measure of "how linear" the expression is (see CouenneTypes.h)
Reimplemented from Couenne::exprUnary.
Definition at line 58 of file CouenneExprOpp.hpp.
void exprOpp::getBounds | ( | expression *& | lb, | |
expression *& | ub | |||
) |
Get lower and upper bound of an expression (if any).
Definition at line 20 of file exprOpp.cpp.
Get value of lower and upper bound of an expression (if any).
Reimplemented from Couenne::expression.
Definition at line 31 of file exprOpp.cpp.
void exprOpp::generateCuts | ( | expression * | w, | |
OsiCuts & | cs, | |||
const CouenneCutGenerator * | cg, | |||
t_chg_bounds * | chg = NULL , |
|||
int | wind = -1 , |
|||
CouNumber | lb = -COUENNE_INFINITY , |
|||
CouNumber | ub = COUENNE_INFINITY | |||
) | [virtual] |
special version for linear constraints
Definition at line 23 of file conv-exprOpp.cpp.
virtual enum expr_type Couenne::exprOpp::code | ( | ) | [inline, virtual] |
code for comparisons
Reimplemented from Couenne::exprUnary.
Definition at line 75 of file CouenneExprOpp.hpp.
bool Couenne::exprOpp::isInteger | ( | ) | [inline, virtual] |
is this expression integer?
Reimplemented from Couenne::exprUnary.
Definition at line 79 of file CouenneExprOpp.hpp.
bool exprOpp::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 48 of file exprOpp.cpp.
exprAux * exprOpp::standardize | ( | CouenneProblem * | p, | |
bool | addAux = true | |||
) | [virtual] |
standardization (to deal with complex arguments)
translate an exprOpp into:
1) an exprGroup, if only linear terms are present 2) an exprQuad, if some quadratic/bilinear terms exist
Reimplemented from Couenne::exprUnary.
Definition at line 103 of file sumStandardize.cpp.