Public Member Functions | Protected Attributes | Private Member Functions
CbcHeuristicFPump Class Reference

Feasibility Pump class. More...

#include <CbcHeuristicFPump.hpp>

Inheritance diagram for CbcHeuristicFPump:
CbcHeuristic CbcHeuristic

List of all members.

Public Member Functions

 CbcHeuristicFPump ()
 CbcHeuristicFPump (CbcModel &model, double downValue=0.5, bool roundExpensive=false)
 CbcHeuristicFPump (const CbcHeuristicFPump &)
 ~CbcHeuristicFPump ()
CbcHeuristicFPumpoperator= (const CbcHeuristicFPump &rhs)
 Assignment operator.
virtual CbcHeuristicclone () const
 Clone.
virtual void generateCpp (FILE *fp)
 Create C++ lines to get to current state.
virtual void resetModel (CbcModel *model)
 Resets stuff if model changes.
virtual void setModel (CbcModel *model)
 update model (This is needed if cliques update matrix etc)
virtual int solution (double &objectiveValue, double *newSolution)
 returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts.
void setMaximumTime (double value)
 Set maximum Time (default off) - also sets starttime to current.
double maximumTime () const
 Get maximum Time (default 0.0 == time limit off)
void setFakeCutoff (double value)
 Set fake cutoff (default COIN_DBL_MAX == off)
double fakeCutoff () const
 Get fake cutoff (default 0.0 == off)
void setAbsoluteIncrement (double value)
 Set absolute increment (default 0.0 == off)
double absoluteIncrement () const
 Get absolute increment (default 0.0 == off)
void setRelativeIncrement (double value)
 Set relative increment (default 0.0 == off)
double relativeIncrement () const
 Get relative increment (default 0.0 == off)
void setDefaultRounding (double value)
 Set default rounding (default 0.5)
double defaultRounding () const
 Get default rounding (default 0.5)
void setInitialWeight (double value)
 Set initial weight (default 0.0 == off)
double initialWeight () const
 Get initial weight (default 0.0 == off)
void setWeightFactor (double value)
 Set weight factor (default 0.1)
double weightFactor () const
 Get weight factor (default 0.1)
void setArtificialCost (double value)
 Set threshold cost for using original cost - even on continuous (default infinity)
double artificialCost () const
 Get threshold cost for using original cost - even on continuous (default infinity)
double iterationRatio () const
 Get iteration to size ratio.
void setIterationRatio (double value)
 Set iteration to size ratio.
void setMaximumPasses (int value)
 Set maximum passes (default 100)
int maximumPasses () const
 Get maximum passes (default 100)
void setMaximumRetries (int value)
 Set maximum retries (default 1)
int maximumRetries () const
 Get maximum retries (default 1)
void setAccumulate (int value)
 Set use of multiple solutions and solves 0 - do not reuse solves, do not accumulate integer solutions for local search 1 - do not reuse solves, accumulate integer solutions for local search 2 - reuse solves, do not accumulate integer solutions for local search 3 - reuse solves, accumulate integer solutions for local search If we add 4 then use second form of problem (with extra rows and variables for general integers) At some point (date?), I added.
int accumulate () const
 Get accumulation option.
void setFixOnReducedCosts (int value)
 Set whether to fix variables on known solution 0 - do not fix 1 - fix integers on reduced costs 2 - fix integers on reduced costs but only on entry.
int fixOnReducedCosts () const
 Get reduced cost option.
void setReducedCostMultiplier (double value)
 Set reduced cost multiplier 1.0 as normal <1.0 (x) - pretend gap is x* actual gap - just for fixing.
double reducedCostMultiplier () const
 Get reduced cost multiplier.
 CbcHeuristicFPump ()
 CbcHeuristicFPump (CbcModel &model, double downValue=0.5, bool roundExpensive=false)
 CbcHeuristicFPump (const CbcHeuristicFPump &)
 ~CbcHeuristicFPump ()
CbcHeuristicFPumpoperator= (const CbcHeuristicFPump &rhs)
 Assignment operator.
virtual CbcHeuristicclone () const
 Clone.
