CbcSolver3.hpp
Go to the documentation of this file.
1 // Copyright (C) 2004, International Business Machines
2 // Corporation and others. All Rights Reserved.
3 
4 #ifndef CbcSolver3_H
5 #define CbcSolver3_H
6 
7 #include "OsiClpSolverInterface.hpp"
8 class CbcModel;
9 //#############################################################################
10 
16 class CbcSolver3 : public OsiClpSolverInterface {
17 
18 public:
19  //---------------------------------------------------------------------------
22  virtual void initialSolve();
24 
26  virtual void resolve();
27 
29 
30 
33  CbcSolver3 ();
35 
37  virtual OsiSolverInterface * clone(bool CopyData=true) const;
38 
40  CbcSolver3 (const CbcSolver3 &);
41 
43  CbcSolver3 & operator=(const CbcSolver3& rhs);
44 
46  virtual ~CbcSolver3 ();
47 
49 
50 
53  void initialize(CbcModel * model, const char * keep);
56  inline const int * when() const
57  { return node_;}
59  inline int getMemory() const
60  { return memory_;}
62  inline int getCount() const
63  { return count_;}
65  inline void setMemory(int value)
66  { memory_=value;}
68  inline void setBelieveInfeasible(bool yesNo)
69  { believeInfeasible_=yesNo;}
71  inline void setAlgorithm(int value)
72  { algorithm_=value;}
74  inline void setNested(double value)
75  { nestedSearch_=value;}
77  inline int getAlgorithm() const
78  { return algorithm_;}
80  inline double getNested() const
81  { return nestedSearch_;}
83 
84  //---------------------------------------------------------------------------
85 
86 private:
87 
90  double nestedSearch_;
93  int * node_;
95  int * howMany_;
99  int count_;
101  int memory_;
107 };
108 
109 #endif
double nestedSearch_
Do nested search if this fraction fixed.
Definition: CbcSolver3.hpp:91
CbcModel * model_
Pointer back to model.
Definition: CbcSolver3.hpp:97
int getCount() const
Get current count.
Definition: CbcSolver3.hpp:62
virtual OsiSolverInterface * clone(bool CopyData=true) const
Clone.
CbcSolver3 & operator=(const CbcSolver3 &rhs)
Assignment operator.
virtual ~CbcSolver3()
Destructor.
void setNested(double value)
Do nested search if this fraction fixed.
Definition: CbcSolver3.hpp:74
This is to allow the user to replace initialSolve and resolve.
Definition: CbcSolver3.hpp:16
virtual void initialSolve()
Solve initial LP relaxation.
bool believeInfeasible_
If infeasible on subset means infeasible.
Definition: CbcSolver3.hpp:103
int * howMany_
How many times in problem.
Definition: CbcSolver3.hpp:95
void setMemory(int value)
Set memory (i.e. how recent use should be)
Definition: CbcSolver3.hpp:65
void setBelieveInfeasible(bool yesNo)
Say whether to believe infeasible.
Definition: CbcSolver3.hpp:68
int memory_
How recently it must have been used.
Definition: CbcSolver3.hpp:101
double getNested() const
Do nested search if this fraction fixed.
Definition: CbcSolver3.hpp:80
void initialize(CbcModel *model, const char *keep)
Setup arrays - ones in keep will always be in.
int count_
Counter.
Definition: CbcSolver3.hpp:99
void setAlgorithm(int value)
Say whether to just count usage.
Definition: CbcSolver3.hpp:71
int * node_
Node number when variable last in problem.
Definition: CbcSolver3.hpp:93
virtual void resolve()
Resolve an LP relaxation after problem modification.
int getAlgorithm() const
Say whether to just count usage.
Definition: CbcSolver3.hpp:77
int getMemory() const
Get memory (i.e. how recent use should be)
Definition: CbcSolver3.hpp:59
bool algorithm_
If 0 nothing, 1 compress and fix, 2 long thin.
Definition: CbcSolver3.hpp:105
Simple Branch and bound class.
Definition: CbcModel.hpp:98
const int * when() const
get which ones have been used
Definition: CbcSolver3.hpp:56
CbcSolver3()
Default Constructor.