Cbc
2.10.5
|
Define an n-way class for variables. More...
#include <CbcNWay.hpp>
Public Member Functions | |
CbcNWay () | |
CbcNWay (CbcModel *model, int numberMembers, const int *which, int identifier) | |
Useful constructor (which are matrix indices) More... | |
CbcNWay (const CbcNWay &) | |
virtual CbcObject * | clone () const |
Clone. More... | |
CbcNWay & | operator= (const CbcNWay &rhs) |
Assignment operator. More... | |
virtual | ~CbcNWay () |
Destructor. More... | |
void | setConsequence (int iColumn, const CbcConsequence &consequence) |
Set up a consequence for a single member. More... | |
void | applyConsequence (int iSequence, int state) const |
Applies a consequence for a single member. More... | |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility - large is 0.5 (and 0.5 will give this) More... | |
virtual void | feasibleRegion () |
This looks at solution and sets bounds to contain solution. More... | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching object. More... | |
int | numberMembers () const |
Number of members. More... | |
const int * | members () const |
Members (indices in range 0 ... numberColumns-1) More... | |
virtual void | redoSequenceEtc (CbcModel *model, int numberColumns, const int *originalColumns) |
Redoes data when sequence numbers change. More... | |
![]() | |
CbcObject () | |
CbcObject (CbcModel *model) | |
CbcObject (const CbcObject &) | |
CbcObject & | operator= (const CbcObject &rhs) |
virtual | ~CbcObject () |
Destructor. More... | |
virtual double | infeasibility (int &) const |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Dummy one for compatibility. More... | |
virtual double | feasibleRegion (OsiSolverInterface *solver) const |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution. More... | |
virtual OsiBranchingObject * | createBranch (OsiSolverInterface *, const OsiBranchingInformation *, int) const |
Create a branching object and indicate which way to branch first. More... | |
virtual OsiBranchingObject * | createOsiBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Create an Osibranching object and indicate which way to branch first. More... | |
virtual OsiSolverBranch * | solverBranch () const |
Create an OsiSolverBranch object. More... | |
virtual CbcBranchingObject * | preferredNewFeasible () const |
Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in a good direction. More... | |
virtual CbcBranchingObject * | notPreferredNewFeasible () const |
Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in a bad direction. More... | |
virtual void | resetBounds (const OsiSolverInterface *) |
Reset variable bounds to their original values. More... | |
virtual void | floorCeiling (double &floorValue, double &ceilingValue, double value, double tolerance) const |
Returns floor and ceiling i.e. More... | |
virtual CbcObjectUpdateData | createUpdateInformation (const OsiSolverInterface *solver, const CbcNode *node, const CbcBranchingObject *branchingObject) |
Pass in information on branch just done and create CbcObjectUpdateData instance. More... | |
virtual void | updateInformation (const CbcObjectUpdateData &) |
Update object by CbcObjectUpdateData. More... | |
int | id () const |
Identifier (normally column number in matrix) More... | |
void | setId (int value) |
Set identifier (normally column number in matrix) but 1000000000 to 1100000000 means optional branching object i.e. More... | |
bool | optionalObject () const |
Return true if optional branching object i.e. More... | |
int | position () const |
Get position in object_ list. More... | |
void | setPosition (int position) |
Set position in object_ list. More... | |
void | setModel (CbcModel *model) |
update model More... | |
CbcModel * | model () const |
Return model. More... | |
int | preferredWay () const |
If -1 down always chosen first, +1 up always, 0 normal. More... | |
void | setPreferredWay (int value) |
Set -1 down always chosen first, +1 up always, 0 normal. More... | |
virtual void | initializeForBranching (CbcModel *) |
Initialize for branching. More... | |
![]() | |
OsiObject () | |
Default Constructor. More... | |
OsiObject (const OsiObject &) | |
Copy constructor. More... | |
OsiObject & | operator= (const OsiObject &rhs) |
Assignment operator. More... | |
virtual | ~OsiObject () |
Destructor. More... | |
double | infeasibility (const OsiSolverInterface *solver, int &whichWay) const |
Infeasibility of the object. More... | |
virtual double | checkInfeasibility (const OsiBranchingInformation *info) const |
virtual bool | canDoHeuristics () const |
Return true if object can take part in normal heuristics. More... | |
virtual bool | canMoveToNearest () const |
Return true if object can take part in move to nearest heuristic. More... | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, Used by heuristics. More... | |
int | priority () const |
Return Priority - note 1 is highest priority. More... | |
void | setPriority (int priority) |
Set priority. More... | |
virtual bool | boundBranch () const |
Return true if branch should only bound variables. More... | |
virtual bool | canHandleShadowPrices () const |
Return true if knows how to deal with Pseudo Shadow Prices. More... | |
int | numberWays () const |
Return maximum number of ways branch may have. More... | |
void | setNumberWays (int numberWays) |
Set maximum number of ways branch may have. More... | |
void | setWhichWay (int way) |
Return preferred way to branch. More... | |
int | whichWay () const |
Return current preferred way to branch. More... | |
double | infeasibility () const |
Return infeasibility. More... | |
virtual double | upEstimate () const |
Return "up" estimate (default 1.0e-5) More... | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5) More... | |
virtual void | resetSequenceEtc (int, const int *) |
Change column numbers after preprocessing. More... | |
virtual void | updateBefore (const OsiObject *) |
Updates stuff like pseudocosts before threads. More... | |
virtual void | updateAfter (const OsiObject *, const OsiObject *) |
Updates stuff like pseudocosts after threads finished. More... | |
Protected Attributes | |
int | numberMembers_ |
data Number of members More... | |
int * | members_ |
Members (indices in range 0 ... numberColumns-1) More... | |
CbcConsequence ** | consequence_ |
Consequences (normally NULL) More... | |
![]() | |
CbcModel * | model_ |
data More... | |
int | id_ |
Identifier (normally column number in matrix) More... | |
int | position_ |
Position in object list. More... | |
int | preferredWay_ |
If -1 down always chosen first, +1 up always, 0 normal. More... | |
![]() | |
double | infeasibility_ |
data More... | |
short | whichWay_ |
Computed preferred way to branch. More... | |
short | numberWays_ |
Maximum number of ways on branch. More... | |
int | priority_ |
Priority. More... | |
Define an n-way class for variables.
Only valid value is one at UB others at LB Normally 0-1
Definition at line 15 of file CbcNWay.hpp.
CbcNWay::CbcNWay | ( | ) |
CbcNWay::CbcNWay | ( | CbcModel * | model, |
int | numberMembers, | ||
const int * | which, | ||
int | identifier | ||
) |
Useful constructor (which are matrix indices)
CbcNWay::CbcNWay | ( | const CbcNWay & | ) |
|
virtual |
Destructor.
void CbcNWay::setConsequence | ( | int | iColumn, |
const CbcConsequence & | consequence | ||
) |
Set up a consequence for a single member.
void CbcNWay::applyConsequence | ( | int | iSequence, |
int | state | ||
) | const |
Applies a consequence for a single member.
|
virtual |
Infeasibility - large is 0.5 (and 0.5 will give this)
Reimplemented from CbcObject.
|
virtual |
This looks at solution and sets bounds to contain solution.
Implements CbcObject.
|
virtual |
Creates a branching object.
Reimplemented from CbcObject.
|
inline |
Number of members.
Definition at line 56 of file CbcNWay.hpp.
|
inline |
Members (indices in range 0 ... numberColumns-1)
Definition at line 62 of file CbcNWay.hpp.
|
virtual |
Redoes data when sequence numbers change.
Reimplemented from CbcObject.
|
protected |
data Number of members
Definition at line 72 of file CbcNWay.hpp.
|
protected |
Members (indices in range 0 ... numberColumns-1)
Definition at line 75 of file CbcNWay.hpp.
|
protected |
Consequences (normally NULL)
Definition at line 77 of file CbcNWay.hpp.