virtual void generateCpp (FILE *fp)
 Create C++ lines to get to current state.
virtual void resetModel (CbcModel *model)
 Resets stuff if model changes.
virtual void setModel (CbcModel *model)
 update model (This is needed if cliques update matrix etc)
virtual int solution (double &objectiveValue, double *newSolution)
 returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts.
void setMaximumTime (double value)
 Set maximum Time (default off) - also sets starttime to current.
double maximumTime () const
 Get maximum Time (default 0.0 == time limit off)
void setFakeCutoff (double value)
 Set fake cutoff (default COIN_DBL_MAX == off)
double fakeCutoff () const
 Get fake cutoff (default 0.0 == off)
void setAbsoluteIncrement (double value)
 Set absolute increment (default 0.0 == off)
double absoluteIncrement () const
 Get absolute increment (default 0.0 == off)
void setRelativeIncrement (double value)
 Set relative increment (default 0.0 == off)
double relativeIncrement () const
 Get relative increment (default 0.0 == off)
void setDefaultRounding (double value)
 Set default rounding (default 0.5)
double defaultRounding () const
 Get default rounding (default 0.5)
void setInitialWeight (double value)
 Set initial weight (default 0.0 == off)
double initialWeight () const
 Get initial weight (default 0.0 == off)
void setWeightFactor (double value)
 Set weight factor (default 0.1)
double weightFactor () const
 Get weight factor (default 0.1)
void setArtificialCost (double value)
 Set threshold cost for using original cost - even on continuous (default infinity)
double artificialCost () const
 Get threshold cost for using original cost - even on continuous (default infinity)
double iterationRatio () const
 Get iteration to size ratio.
void setIterationRatio (double value)
 Set iteration to size ratio.
void setMaximumPasses (int value)
 Set maximum passes (default 100)
int maximumPasses () const
 Get maximum passes (default 100)
void setMaximumRetries (int value)
 Set maximum retries (default 1)
int maximumRetries () const
 Get maximum retries (default 1)
void setAccumulate (int value)
 Set use of multiple solutions and solves 0 - do not reuse solves, do not accumulate integer solutions for local search 1 - do not reuse solves, accumulate integer solutions for local search 2 - reuse solves, do not accumulate integer solutions for local search 3 - reuse solves, accumulate integer solutions for local search If we add 4 then use second form of problem (with extra rows and variables for general integers) At some point (date?), I added.
int accumulate () const
 Get accumulation option.
void setFixOnReducedCosts (int value)
 Set whether to fix variables on known solution 0 - do not fix 1 - fix integers on reduced costs 2 - fix integers on reduced costs but only on entry.
int fixOnReducedCosts () const
 Get reduced cost option.
void setReducedCostMultiplier (double value)
 Set reduced cost multiplier 1.0 as normal <1.0 (x) - pretend gap is x* actual gap - just for fixing.
double reducedCostMultiplier () const
 Get reduced cost multiplier.

Protected Attributes

double startTime_
 Start time.
double maximumTime_
 Maximum Cpu seconds.
double fakeCutoff_
 Fake cutoff value.
double absoluteIncrement_
 If positive carry on after solution expecting gain of at least this.
double relativeIncrement_
 If positive carry on after solution expecting gain of at least this times objective.
double defaultRounding_
 Default is round up if > this.
double initialWeight_
 Initial weight for true objective.
double weightFactor_
 Factor for decreasing weight.
double artificialCost_
 Threshold cost for using original cost - even on continuous.
double iterationRatio_
 If iterationRatio >0 use instead of maximumPasses_ test is iterations > ratio*(2*nrow+ncol)
double reducedCostMultiplier_
 Reduced cost multiplier 1.0 as normal <1.0 (x) - pretend gap is x* actual gap - just for fixing.
int maximumPasses_
 Maximum number of passes.
int maximumRetries_
 Maximum number of retries if we find a solution.
int accumulate_
 Set use of multiple solutions and solves 0 - do not reuse solves, do not accumulate integer solutions for local search 1 - do not reuse solves, accumulate integer solutions for local search 2 - reuse solves, do not accumulate integer solutions for local search 3 - reuse solves, accumulate integer solutions for local search If we add 4 then use second form of problem (with extra rows and variables for general integers) If we do not accumulate solutions then no mini branch and bounds will be done reuse - refers to initial solve after adding in new "cut" If we add 8 then can run after initial cuts (if no solution)
