class for
More...
#include <CouenneExprSin.hpp>
Public Member Functions | |
exprSin (expression *al) | |
Constructors, destructor. | |
expression * | clone (Domain *d=NULL) const |
cloning method | |
unary_function | F () |
the operator itself (e.g. sin, log...) | |
std::string | printOp () const |
print operator | |
CouNumber | gradientNorm (const double *x) |
return l-2 norm of gradient at given point | |
expression * | differentiate (int index) |
differentiation | |
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). | |
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 | |
virtual enum expr_type | code () |
code for comparisons | |
bool | impliedBound (int index, CouNumber *l, CouNumber *u, t_chg_bounds *chg, 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 47 of file CouenneExprSin.hpp.
Couenne::exprSin::exprSin | ( | expression * | al | ) | [inline] |
Constructors, destructor.
Definition at line 52 of file CouenneExprSin.hpp.
expression* Couenne::exprSin::clone | ( | Domain * | d = NULL |
) | const [inline, virtual] |
cloning method
Reimplemented from Couenne::expression.
Definition at line 56 of file CouenneExprSin.hpp.
unary_function Couenne::exprSin::F | ( | ) | [inline, virtual] |
the operator itself (e.g. sin, log...)
Reimplemented from Couenne::exprUnary.
Definition at line 60 of file CouenneExprSin.hpp.
std::string Couenne::exprSin::printOp | ( | ) | const [inline, virtual] |
print operator
Reimplemented from Couenne::exprUnary.
Definition at line 64 of file CouenneExprSin.hpp.
CouNumber Couenne::exprSin::gradientNorm | ( | const double * | x | ) | [inline, virtual] |
return l-2 norm of gradient at given point
Reimplemented from Couenne::expression.
Definition at line 68 of file CouenneExprSin.hpp.
expression * Couenne::exprSin::differentiate | ( | int | index | ) | [virtual] |
void Couenne::exprSin::getBounds | ( | expression *& | lb, | |
expression *& | ub | |||
) |
Get lower and upper bound of an expression (if any).
Definition at line 36 of file exprSin.cpp.
Get value of lower and upper bound of an expression (if any).
Reimplemented from Couenne::expression.
Definition at line 47 of file exprSin.cpp.
void Couenne::exprSin::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
generate convexification cut for constraint w = sin (this)
Definition at line 49 of file conv-exprSinCos.cpp.
virtual enum expr_type Couenne::exprSin::code | ( | ) | [inline, virtual] |
code for comparisons
Reimplemented from Couenne::exprUnary.
Definition at line 90 of file CouenneExprSin.hpp.
bool Couenne::exprSin::impliedBound | ( | int | index, | |
CouNumber * | l, | |||
CouNumber * | u, | |||
t_chg_bounds * | chg, | |||
enum auxSign | = expression::AUX_EQ | |||
) | [inline, virtual] |
implied bound processing
Reimplemented from Couenne::expression.
Definition at line 94 of file CouenneExprSin.hpp.
virtual CouNumber Couenne::exprSin::selectBranch | ( | const CouenneObject * | obj, | |
const OsiBranchingInformation * | info, | |||
expression *& | var, | |||
double *& | brpts, | |||
double *& | brDist, | |||
int & | way | |||
) | [inline, virtual] |
Set up branching object by evaluating many branching points for each expression's arguments.
Definition at line 111 of file CouenneExprSin.hpp.
void Couenne::exprSin::closestFeasible | ( | expression * | varind, | |
expression * | vardep, | |||
CouNumber & | left, | |||
CouNumber & | right | |||
) | const [virtual] |
closest feasible points in function in both directions
For use with Violation Transfer (See Tawarmalani and Sahinidis 2004).
Definition at line 146 of file exprSin.cpp.
virtual bool Couenne::exprSin::isCuttable | ( | CouenneProblem * | problem, | |
int | index | |||
) | const [inline, virtual] |
can this expression be further linearized or are we on its concave ("bad") side
Reimplemented from Couenne::expression.
Definition at line 127 of file CouenneExprSin.hpp.