2 #ifndef __MIP_SCHEDULER_H__ 
    3 #define __MIP_SCHEDULER_H__ 
    9 #include "../scheduler.h" 
   10 #include "../../../problems/scheduling/filtering.h" 
   29     virtual bool CreateGoalFunction();
 
   30     virtual bool CreateCoreConstraints();
 
   31     virtual bool CreateUserConstraints();
 
   52     Model::OptimizationSense _optimization_sense;
 
   53     Model::Emphasis _mip_emphasis;
 
   58     unsigned int _numthread;
 
   59     virtual void ApplyConstraint(
const Constraint& ctr);
 
  107     virtual void WriteLP(
const string outfile);
 
  115     virtual void WriteSol(
const string outfile);
 
  155     void SetGap(
const float& gap);
 
  191     virtual const double GetDual(
const string& cname); 
 
  201         const BlockIndexType& block_index, 
 
  202         const unsigned int& period, 
 
  203         const unsigned int& destination);
 
  206         const unsigned long& stock_index, 
 
  207         const unsigned int& period, 
 
  208         const unsigned int& destination);
 
virtual void WriteSol(const string outfile)
Writes the solution in given file. 
Definition: mip_scheduler.cpp:165
void SetTimeLimit(const float &value)
Sets a time limit for the optimization. 
Definition: mip_scheduler.cpp:157
void SetNoOutput()
Sets that no output is desired meanwhile optimization. 
Definition: mip_scheduler.cpp:171
virtual bool CreateModel()
Creates the model. 
Definition: mip_scheduler.cpp:57
virtual bool CreateVariables()
Creates the variables. 
Definition: mip_scheduler.cpp:30
A constraint on the addition of the attributes of a block. 
Definition: constraint.h:264
A constraint limiting the period at which a block should be mined. 
Definition: filtering.h:62
Defines a scheduling instance to be solved. 
Definition: instance.h:41
A constraint that prevents certain blocks to be sent to given processes. 
Definition: filtering.h:107
virtual bool SetSchedule()
Set The result schedule This implementation is a dummy version that always returns false...
Definition: mip_scheduler.cpp:144
virtual void Optimize()
Optimizes the model. 
Definition: mip_scheduler.cpp:61
A constraint on the average values of attributes of blocks. 
Definition: constraint.h:426
void SetMIPEmphasis(const Model::Emphasis &emphasis)
Sets the MIP emphasis for the optimization. 
Definition: mip_scheduler.cpp:160
void SetOptimizationSense(const Model::OptimizationSense &sense)
Sets the sense of the optimization model. 
Definition: mip_scheduler.cpp:148
void SetNumThread(const unsigned int &nthreads)
Sets the number of threads used by the solver. 
Definition: mip_scheduler.cpp:176
MIPScheduler(delphos::SchedulingInstance &si)
Creates a MIP scheduler with given scheduling instance. 
Definition: mip_scheduler.cpp:5
A geometric constraint. 
Definition: constraint.h:632
A constraint that forces a block to be mined before or at some period. 
Definition: filtering.h:19
void SetLogFile(const string &name)
Sets the use of the log with given file name. 
Definition: mip_scheduler.cpp:151
virtual const delphos::Schedule & GetSchedule()
Returns the result schedule. 
Definition: mip_scheduler.cpp:65
virtual void WriteLP(const string outfile)
Writes the LP model in given file. 
Definition: mip_scheduler.cpp:164
virtual ~MIPScheduler()
The destructor. 
Definition: mip_scheduler.cpp:7
virtual bool Run()
Creates the model and run the optimization. 
Definition: mip_scheduler.cpp:51
Dummy class that define required methods for a solver of a scheduling instance. 
Definition: scheduler.h:12
Dummy class that define required methods for a MIP solver of a scheduling instance. 
Definition: mip_scheduler.h:24
Defines the base class for all constraints. 
Definition: constraint.h:33
virtual double GetObjValue()
Returns the objective value of the optimized model. This implementation is a dummy version that alway...
Definition: mip_scheduler.cpp:70
A precedence constraint. 
Definition: constraint.h:513
const bool Optimized()
Returns true only if the MIP have been succesfully optimized. 
Definition: mip_scheduler.cpp:140
A block selection precedence constraint. 
Definition: constraint.h:572
Defines a scheduling of blocks. 
Definition: schedule.h:23
const bool CreatedVars() const 
Returns true only if all the variables of the MIP are created. 
Definition: mip_scheduler.cpp:46
virtual const double GetDual(const string &cname)
Returns the dual value of given constraint. 
Definition: mip_scheduler.cpp:166
void SetGap(const float &gap)
Sets the desired gap for the optimization. 
Definition: mip_scheduler.cpp:154