Dip
0.92.4
|
Define a single integer class but with pseudo costs. More...
#include <CbcSimpleIntegerPseudoCost.hpp>
Public Member Functions | |
CbcSimpleIntegerPseudoCost () | |
CbcSimpleIntegerPseudoCost (CbcModel *model, int iColumn, double breakEven=0.5) | |
CbcSimpleIntegerPseudoCost (CbcModel *model, int iColumn, double downPseudoCost, double upPseudoCost) | |
CbcSimpleIntegerPseudoCost (CbcModel *model, int dummy, int iColumn, double downPseudoCost, double upPseudoCost) | |
CbcSimpleIntegerPseudoCost (const CbcSimpleIntegerPseudoCost &) | |
virtual CbcObject * | clone () const |
Clone. More... | |
CbcSimpleIntegerPseudoCost & | operator= (const CbcSimpleIntegerPseudoCost &rhs) |
virtual | ~CbcSimpleIntegerPseudoCost () |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility - large is 0.5. More... | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching object. More... | |
double | downPseudoCost () const |
Down pseudo cost. More... | |
void | setDownPseudoCost (double value) |
Set down pseudo cost. More... | |
double | upPseudoCost () const |
Up pseudo cost. More... | |
void | setUpPseudoCost (double value) |
Set up pseudo cost. More... | |
double | upDownSeparator () const |
Up down separator. More... | |
void | setUpDownSeparator (double value) |
Set up down separator. More... | |
virtual double | upEstimate () const |
Return "up" estimate. More... | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5) More... | |
int | method () const |
method - see below for details More... | |
void | setMethod (int value) |
Set method. More... | |
![]() | |
CbcSimpleInteger () | |
CbcSimpleInteger (CbcModel *model, int iColumn, double breakEven=0.5) | |
CbcSimpleInteger (CbcModel *model, const OsiSimpleInteger *object) | |
CbcSimpleInteger (const CbcSimpleInteger &) | |
CbcSimpleInteger & | operator= (const CbcSimpleInteger &rhs) |
virtual | ~CbcSimpleInteger () |
OsiSimpleInteger * | osiObject () const |
Construct an OsiSimpleInteger object. More... | |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Set bounds to fix the variable at the current (integer) value. More... | |
void | fillCreateBranch (CbcIntegerBranchingObject *branching, const OsiBranchingInformation *info, int way) |
Fills in a created branching object. More... | |
virtual OsiSolverBranch * | solverBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Create an OsiSolverBranch object. More... | |
virtual void | feasibleRegion () |
Set bounds to fix the variable at the current (integer) value. More... | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, so returns >= 0 Used by heuristics. More... | |
void | setColumnNumber (int value) |
Set column number. More... | |
virtual void | resetBounds (const OsiSolverInterface *solver) |
Reset variable bounds to their original values. More... | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Change column numbers after preprocessing. More... | |
double | originalLowerBound () const |
Original bounds. More... | |
void | setOriginalLowerBound (double value) |
double | originalUpperBound () const |
void | setOriginalUpperBound (double value) |
double | breakEven () const |
Breakeven e.g 0.7 -> >= 0.7 go up first. More... | |
void | setBreakEven (double value) |
Set breakeven e.g 0.7 -> >= 0.7 go up first. 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 |
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 | 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... | |
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 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 | |
double | downPseudoCost_ |
data More... | |
double | upPseudoCost_ |
Up pseudo cost. More... | |
double | upDownSeparator_ |
Up/down separator If >0.0 then do first branch up if value-floor(value) >= this value. More... | |
int | method_ |
Method - 0 - normal - return min (up,down) 1 - if before any solution return CoinMax(up,down) 2 - if before branched solution return CoinMax(up,down) 3 - always return CoinMax(up,down) More... | |
![]() | |
double | originalLower_ |
data More... | |
double | originalUpper_ |
Original upper bound. More... | |
double | breakEven_ |
Breakeven i.e. >= this preferred is up. More... | |
int | columnNumber_ |
Column number in model. More... | |
int | preferredWay_ |
If -1 down always chosen first, +1 up always, 0 normal. 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 a single integer class but with pseudo costs.
Definition at line 14 of file CbcSimpleIntegerPseudoCost.hpp.
CbcSimpleIntegerPseudoCost::CbcSimpleIntegerPseudoCost | ( | ) |
CbcSimpleIntegerPseudoCost::CbcSimpleIntegerPseudoCost | ( | CbcModel * | model, |
int | iColumn, | ||
double | breakEven = 0.5 |
||
) |
CbcSimpleIntegerPseudoCost::CbcSimpleIntegerPseudoCost | ( | CbcModel * | model, |
int | iColumn, | ||
double | downPseudoCost, | ||
double | upPseudoCost | ||
) |
CbcSimpleIntegerPseudoCost::CbcSimpleIntegerPseudoCost | ( | CbcModel * | model, |
int | dummy, | ||
int | iColumn, | ||
double | downPseudoCost, | ||
double | upPseudoCost | ||
) |
CbcSimpleIntegerPseudoCost::CbcSimpleIntegerPseudoCost | ( | const CbcSimpleIntegerPseudoCost & | ) |
|
virtual |
|
virtual |
Clone.
Reimplemented from CbcSimpleInteger.
CbcSimpleIntegerPseudoCost& CbcSimpleIntegerPseudoCost::operator= | ( | const CbcSimpleIntegerPseudoCost & | rhs | ) |
|
virtual |
Infeasibility - large is 0.5.
Reimplemented from CbcSimpleInteger.
|
virtual |
Creates a branching object.
Reimplemented from CbcSimpleInteger.
|
inline |
Down pseudo cost.
Definition at line 50 of file CbcSimpleIntegerPseudoCost.hpp.
References downPseudoCost_.
|
inline |
Set down pseudo cost.
Definition at line 55 of file CbcSimpleIntegerPseudoCost.hpp.
References downPseudoCost_.
|
inline |
Up pseudo cost.
Definition at line 61 of file CbcSimpleIntegerPseudoCost.hpp.
References upPseudoCost_.
|
inline |
Set up pseudo cost.
Definition at line 66 of file CbcSimpleIntegerPseudoCost.hpp.
References upPseudoCost_.
|
inline |
Up down separator.
Definition at line 72 of file CbcSimpleIntegerPseudoCost.hpp.
References upDownSeparator_.
|
inline |
Set up down separator.
Definition at line 77 of file CbcSimpleIntegerPseudoCost.hpp.
References upDownSeparator_.
|
virtual |
Return "up" estimate.
Reimplemented from OsiObject.
|
virtual |
Return "down" estimate (default 1.0e-5)
Reimplemented from OsiObject.
|
inline |
method - see below for details
Definition at line 88 of file CbcSimpleIntegerPseudoCost.hpp.
References method_.
|
inline |
|
protected |
data
Down pseudo cost
Definition at line 102 of file CbcSimpleIntegerPseudoCost.hpp.
Referenced by downPseudoCost(), and setDownPseudoCost().
|
protected |
Up pseudo cost.
Definition at line 104 of file CbcSimpleIntegerPseudoCost.hpp.
Referenced by setUpPseudoCost(), and upPseudoCost().
|
protected |
Up/down separator If >0.0 then do first branch up if value-floor(value) >= this value.
Definition at line 109 of file CbcSimpleIntegerPseudoCost.hpp.
Referenced by setUpDownSeparator(), and upDownSeparator().
|
protected |
Method - 0 - normal - return min (up,down) 1 - if before any solution return CoinMax(up,down) 2 - if before branched solution return CoinMax(up,down) 3 - always return CoinMax(up,down)
Definition at line 116 of file CbcSimpleIntegerPseudoCost.hpp.
Referenced by method(), and setMethod().