Couenne::exprFloor Class Reference

class floor, $ \lfloor f(x) \rfloor $ More...

#include <CouenneExprFloor.hpp>

Inheritance diagram for Couenne::exprFloor:

Couenne::exprUnary Couenne::expression List of all members.

Public Member Functions

 exprFloor (expression *arg)
 constructor, destructor
expressionclone (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
expressiondifferentiate (int index)
 obtain derivative of expression
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.
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?

Detailed Description

class floor, $ \lfloor f(x) \rfloor $

Definition at line 20 of file CouenneExprFloor.hpp.


Constructor & Destructor Documentation

Couenne::exprFloor::exprFloor ( expression arg  )  [inline]

constructor, destructor

Definition at line 25 of file CouenneExprFloor.hpp.

Referenced by clone().


Member Function Documentation

expression* Couenne::exprFloor::clone ( Domain d = NULL  )  const [inline, virtual]

cloning method

Reimplemented from Couenne::expression.

Definition at line 29 of file CouenneExprFloor.hpp.

References Couenne::exprUnary::argument_, and exprFloor().

unary_function Couenne::exprFloor::F (  )  [inline, virtual]

the operator itself (e.g. sin, log...)

Reimplemented from Couenne::exprUnary.

Definition at line 33 of file CouenneExprFloor.hpp.

std::string Couenne::exprFloor::printOp (  )  const [inline, virtual]

print operator

Reimplemented from Couenne::exprUnary.

Definition at line 37 of file CouenneExprFloor.hpp.

CouNumber Couenne::exprFloor::gradientNorm ( const double *  x  )  [inline, virtual]

return l-2 norm of gradient at given point

Reimplemented from Couenne::expression.

Definition at line 41 of file CouenneExprFloor.hpp.

References Couenne::exprUnary::argument_, and Couenne::expression::Index().

expression* Couenne::exprFloor::differentiate ( int  index  )  [virtual]

obtain derivative of expression

Reimplemented from Couenne::expression.

void Couenne::exprFloor::getBounds ( expression *&  ,
expression *&   
) [virtual]

Get lower and upper bound of an expression (if any).

Reimplemented from Couenne::expression.

void Couenne::exprFloor::getBounds ( CouNumber lb,
CouNumber ub 
) [virtual]

Get value of lower and upper bound of an expression.

Reimplemented from Couenne::expression.

void Couenne::exprFloor::generateCuts ( expression w,
OsiCuts &  cs,
const CouenneCutGenerator cg,
t_chg_bounds = NULL,
int  = -1,
CouNumber  = -COUENNE_INFINITY,
CouNumber  = COUENNE_INFINITY 
) [virtual]

generate equality between *this and *w

Reimplemented from Couenne::expression.

virtual enum expr_type Couenne::exprFloor::code (  )  [inline, virtual]

code for comparisons

Reimplemented from Couenne::exprUnary.

Definition at line 63 of file CouenneExprFloor.hpp.

References Couenne::COU_EXPRFLOOR.

bool Couenne::exprFloor::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 67 of file CouenneExprFloor.hpp.

virtual CouNumber Couenne::exprFloor::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.

Reimplemented from Couenne::expression.

Definition at line 75 of file CouenneExprFloor.hpp.

virtual void Couenne::exprFloor::closestFeasible ( expression varind,
expression vardep,
CouNumber left,
CouNumber right 
) const [virtual]

closest feasible points in function in both directions

Reimplemented from Couenne::expression.

virtual bool Couenne::exprFloor::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 90 of file CouenneExprFloor.hpp.


The documentation for this class was generated from the following file:
Generated on Mon Aug 8 03:06:53 2011 for Couenne by  doxygen 1.4.7