Couenne::exprOddPow Class Reference

Power of an expression (binary operator), $ f(x)^k$ with $ k$ constant. More...

#include <CouenneExprOddPow.hpp>

Inheritance diagram for Couenne::exprOddPow:
Couenne::exprPow Couenne::exprOp Couenne::expression

List of all members.

Public Member Functions

 exprOddPow (expression **al, int n=2)
 Constructor.
 exprOddPow (expression *arg0, expression *arg1)
 Constructor with only two arguments.
expressionclone (Domain *d=NULL) const
 cloning method
std::string printOp () const
 print operator
CouNumber operator() ()
 function for the evaluation of the 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 (if any).
exprAuxstandardize (CouenneProblem *p, bool addAux=true)
 reduce expression in standard form, creating additional aux variables (and constraints)
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
expressiongetFixVar ()
 return an index to the variable's argument that is better fixed in a branching rule for solving a nonconvexity gap
virtual enum expr_type code ()
 code for comparison
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 bool isCuttable (CouenneProblem *problem, int index) const
 can this expression be further linearized or are we on its concave ("bad") side

Detailed Description

Power of an expression (binary operator), $ f(x)^k$ with $ k$ constant.

Definition at line 22 of file CouenneExprOddPow.hpp.


Constructor & Destructor Documentation

Couenne::exprOddPow::exprOddPow ( expression **  al,
int  n = 2 
) [inline]

Constructor.

Definition at line 27 of file CouenneExprOddPow.hpp.

Referenced by clone().

Couenne::exprOddPow::exprOddPow ( expression arg0,
expression arg1 
) [inline]

Constructor with only two arguments.

Definition at line 31 of file CouenneExprOddPow.hpp.


Member Function Documentation

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

cloning method

Reimplemented from Couenne::exprPow.

Definition at line 35 of file CouenneExprOddPow.hpp.

References Couenne::exprOp::clonearglist(), exprOddPow(), and Couenne::exprOp::nargs_.

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

print operator

Reimplemented from Couenne::exprPow.

Definition at line 39 of file CouenneExprOddPow.hpp.

CouNumber Couenne::exprOddPow::operator() (  )  [inline, virtual]

function for the evaluation of the expression

compute power

Reimplemented from Couenne::exprPow.

Definition at line 90 of file CouenneExprOddPow.hpp.

References Couenne::exprOp::arglist_, and Couenne::safe_pow().

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

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

Reimplemented from Couenne::exprPow.

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

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

Reimplemented from Couenne::exprPow.

exprAux* Couenne::exprOddPow::standardize ( CouenneProblem p,
bool  addAux = true 
) [virtual]

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

Reimplemented from Couenne::exprPow.

void Couenne::exprOddPow::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::exprPow.

expression* Couenne::exprOddPow::getFixVar (  )  [inline, virtual]

return an index to the variable's argument that is better fixed in a branching rule for solving a nonconvexity gap

Reimplemented from Couenne::exprPow.

Definition at line 64 of file CouenneExprOddPow.hpp.

References Couenne::exprOp::arglist_.

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

code for comparison

Reimplemented from Couenne::exprPow.

Definition at line 68 of file CouenneExprOddPow.hpp.

References Couenne::COU_EXPRPOW.

bool Couenne::exprOddPow::impliedBound ( int  ,
CouNumber ,
CouNumber ,
t_chg_bounds ,
enum  auxSign = expression::AUX_EQ 
) [virtual]

implied bound processing

Reimplemented from Couenne::exprPow.

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

Reimplemented from Couenne::exprPow.

virtual bool Couenne::exprOddPow::isCuttable ( CouenneProblem problem,
int  index 
) const [virtual]

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

Reimplemented from Couenne::exprPow.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 10 Feb 2012 for Couenne by  doxygen 1.6.1