int fixOnReducedCosts_
 Set whether to fix variables on known solution 0 - do not fix 1 - fix integers on reduced costs 2 - fix integers on reduced costs but only on entry.
bool roundExpensive_
 If true round to expensive.

Private Member Functions

int rounds (OsiSolverInterface *solver, double *solution, int numberIntegers, const int *integerVariable, int passNumber, double downValue=0.5, int *flip=0)
 Rounds solution - down if < downValue If roundExpensive then always to more expnsive.
int rounds (OsiSolverInterface *solver, double *solution, int numberIntegers, const int *integerVariable, int passNumber, double downValue=0.5, int *flip=0)
 Rounds solution - down if < downValue If roundExpensive then always to more expnsive.

Detailed Description

Feasibility Pump class.

Definition at line 13 of file CbcHeuristicFPump.hpp.


Constructor & Destructor Documentation

CbcHeuristicFPump::CbcHeuristicFPump ( )
CbcHeuristicFPump::CbcHeuristicFPump ( CbcModel model,
double  downValue = 0.5,
bool  roundExpensive = false 
)
CbcHeuristicFPump::CbcHeuristicFPump ( const CbcHeuristicFPump )
CbcHeuristicFPump::~CbcHeuristicFPump ( )
CbcHeuristicFPump::CbcHeuristicFPump ( )
CbcHeuristicFPump::CbcHeuristicFPump ( CbcModel model,
double  downValue = 0.5,
bool  roundExpensive = false 
)
CbcHeuristicFPump::CbcHeuristicFPump ( const CbcHeuristicFPump )
CbcHeuristicFPump::~CbcHeuristicFPump ( )

Member Function Documentation

CbcHeuristicFPump& CbcHeuristicFPump::operator= ( const CbcHeuristicFPump rhs)

Assignment operator.

virtual CbcHeuristic* CbcHeuristicFPump::clone ( ) const [virtual]

Clone.

Implements CbcHeuristic.

virtual void CbcHeuristicFPump::generateCpp ( FILE *  fp) [virtual]

Create C++ lines to get to current state.

Reimplemented from CbcHeuristic.

virtual void CbcHeuristicFPump::resetModel ( CbcModel model) [virtual]

Resets stuff if model changes.

Implements CbcHeuristic.

virtual void CbcHeuristicFPump::setModel ( CbcModel model) [virtual]

update model (This is needed if cliques update matrix etc)

Reimplemented from CbcHeuristic.

virtual int CbcHeuristicFPump::solution ( double &  objectiveValue,
double *  newSolution 
) [virtual]

returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts.

It may make sense for user to call this outside Branch and Cut to get solution. Or normally is just at root node.

new meanings for when_ - on first try then set back to 1 11 - at end fix all integers at same bound throughout 12 - also fix all integers staying at same internal integral value throughout 13 - also fix all continuous variables staying at same bound throughout 14 - also fix all continuous variables staying at same internal value throughout 15 - as 13 but no internal integers And beyond that, it's apparently possible for the range to be between 21 and 25, in which case it's reduced on entry to solution() to be between 11 and 15 and allSlack is set to true. Then, if we're not processing general integers, we'll use an all-slack basis to solve ... what? Don't see that yet.

Implements CbcHeuristic.

void CbcHeuristicFPump::setMaximumTime ( double  value)

Set maximum Time (default off) - also sets starttime to current.

double CbcHeuristicFPump::maximumTime ( ) const [inline]

Get maximum Time (default 0.0 == time limit off)

Definition at line 69 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setFakeCutoff ( double  value) [inline]

Set fake cutoff (default COIN_DBL_MAX == off)

Definition at line 73 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::fakeCutoff ( ) const [inline]

Get fake cutoff (default 0.0 == off)

Definition at line 77 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setAbsoluteIncrement ( double  value) [inline]

Set absolute increment (default 0.0 == off)

