#include <CbcBranchDynamic.hpp>
Inheritance diagram for CbcSimpleIntegerDynamicPseudoCost:
Public Member Functions | |
CbcSimpleIntegerDynamicPseudoCost () | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int sequence, int iColumn, double breakEven=0.5) | |
CbcSimpleIntegerDynamicPseudoCost (CbcModel *model, int sequence, int iColumn, double downDynamicPseudoCost, double upDynamicPseudoCost) | |
CbcSimpleIntegerDynamicPseudoCost (const CbcSimpleIntegerDynamicPseudoCost &) | |
virtual CbcObject * | clone () const |
Clone. | |
CbcSimpleIntegerDynamicPseudoCost & | operator= (const CbcSimpleIntegerDynamicPseudoCost &rhs) |
~CbcSimpleIntegerDynamicPseudoCost () | |
virtual double | infeasibility (int &preferredWay) const |
Infeasibility - large is 0.5. | |
virtual CbcBranchingObject * | createBranch (int way) |
Creates a branching object. | |
virtual OsiSolverBranch * | solverBranch () const |
Create an OsiSolverBranch object. | |
double | downDynamicPseudoCost () const |
Down pseudo cost. | |
void | setDownDynamicPseudoCost (double value) |
Set down pseudo cost. | |
double | upDynamicPseudoCost () const |
Up pseudo cost. | |
void | setUpDynamicPseudoCost (double value) |
Set up pseudo 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. | |
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 | print (int type=0, double value=0.0) const |
Print - 0 -summary, 1 just before strong. | |
Protected Attributes | |
double | downDynamicPseudoCost_ |
Down pseudo cost. | |
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 | sumDownCostSquared_ |
Sum down cost from strong or actual squared. | |
double | sumUpCostSquared_ |
Sum up cost from strong or actual squared. | |
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 | method_ |
Method - ?? |
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 19 of file CbcBranchDynamic.hpp.
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | ) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, | |
int | sequence, | |||
int | iColumn, | |||
double | breakEven = 0.5 | |||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | CbcModel * | model, | |
int | sequence, | |||
int | iColumn, | |||
double | downDynamicPseudoCost, | |||
double | upDynamicPseudoCost | |||
) |
CbcSimpleIntegerDynamicPseudoCost::CbcSimpleIntegerDynamicPseudoCost | ( | const CbcSimpleIntegerDynamicPseudoCost & | ) |
CbcSimpleIntegerDynamicPseudoCost::~CbcSimpleIntegerDynamicPseudoCost | ( | ) |
virtual CbcObject* CbcSimpleIntegerDynamicPseudoCost::clone | ( | ) | const [virtual] |
CbcSimpleIntegerDynamicPseudoCost& CbcSimpleIntegerDynamicPseudoCost::operator= | ( | const CbcSimpleIntegerDynamicPseudoCost & | rhs | ) |
virtual double CbcSimpleIntegerDynamicPseudoCost::infeasibility | ( | int & | preferredWay | ) | const [virtual] |
virtual CbcBranchingObject* CbcSimpleIntegerDynamicPseudoCost::createBranch | ( | int | way | ) | [virtual] |
virtual OsiSolverBranch* CbcSimpleIntegerDynamicPseudoCost::solverBranch | ( | ) | const [virtual] |
Create an OsiSolverBranch object.
This returns NULL if branch not represented by bound changes
Reimplemented from CbcSimpleInteger.
double CbcSimpleIntegerDynamicPseudoCost::downDynamicPseudoCost | ( | ) | const [inline] |
Down pseudo cost.
Definition at line 58 of file CbcBranchDynamic.hpp.
References downDynamicPseudoCost_.
void CbcSimpleIntegerDynamicPseudoCost::setDownDynamicPseudoCost | ( | double | value | ) | [inline] |
Set down pseudo cost.
Definition at line 61 of file CbcBranchDynamic.hpp.
References downDynamicPseudoCost_.
double CbcSimpleIntegerDynamicPseudoCost::upDynamicPseudoCost | ( | ) | const [inline] |
Up pseudo cost.
Definition at line 65 of file CbcBranchDynamic.hpp.
References upDynamicPseudoCost_.
void CbcSimpleIntegerDynamicPseudoCost::setUpDynamicPseudoCost | ( | double | value | ) | [inline] |
Set up pseudo cost.
Definition at line 68 of file CbcBranchDynamic.hpp.
References upDynamicPseudoCost_.
double CbcSimpleIntegerDynamicPseudoCost::upDownSeparator | ( | ) | const [inline] |
void CbcSimpleIntegerDynamicPseudoCost::setUpDownSeparator | ( | double | value | ) | [inline] |
Set up down separator.
Definition at line 75 of file CbcBranchDynamic.hpp.
References upDownSeparator_.
double CbcSimpleIntegerDynamicPseudoCost::sumDownCost | ( | ) | const [inline] |
void CbcSimpleIntegerDynamicPseudoCost::setSumDownCost | ( | double | value | ) | [inline] |
void CbcSimpleIntegerDynamicPseudoCost::addToSumDownCost | ( | double | value | ) | [inline] |
Add to down sum cost and set last and square.
Definition at line 85 of file CbcBranchDynamic.hpp.
References lastDownCost_, sumDownCost_, and sumDownCostSquared_.
double CbcSimpleIntegerDynamicPseudoCost::sumUpCost | ( | ) | const [inline] |
void CbcSimpleIntegerDynamicPseudoCost::setSumUpCost | ( | double | value | ) | [inline] |
void CbcSimpleIntegerDynamicPseudoCost::addToSumUpCost | ( | double | value | ) | [inline] |
Add to up sum cost and set last and square.
Definition at line 95 of file CbcBranchDynamic.hpp.
References lastUpCost_, sumUpCost_, and sumUpCostSquared_.
double CbcSimpleIntegerDynamicPseudoCost::sumDownChange | ( | ) | const [inline] |
void CbcSimpleIntegerDynamicPseudoCost::setSumDownChange | ( | double | value | ) | [inline] |
Set down sum change.
Definition at line 102 of file CbcBranchDynamic.hpp.
References sumDownChange_.
void CbcSimpleIntegerDynamicPseudoCost::addToSumDownChange | ( | double | value | ) | [inline] |
Add to down sum change.
Definition at line 105 of file CbcBranchDynamic.hpp.
References sumDownChange_.
double CbcSimpleIntegerDynamicPseudoCost::sumUpChange | ( | ) | const [inline] |
void CbcSimpleIntegerDynamicPseudoCost::setSumUpChange | ( | double | value | ) | [inline] |
void CbcSimpleIntegerDynamicPseudoCost::addToSumUpChange | ( | double | value | ) | [inline] |
Add to up sum change and set last and square.
Definition at line 115 of file CbcBranchDynamic.hpp.
References sumUpChange_.
double CbcSimpleIntegerDynamicPseudoCost::sumDownDecrease | ( | ) | const [inline] |
Sum down decrease number infeasibilities from strong or actual.
Definition at line 119 of file CbcBranchDynamic.hpp.
References sumDownDecrease_.
void CbcSimpleIntegerDynamicPseudoCost::setSumDownDecrease | ( | double | value | ) | [inline] |
Set sum down decrease number infeasibilities from strong or actual.
Definition at line 122 of file CbcBranchDynamic.hpp.
References sumDownDecrease_.
void CbcSimpleIntegerDynamicPseudoCost::addToSumDownDecrease | ( | double | value | ) | [inline] |
Add to sum down decrease number infeasibilities from strong or actual.
Definition at line 125 of file CbcBranchDynamic.hpp.
References lastDownDecrease_, and sumDownDecrease_.
double CbcSimpleIntegerDynamicPseudoCost::sumUpDecrease | ( | ) | const [inline] |
Sum up decrease number infeasibilities from strong or actual.
Definition at line 129 of file CbcBranchDynamic.hpp.
References sumUpDecrease_.
void CbcSimpleIntegerDynamicPseudoCost::setSumUpDecrease | ( | double | value | ) | [inline] |
Set sum up decrease number infeasibilities from strong or actual.
Definition at line 132 of file CbcBranchDynamic.hpp.
References sumUpDecrease_.
void CbcSimpleIntegerDynamicPseudoCost::addToSumUpDecrease | ( | double | value | ) | [inline] |
Add to sum up decrease number infeasibilities from strong or actual.
Definition at line 135 of file CbcBranchDynamic.hpp.
References lastUpDecrease_, and sumUpDecrease_.
int CbcSimpleIntegerDynamicPseudoCost::numberTimesDown | ( | ) | const [inline] |
Down number times.
Definition at line 139 of file CbcBranchDynamic.hpp.
References numberTimesDown_.
void CbcSimpleIntegerDynamicPseudoCost::setNumberTimesDown | ( | int | value | ) | [inline] |
Set down number times.
Definition at line 142 of file CbcBranchDynamic.hpp.
References numberTimesDown_.
void CbcSimpleIntegerDynamicPseudoCost::incrementNumberTimesDown | ( | ) | [inline] |
Increment down number times.
Definition at line 145 of file CbcBranchDynamic.hpp.
References numberTimesDown_.
int CbcSimpleIntegerDynamicPseudoCost::numberTimesUp | ( | ) | const [inline] |
void CbcSimpleIntegerDynamicPseudoCost::setNumberTimesUp | ( | int | value | ) | [inline] |
Set up number times.
Definition at line 152 of file CbcBranchDynamic.hpp.
References numberTimesUp_.
void CbcSimpleIntegerDynamicPseudoCost::incrementNumberTimesUp | ( | ) | [inline] |
Increment up number times.
Definition at line 155 of file CbcBranchDynamic.hpp.
References numberTimesUp_.
int CbcSimpleIntegerDynamicPseudoCost::numberTimesDownInfeasible | ( | ) | const [inline] |
Down number times infeasible.
Definition at line 159 of file CbcBranchDynamic.hpp.
References numberTimesDownInfeasible_.
void CbcSimpleIntegerDynamicPseudoCost::setNumberTimesDownInfeasible | ( | int | value | ) | [inline] |
Set down number times infeasible.
Definition at line 162 of file CbcBranchDynamic.hpp.
References numberTimesDownInfeasible_.
void CbcSimpleIntegerDynamicPseudoCost::incrementNumberTimesDownInfeasible | ( | ) | [inline] |
Increment down number times infeasible.
Definition at line 165 of file CbcBranchDynamic.hpp.
References numberTimesDownInfeasible_.
int CbcSimpleIntegerDynamicPseudoCost::numberTimesUpInfeasible | ( | ) | const [inline] |
Up number times infeasible.
Definition at line 169 of file CbcBranchDynamic.hpp.
References numberTimesUpInfeasible_.
void CbcSimpleIntegerDynamicPseudoCost::setNumberTimesUpInfeasible | ( | int | value | ) | [inline] |
Set up number times infeasible.
Definition at line 172 of file CbcBranchDynamic.hpp.
References numberTimesUpInfeasible_.
void CbcSimpleIntegerDynamicPseudoCost::incrementNumberTimesUpInfeasible | ( | ) | [inline] |
Increment up number times infeasible.
Definition at line 175 of file CbcBranchDynamic.hpp.
References numberTimesUpInfeasible_.
int CbcSimpleIntegerDynamicPseudoCost::numberBeforeTrust | ( | ) | const [inline] |
Number of times before trusted.
Definition at line 179 of file CbcBranchDynamic.hpp.
References numberBeforeTrust_.
void CbcSimpleIntegerDynamicPseudoCost::setNumberBeforeTrust | ( | int | value | ) | [inline] |
Set number of times before trusted.
Definition at line 182 of file CbcBranchDynamic.hpp.
References numberBeforeTrust_.
virtual double CbcSimpleIntegerDynamicPseudoCost::upEstimate | ( | ) | const [virtual] |
virtual double CbcSimpleIntegerDynamicPseudoCost::downEstimate | ( | ) | const [virtual] |
int CbcSimpleIntegerDynamicPseudoCost::method | ( | ) | const [inline] |
method - see below for details
Definition at line 191 of file CbcBranchDynamic.hpp.
References method_.
void CbcSimpleIntegerDynamicPseudoCost::setMethod | ( | int | value | ) | [inline] |
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::print | ( | int | type = 0 , |
|
double | value = 0.0 | |||
) | const |
Print - 0 -summary, 1 just before strong.
double CbcSimpleIntegerDynamicPseudoCost::downDynamicPseudoCost_ [protected] |
Down pseudo cost.
Definition at line 208 of file CbcBranchDynamic.hpp.
Referenced by downDynamicPseudoCost(), and setDownDynamicPseudoCost().
double CbcSimpleIntegerDynamicPseudoCost::upDynamicPseudoCost_ [protected] |
Up pseudo cost.
Definition at line 210 of file CbcBranchDynamic.hpp.
Referenced by setUpDynamicPseudoCost(), and upDynamicPseudoCost().
double CbcSimpleIntegerDynamicPseudoCost::upDownSeparator_ [protected] |
Up/down separator If >0.0 then do first branch up if value-floor(value) >= this value.
Definition at line 215 of file CbcBranchDynamic.hpp.
Referenced by setUpDownSeparator(), and upDownSeparator().
double CbcSimpleIntegerDynamicPseudoCost::sumDownCost_ [protected] |
Sum down cost from strong or actual.
Definition at line 217 of file CbcBranchDynamic.hpp.
Referenced by addToSumDownCost(), setSumDownCost(), and sumDownCost().
double CbcSimpleIntegerDynamicPseudoCost::sumUpCost_ [protected] |
Sum up cost from strong or actual.
Definition at line 219 of file CbcBranchDynamic.hpp.
Referenced by addToSumUpCost(), setSumUpCost(), and sumUpCost().
double CbcSimpleIntegerDynamicPseudoCost::sumDownChange_ [protected] |
Sum of all changes to x when going down.
Definition at line 221 of file CbcBranchDynamic.hpp.
Referenced by addToSumDownChange(), setSumDownChange(), and sumDownChange().
double CbcSimpleIntegerDynamicPseudoCost::sumUpChange_ [protected] |
Sum of all changes to x when going up.
Definition at line 223 of file CbcBranchDynamic.hpp.
Referenced by addToSumUpChange(), setSumUpChange(), and sumUpChange().
double CbcSimpleIntegerDynamicPseudoCost::sumDownCostSquared_ [protected] |
Sum down cost from strong or actual squared.
Definition at line 225 of file CbcBranchDynamic.hpp.
Referenced by addToSumDownCost().
double CbcSimpleIntegerDynamicPseudoCost::sumUpCostSquared_ [protected] |
Sum up cost from strong or actual squared.
Definition at line 227 of file CbcBranchDynamic.hpp.
Referenced by addToSumUpCost().
double CbcSimpleIntegerDynamicPseudoCost::sumDownDecrease_ [protected] |
Sum down decrease number infeasibilities from strong or actual.
Definition at line 229 of file CbcBranchDynamic.hpp.
Referenced by addToSumDownDecrease(), setSumDownDecrease(), and sumDownDecrease().
double CbcSimpleIntegerDynamicPseudoCost::sumUpDecrease_ [protected] |
Sum up decrease number infeasibilities from strong or actual.
Definition at line 231 of file CbcBranchDynamic.hpp.
Referenced by addToSumUpDecrease(), setSumUpDecrease(), and sumUpDecrease().
double CbcSimpleIntegerDynamicPseudoCost::lastDownCost_ [protected] |
Last down cost from strong (i.e. as computed by last strong).
Definition at line 233 of file CbcBranchDynamic.hpp.
Referenced by addToSumDownCost().
double CbcSimpleIntegerDynamicPseudoCost::lastUpCost_ [protected] |
Last up cost from strong (i.e. as computed by last strong).
Definition at line 235 of file CbcBranchDynamic.hpp.
Referenced by addToSumUpCost().
int CbcSimpleIntegerDynamicPseudoCost::lastDownDecrease_ [protected] |
Last down decrease number infeasibilities from strong (i.e. as computed by last strong).
Definition at line 237 of file CbcBranchDynamic.hpp.
Referenced by addToSumDownDecrease().
int CbcSimpleIntegerDynamicPseudoCost::lastUpDecrease_ [protected] |
Last up decrease number infeasibilities from strong (i.e. as computed by last strong).
Definition at line 239 of file CbcBranchDynamic.hpp.
Referenced by addToSumUpDecrease().
int CbcSimpleIntegerDynamicPseudoCost::numberTimesDown_ [protected] |
Number of times we have gone down.
Definition at line 241 of file CbcBranchDynamic.hpp.
Referenced by incrementNumberTimesDown(), numberTimesDown(), and setNumberTimesDown().
int CbcSimpleIntegerDynamicPseudoCost::numberTimesUp_ [protected] |
Number of times we have gone up.
Definition at line 243 of file CbcBranchDynamic.hpp.
Referenced by incrementNumberTimesUp(), numberTimesUp(), and setNumberTimesUp().
int CbcSimpleIntegerDynamicPseudoCost::numberTimesDownInfeasible_ [protected] |
Number of times we have been infeasible going down.
Definition at line 245 of file CbcBranchDynamic.hpp.
Referenced by incrementNumberTimesDownInfeasible(), numberTimesDownInfeasible(), and setNumberTimesDownInfeasible().
int CbcSimpleIntegerDynamicPseudoCost::numberTimesUpInfeasible_ [protected] |
Number of times we have been infeasible going up.
Definition at line 247 of file CbcBranchDynamic.hpp.
Referenced by incrementNumberTimesUpInfeasible(), numberTimesUpInfeasible(), and setNumberTimesUpInfeasible().
int CbcSimpleIntegerDynamicPseudoCost::numberBeforeTrust_ [protected] |
Number of branches before we trust.
Definition at line 249 of file CbcBranchDynamic.hpp.
Referenced by numberBeforeTrust(), and setNumberBeforeTrust().
int CbcSimpleIntegerDynamicPseudoCost::method_ [protected] |
Method - ??
Definition at line 253 of file CbcBranchDynamic.hpp.
Referenced by method(), and setMethod().