#include <CbcBranchBase.hpp>
Inheritance diagram for CbcObject:
Public Member Functions | |
CbcObject () | |
CbcObject (CbcModel *model) | |
CbcObject (const CbcObject &) | |
CbcObject & | operator= (const CbcObject &rhs) |
virtual CbcObject * | clone () const =0 |
Clone. | |
virtual | ~CbcObject () |
Destructor. | |
virtual double | infeasibility (int &preferredWay) const =0 |
Infeasibility of the object. | |
virtual void | feasibleRegion ()=0 |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution. | |
virtual CbcBranchingObject * | createBranch (int way)=0 |
Create a branching object and indicate which way to branch first. | |
virtual OsiSolverBranch * | solverBranch () const |
Create an OsiSolverBranch object. | |
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. | |
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. | |
virtual void | resetBounds () |
Reset variable bounds to their original values. | |
virtual bool | boundBranch () const |
Return true if branch created by object should fix variables. | |
virtual void | floorCeiling (double &floorValue, double &ceilingValue, double value, double tolerance) const |
Returns floor and ceiling i.e. | |
int | id () const |
Identifier (normally column number in matrix). | |
int | priority () const |
Return Priority. | |
void | setPriority (int priority) |
Set priority. | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise. | |
void | setModel (CbcModel *model) |
update model | |
CbcModel * | model () const |
Return model. | |
virtual double | upEstimate () const |
Return "up" estimate (default 1.0e-5). | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5). | |
int | preferredWay () const |
If -1 down always chosen first, +1 up always, 0 normal. | |
void | setPreferredWay (int value) |
Set -1 down always chosen first, +1 up always, 0 normal. | |
virtual void | redoSequenceEtc (CbcModel *model, int numberColumns, const int *originalColumns) |
Redoes data when sequence numbers change. | |
Protected Attributes | |
CbcModel * | model_ |
data Model | |
int | id_ |
Identifier (normally column number in matrix). | |
int | priority_ |
Priority. | |
int | preferredWay_ |
If -1 down always chosen first, +1 up always, 0 normal. |
|
|
|
|
|
|
|
Destructor.
|
|
|
|
Clone.
Implemented in CbcClique, CbcSOS, CbcSimpleInteger, CbcNWay, CbcSimpleIntegerPseudoCost, CbcFollowOn, CbcBranchCut, CbcBranchToFixLots, CbcBranchAllDifferent, CbcSimpleIntegerDynamicPseudoCost, CbcLotsize, CbcFollowOn2, and CbcLink. |
|
Infeasibility of the object. This is some measure of the infeasibility of the object. It should be scaled to be in the range [0.0, 0.5], with 0.0 indicating the object is satisfied. The preferred branching direction is returned in preferredWay, This is used to prepare for strong branching but should also think of case when no strong branching The object may also compute an estimate of cost of going "up" or "down". This will probably be based on pseudo-cost ideas Implemented in CbcClique, CbcSOS, CbcSimpleInteger, CbcNWay, CbcSimpleIntegerPseudoCost, CbcFollowOn, CbcBranchCut, CbcBranchToFixLots, CbcBranchAllDifferent, CbcSimpleIntegerDynamicPseudoCost, CbcLotsize, CbcFollowOn2, and CbcLink. |
|
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution.
Implemented in CbcClique, CbcSOS, CbcSimpleInteger, CbcNWay, CbcFollowOn, CbcBranchCut, CbcLotsize, CbcFollowOn2, and CbcLink. |
|
Create a branching object and indicate which way to branch first. The branching object has to know how to create branches (fix variables, etc.) Implemented in CbcClique, CbcSOS, CbcSimpleInteger, CbcNWay, CbcSimpleIntegerPseudoCost, CbcFollowOn, CbcBranchCut, CbcBranchToFixLots, CbcBranchAllDifferent, CbcSimpleIntegerDynamicPseudoCost, CbcLotsize, CbcFollowOn2, and CbcLink. |
|
Create an OsiSolverBranch object. This returns NULL if branch not represented by bound changes Reimplemented in CbcSOS, CbcSimpleInteger, and CbcSimpleIntegerDynamicPseudoCost. |
|
Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in a good direction. If the method cannot generate a feasible point (because there aren't any, or because it isn't bright enough to find one), it should return null. Reimplemented in CbcSimpleInteger, CbcBranchCut, and CbcLotsize. Definition at line 124 of file CbcBranchBase.hpp. |
|
Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in a bad direction. If the method cannot generate a feasible point (because there aren't any, or because it isn't bright enough to find one), it should return null. Reimplemented in CbcSimpleInteger, CbcBranchCut, and CbcLotsize. Definition at line 135 of file CbcBranchBase.hpp. |
|
Reset variable bounds to their original values. Bounds may be tightened, so it may be good to be able to reset them to their original values. Reimplemented in CbcSimpleInteger, CbcBranchCut, and CbcLotsize. Definition at line 143 of file CbcBranchBase.hpp. |
|
Return true if branch created by object should fix variables.
Reimplemented in CbcBranchCut. Definition at line 147 of file CbcBranchBase.hpp. |
|
Returns floor and ceiling i.e. closest valid points Reimplemented in CbcLotsize. |
|
Identifier (normally column number in matrix).
Definition at line 155 of file CbcBranchBase.hpp. |
|
Return Priority.
Definition at line 158 of file CbcBranchBase.hpp. |
|
Set priority.
Definition at line 161 of file CbcBranchBase.hpp. |
|
Column number if single column object -1 otherwise.
Reimplemented in CbcSimpleInteger, and CbcLotsize. |
|
update model
Definition at line 169 of file CbcBranchBase.hpp. |
|
Return model.
Definition at line 173 of file CbcBranchBase.hpp. |
|
Return "up" estimate (default 1.0e-5).
Reimplemented in CbcSimpleIntegerPseudoCost, and CbcSimpleIntegerDynamicPseudoCost. |
|
Return "down" estimate (default 1.0e-5).
Reimplemented in CbcSimpleIntegerPseudoCost, and CbcSimpleIntegerDynamicPseudoCost. |
|
If -1 down always chosen first, +1 up always, 0 normal.
Definition at line 181 of file CbcBranchBase.hpp. |
|
Set -1 down always chosen first, +1 up always, 0 normal.
Definition at line 184 of file CbcBranchBase.hpp. |
|
Redoes data when sequence numbers change.
Reimplemented in CbcClique, CbcSOS, CbcSimpleInteger, and CbcNWay. Definition at line 187 of file CbcBranchBase.hpp. |
|
data Model
Definition at line 193 of file CbcBranchBase.hpp. |
|
Identifier (normally column number in matrix).
Definition at line 195 of file CbcBranchBase.hpp. |
|
Priority.
Definition at line 197 of file CbcBranchBase.hpp. |
|
If -1 down always chosen first, +1 up always, 0 normal.
Definition at line 199 of file CbcBranchBase.hpp. |