Definition at line 81 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::absoluteIncrement ( ) const [inline]

Get absolute increment (default 0.0 == off)

Definition at line 85 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setRelativeIncrement ( double  value) [inline]

Set relative increment (default 0.0 == off)

Definition at line 89 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::relativeIncrement ( ) const [inline]

Get relative increment (default 0.0 == off)

Definition at line 93 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setDefaultRounding ( double  value) [inline]

Set default rounding (default 0.5)

Definition at line 97 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::defaultRounding ( ) const [inline]

Get default rounding (default 0.5)

Definition at line 101 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setInitialWeight ( double  value) [inline]

Set initial weight (default 0.0 == off)

Definition at line 105 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::initialWeight ( ) const [inline]

Get initial weight (default 0.0 == off)

Definition at line 109 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setWeightFactor ( double  value) [inline]

Set weight factor (default 0.1)

Definition at line 113 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::weightFactor ( ) const [inline]

Get weight factor (default 0.1)

Definition at line 117 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setArtificialCost ( double  value) [inline]

Set threshold cost for using original cost - even on continuous (default infinity)

Definition at line 121 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::artificialCost ( ) const [inline]

Get threshold cost for using original cost - even on continuous (default infinity)

Definition at line 125 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::iterationRatio ( ) const [inline]

Get iteration to size ratio.

Definition at line 129 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setIterationRatio ( double  value) [inline]

Set iteration to size ratio.

Definition at line 133 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setMaximumPasses ( int  value) [inline]

Set maximum passes (default 100)

Definition at line 137 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::maximumPasses ( ) const [inline]

Get maximum passes (default 100)

Definition at line 141 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setMaximumRetries ( int  value) [inline]

Set maximum retries (default 1)

Definition at line 145 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::maximumRetries ( ) const [inline]

Get maximum retries (default 1)

Definition at line 149 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setAccumulate ( int  value) [inline]

Set use of multiple solutions and solves 0 - do not reuse solves, do not accumulate integer solutions for local search 1 - do not reuse solves, accumulate integer solutions for local search 2 - reuse solves, do not accumulate integer solutions for local search 3 - reuse solves, accumulate integer solutions for local search If we add 4 then use second form of problem (with extra rows and variables for general integers) At some point (date?), I added.

And then there are a few bit fields: 4 - something about general integers So my (lh) guess for 4 was at least in the ballpark, but I'll have to rethink 8 entirely (and it may well not mean the same thing as it did when I added that comment. 8 - determines whether we process general integers

And on 090831, John added

If we add 4 then use second form of problem (with extra rows and variables for general integers) If we add 8 then can run after initial cuts (if no solution)

Definition at line 173 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::accumulate ( ) const [inline]

Get accumulation option.

Definition at line 177 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setFixOnReducedCosts ( int  value) [inline]

Set whether to fix variables on known solution 0 - do not fix 1 - fix integers on reduced costs 2 - fix integers on reduced costs but only on entry.

Definition at line 185 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::fixOnReducedCosts ( ) const [inline]

Get reduced cost option.

Definition at line 189 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setReducedCostMultiplier ( double  value) [inline]

Set reduced cost multiplier 1.0 as normal <1.0 (x) - pretend gap is x* actual gap - just for fixing.

Definition at line 196 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::reducedCostMultiplier ( ) const [inline]

Get reduced cost multiplier.

Definition at line 200 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::rounds ( OsiSolverInterface *  solver,
double *  solution,
int  numberIntegers,
const int *  integerVariable,
int  passNumber,
double  downValue = 0.5,
int *  flip = 0 
) [private]

Rounds solution - down if < downValue If roundExpensive then always to more expnsive.

returns 0 if current is solution

CbcHeuristicFPump& CbcHeuristicFPump::operator= ( const CbcHeuristicFPump rhs)

Assignment operator.

virtual CbcHeuristic* CbcHeuristicFPump::clone ( ) const [virtual]

Clone.

Implements CbcHeuristic.

virtual void CbcHeuristicFPump::generateCpp ( FILE *  fp) [virtual]

Create C++ lines to get to current state.

Reimplemented from CbcHeuristic.

