Couenne::exprAbs Class Reference

class for $ |f(x)| $ More...

#include <CouenneExprAbs.hpp>

Inheritance diagram for Couenne::exprAbs:
Inheritance graph
[legend]
Collaboration diagram for Couenne::exprAbs:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 exprAbs (expression *al)
 Constructor.
unary_function F ()
 The operator's function.
expressionclone (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
expressiondifferentiate (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

Detailed Description

class for $ |f(x)| $

Definition at line 23 of file CouenneExprAbs.hpp.


Constructor & Destructor Documentation

Couenne::exprAbs::exprAbs ( expression al  )  [inline]

Constructor.

Definition at line 28 of file CouenneExprAbs.hpp.


Member Function Documentation

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]

output

Reimplemented from Couenne::exprUnary.

Definition at line 39 of file CouenneExprAbs.hpp.

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]

differentiation

Reimplemented from Couenne::expression.

Definition at line 73 of file exprAbs.cpp.

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.

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

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.


The documentation for this class was generated from the following files:

Generated on 16 Feb 2012 by  doxygen 1.6.1