Define a single integer class but with dynamic pseudo costs. More...
#include <CbcSimpleIntegerDynamicPseudoCost.hpp>
Public Member Functions | |
CbcSimpleIntegerDynamicPseudoCost () | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int iColumn, double breakEven=0.5) | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int iColumn, double downDynamicPseudoCost, double upDynamicPseudoCost) | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int dummy, int iColumn, double downDynamicPseudoCost, double upDynamicPseudoCost) | |
CbcSimpleIntegerDynamicPseudoCost (const CbcSimpleIntegerDynamicPseudoCost &) | |
virtual CbcObject * | clone () const |
Clone. | |
CbcSimpleIntegerDynamicPseudoCost & | operator= (const CbcSimpleIntegerDynamicPseudoCost &rhs) |
virtual | ~CbcSimpleIntegerDynamicPseudoCost () |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility - large is 0.5. | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching object. | |
void | fillCreateBranch (CbcIntegerBranchingObject *branching, const OsiBranchingInformation *info, int way) |
Fills in a created branching object. | |
virtual CbcObjectUpdateData | createUpdateInformation (const OsiSolverInterface *solver, const CbcNode *node, const CbcBranchingObject *branchingObject) |
Pass in information on branch just done and create CbcObjectUpdateData instance. | |
virtual void | updateInformation (const CbcObjectUpdateData &data) |
Update object by CbcObjectUpdateData. | |
void | copySome (const CbcSimpleIntegerDynamicPseudoCost *otherObject) |
Copy some information i.e. just variable stuff. | |
virtual void | updateBefore (const OsiObject *rhs) |
Updates stuff like pseudocosts before threads. | |
virtual void | updateAfter (const OsiObject *rhs, const OsiObject *baseObject) |
Updates stuff like pseudocosts after threads finished. | |
void | updateAfterMini (int numberDown, int numberDownInfeasible, double sumDown, int numberUp, int numberUpInfeasible, double sumUp) |
Updates stuff like pseudocosts after mini branch and bound. | |
virtual OsiSolverBranch * | solverBranch () const |
Create an OsiSolverBranch object. | |
double | downDynamicPseudoCost () const |
Down pseudo cost. | |
void | setDownDynamicPseudoCost (double value) |
Set down pseudo cost. | |
void | updateDownDynamicPseudoCost (double value) |
Modify down pseudo cost in a slightly different way. | |
double | upDynamicPseudoCost () const |
Up pseudo cost. | |
void | setUpDynamicPseudoCost (double value) |
Set up pseudo cost. | |
void | updateUpDynamicPseudoCost (double value) |
Modify up pseudo cost in a slightly different way. | |
double | downShadowPrice () const |
Down pseudo shadow price cost. | |
void | setDownShadowPrice (double value) |
Set down pseudo shadow price cost. | |
double | upShadowPrice () const |
Up pseudo shadow price cost. | |
void | setUpShadowPrice (double value) |
Set up pseudo shadow price cost. | |
double | upDownSeparator () const |
Up down separator. | |
void | setUpDownSeparator (double value) |
Set up down separator. | |
double | sumDownCost () const |
Down sum cost. | |
void | setSumDownCost (double value) |
Set down sum cost. | |
void | addToSumDownCost (double value) |
Add to down sum cost and set last and square. | |
double | sumUpCost () const |
Up sum cost. | |
void | setSumUpCost (double value) |
Set up sum cost. | |
void | addToSumUpCost (double value) |
Add to up sum cost and set last and square. | |
double | sumDownChange () const |
Down sum change. | |
void | setSumDownChange (double value) |
Set down sum change. | |
void | addToSumDownChange (double value) |
Add to down sum change. | |
double | sumUpChange () const |
Up sum change. | |
void | setSumUpChange (double value) |
Set up sum change. | |
void | addToSumUpChange (double value) |
Add to up sum change and set last and square. | |
double | sumDownDecrease () const |
Sum down decrease number infeasibilities from strong or actual. | |
void | setSumDownDecrease (double value) |
Set sum down decrease number infeasibilities from strong or actual. | |
void | addToSumDownDecrease (double value) |
Add to sum down decrease number infeasibilities from strong or actual. | |
double | sumUpDecrease () const |
Sum up decrease number infeasibilities from strong or actual. | |
void | setSumUpDecrease (double value) |
Set sum up decrease number infeasibilities from strong or actual. | |
void | addToSumUpDecrease (double value) |
Add to sum up decrease number infeasibilities from strong or actual. | |
int | numberTimesDown () const |
Down number times. | |
void | setNumberTimesDown (int value) |
Set down number times. | |
void | incrementNumberTimesDown () |
Increment down number times. | |
int | numberTimesUp () const |
Up number times. | |
void | setNumberTimesUp (int value) |
Set up number times. | |
void | incrementNumberTimesUp () |
Increment up number times. | |
int | numberTimesDownInfeasible () const |
Down number times infeasible. | |
void | setNumberTimesDownInfeasible (int value) |
Set down number times infeasible. | |
void | incrementNumberTimesDownInfeasible () |
Increment down number times infeasible. | |
int | numberTimesUpInfeasible () const |
Up number times infeasible. | |
void | setNumberTimesUpInfeasible (int value) |
Set up number times infeasible. | |
void | incrementNumberTimesUpInfeasible () |
Increment up number times infeasible. | |
int | numberBeforeTrust () const |
Number of times before trusted. | |
void | setNumberBeforeTrust (int value) |
Set number of times before trusted. | |
void | incrementNumberBeforeTrust () |
Increment number of times before trusted. | |
virtual double | upEstimate () const |
Return "up" estimate. | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5) | |
int | method () const |
method - see below for details | |
void | setMethod (int value) |
Set method. | |
void | setDownInformation (double changeObjectiveDown, int changeInfeasibilityDown) |
Pass in information on a down branch. | |
void | setUpInformation (double changeObjectiveUp, int changeInfeasibilityUp) |
Pass in information on a up branch. | |
void | setProbingInformation (int fixedDown, int fixedUp) |
Pass in probing information. | |
void | print (int type=0, double value=0.0) const |
Print - 0 -summary, 1 just before strong. | |
bool | same (const CbcSimpleIntegerDynamicPseudoCost *obj) const |
Same - returns true if contents match(ish) | |
CbcSimpleIntegerDynamicPseudoCost () | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int iColumn, double breakEven=0.5) | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int iColumn, double downDynamicPseudoCost, double upDynamicPseudoCost) | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int dummy, int iColumn, double downDynamicPseudoCost, double upDynamicPseudoCost) | |
CbcSimpleIntegerDynamicPseudoCost (const CbcSimpleIntegerDynamicPseudoCost &) | |
virtual CbcObject * | clone () const |
Clone. | |
CbcSimpleIntegerDynamicPseudoCost & | operator= (const CbcSimpleIntegerDynamicPseudoCost &rhs) |
virtual | ~CbcSimpleIntegerDynamicPseudoCost () |
virtual double | infeasibility (const OsiBranchingInformation *info, int &preferredWay) const |
Infeasibility - large is 0.5. | |
virtual CbcBranchingObject * | createCbcBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) |
Creates a branching object. | |
void | fillCreateBranch (CbcIntegerBranchingObject *branching, const OsiBranchingInformation *info, int way) |
Fills in a created branching object. | |
virtual CbcObjectUpdateData | createUpdateInformation (const OsiSolverInterface *solver, const CbcNode *node, const CbcBranchingObject *branchingObject) |
Pass in information on branch just done and create CbcObjectUpdateData instance. | |
virtual void | updateInformation (const CbcObjectUpdateData &data) |
Update object by CbcObjectUpdateData. | |
void | copySome (const CbcSimpleIntegerDynamicPseudoCost *otherObject) |
Copy some information i.e. just variable stuff. | |
virtual void | updateBefore (const OsiObject *rhs) |
Updates stuff like pseudocosts before threads. | |
virtual void | updateAfter (const OsiObject *rhs, const OsiObject *baseObject) |
Updates stuff like pseudocosts after threads finished. | |
void | updateAfterMini (int numberDown, int numberDownInfeasible, double sumDown, int numberUp, int numberUpInfeasible, double sumUp) |
Updates stuff like pseudocosts after mini branch and bound. | |
virtual OsiSolverBranch * | solverBranch () const |
Create an OsiSolverBranch object. | |
double | downDynamicPseudoCost () const |
Down pseudo cost. | |
void | setDownDynamicPseudoCost (double value) |
Set down pseudo cost. | |
void | updateDownDynamicPseudoCost (double value) |
Modify down pseudo cost in a slightly different way. | |
double | upDynamicPseudoCost () const |
Up pseudo cost. | |
void | setUpDynamicPseudoCost (double value) |
Set up pseudo cost. | |
void | updateUpDynamicPseudoCost (double value) |
Modify up pseudo cost in a slightly different way. | |
double | downShadowPrice () const |
Down pseudo shadow price cost. | |
void | setDownShadowPrice (double value) |
Set down pseudo shadow price cost. | |
double | upShadowPrice () const |
Up pseudo shadow price cost. | |
void | setUpShadowPrice (double value) |
Set up pseudo shadow price cost. | |
double | upDownSeparator () const |
Up down separator. | |
void | setUpDownSeparator (double value) |
Set up down separator. | |
double | sumDownCost () const |
Down sum cost. | |
void | setSumDownCost (double value) |
Set down sum cost. | |
void | addToSumDownCost (double value) |
Add to down sum cost and set last and square. | |
double | sumUpCost () const |
Up sum cost. | |
void | setSumUpCost (double value) |
Set up sum cost. | |
void | addToSumUpCost (double value) |
Add to up sum cost and set last and square. | |
double | sumDownChange () const |
Down sum change. | |
void | setSumDownChange (double value) |
Set down sum change. | |
void | addToSumDownChange (double value) |
Add to down sum change. | |
double | sumUpChange () const |
Up sum change. | |
void | setSumUpChange (double value) |
Set up sum change. | |
void | addToSumUpChange (double value) |
Add to up sum change and set last and square. | |
double | sumDownDecrease () const |
Sum down decrease number infeasibilities from strong or actual. | |
void | setSumDownDecrease (double value) |
Set sum down decrease number infeasibilities from strong or actual. | |
void | addToSumDownDecrease (double value) |
Add to sum down decrease number infeasibilities from strong or actual. | |
double | sumUpDecrease () const |
Sum up decrease number infeasibilities from strong or actual. | |
void | setSumUpDecrease (double value) |
Set sum up decrease number infeasibilities from strong or actual. | |
void | addToSumUpDecrease (double value) |
Add to sum up decrease number infeasibilities from strong or actual. | |
int | numberTimesDown () const |
Down number times. | |
void | setNumberTimesDown (int value) |
Set down number times. | |
void | incrementNumberTimesDown () |
Increment down number times. | |
int | numberTimesUp () const |
Up number times. | |
void | setNumberTimesUp (int value) |
Set up number times. | |
void | incrementNumberTimesUp () |
Increment up number times. | |
int | numberTimesDownInfeasible () const |
Down number times infeasible. | |
void | setNumberTimesDownInfeasible (int value) |
Set down number times infeasible. | |
void | incrementNumberTimesDownInfeasible () |
Increment down number times infeasible. | |
int | numberTimesUpInfeasible () const |
Up number times infeasible. | |
void | setNumberTimesUpInfeasible (int value) |
Set up number times infeasible. | |
void | incrementNumberTimesUpInfeasible () |
Increment up number times infeasible. | |
int | numberBeforeTrust () const |
Number of times before trusted. | |
void | setNumberBeforeTrust (int value) |
Set number of times before trusted. | |
void | incrementNumberBeforeTrust () |
Increment number of times before trusted. | |
virtual double | upEstimate () const |
Return "up" estimate. | |
virtual double | downEstimate () const |
Return "down" estimate (default 1.0e-5) | |
int | method () const |
method - see below for details | |
void | setMethod (int value) |
Set method. | |
void | setDownInformation (double changeObjectiveDown, int changeInfeasibilityDown) |
Pass in information on a down branch. | |
void | setUpInformation (double changeObjectiveUp, int changeInfeasibilityUp) |
Pass in information on a up branch. | |
void | setProbingInformation (int fixedDown, int fixedUp) |
Pass in probing information. | |
void | print (int type=0, double value=0.0) const |
Print - 0 -summary, 1 just before strong. | |
bool | same (const CbcSimpleIntegerDynamicPseudoCost *obj) const |
Same - returns true if contents match(ish) | |
![]() | |
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. | |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Set bounds to fix the variable at the current (integer) value. | |
virtual OsiSolverBranch * | solverBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Create an OsiSolverBranch object. | |
virtual void | feasibleRegion () |
Set bounds to fix the variable at the current (integer) value. | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, so returns >= 0 Used by heuristics. | |
void | setColumnNumber (int value) |
Set column number. | |
virtual void | resetBounds (const OsiSolverInterface *solver) |
Reset variable bounds to their original values. | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Change column numbers after preprocessing. | |
double | originalLowerBound () const |
Original bounds. | |
void | setOriginalLowerBound (double value) |
double | originalUpperBound () const |
void | setOriginalUpperBound (double value) |
double | breakEven () const |
Breakeven e.g 0.7 -> >= 0.7 go up first. | |
void | setBreakEven (double value) |
Set breakeven e.g 0.7 -> >= 0.7 go up first. | |
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. | |
virtual double | feasibleRegion (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Set bounds to fix the variable at the current (integer) value. | |
virtual OsiSolverBranch * | solverBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info) const |
Create an OsiSolverBranch object. | |
virtual void | feasibleRegion () |
Set bounds to fix the variable at the current (integer) value. | |
virtual int | columnNumber () const |
Column number if single column object -1 otherwise, so returns >= 0 Used by heuristics. | |
void | setColumnNumber (int value) |
Set column number. | |
virtual void | resetBounds (const OsiSolverInterface *solver) |
Reset variable bounds to their original values. | |
virtual void | resetSequenceEtc (int numberColumns, const int *originalColumns) |
Change column numbers after preprocessing. | |
double | originalLowerBound () const |
Original bounds. | |
void | setOriginalLowerBound (double value) |
double | originalUpperBound () const |
void | setOriginalUpperBound (double value) |
double | breakEven () const |
Breakeven e.g 0.7 -> >= 0.7 go up first. | |
void | setBreakEven (double value) |
Set breakeven e.g 0.7 -> >= 0.7 go up first. | |
![]() | |
CbcObject () | |
CbcObject (CbcModel *model) | |
CbcObject (const CbcObject &) | |
CbcObject & | operator= (const CbcObject &rhs) |
virtual | ~CbcObject () |
Destructor. | |
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. | |
virtual CbcBranchingObject * | createBranch (OsiSolverInterface *, const OsiBranchingInformation *, int) |
virtual OsiBranchingObject * | createOsiBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Create an Osibranching object and indicate which way to branch first. | |
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 | 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) | |
void | setId (int value) |
Set identifier (normally column number in matrix) but 1000000000 to 1100000000 means optional branching object i.e. | |
bool | optionalObject () const |
Return true if optional branching object i.e. | |
int | position () const |
Get position in object_ list. | |
void | setPosition (int position) |
Set position in object_ list. | |
void | setModel (CbcModel *model) |
update model | |
CbcModel * | model () const |
Return model. | |
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 *, int, const int *) |
Redoes data when sequence numbers change. | |
CbcObject () | |
CbcObject (CbcModel *model) | |
CbcObject (const CbcObject &) | |
CbcObject & | operator= (const CbcObject &rhs) |
virtual | ~CbcObject () |
Destructor. | |
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. | |
virtual CbcBranchingObject * | createBranch (OsiSolverInterface *, const OsiBranchingInformation *, int) |
virtual OsiBranchingObject * | createOsiBranch (OsiSolverInterface *solver, const OsiBranchingInformation *info, int way) const |
Create an Osibranching object and indicate which way to branch first. | |
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 | 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) | |
void | setId (int value) |
Set identifier (normally column number in matrix) but 1000000000 to 1100000000 means optional branching object i.e. | |
bool | optionalObject () const |
Return true if optional branching object i.e. | |
int | position () const |
Get position in object_ list. | |
void | setPosition (int position) |
Set position in object_ list. | |
void | setModel (CbcModel *model) |
update model | |
CbcModel * | model () const |
Return model. | |
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 *, int, const int *) |
Redoes data when sequence numbers change. |
Protected Attributes | |
double | downDynamicPseudoCost_ |
data | |
double | upDynamicPseudoCost_ |
Up pseudo cost. | |
double | upDownSeparator_ |
Up/down separator If >0.0 then do first branch up if value-floor(value) >= this value. | |
double | sumDownCost_ |
Sum down cost from strong or actual. | |
double | sumUpCost_ |
Sum up cost from strong or actual. | |
double | sumDownChange_ |
Sum of all changes to x when going down. | |
double | sumUpChange_ |
Sum of all changes to x when going up. | |
double | downShadowPrice_ |
Current pseudo-shadow price estimate down. | |
double | upShadowPrice_ |
Current pseudo-shadow price estimate up. | |
double | sumDownDecrease_ |
Sum down decrease number infeasibilities from strong or actual. | |
double | sumUpDecrease_ |
Sum up decrease number infeasibilities from strong or actual. | |
double | lastDownCost_ |
Last down cost from strong (i.e. as computed by last strong) | |
double | lastUpCost_ |
Last up cost from strong (i.e. as computed by last strong) | |
int | lastDownDecrease_ |
Last down decrease number infeasibilities from strong (i.e. as computed by last strong) | |
int | lastUpDecrease_ |
Last up decrease number infeasibilities from strong (i.e. as computed by last strong) | |
int | numberTimesDown_ |
Number of times we have gone down. | |
int | numberTimesUp_ |
Number of times we have gone up. | |
int | numberTimesDownInfeasible_ |
Number of times we have been infeasible going down. | |
int | numberTimesUpInfeasible_ |
Number of times we have been infeasible going up. | |
int | numberBeforeTrust_ |
Number of branches before we trust. | |
int | numberTimesDownLocalFixed_ |
Number of local probing fixings going down. | |
int | numberTimesUpLocalFixed_ |
Number of local probing fixings going up. | |
double | numberTimesDownTotalFixed_ |
Number of total probing fixings going down. | |
double | numberTimesUpTotalFixed_ |
Number of total probing fixings going up. | |
int | numberTimesProbingTotal_ |
Number of times probing done. | |
int | method_ |
Number of times infeasible when tested. | |
![]() | |
double | originalLower_ |
data | |
double | originalUpper_ |
Original upper bound. | |
double | breakEven_ |
Breakeven i.e. >= this preferred is up. | |
int | columnNumber_ |
Column number in model. | |
int | preferredWay_ |
If -1 down always chosen first, +1 up always, 0 normal. | |
![]() | |
CbcModel * | model_ |
data | |
int | id_ |
Identifier (normally column number in matrix) | |
int | position_ |
Position in object list. |
Define a single integer class but with dynamic pseudo costs.
Based on work by Achterberg, Koch and Martin.
It is wild overkill but to keep design all twiddly things are in each. This could be used for fine tuning.
Definition at line 29 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | ) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, |
int | iColumn, | ||
double | breakEven = 0.5 |
||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, |
int | iColumn, | ||
double | downDynamicPseudoCost, | ||
double | upDynamicPseudoCost | ||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, |
int | dummy, | ||
int | iColumn, | ||
double | downDynamicPseudoCost, | ||
double | upDynamicPseudoCost | ||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | const CbcSimpleIntegerDynamicPseudoCost & | ) |
|
virtual |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | ) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, |
int | iColumn, | ||
double | breakEven = 0.5 |
||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, |
int | iColumn, | ||
double | downDynamicPseudoCost, | ||
double | upDynamicPseudoCost | ||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, |
int | dummy, | ||
int | iColumn, | ||
double | downDynamicPseudoCost, | ||
double | upDynamicPseudoCost | ||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | const CbcSimpleIntegerDynamicPseudoCost & | ) |
|
virtual |
|
virtual |
Clone.
Reimplemented from CbcSimpleInteger.
CbcSimpleIntegerDynamicPseudoCost& CbcSimpleIntegerDynamicPseudoCost::operator= | ( | const CbcSimpleIntegerDynamicPseudoCost & | rhs | ) |
|
virtual |
Infeasibility - large is 0.5.
Reimplemented from CbcSimpleInteger.
|
virtual |
Creates a branching object.
Reimplemented from CbcSimpleInteger.
void CbcSimpleIntegerDynamicPseudoCost::fillCreateBranch | ( | CbcIntegerBranchingObject * | branching, |
const OsiBranchingInformation * | info, | ||
int | way | ||
) |
Fills in a created branching object.
Reimplemented from CbcSimpleInteger.
|
virtual |
Pass in information on branch just done and create CbcObjectUpdateData instance.
If object does not need data then backward pointer will be NULL. Assumes can get information from solver
Reimplemented from CbcObject.
|
virtual |
Update object by CbcObjectUpdateData.
Reimplemented from CbcObject.
void CbcSimpleIntegerDynamicPseudoCost::copySome | ( | const CbcSimpleIntegerDynamicPseudoCost * | otherObject | ) |
Copy some information i.e. just variable stuff.
|
virtual |
Updates stuff like pseudocosts before threads.
|
virtual |
Updates stuff like pseudocosts after threads finished.
void CbcSimpleIntegerDynamicPseudoCost::updateAfterMini | ( | int | numberDown, |
int | numberDownInfeasible, | ||
double | sumDown, | ||
int | numberUp, | ||
int | numberUpInfeasible, | ||
double | sumUp | ||
) |
Updates stuff like pseudocosts after mini branch and bound.
|
virtual |
Create an OsiSolverBranch object.
This returns NULL if branch not represented by bound changes
Reimplemented from CbcObject.
|
inline |
Down pseudo cost.
Definition at line 97 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
void CbcSimpleIntegerDynamicPseudoCost::setDownDynamicPseudoCost | ( | double | value | ) |
Set down pseudo cost.
void CbcSimpleIntegerDynamicPseudoCost::updateDownDynamicPseudoCost | ( | double | value | ) |
Modify down pseudo cost in a slightly different way.
|
inline |
Up pseudo cost.
Definition at line 106 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
void CbcSimpleIntegerDynamicPseudoCost::setUpDynamicPseudoCost | ( | double | value | ) |
Set up pseudo cost.
void CbcSimpleIntegerDynamicPseudoCost::updateUpDynamicPseudoCost | ( | double | value | ) |
Modify up pseudo cost in a slightly different way.
|
inline |
Down pseudo shadow price cost.
Definition at line 115 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down pseudo shadow price cost.
Definition at line 119 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up pseudo shadow price cost.
Definition at line 123 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up pseudo shadow price cost.
Definition at line 127 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up down separator.
Definition at line 132 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up down separator.
Definition at line 136 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down sum cost.
Definition at line 141 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down sum cost.
Definition at line 145 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to down sum cost and set last and square.
Definition at line 149 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up sum cost.
Definition at line 155 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up sum cost.
Definition at line 159 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to up sum cost and set last and square.
Definition at line 163 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down sum change.
Definition at line 169 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down sum change.
Definition at line 173 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to down sum change.
Definition at line 177 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up sum change.
Definition at line 182 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up sum change.
Definition at line 186 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to up sum change and set last and square.
Definition at line 190 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Sum down decrease number infeasibilities from strong or actual.
Definition at line 195 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set sum down decrease number infeasibilities from strong or actual.
Definition at line 199 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to sum down decrease number infeasibilities from strong or actual.
Definition at line 203 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Sum up decrease number infeasibilities from strong or actual.
Definition at line 208 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set sum up decrease number infeasibilities from strong or actual.
Definition at line 212 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to sum up decrease number infeasibilities from strong or actual.
Definition at line 216 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down number times.
Definition at line 221 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down number times.
Definition at line 225 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment down number times.
Definition at line 229 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up number times.
Definition at line 234 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up number times.
Definition at line 238 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment up number times.
Definition at line 242 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down number times infeasible.
Definition at line 247 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down number times infeasible.
Definition at line 251 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment down number times infeasible.
Definition at line 255 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up number times infeasible.
Definition at line 260 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up number times infeasible.
Definition at line 264 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment up number times infeasible.
Definition at line 268 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Number of times before trusted.
Definition at line 273 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set number of times before trusted.
Definition at line 277 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment number of times before trusted.
Definition at line 281 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
virtual |
Return "up" estimate.
|
virtual |
Return "down" estimate (default 1.0e-5)
|
inline |
method - see below for details
Definition at line 291 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set method.
Definition at line 295 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
void CbcSimpleIntegerDynamicPseudoCost::setDownInformation | ( | double | changeObjectiveDown, |
int | changeInfeasibilityDown | ||
) |
Pass in information on a down branch.
void CbcSimpleIntegerDynamicPseudoCost::setUpInformation | ( | double | changeObjectiveUp, |
int | changeInfeasibilityUp | ||
) |
Pass in information on a up branch.
void CbcSimpleIntegerDynamicPseudoCost::setProbingInformation | ( | int | fixedDown, |
int | fixedUp | ||
) |
Pass in probing information.
void CbcSimpleIntegerDynamicPseudoCost::print | ( | int | type = 0 , |
double | value = 0.0 |
||
) | const |
Print - 0 -summary, 1 just before strong.
bool CbcSimpleIntegerDynamicPseudoCost::same | ( | const CbcSimpleIntegerDynamicPseudoCost * | obj | ) | const |
Same - returns true if contents match(ish)
|
virtual |
Clone.
Reimplemented from CbcSimpleInteger.
CbcSimpleIntegerDynamicPseudoCost& CbcSimpleIntegerDynamicPseudoCost::operator= | ( | const CbcSimpleIntegerDynamicPseudoCost & | rhs | ) |
|
virtual |
Infeasibility - large is 0.5.
Reimplemented from CbcSimpleInteger.
|
virtual |
Creates a branching object.
Reimplemented from CbcSimpleInteger.
void CbcSimpleIntegerDynamicPseudoCost::fillCreateBranch | ( | CbcIntegerBranchingObject * | branching, |
const OsiBranchingInformation * | info, | ||
int | way | ||
) |
Fills in a created branching object.
Reimplemented from CbcSimpleInteger.
|
virtual |
Pass in information on branch just done and create CbcObjectUpdateData instance.
If object does not need data then backward pointer will be NULL. Assumes can get information from solver
Reimplemented from CbcObject.
|
virtual |
Update object by CbcObjectUpdateData.
Reimplemented from CbcObject.
void CbcSimpleIntegerDynamicPseudoCost::copySome | ( | const CbcSimpleIntegerDynamicPseudoCost * | otherObject | ) |
Copy some information i.e. just variable stuff.
|
virtual |
Updates stuff like pseudocosts before threads.
|
virtual |
Updates stuff like pseudocosts after threads finished.
void CbcSimpleIntegerDynamicPseudoCost::updateAfterMini | ( | int | numberDown, |
int | numberDownInfeasible, | ||
double | sumDown, | ||
int | numberUp, | ||
int | numberUpInfeasible, | ||
double | sumUp | ||
) |
Updates stuff like pseudocosts after mini branch and bound.
|
virtual |
Create an OsiSolverBranch object.
This returns NULL if branch not represented by bound changes
Reimplemented from CbcObject.
|
inline |
Down pseudo cost.
Definition at line 97 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
void CbcSimpleIntegerDynamicPseudoCost::setDownDynamicPseudoCost | ( | double | value | ) |
Set down pseudo cost.
void CbcSimpleIntegerDynamicPseudoCost::updateDownDynamicPseudoCost | ( | double | value | ) |
Modify down pseudo cost in a slightly different way.
|
inline |
Up pseudo cost.
Definition at line 106 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
void CbcSimpleIntegerDynamicPseudoCost::setUpDynamicPseudoCost | ( | double | value | ) |
Set up pseudo cost.
void CbcSimpleIntegerDynamicPseudoCost::updateUpDynamicPseudoCost | ( | double | value | ) |
Modify up pseudo cost in a slightly different way.
|
inline |
Down pseudo shadow price cost.
Definition at line 115 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down pseudo shadow price cost.
Definition at line 119 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up pseudo shadow price cost.
Definition at line 123 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up pseudo shadow price cost.
Definition at line 127 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up down separator.
Definition at line 132 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up down separator.
Definition at line 136 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down sum cost.
Definition at line 141 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down sum cost.
Definition at line 145 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to down sum cost and set last and square.
Definition at line 149 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up sum cost.
Definition at line 155 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up sum cost.
Definition at line 159 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to up sum cost and set last and square.
Definition at line 163 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down sum change.
Definition at line 169 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down sum change.
Definition at line 173 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to down sum change.
Definition at line 177 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up sum change.
Definition at line 182 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up sum change.
Definition at line 186 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to up sum change and set last and square.
Definition at line 190 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Sum down decrease number infeasibilities from strong or actual.
Definition at line 195 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set sum down decrease number infeasibilities from strong or actual.
Definition at line 199 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to sum down decrease number infeasibilities from strong or actual.
Definition at line 203 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Sum up decrease number infeasibilities from strong or actual.
Definition at line 208 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set sum up decrease number infeasibilities from strong or actual.
Definition at line 212 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Add to sum up decrease number infeasibilities from strong or actual.
Definition at line 216 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down number times.
Definition at line 221 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down number times.
Definition at line 225 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment down number times.
Definition at line 229 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up number times.
Definition at line 234 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up number times.
Definition at line 238 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment up number times.
Definition at line 242 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Down number times infeasible.
Definition at line 247 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set down number times infeasible.
Definition at line 251 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment down number times infeasible.
Definition at line 255 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Up number times infeasible.
Definition at line 260 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set up number times infeasible.
Definition at line 264 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment up number times infeasible.
Definition at line 268 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Number of times before trusted.
Definition at line 273 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set number of times before trusted.
Definition at line 277 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Increment number of times before trusted.
Definition at line 281 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
virtual |
Return "up" estimate.
|
virtual |
Return "down" estimate (default 1.0e-5)
|
inline |
method - see below for details
Definition at line 291 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
inline |
Set method.
Definition at line 295 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
void CbcSimpleIntegerDynamicPseudoCost::setDownInformation | ( | double | changeObjectiveDown, |
int | changeInfeasibilityDown | ||
) |
Pass in information on a down branch.
void CbcSimpleIntegerDynamicPseudoCost::setUpInformation | ( | double | changeObjectiveUp, |
int | changeInfeasibilityUp | ||
) |
Pass in information on a up branch.
void CbcSimpleIntegerDynamicPseudoCost::setProbingInformation | ( | int | fixedDown, |
int | fixedUp | ||
) |
Pass in probing information.
void CbcSimpleIntegerDynamicPseudoCost::print | ( | int | type = 0 , |
double | value = 0.0 |
||
) | const |
Print - 0 -summary, 1 just before strong.
bool CbcSimpleIntegerDynamicPseudoCost::same | ( | const CbcSimpleIntegerDynamicPseudoCost * | obj | ) | const |
Same - returns true if contents match(ish)
|
protected |
|
protected |
Up pseudo cost.
Definition at line 316 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Up/down separator If >0.0 then do first branch up if value-floor(value) >= this value.
Definition at line 321 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Sum down cost from strong or actual.
Definition at line 323 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Sum up cost from strong or actual.
Definition at line 325 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Sum of all changes to x when going down.
Definition at line 327 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Sum of all changes to x when going up.
Definition at line 329 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
mutableprotected |
Current pseudo-shadow price estimate down.
Definition at line 331 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
mutableprotected |
Current pseudo-shadow price estimate up.
Definition at line 333 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Sum down decrease number infeasibilities from strong or actual.
Definition at line 335 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Sum up decrease number infeasibilities from strong or actual.
Definition at line 337 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Last down cost from strong (i.e. as computed by last strong)
Definition at line 339 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Last up cost from strong (i.e. as computed by last strong)
Definition at line 341 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
mutableprotected |
Last down decrease number infeasibilities from strong (i.e. as computed by last strong)
Definition at line 343 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
mutableprotected |
Last up decrease number infeasibilities from strong (i.e. as computed by last strong)
Definition at line 345 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of times we have gone down.
Definition at line 347 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of times we have gone up.
Definition at line 349 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of times we have been infeasible going down.
Definition at line 351 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of times we have been infeasible going up.
Definition at line 353 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of branches before we trust.
Definition at line 355 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of local probing fixings going down.
Definition at line 357 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of local probing fixings going up.
Definition at line 359 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of total probing fixings going down.
Definition at line 361 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of total probing fixings going up.
Definition at line 363 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of times probing done.
Definition at line 365 of file CbcSimpleIntegerDynamicPseudoCost.hpp.
|
protected |
Number of times infeasible when tested.
Method - 0 - pseudo costs 1 - probing
Definition at line 371 of file CbcSimpleIntegerDynamicPseudoCost.hpp.