CbcSolverLongThin.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 CbcSolverLongThin_H
5 #define CbcSolverLongThin_H
6 
7 #include "OsiClpSolverInterface.hpp"
8 class CbcModel;
9 //#############################################################################
10 
16 class CbcSolverLongThin : public OsiClpSolverInterface {
17 
18 public:
19  //---------------------------------------------------------------------------
22  virtual void initialSolve();
24 
26  virtual void resolve();
27 
29 
30 
35 
37  virtual OsiSolverInterface * clone(bool CopyData=true) const;
38 
41 
44 
46  virtual ~CbcSolverLongThin ();
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
virtual void resolve()
Resolve an LP relaxation after problem modification.
bool algorithm_
If 0 nothing, 1 compress and fix, 2 long thin.
This is to allow the user to replace initialSolve and resolve.
CbcSolverLongThin()
Default Constructor.
void initialize(CbcModel *model, const char *keep)
Setup arrays - ones in keep will always be in.
double getNested() const
Do nested search if this fraction fixed.
int getAlgorithm() const
Say whether to just count usage.
virtual ~CbcSolverLongThin()
Destructor.
int * node_
Node number when variable last in problem.
int memory_
How recently it must have been used.
virtual void initialSolve()
Solve initial LP relaxation.
int getMemory() const
Get memory (i.e. how recent use should be)
void setAlgorithm(int value)
Say whether to just count usage.
CbcModel * model_
Pointer back to model.
bool believeInfeasible_
If infeasible on subset means infeasible.
const int * when() const
get which ones have been used
void setNested(double value)
Do nested search if this fraction fixed.
int getCount() const
Get current count.
void setMemory(int value)
Set memory (i.e. how recent use should be)
double nestedSearch_
Do nested search if this fraction fixed.
CbcSolverLongThin & operator=(const CbcSolverLongThin &rhs)
Assignment operator.
int * howMany_
How many times in problem.
void setBelieveInfeasible(bool yesNo)
Say whether to believe infeasible.
virtual OsiSolverInterface * clone(bool CopyData=true) const
Clone.
Simple Branch and bound class.
Definition: CbcModel.hpp:98