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

A fractional Scheduler class based on Bienstock-Zuckerberg algorithm and CBC for solving its sub problems. this scheduler computes at each iteration a final pit and solve the lp relaxation of the original problem. More...

#include <cbc_bz.h>

Inheritance diagram for delphos::CBCBZ:
Inheritance graph
Collaboration diagram for delphos::CBCBZ:
Collaboration graph

Public Member Functions

 CBCBZ (delphos::SchedulingInstance &, const double &precision=0.00001, delphos::FinalPitSolver *fps=NULL)
 Creates a fractional Scheduler class based on Bienstock-Zuckerberg algorithm and CBC for solving its sub problems. More...
 
virtual ~CBCBZ ()
 The destructor.
 
bool Run ()
 Creates the model and run the BZ algorithm.
 
void SetRelaxedSol (CBCModel *gmodel, const vector< BlockSelection > &partition, const bool &bComputeExpectedTime)
 Set the relaxed solution. More...
 
const delphos::FractionalScheduleGetFractionalSchedule ()
 Returns the result fractional schedule.
 
- Public Member Functions inherited from delphos::BZ
 BZ (delphos::SchedulingInstance &si, delphos::FinalPitSolver *fps=NULL)
 Creates a new scheduler. More...
 
virtual ~BZ ()
 The destructor.
 
virtual double * GetRelaxedSol ()
 Returns the relaxed solution for the real variables.
 
virtual double * GetRelaxedDecisionSol ()
 Returns the relaxed solution for the decision variables.
 
virtual bool RelaxedSolToTextFile (const char *relsol_file, const char *stocks_file="")
 Writes the relaxed solution in given text files. More...
 
virtual bool CheckRelaxedSol ()
 Check If the relaxed solution respect the constraints defined in the scheduling instance.
 
vector< double > GetExpectedTime () const
 Returns the expected times for the blocks.
 
virtual bool SetExpectedTime (const string &column)
 Sets the expected times from a block model attribute with given name. More...
 
virtual void StoreExpectedTimeAsAttribute (const string column)
 Stores the expected times for each block in given column in the block model. More...
 
virtual bool ExpectedTimeToTextFile (const char *exptime_file) const
 Writes the expected times in given file. More...
 
virtual void SetLogFile (const string &name)
 Set the use of the log with given file name. More...
 
double GetRelaxedObj ()
 Get the relaxed objective.
 
unsigned int GetNBIterationsBZ ()
 Return the number of iterations of BZ run.
 
const map< string, double > & GetBZDuals ()
 Returns the dual values encountered by BZ.
 
bool IsFeasible ()
 Returns true only if BZ run correctly.
 
const bool Optimized ()
 Returns true only if BZ run correctly.
 
virtual SchedulingInstanceGetInstance ()
 Returns the scheduling instance.
 
- Public Member Functions inherited from delphos::FractionalScheduler
 FractionalScheduler (delphos::SchedulingInstance &si)
 Creates a new scheduler. More...
 
virtual ~FractionalScheduler ()
 The destructor.
 
delphos::SchedulingInstanceGetInstance ()
 Returns the associated scheduling instance.
 
void SetLPMethod (const int &lpcode)
 Set LP method. More...
 
virtual const double GetDual (const string &cname)
 Return the dual value of given constraint. More...
 
- 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...
 

Detailed Description

A fractional Scheduler class based on Bienstock-Zuckerberg algorithm and CBC for solving its sub problems. this scheduler computes at each iteration a final pit and solve the lp relaxation of the original problem.

Constructor & Destructor Documentation

delphos::CBCBZ::CBCBZ ( delphos::SchedulingInstance si,
const double &  precision = 0.00001,
delphos::FinalPitSolver fps = NULL 
)

Creates a fractional Scheduler class based on Bienstock-Zuckerberg algorithm and CBC for solving its sub problems.

Parameters
siThe scheduling instance.
fpsAn optional final pit solver.
precisionThe desired precision percent for the compute. The default precision is set to 0.00001%. A value of 0 correspond to an exact compute.

Member Function Documentation

void delphos::CBCBZ::SetRelaxedSol ( CBCModel *  gmodel,
const vector< BlockSelection > &  partition,
const bool &  bComputeExpectedTime 
)

Set the relaxed solution.

Parameters
gmodelThe gurobi model.
partitionThe partition.
bComputeExpectedTimethe flag to to compute expected times.

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