![]() |
MineLink
|
Dummy class that define required methods for a MIP solver of a scheduling instance. More...
#include <mip_scheduler.h>
Public Member Functions | |
MIPScheduler (delphos::SchedulingInstance &si) | |
Creates a MIP scheduler with given scheduling instance. More... | |
virtual | ~MIPScheduler () |
The destructor. | |
virtual bool | Run () |
Creates the model and run the optimization. More... | |
virtual void | Optimize () |
Optimizes the model. More... | |
virtual bool | CreateModel () |
Creates the model. More... | |
virtual bool | CreateVariables () |
Creates the variables. More... | |
virtual void | WriteLP (const string outfile) |
Writes the LP model in given file. More... | |
virtual void | WriteSol (const string outfile) |
Writes the solution in given file. More... | |
virtual const delphos::Schedule & | GetSchedule () |
Returns the result schedule. | |
virtual bool | SetSchedule () |
Set The result schedule This implementation is a dummy version that always returns false. | |
virtual double | GetObjValue () |
Returns the objective value of the optimized model. This implementation is a dummy version that always returns 0. | |
void | SetOptimizationSense (const Model::OptimizationSense &sense) |
Sets the sense of the optimization model. More... | |
void | SetLogFile (const string &name) |
Sets the use of the log with given file name. More... | |
void | SetGap (const float &gap) |
Sets the desired gap for the optimization. More... | |
void | SetTimeLimit (const float &value) |
Sets a time limit for the optimization. More... | |
void | SetMIPEmphasis (const Model::Emphasis &emphasis) |
Sets the MIP emphasis for the optimization. More... | |
void | SetNoOutput () |
Sets that no output is desired meanwhile optimization. | |
const bool | CreatedVars () const |
Returns true only if all the variables of the MIP are created. | |
const bool | Optimized () |
Returns true only if the MIP have been succesfully optimized. | |
virtual const double | GetDual (const string &cname) |
Returns the dual value of given constraint. More... | |
void | SetNumThread (const unsigned int &nthreads) |
Sets the number of threads used by the solver. More... | |
![]() | |
Scheduler (delphos::SchedulingInstance &si) | |
Creates a new scheduler. More... | |
virtual | ~Scheduler () |
The destructor. | |
delphos::SchedulingInstance & | GetInstance () |
Returns the associated scheduling instance. | |
const bool | IsStock () |
Returns true only if the inner scheduling instance has stoks. | |
![]() | |
BlockModelEntity (delphos::BlockModel &bm) | |
Creates a new block instance associated to a given block model. More... | |
delphos::BlockModel & | GetBlockModel () |
Retrieves the block model to which the entity is associated. More... | |
const delphos::BlockModel & | GetBlockModel () const |
Retrieves the block model to which the entity is associated. More... | |
Additional Inherited Members | |
![]() | |
static const string | CBC_MIPScheduler =string("CBC_MIPScheduler") |
Name of the CBC MIP scheduler. | |
static const string | CBC_SlidingTimeWindowHeuristic =string("CBC_SlidingTimeWindowHeuristic") |
Name of the CBC implemtation of the sliding time window heuristic. | |
static const string | GUROBI_MIPScheduler =string("GUROBI_MIPScheduler") |
Name of the gurobi MIP scheduler. | |
static const string | GUROBI_SlidingTimeWindowHeuristic =string("GUROBI_SlidingTimeWindowHeuristic") |
Name of the gurobi implemtation of the sliding time window heuristic. | |
Dummy class that define required methods for a MIP solver of a scheduling instance.
This class defines the required methods to be implemented by a class that is able to solve a scheduling instance that define a model with integer variables.
delphos::MIPScheduler::MIPScheduler | ( | delphos::SchedulingInstance & | si | ) |
Creates a MIP scheduler with given scheduling instance.
si | The scheduling instance of the MIP scheduler. |
|
virtual |
Creates the model.
This implementation is a dummy version that always returns false.
Reimplemented in delphos::GurobiMIPScheduler, and delphos::CBCMIPScheduler.
|
virtual |
Creates the variables.
This implementation is a dummy version that always returns false.
Reimplemented in delphos::GurobiMIPScheduler, and delphos::CBCMIPScheduler.
|
virtual |
Returns the dual value of given constraint.
cname | The name of the constraint of which the dual value is returned. This implementation is a dummy version that always returns 0. |
Reimplemented in delphos::GurobiMIPScheduler, and delphos::CBCMIPScheduler.
|
virtual |
Optimizes the model.
This implementation is a dummy version that always throw an exception.
|
virtual |
Creates the model and run the optimization.
This implementation is a dummy version that always throw an exception.
Reimplemented from delphos::Scheduler.
Reimplemented in delphos::GurobiMIPScheduler, and delphos::CBCMIPScheduler.
|
virtual |
Sets the desired gap for the optimization.
gap | The desired gap. For a desired gap of 0.01, this corresponds to 1% of relative integer gap. By Default, a value of 0.05 is set. |
Reimplemented from delphos::Scheduler.
|
virtual |
Sets the use of the log with given file name.
name | The name of the log file. |
Reimplemented from delphos::Scheduler.
void delphos::MIPScheduler::SetMIPEmphasis | ( | const Model::Emphasis & | emphasis | ) |
Sets the MIP emphasis for the optimization.
emphasis | The emphasis of the optimization. The emphasis can be Model::Emphasis::FEASABILITY, Model::Emphasis::OPTIMALITY or Model::Emphasis::BALANCED. |
void delphos::MIPScheduler::SetNumThread | ( | const unsigned int & | nthreads | ) |
Sets the number of threads used by the solver.
nthreads | The number of threads to be used by the solver. |
void delphos::MIPScheduler::SetOptimizationSense | ( | const Model::OptimizationSense & | sense | ) |
Sets the sense of the optimization model.
sense | The sense of the optimization. The sense can be Model::OptimizationSense::MINIMIZATION or Model::OptimizationSense::MAXIMIZATION. |
void delphos::MIPScheduler::SetTimeLimit | ( | const float & | value | ) |
Sets a time limit for the optimization.
value | The desired time limit for the optimization. By Default, there is no time limit. |
|
virtual |
Writes the LP model in given file.
outfile | The name of the outfile in which the model is writen in LP format. This implementation is a dummy version that do nothing. |
Reimplemented in delphos::GurobiMIPScheduler, and delphos::CBCMIPScheduler.
|
virtual |
Writes the solution in given file.
outfile | The name of the outfile in which the solution of the model is writen. This implementation is a dummy version that do nothing. |
Reimplemented in delphos::GurobiMIPScheduler, and delphos::CBCMIPScheduler.