![]() |
MineLink
|
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>
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::FractionalSchedule & | GetFractionalSchedule () |
Returns the result fractional schedule. | |
![]() | |
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 SchedulingInstance & | GetInstance () |
Returns the scheduling instance. | |
![]() | |
FractionalScheduler (delphos::SchedulingInstance &si) | |
Creates a new scheduler. More... | |
virtual | ~FractionalScheduler () |
The destructor. | |
delphos::SchedulingInstance & | GetInstance () |
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... | |
![]() | |
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... | |
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.
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.
si | The scheduling instance. |
fps | An optional final pit solver. |
precision | The desired precision percent for the compute. The default precision is set to 0.00001%. A value of 0 correspond to an exact compute. |
void delphos::CBCBZ::SetRelaxedSol | ( | CBCModel * | gmodel, |
const vector< BlockSelection > & | partition, | ||
const bool & | bComputeExpectedTime | ||
) |
Set the relaxed solution.
gmodel | The gurobi model. |
partition | The partition. |
bComputeExpectedTime | the flag to to compute expected times. |