Cbc
2.10.10
|
Define a cut branching class. More...
#include <CbcBranchCut.hpp>
Public Member Functions | |
CbcBranchCut () | |
CbcBranchCut (CbcModel *model) | |
In to maintain normal methods. More... | |
CbcBranchCut (const CbcBranchCut &) | |
virtual CbcObject * | clone () const |
Clone. More... | |
CbcBranchCut & | operator= (const CbcBranchCut &rhs) |
~CbcBranchCut () | |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility. More... | |
virtual void | feasibleRegion () |
Set bounds to contain the current solution. More... | |
virtual bool | boundBranch () const |
Return true if branch created by object should fix variables. More... | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching 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 the 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 () |
Reset original upper and lower bound values from the solver. More... | |
virtual void | feasibleRegion ()=0 |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution. More... | |
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 void | resetBounds (const OsiSolverInterface *) |
Reset variable bounds to their original values. 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 |
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 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 | redoSequenceEtc (CbcModel *, int, const int *) |
Redoes data when sequence numbers change. More... | |
virtual void | initializeForBranching (CbcModel *) |
Initialize for branching. More... | |
Additional Inherited Members | |
![]() | |
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... | |
Define a cut branching class.
At present empty - all stuff in descendants
Definition at line 17 of file CbcBranchCut.hpp.
CbcBranchCut::CbcBranchCut | ( | ) |
CbcBranchCut::CbcBranchCut | ( | CbcModel * | model | ) |
In to maintain normal methods.
CbcBranchCut::CbcBranchCut | ( | const CbcBranchCut & | ) |
CbcBranchCut::~CbcBranchCut | ( | ) |
|
virtual |
CbcBranchCut& CbcBranchCut::operator= | ( | const CbcBranchCut & | rhs | ) |
|
virtual |
Infeasibility.
Reimplemented from CbcObject.
Reimplemented in CbcBranchToFixLots, and CbcBranchAllDifferent.
|
virtual |
Set bounds to contain the current solution.
More precisely, for the variable associated with this object, take the value given in the current solution, force it within the current bounds if required, then set the bounds to fix the variable at the integer nearest the solution value.
At present this will do nothing
Implements CbcObject.
|
virtual |
Return true if branch created by object should fix variables.
|
virtual |
Creates a branching object.
Reimplemented from CbcObject.
Reimplemented in CbcBranchToFixLots, and CbcBranchAllDifferent.
|
virtual |
Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in the good direction.
The preferred branching object will force the variable to be +/-1 from its current value, depending on the reduced cost and objective sense. If movement in the direction which improves the objective is impossible due to bounds on the variable, the branching object will move in the other direction. If no movement is possible, the method returns NULL.
Only the bounds on this variable are considered when determining if the new point is feasible.
At present this does nothing
Reimplemented from CbcObject.
|
virtual |
Given a valid solution (with reduced costs, etc.), return a branching object which would give a new feasible point in a bad direction.
As for preferredNewFeasible(), but the preferred branching object will force movement in a direction that degrades the objective.
At present this does nothing
Reimplemented from CbcObject.
|
virtual |
Reset original upper and lower bound values from the solver.
Handy for updating bounds held in this object after bounds held in the solver have been tightened.
virtual void CbcObject::feasibleRegion |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution.
virtual double CbcObject::feasibleRegion |
Dummy one for compatibility.
virtual double CbcObject::feasibleRegion |
For the variable(s) referenced by the object, look at the current solution and set bounds to match the solution.
Returns measure of how much it had to move solution to make feasible
|
inline |
Reset variable bounds to their original values.
Bounds may be tightened, so it may be good to be able to set this info in object.
Definition at line 195 of file CbcObject.hpp.