virtual void CbcHeuristicFPump::resetModel ( CbcModel model) [virtual]

Resets stuff if model changes.

Implements CbcHeuristic.

virtual void CbcHeuristicFPump::setModel ( CbcModel model) [virtual]

update model (This is needed if cliques update matrix etc)

Reimplemented from CbcHeuristic.

virtual int CbcHeuristicFPump::solution ( double &  objectiveValue,
double *  newSolution 
) [virtual]

returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets solution values if good, sets objective value (only if good) This is called after cuts have been added - so can not add cuts.

It may make sense for user to call this outside Branch and Cut to get solution. Or normally is just at root node.

new meanings for when_ - on first try then set back to 1 11 - at end fix all integers at same bound throughout 12 - also fix all integers staying at same internal integral value throughout 13 - also fix all continuous variables staying at same bound throughout 14 - also fix all continuous variables staying at same internal value throughout 15 - as 13 but no internal integers And beyond that, it's apparently possible for the range to be between 21 and 25, in which case it's reduced on entry to solution() to be between 11 and 15 and allSlack is set to true. Then, if we're not processing general integers, we'll use an all-slack basis to solve ... what? Don't see that yet.

Implements CbcHeuristic.

void CbcHeuristicFPump::setMaximumTime ( double  value)

Set maximum Time (default off) - also sets starttime to current.

double CbcHeuristicFPump::maximumTime ( ) const [inline]

Get maximum Time (default 0.0 == time limit off)

Definition at line 69 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setFakeCutoff ( double  value) [inline]

Set fake cutoff (default COIN_DBL_MAX == off)

Definition at line 73 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::fakeCutoff ( ) const [inline]

Get fake cutoff (default 0.0 == off)

Definition at line 77 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setAbsoluteIncrement ( double  value) [inline]

Set absolute increment (default 0.0 == off)

Definition at line 81 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::absoluteIncrement ( ) const [inline]

Get absolute increment (default 0.0 == off)

Definition at line 85 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setRelativeIncrement ( double  value) [inline]

Set relative increment (default 0.0 == off)

Definition at line 89 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::relativeIncrement ( ) const [inline]

Get relative increment (default 0.0 == off)

Definition at line 93 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setDefaultRounding ( double  value) [inline]

Set default rounding (default 0.5)

Definition at line 97 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::defaultRounding ( ) const [inline]

Get default rounding (default 0.5)

Definition at line 101 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setInitialWeight ( double  value) [inline]

Set initial weight (default 0.0 == off)

Definition at line 105 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::initialWeight ( ) const [inline]

Get initial weight (default 0.0 == off)

Definition at line 109 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setWeightFactor ( double  value) [inline]

Set weight factor (default 0.1)

Definition at line 113 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::weightFactor ( ) const [inline]

Get weight factor (default 0.1)

Definition at line 117 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setArtificialCost ( double  value) [inline]

Set threshold cost for using original cost - even on continuous (default infinity)

Definition at line 121 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::artificialCost ( ) const [inline]

Get threshold cost for using original cost - even on continuous (default infinity)

Definition at line 125 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::iterationRatio ( ) const [inline]

Get iteration to size ratio.

Definition at line 129 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setIterationRatio ( double  value) [inline]

Set iteration to size ratio.

Definition at line 133 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setMaximumPasses ( int  value) [inline]

Set maximum passes (default 100)

Definition at line 137 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::maximumPasses ( ) const [inline]

Get maximum passes (default 100)

Definition at line 141 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setMaximumRetries ( int  value) [inline]

Set maximum retries (default 1)

Definition at line 145 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::maximumRetries ( ) const [inline]

Get maximum retries (default 1)

Definition at line 149 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setAccumulate ( int  value) [inline]

Set use of multiple solutions and solves 0 - do not reuse solves, do not accumulate integer solutions for local search 1 - do not reuse solves, accumulate integer solutions for local search 2 - reuse solves, do not accumulate integer solutions for local search 3 - reuse solves, accumulate integer solutions for local search If we add 4 then use second form of problem (with extra rows and variables for general integers) At some point (date?), I added.

