class for subtraction,
More...
#include <CouenneExprSub.hpp>
Public Member Functions | |
exprSub (expression **al, int n=2) | |
Constructor. | |
exprSub (expression *arg0, expression *arg1) | |
Constructor with two explicit elements. | |
expression * | clone (Domain *d=NULL) const |
Cloning method. | |
std::string | printOp () const |
print operator | |
CouNumber | operator() () |
Function for the evaluation of the difference. | |
expression * | differentiate (int index) |
Differentiation. | |
expression * | simplify () |
Simplification. | |
virtual 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 &lb, CouNumber &ub) |
Get value of lower and upper bound of an expression (if any). | |
virtual exprAux * | standardize (CouenneProblem *p, bool addAux=true) |
Reduce expression in standard form, creating additional aux variables (and constraints). | |
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 | impliedBound (int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ) |
Implied bound processing. |
class for subtraction,
Definition at line 22 of file CouenneExprSub.hpp.
Couenne::exprSub::exprSub | ( | expression ** | al, | |
int | n = 2 | |||
) | [inline] |
Constructor.
Definition at line 27 of file CouenneExprSub.hpp.
Couenne::exprSub::exprSub | ( | expression * | arg0, | |
expression * | arg1 | |||
) | [inline] |
Constructor with two explicit elements.
Definition at line 31 of file CouenneExprSub.hpp.
expression* Couenne::exprSub::clone | ( | Domain * | d = NULL |
) | const [inline, virtual] |
Cloning method.
Reimplemented from Couenne::expression.
Definition at line 35 of file CouenneExprSub.hpp.
std::string Couenne::exprSub::printOp | ( | ) | const [inline, virtual] |
print operator
Reimplemented from Couenne::exprOp.
Definition at line 39 of file CouenneExprSub.hpp.
CouNumber Couenne::exprSub::operator() | ( | ) | [inline, virtual] |
Function for the evaluation of the difference.
Compute difference.
Implements Couenne::expression.
Definition at line 88 of file CouenneExprSub.hpp.
expression * exprSub::differentiate | ( | int | index | ) | [virtual] |
expression * exprSub::simplify | ( | ) | [virtual] |
virtual int Couenne::exprSub::Linearity | ( | ) | [inline, virtual] |
Get a measure of "how linear" the expression is (see CouenneTypes.h).
Reimplemented from Couenne::exprOp.
Definition at line 52 of file CouenneExprSub.hpp.
void exprSub::getBounds | ( | expression *& | lb, | |
expression *& | ub | |||
) |
Get lower and upper bound of an expression (if any).
Definition at line 89 of file exprSub.cpp.
Get value of lower and upper bound of an expression (if any).
Reimplemented from Couenne::expression.
Definition at line 103 of file exprSub.cpp.
exprAux * exprSub::standardize | ( | CouenneProblem * | p, | |
bool | addAux = true | |||
) | [virtual] |
Reduce expression in standard form, creating additional aux variables (and constraints).
translate a difference (exprSub) into:
1) an exprGroup, if only linear terms are present 2) an exprQuad, if some quadratic/bilinear terms exist
Reimplemented from Couenne::exprOp.
Definition at line 124 of file sumStandardize.cpp.
void exprSub::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 21 of file conv-exprSub.cpp.
virtual enum expr_type Couenne::exprSub::code | ( | ) | [inline, virtual] |
Code for comparisons.
Reimplemented from Couenne::exprOp.
Definition at line 79 of file CouenneExprSub.hpp.
bool exprSub::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-y, upon change in lower- and/or upper bound of w, whose index is wind
Reimplemented from Couenne::expression.
Definition at line 123 of file exprSub.cpp.