variable-type operator More...
#include <CouenneExprVar.hpp>


Public Member Functions | |
| virtual enum nodeType | Type () const |
| Node type. | |
| exprVar (int varIndex, Domain *d=NULL) | |
| Constructor. | |
| virtual | ~exprVar () |
| destructor | |
| exprVar (const exprVar &e, Domain *d=NULL) | |
| Copy constructor. | |
| virtual exprVar * | clone (Domain *d=NULL) const |
| Cloning method. | |
| int | Index () const |
| Get variable index in problem. | |
| virtual expression * | Lb () |
| Get lower bound expression. | |
| virtual expression * | Ub () |
| Get upper bound expression. | |
| virtual CouNumber & | lb () |
| Get/set lower bound value. | |
| virtual CouNumber & | ub () |
| Get/set upper bound value. | |
| virtual void | print (std::ostream &out=std::cout, bool=false) const |
| print | |
| virtual CouNumber | operator() () |
| return the value of the variable | |
| virtual CouNumber | gradientNorm (const double *x) |
| return l-2 norm of gradient at given point | |
| virtual expression * | differentiate (int index) |
| differentiation | |
| virtual int | DepList (std::set< int > &deplist, enum dig_type type=ORIG_ONLY) |
| fill in the set with all indices of variables appearing in the expression | |
| virtual void | crossBounds () |
| set bounds depending on both branching rules and propagated bounds. | |
| virtual expression * | simplify () |
| simplify | |
| virtual int | Linearity () |
| get a measure of "how linear" the expression is (see CouenneTypes.hpp) | |
| virtual bool | isDefinedInteger () |
| is this expression defined as an integer? | |
| virtual bool | isInteger () |
| is this variable integer? | |
| virtual void | getBounds (expression *&, expression *&) |
| Get expressions of 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). | |
| virtual void | generateCuts (OsiCuts &, const CouenneCutGenerator *, t_chg_bounds *=NULL, int=-1, CouNumber=-COUENNE_INFINITY, CouNumber=COUENNE_INFINITY) |
| Get values of lower and upper bound of an expression (if any). | |
| virtual void | generateCuts (expression *w, OsiCuts &cs, const CouenneCutGenerator *cg, t_chg_bounds *=NULL, int=-1, CouNumber=-COUENNE_INFINITY, CouNumber=COUENNE_INFINITY) |
| generate convexification cut for constraint w = this | |
| virtual enum expr_type | code () |
| code for comparison | |
| virtual bool | impliedBound (int, CouNumber *, CouNumber *, t_chg_bounds *, enum auxSign=expression::AUX_EQ) |
| implied bound processing | |
| virtual int | rank () |
| rank of an original variable is always one | |
| virtual void | fillDepSet (std::set< DepNode *, compNode > *, DepGraph *) |
| update dependence set with index of this variable | |
| virtual bool | isFixed () |
| is this variable fixed? | |
| virtual void | linkDomain (Domain *d) |
| link this variable to a domain | |
| virtual Domain * | domain () |
| return pointer to variable domain | |
| virtual void | decreaseMult () |
| virtual void | zeroMult () |
| Disable variable (empty for compatibility with exprAux). | |
| virtual void | setInteger (bool value) |
| Set this variable as integer (empty for compatibility with exprAux). | |
| virtual enum convexity | convexity () const |
| either CONVEX, CONCAVE, AFFINE, or NONCONVEX | |
| virtual CouenneObject * | properObject (CouenneCutGenerator *c, CouenneProblem *p, Bonmin::BabSetupBase *base, JnlstPtr jnlst_) |
| return proper object to handle expression associated with this variable (NULL if this is not an auxiliary) | |
| virtual enum auxSign | sign () const |
| return its sign in the definition constraint | |
Protected Attributes | |
| int | varIndex_ |
| The index of the variable. | |
| Domain * | domain_ |
| Pointer to a descriptor of the current point/bounds. | |
variable-type operator
All variables of the expression must be objects of this class or of the derived exprAux class
Definition at line 45 of file CouenneExprVar.hpp.
| Couenne::exprVar::exprVar | ( | int | varIndex, | |
| Domain * | d = NULL | |||
| ) | [inline] |
Constructor.
Definition at line 59 of file CouenneExprVar.hpp.
| virtual Couenne::exprVar::~exprVar | ( | ) | [inline, virtual] |
destructor
Definition at line 64 of file CouenneExprVar.hpp.
Copy constructor.
Definition at line 67 of file CouenneExprVar.hpp.
| virtual enum nodeType Couenne::exprVar::Type | ( | ) | const [inline, virtual] |
Node type.
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux, Couenne::exprLowerBound, and Couenne::exprUpperBound.
Definition at line 55 of file CouenneExprVar.hpp.
Cloning method.
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux, Couenne::exprLowerBound, Couenne::exprUpperBound, and Couenne::exprIVar.
Definition at line 72 of file CouenneExprVar.hpp.
| int Couenne::exprVar::Index | ( | ) | const [inline, virtual] |
Get variable index in problem.
Reimplemented from Couenne::expression.
Definition at line 76 of file CouenneExprVar.hpp.
| expression * exprVar::Lb | ( | ) | [virtual] |
Get lower bound expression.
lower bound
Reimplemented in Couenne::exprAux.
Definition at line 65 of file exprVar.cpp.
| expression * exprVar::Ub | ( | ) | [virtual] |
Get upper bound expression.
upper bound
Reimplemented in Couenne::exprAux.
Definition at line 66 of file exprVar.cpp.
| virtual CouNumber& Couenne::exprVar::lb | ( | ) | [inline, virtual] |
Get/set lower bound value.
Definition at line 84 of file CouenneExprVar.hpp.
| virtual CouNumber& Couenne::exprVar::ub | ( | ) | [inline, virtual] |
Get/set upper bound value.
Definition at line 85 of file CouenneExprVar.hpp.
| virtual void Couenne::exprVar::print | ( | std::ostream & | out = std::cout, |
|
| bool | = false | |||
| ) | const [inline, virtual] |
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux, Couenne::exprLowerBound, Couenne::exprUpperBound, and Couenne::exprIVar.
Definition at line 88 of file CouenneExprVar.hpp.
| virtual CouNumber Couenne::exprVar::operator() | ( | ) | [inline, virtual] |
return the value of the variable
Implements Couenne::expression.
Reimplemented in Couenne::exprAux, Couenne::exprLowerBound, and Couenne::exprUpperBound.
Definition at line 93 of file CouenneExprVar.hpp.
| virtual CouNumber Couenne::exprVar::gradientNorm | ( | const double * | x | ) | [inline, virtual] |
return l-2 norm of gradient at given point
Reimplemented from Couenne::expression.
Definition at line 97 of file CouenneExprVar.hpp.
| virtual expression* Couenne::exprVar::differentiate | ( | int | index | ) | [inline, virtual] |
differentiation
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprLowerBound, and Couenne::exprUpperBound.
Definition at line 101 of file CouenneExprVar.hpp.
| virtual int Couenne::exprVar::DepList | ( | std::set< int > & | deplist, | |
| enum dig_type | type = ORIG_ONLY | |||
| ) | [inline, virtual] |
fill in the set with all indices of variables appearing in the expression
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux.
Definition at line 106 of file CouenneExprVar.hpp.
| virtual void Couenne::exprVar::crossBounds | ( | ) | [inline, virtual] |
set bounds depending on both branching rules and propagated bounds.
To be used after standardization
Reimplemented in Couenne::exprAux.
Definition at line 118 of file CouenneExprVar.hpp.
| virtual expression* Couenne::exprVar::simplify | ( | ) | [inline, virtual] |
simplify
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux.
Definition at line 121 of file CouenneExprVar.hpp.
| virtual int Couenne::exprVar::Linearity | ( | ) | [inline, virtual] |
get a measure of "how linear" the expression is (see CouenneTypes.hpp)
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux, Couenne::exprLowerBound, and Couenne::exprUpperBound.
Definition at line 125 of file CouenneExprVar.hpp.
| virtual bool Couenne::exprVar::isDefinedInteger | ( | ) | [inline, virtual] |
is this expression defined as an integer?
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux, and Couenne::exprIVar.
Definition at line 129 of file CouenneExprVar.hpp.
| virtual bool Couenne::exprVar::isInteger | ( | ) | [inline, virtual] |
is this variable integer?
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux, and Couenne::exprIVar.
Definition at line 133 of file CouenneExprVar.hpp.
| void exprVar::getBounds | ( | expression *& | lb, | |
| expression *& | ub | |||
| ) | [virtual] |
Get expressions of lower and upper bound of an expression (if any).
Definition at line 22 of file exprVar.cpp.
Get value of lower and upper bound of an expression (if any).
Reimplemented from Couenne::expression.
Definition at line 30 of file exprVar.cpp.
| virtual void Couenne::exprVar::generateCuts | ( | OsiCuts & | , | |
| const CouenneCutGenerator * | , | |||
| t_chg_bounds * | = NULL, |
|||
| int | = -1, |
|||
| CouNumber | = -COUENNE_INFINITY, |
|||
| CouNumber | = COUENNE_INFINITY | |||
| ) | [inline, virtual] |
Get values of lower and upper bound of an expression (if any).
generate cuts for expression associated with this auxiliary
Reimplemented in Couenne::exprAux.
Definition at line 156 of file CouenneExprVar.hpp.
| void exprVar::generateCuts | ( | expression * | w, | |
| OsiCuts & | cs, | |||
| const CouenneCutGenerator * | cg, | |||
| t_chg_bounds * | chg = NULL, |
|||
| int | = -1, |
|||
| CouNumber | = -COUENNE_INFINITY, |
|||
| CouNumber | = COUENNE_INFINITY | |||
| ) | [virtual] |
generate convexification cut for constraint w = this
Definition at line 38 of file exprVar.cpp.
| virtual enum expr_type Couenne::exprVar::code | ( | ) | [inline, virtual] |
code for comparison
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprLowerBound, and Couenne::exprUpperBound.
Definition at line 171 of file CouenneExprVar.hpp.
| bool exprVar::impliedBound | ( | int | wind, | |
| CouNumber * | l, | |||
| CouNumber * | u, | |||
| t_chg_bounds * | chg, | |||
| enum auxSign | sign = expression::AUX_EQ | |||
| ) | [virtual] |
implied bound processing
implied bound processing.
Expression w = x, upon change in lower or upper bound of w, whose index is wind
Reimplemented from Couenne::expression.
Definition at line 49 of file exprVar.cpp.
| virtual int Couenne::exprVar::rank | ( | ) | [inline, virtual] |
rank of an original variable is always one
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux.
Definition at line 178 of file CouenneExprVar.hpp.
update dependence set with index of this variable
Reimplemented from Couenne::expression.
Definition at line 61 of file exprVar.cpp.
| virtual bool Couenne::exprVar::isFixed | ( | ) | [inline, virtual] |
is this variable fixed?
Definition at line 185 of file CouenneExprVar.hpp.
| virtual void Couenne::exprVar::linkDomain | ( | Domain * | d | ) | [inline, virtual] |
link this variable to a domain
Reimplemented from Couenne::expression.
Reimplemented in Couenne::exprAux.
Definition at line 189 of file CouenneExprVar.hpp.
| virtual Domain* Couenne::exprVar::domain | ( | ) | [inline, virtual] |
return pointer to variable domain
Definition at line 193 of file CouenneExprVar.hpp.
| virtual void Couenne::exprVar::decreaseMult | ( | ) | [inline, virtual] |
Reimplemented in Couenne::exprAux.
Definition at line 197 of file CouenneExprVar.hpp.
| virtual void Couenne::exprVar::zeroMult | ( | ) | [inline, virtual] |
Disable variable (empty for compatibility with exprAux).
Reimplemented in Couenne::exprAux.
Definition at line 200 of file CouenneExprVar.hpp.
| virtual void Couenne::exprVar::setInteger | ( | bool | value | ) | [inline, virtual] |
Set this variable as integer (empty for compatibility with exprAux).
Reimplemented in Couenne::exprAux.
Definition at line 203 of file CouenneExprVar.hpp.
| virtual enum convexity Couenne::exprVar::convexity | ( | ) | const [inline, virtual] |
either CONVEX, CONCAVE, AFFINE, or NONCONVEX
Reimplemented from Couenne::expression.
Definition at line 206 of file CouenneExprVar.hpp.
| CouenneObject * exprVar::properObject | ( | CouenneCutGenerator * | c, | |
| CouenneProblem * | p, | |||
| Bonmin::BabSetupBase * | base, | |||
| JnlstPtr | jnlst_ | |||
| ) | [virtual] |
return proper object to handle expression associated with this variable (NULL if this is not an auxiliary)
Reimplemented in Couenne::exprAux.
Definition at line 71 of file exprVar.cpp.
| virtual enum auxSign Couenne::exprVar::sign | ( | ) | const [inline, virtual] |
return its sign in the definition constraint
Reimplemented in Couenne::exprAux.
Definition at line 217 of file CouenneExprVar.hpp.
int Couenne::exprVar::varIndex_ [protected] |
The index of the variable.
Definition at line 49 of file CouenneExprVar.hpp.
Domain* Couenne::exprVar::domain_ [protected] |
Pointer to a descriptor of the current point/bounds.
Definition at line 50 of file CouenneExprVar.hpp.
1.6.1