MineLink
 All Data Structures Functions Variables Pages
delphos::SchedulingHeuristic Class Reference

Dummy class that define required methods for a heuristic that solve a scheduling instance. More...

#include <heuristics.h>

Inheritance diagram for delphos::SchedulingHeuristic:
Inheritance graph
Collaboration diagram for delphos::SchedulingHeuristic:
Collaboration graph

Public Member Functions

 SchedulingHeuristic (SchedulingInstance &si)
 Creates a heuristic with given scheduling instance. More...
 
virtual ~SchedulingHeuristic ()
 The destructor.
 
virtual bool Run ()
 Creates the model and run the optimization. More...
 
const ScheduleGetSchedule ()
 Returns the result schedule.
 
void SetCallBack (delphos::CallBackPtr fp)
 Set a time advance user callback. More...
 
delphos::CallBackPtr GetCallBack ()
 Returns the call back if it exists.
 
const bool Optimized ()
 Returns true only if the MIP have been succesfully optimized.
 
void SetLogFile (const string &name)
 Set the use of the log with given file name. More...
 
- Public Member Functions inherited from delphos::Scheduler
 Scheduler (delphos::SchedulingInstance &si)
 Creates a new scheduler. More...
 
virtual ~Scheduler ()
 The destructor.
 
delphos::SchedulingInstanceGetInstance ()
 Returns the associated scheduling instance.
 
virtual void SetGap (const float &gap)
 Sets the desired gap for the optimization. More...
 
const bool IsStock ()
 Returns true only if the inner scheduling instance has stoks.
 
- Public Member Functions inherited from delphos::BlockModelEntity
 BlockModelEntity (delphos::BlockModel &bm)
 Creates a new block instance associated to a given block model. More...
 
delphos::BlockModelGetBlockModel ()
 Retrieves the block model to which the entity is associated. More...
 
const delphos::BlockModelGetBlockModel () const
 Retrieves the block model to which the entity is associated. More...
 

Additional Inherited Members

- Static Public Attributes inherited from delphos::Scheduler
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.
 

Detailed Description

Dummy class that define required methods for a heuristic that solve 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 mixed integer and continuous variables.

Constructor & Destructor Documentation

delphos::SchedulingHeuristic::SchedulingHeuristic ( SchedulingInstance si)

Creates a heuristic with given scheduling instance.

Parameters
siThe scheduling instance of the heuristics.

Member Function Documentation

bool delphos::SchedulingHeuristic::Run ( )
virtual

Creates the model and run the optimization.

This implementation is a dummy version that always returns false.

Reimplemented from delphos::Scheduler.

Reimplemented in delphos::NewmanHeuristic, delphos::SlidingTimeWindowHeuristicRelaxed, delphos::BZHeuristic, delphos::SlidingTimeWindowHeuristic, delphos::TopoHeuristic, and delphos::HReb.

void delphos::SchedulingHeuristic::SetCallBack ( delphos::CallBackPtr  fp)

Set a time advance user callback.

Parameters
fpThe call back pointer to be set. The call back pointer is a pointer of a function that take a double parameter. The call back is eventually called during the run of the heuristic. The double parameter is a value between 0 and 1 that is changed by the heuristic meanwhile its running and corresponds to the heuristic advance estimation. A value of 0.5 says the heuristic estimate, half its running is done.
void delphos::SchedulingHeuristic::SetLogFile ( const string &  name)
virtual

Set the use of the log with given file name.

Parameters
nameThe name of the log file.

Reimplemented from delphos::Scheduler.


The documentation for this class was generated from the following files: