Couenne
0.2
|
OsiObject for violation transfer on variables in a MINLP. More...
#include <CouenneVTObject.hpp>
Public Member Functions | |
CouenneVTObject (CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int varSelection) | |
Constructor with information for branching point selection strategy. More... | |
CouenneVTObject (const CouenneVTObject &src) | |
Copy constructor. More... | |
~CouenneVTObject () | |
Destructor. More... | |
virtual CouenneObject * | clone () const |
Cloning method. More... | |
virtual double | infeasibility (const OsiBranchingInformation *info, int &way) const |
compute infeasibility of this variable x as the sum/min/max of all infeasibilities of auxiliaries w whose defining function depends on x |w - f(x)| More... | |
![]() | |
CouenneVarObject (CouenneCutGenerator *c, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst, int varSelection) | |
Constructor with information for branching point selection strategy. More... | |
CouenneVarObject (const CouenneVarObject &src) | |
Copy constructor. More... | |
~CouenneVarObject () | |
Destructor. More... | |
virtual double | checkInfeasibility (const OsiBranchingInformation *info) const |
compute infeasibility of this variable, |w - f(x)|, where w is the auxiliary variable defined as w = f(x) More... | |
virtual OsiBranchingObject * | createBranch (OsiSolverInterface *, const OsiBranchingInformation *, int) const |
create CouenneBranchingObject or CouenneThreeWayBranchObj based on this object More... | |
virtual double | feasibleRegion (OsiSolverInterface *, const OsiBranchingInformation *) const |
fix nonlinear coordinates of current integer-nonlinear feasible solution More... | |
virtual bool | isCuttable () const |
are we on the bad or good side of the expression? More... | |
![]() | |
CouenneObject () | |
empty constructor (for unused objects) More... | |
CouenneObject (CouenneCutGenerator *cutgen, CouenneProblem *p, exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst) | |
Constructor with information for branching point selection strategy. More... | |
CouenneObject (exprVar *ref, Bonmin::BabSetupBase *base, JnlstPtr jnlst) | |
Constructor with lesser information, used for infeasibility only. More... | |
~CouenneObject () | |
Destructor. More... | |
CouenneObject (const CouenneObject &src) | |
Copy constructor. More... | |
void | setParameters (Bonmin::BabSetupBase *base) |
set object parameters by reading from command line More... | |
exprVar * | Reference () const |
return reference auxiliary variable More... | |
enum brSelStrat | Strategy () const |
return branching point selection strategy More... | |
CouNumber | getBrPoint (funtriplet *ft, CouNumber x0, CouNumber l, CouNumber u, const OsiBranchingInformation *info=NULL) const |
pick branching point based on current strategy More... | |
CouNumber | midInterval (CouNumber x, CouNumber l, CouNumber u, const OsiBranchingInformation *info=NULL) const |
returns a point "inside enough" a given interval, or x if it already is. More... | |
virtual double | downEstimate () const |
Return "down" estimate (for non-convex, distance old <–> new LP point) More... | |
virtual double | upEstimate () const |
Return "up" estimate (for non-convex, distance old <–> new LP point) More... | |
void | setEstimate (double est, int direction) |
set up/down estimate (0 for down, 1 for up). More... | |
void | setEstimates (const OsiBranchingInformation *info, CouNumber *infeasibility, CouNumber *brpt) const |
set up/down estimates based on branching information More... | |
virtual double | intInfeasibility (double value, double lb, double ub) const |
integer infeasibility: min {value - floor(value), ceil(value) - value} More... | |
CouNumber | lp_clamp () const |
Defines safe interval percentage for using LP point as a branching point. More... | |
virtual int | columnNumber () const |
Returns the column index. More... | |
Additional Inherited Members | |
![]() | |
enum | pseudocostMult { INFEASIBILITY, INTERVAL_LP, INTERVAL_LP_REV, INTERVAL_BR, INTERVAL_BR_REV, PROJECTDIST } |
type of up/down estimate to return for pseudocosts More... | |
enum | branch_obj { EXPR_OBJ, VAR_OBJ, VT_OBJ } |
type of object (for branching variable selection) More... | |
enum | brSelStrat { NO_STRATEGY, NO_BRANCH, MID_INTERVAL, MIN_AREA, BALANCED, LP_CENTRAL, LP_CLAMPED } |
strategy names More... | |
![]() | |
CouNumber | computeBranchingPoint (const OsiBranchingInformation *info, int &bestWay, const CouenneObject *&criticalObject) const |
Method computing the branching point. More... | |
![]() | |
int | varSelection_ |
branching scheme used. More... | |
![]() | |
CouenneCutGenerator * | cutGen_ |
pointer to cut generator (not necessary, can be NULL) More... | |
CouenneProblem * | problem_ |
pointer to Couenne problem More... | |
exprVar * | reference_ |
The (auxiliary) variable this branching object refers to. More... | |
enum brSelStrat | strategy_ |
Branching point selection strategy. More... | |
JnlstPtr | jnlst_ |
SmartPointer to the Journalist. More... | |
CouNumber | alpha_ |
Combination parameter for the mid-point branching point selection strategy. More... | |
CouNumber | lp_clamp_ |
Defines safe interval percentage for using LP point as a branching point. More... | |
CouNumber | feas_tolerance_ |
feasibility tolerance (equal to that of CouenneProblem) More... | |
bool | doFBBT_ |
shall we do Feasibility based Bound Tightening (FBBT) at branching? More... | |
bool | doConvCuts_ |
shall we add convexification cuts at branching? More... | |
double | downEstimate_ |
down estimate (to be used in pseudocost) More... | |
double | upEstimate_ |
up estimate (to be used in pseudocost) More... | |
enum pseudocostMult | pseudoMultType_ |
multiplier type for pseudocost More... | |
OsiObject for violation transfer on variables in a MINLP.
Definition at line 19 of file CouenneVTObject.hpp.
|
inline |
Constructor with information for branching point selection strategy.
Definition at line 24 of file CouenneVTObject.hpp.
Referenced by clone().
|
inline |
Copy constructor.
Definition at line 35 of file CouenneVTObject.hpp.
|
inline |
Destructor.
Definition at line 39 of file CouenneVTObject.hpp.
|
inlinevirtual |
Cloning method.
Reimplemented from Couenne::CouenneVarObject.
Definition at line 42 of file CouenneVTObject.hpp.
References CouenneVTObject().
|
virtual |
compute infeasibility of this variable x as the sum/min/max of all infeasibilities of auxiliaries w whose defining function depends on x |w - f(x)|
Reimplemented from Couenne::CouenneVarObject.