|
| CbcFollowOn () |
|
| CbcFollowOn (CbcModel *model) |
| Useful constructor. More...
|
|
| CbcFollowOn (const CbcFollowOn &) |
|
virtual CbcObject * | clone () const |
| Clone. More...
|
|
CbcFollowOn & | operator= (const CbcFollowOn &rhs) |
|
| ~CbcFollowOn () |
|
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
| Infeasibility - large is 0.5. 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...
|
|
virtual int | gutsOfFollowOn (int &otherRow, int &preferredWay) const |
| As some computation is needed in more than one place - returns row. 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 | redoSequenceEtc (CbcModel *, int, const int *) |
| Redoes data when sequence numbers change. 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...
|
|
Define a follow on class.
The idea of this is that in air-crew scheduling problems crew may fly in on flight A and out on flight B or on some other flight. A useful branch is one which on one side fixes all which go out on flight B to 0, while the other branch fixes all those that do NOT go out on flight B to 0.
This branching rule should be in addition to normal rules and have a high priority.
Definition at line 25 of file CbcFollowOn.hpp.