And then there are a few bit fields: 4 - something about general integers So my (lh) guess for 4 was at least in the ballpark, but I'll have to rethink 8 entirely (and it may well not mean the same thing as it did when I added that comment. 8 - determines whether we process general integers

And on 090831, John added

If we add 4 then use second form of problem (with extra rows and variables for general integers) If we add 8 then can run after initial cuts (if no solution)

Definition at line 173 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::accumulate ( ) const [inline]

Get accumulation option.

Definition at line 177 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setFixOnReducedCosts ( int  value) [inline]

Set whether to fix variables on known solution 0 - do not fix 1 - fix integers on reduced costs 2 - fix integers on reduced costs but only on entry.

Definition at line 185 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::fixOnReducedCosts ( ) const [inline]

Get reduced cost option.

Definition at line 189 of file CbcHeuristicFPump.hpp.

void CbcHeuristicFPump::setReducedCostMultiplier ( double  value) [inline]

Set reduced cost multiplier 1.0 as normal <1.0 (x) - pretend gap is x* actual gap - just for fixing.

Definition at line 196 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::reducedCostMultiplier ( ) const [inline]

Get reduced cost multiplier.

Definition at line 200 of file CbcHeuristicFPump.hpp.

int CbcHeuristicFPump::rounds ( OsiSolverInterface *  solver,
double *  solution,
int  numberIntegers,
const int *  integerVariable,
int  passNumber,
double  downValue = 0.5,
int *  flip = 0 
) [private]

Rounds solution - down if < downValue If roundExpensive then always to more expnsive.

returns 0 if current is solution


Member Data Documentation

double CbcHeuristicFPump::startTime_ [protected]

Start time.

Definition at line 207 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::maximumTime_ [protected]

Maximum Cpu seconds.

Definition at line 209 of file CbcHeuristicFPump.hpp.

double CbcHeuristicFPump::fakeCutoff_ [protected]

Fake cutoff value.

If set then better of real cutoff and this used to add a constraint

Definition at line 213 of file CbcHeuristicFPump.hpp.

If positive carry on after solution expecting gain of at least this.

Definition at line 215 of file CbcHeuristicFPump.hpp.

If positive carry on after solution expecting gain of at least this times objective.

Definition at line 217 of file CbcHeuristicFPump.hpp.

Default is round up if > this.

Definition at line 219 of file CbcHeuristicFPump.hpp.

Initial weight for true objective.

Definition at line 221 of file CbcHeuristicFPump.hpp.

Factor for decreasing weight.

Definition at line 223 of file CbcHeuristicFPump.hpp.

Threshold cost for using original cost - even on continuous.

Definition at line 225 of file CbcHeuristicFPump.hpp.

If iterationRatio >0 use instead of maximumPasses_ test is iterations > ratio*(2*nrow+ncol)

Definition at line 228 of file CbcHeuristicFPump.hpp.

Reduced cost multiplier 1.0 as normal <1.0 (x) - pretend gap is x* actual gap - just for fixing.

Definition at line 233 of file CbcHeuristicFPump.hpp.

Maximum number of passes.

Definition at line 235 of file CbcHeuristicFPump.hpp.

Maximum number of retries if we find a solution.

If negative we clean out used array

Definition at line 239 of file CbcHeuristicFPump.hpp.

Set use of multiple solutions and solves 0 - do not reuse solves, do not accumulate integer solutions for local search 1 - do not reuse solves, accumulate integer solutions for local search 2 - reuse solves, do not accumulate integer solutions for local search 3 - reuse solves, accumulate integer solutions for local search If we add 4 then use second form of problem (with extra rows and variables for general integers) If we do not accumulate solutions then no mini branch and bounds will be done reuse - refers to initial solve after adding in new "cut" If we add 8 then can run after initial cuts (if no solution)

Definition at line 250 of file CbcHeuristicFPump.hpp.

Set whether to fix variables on known solution 0 - do not fix 1 - fix integers on reduced costs 2 - fix integers on reduced costs but only on entry.

Definition at line 256 of file CbcHeuristicFPump.hpp.

If true round to expensive.

Definition at line 258 of file CbcHeuristicFPump.hpp.


The documentation for this class was generated from the following files: