4 #include "../../../finalpit/pseudoflowfp.h"
5 #include "../fractional_scheduler.h"
17 virtual void ComputeExpectedTime(
const string column);
33 unsigned int _nb_iterations_bz;
38 vector<double> _exptime;
45 double _time_finalpit_compute;
46 double _time_lp_compute;
51 bool _TEIncParameterIsSet;
59 map<string,double> _duals;
62 virtual const bool IsStock();
64 void ChangePenalties(vector<double>, vector<double> );
68 set<BlockIndexType> precedenceSet;
69 set<BlockIndexType> succSet;
70 BlockIndexType number;
75 set<unsigned int> index;
82 vector<Node>* CreateGraph(
const bool& TE=
true);
83 BlockIndexType* TopoSort(
const bool& TE=
true);
85 class Slack:
public Stock{
89 Slack(
const string & slack_name,
const string & tname,
const double & tonnage,
const unsigned int& period);
90 const unsigned int& GetPeriod()
const;
92 vector<Slack> _slacks;
94 map<BlockIndexType,bool> _assigned_vars;
100 void UpdatePitSolver();
103 virtual bool SetFractionalSchedule();
Dummy class that define required methods for a Bienstock Zuckerberg solver of a scheduling instance...
Definition: bz.h:14
Abstracts a set of blocks (subset of a blockmodel).
Definition: blocksel.h:33
virtual SchedulingInstance & GetInstance()
Returns the scheduling instance.
Definition: bz.cpp:1636
bool IsFeasible()
Returns true only if BZ run correctly.
Definition: bz.cpp:1641
virtual bool ExpectedTimeToTextFile(const char *exptime_file) const
Writes the expected times in given file.
Definition: bz.cpp:1593
virtual ~BZ()
The destructor.
Definition: bz.cpp:189
Defines a scheduling instance to be solved.
Definition: instance.h:41
virtual bool Run()
Creates the model and run the BZ algorithm. This implementation is a dummy version that always return...
Definition: bz.cpp:724
virtual bool SetExpectedTime(const string &column)
Sets the expected times from a block model attribute with given name.
Definition: bz.cpp:1606
double GetRelaxedObj()
Get the relaxed objective.
Definition: bz.cpp:1536
virtual double * GetRelaxedSol()
Returns the relaxed solution for the real variables.
Definition: bz.cpp:1210
Abstracts a container of blocks as a table with arbitrary number of attributes that can be accessed b...
Definition: blockmodel.h:62
Implements a precedence as an explicit set of arcs between blocks. Provides utility functions...
Definition: precs.h:22
unsigned int GetNBIterationsBZ()
Return the number of iterations of BZ run.
Definition: bz.cpp:1539
virtual double * GetRelaxedDecisionSol()
Returns the relaxed solution for the decision variables.
Definition: bz.cpp:1214
const map< string, double > & GetBZDuals()
Returns the dual values encountered by BZ.
Definition: bz.cpp:1528
virtual bool CheckRelaxedSol()
Check If the relaxed solution respect the constraints defined in the scheduling instance.
Definition: bz.cpp:1226
A dummy class that specifies the methods of an algorithm that can solve a final pit instance...
Definition: fp.h:57
const bool Optimized()
Returns true only if BZ run correctly.
Definition: bz.cpp:229
BZ(delphos::SchedulingInstance &si, delphos::FinalPitSolver *fps=NULL)
Creates a new scheduler.
Definition: bz.cpp:6
virtual void StoreExpectedTimeAsAttribute(const string column)
Stores the expected times for each block in given column in the block model.
Definition: bz.cpp:1618
vector< double > GetExpectedTime() const
Returns the expected times for the blocks.
Definition: bz.cpp:1219
virtual void SetLogFile(const string &name)
Set the use of the log with given file name.
Definition: bz.cpp:1532
Defines a pre-existing stock.
Definition: stock.h:20
Dummy class that define required methods for a solver of a scheduling instance.
Definition: fractional_scheduler.h:14
virtual bool RelaxedSolToTextFile(const char *relsol_file, const char *stocks_file="")
Writes the relaxed solution in given text files.
Definition: bz.cpp:1543