Couenne  0.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | List of all members
Couenne::exprSignPow Class Reference

Power of an expression (binary operator), $ f(x)|f(x)|^{k-1}$ with $ k \in \mathbb R$ constant. More...

#include <CouenneExprSignPow.hpp>

Public Member Functions

 exprSignPow (expression **al, int n=2)
 Constructor. More...
 
 exprSignPow (expression *arg0, expression *arg1)
 Constructor with only two arguments. More...
 
expressionclone (Domain *d=NULL) const
 cloning method More...
 
CouNumber operator() ()
 function for the evaluation of the expression More...
 
void getBounds (expression *&, expression *&)
 Get lower and upper bound of an expression (if any) More...
 
void getBounds (CouNumber &lb, CouNumber &ub)
 Get value of lower and upper bound of an expression (if any) More...
 
exprAuxstandardize (CouenneProblem *p, bool addAux=true)
 reduce expression in standard form, creating additional aux variables (and constraints) More...
 
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 More...
 
virtual enum expr_type code ()
 code for comparison More...
 
bool impliedBound (int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ)
 implied bound processing More...
 
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 More...
 
virtual bool isCuttable (CouenneProblem *problem, int index) const
 can this expression be further linearized or are we on its concave ("bad") side More...
 

Detailed Description

Power of an expression (binary operator), $ f(x)|f(x)|^{k-1}$ with $ k \in \mathbb R$ constant.

Definition at line 25 of file CouenneExprSignPow.hpp.

Constructor & Destructor Documentation

Couenne::exprSignPow::exprSignPow ( expression **  al,
int  n = 2 
)
inline

Constructor.

Definition at line 30 of file CouenneExprSignPow.hpp.

Referenced by clone().

Couenne::exprSignPow::exprSignPow ( expression arg0,
expression arg1 
)
inline

Constructor with only two arguments.

Definition at line 34 of file CouenneExprSignPow.hpp.

Member Function Documentation

expression* Couenne::exprSignPow::clone ( Domain d = NULL) const
inline

cloning method

Definition at line 38 of file CouenneExprSignPow.hpp.

References exprSignPow().

CouNumber Couenne::exprSignPow::operator() ( )
inline

function for the evaluation of the expression

compute power

Definition at line 85 of file CouenneExprSignPow.hpp.

References Couenne::safe_pow().

void Couenne::exprSignPow::getBounds ( expression *&  ,
expression *&   
)

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

void Couenne::exprSignPow::getBounds ( CouNumber lb,
CouNumber ub 
)

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

exprAux* Couenne::exprSignPow::standardize ( CouenneProblem p,
bool  addAux = true 
)

reduce expression in standard form, creating additional aux variables (and constraints)

void Couenne::exprSignPow::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 Couenne::exprSignPow::code ( )
inlinevirtual

code for comparison

Definition at line 62 of file CouenneExprSignPow.hpp.

References Couenne::COU_EXPRSIGNPOW.

bool Couenne::exprSignPow::impliedBound ( int  ,
CouNumber ,
CouNumber ,
t_chg_bounds ,
enum  auxSign = expression::AUX_EQ 
)

implied bound processing

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

virtual bool Couenne::exprSignPow::isCuttable ( CouenneProblem problem,
int  index 
) const
virtual

can this expression be further linearized or are we on its concave ("bad") side


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