MineLink
 All Data Structures Functions Variables Pages
scheduler.h
1 #ifndef __SCHEDULER_H__
2 #define __SCHEDULER_H__
3 
4 #include "../../problems/scheduling/instance.h"
5 namespace delphos{
12 class Scheduler : public BlockModelEntity {
13 private:
14  SchedulingInstance *_si;
15 
16 public:
17 
24 
28  virtual ~Scheduler();
29 
34 
40  virtual bool Run();
41 
46  virtual const bool Optimized();
47 
53  virtual void SetLogFile(const string& name);
54 
60  virtual void SetGap(const float& gap);
61 
65  const bool IsStock();
66 
70  static const string CBC_MIPScheduler;
74  static const string CBC_SlidingTimeWindowHeuristic;
78  static const string GUROBI_MIPScheduler;
82  static const string GUROBI_SlidingTimeWindowHeuristic;
83 
84 };
85 }
86 #endif
87 
static const string GUROBI_MIPScheduler
Name of the gurobi MIP scheduler.
Definition: scheduler.h:78
virtual const bool Optimized()
Returns true only if the scheduler has run succesfully. This implementation is a dummy version that a...
Definition: scheduler.cpp:26
Defines a scheduling instance to be solved.
Definition: instance.h:41
static const string CBC_MIPScheduler
Name of the CBC MIP scheduler.
Definition: scheduler.h:70
static const string CBC_SlidingTimeWindowHeuristic
Name of the CBC implemtation of the sliding time window heuristic.
Definition: scheduler.h:74
virtual void SetGap(const float &gap)
Sets the desired gap for the optimization.
Definition: scheduler.cpp:33
Scheduler(delphos::SchedulingInstance &si)
Creates a new scheduler.
Definition: scheduler.cpp:4
virtual bool Run()
Solves the scheduling instance. Returns true on success.
Definition: scheduler.cpp:22
static const string GUROBI_SlidingTimeWindowHeuristic
Name of the gurobi implemtation of the sliding time window heuristic.
Definition: scheduler.h:82
const bool IsStock()
Returns true only if the inner scheduling instance has stoks.
Definition: scheduler.cpp:36
Dummy class that define required methods for a solver of a scheduling instance.
Definition: scheduler.h:12
A base class for object associated to a given block model.
Definition: blockmodel.h:1356
delphos::SchedulingInstance & GetInstance()
Returns the associated scheduling instance.
Definition: scheduler.cpp:18
virtual ~Scheduler()
The destructor.
Definition: scheduler.cpp:8
virtual void SetLogFile(const string &name)
Sets the use of the log with given file name.
Definition: scheduler.cpp:30