MineLink
 All Data Structures Functions Variables Pages
fractional_schedule.h
1 #ifndef __FRACTIONALSCHEDULE_H__
2 #define __FRACTIONALSCHEDULE_H__
3 
4 #include <vector>
5 #include <fstream>
6 #include <iostream>
7 #include <sstream>
8 #include <stdio.h>
9 #include "../../../data_structures/bm/blockmodel.h"
10 
11 
12 using namespace std;
13 namespace delphos{
14 class SchedulingInstance;
23 private:
24  vector< pair<unsigned long,double> > _assig;
25  vector<double> *_stocks;
26  SchedulingInstance * _si;
27 
28 public:
29 
36 
42 
46  virtual ~FractionalSchedule();
47 
55  void SetAssignation(const delphos::BlockIndexType& index,const unsigned int& period,const unsigned int& destination, const double& val);
56 
64  void SetAssignation(const delphos::Coordinates& c,const unsigned int& period,const unsigned int& destination, const double& val);
65 
76  void SetAssignation(const double& x,const double& y,const double& z,const unsigned int& period,const unsigned int& destination, const double& val);
77 
86  void GetAssignation(const unsigned long& pos,delphos::BlockIndexType& index,unsigned int& period,unsigned int& destination,double& val) const;
87 
91  const unsigned long Size() const;
92 
99  void SetStockValue (const delphos::BlockIndexType& index, const double& value) const;
100 
106  double const GetStockValue (const delphos::BlockIndexType& index ) const;
107 
111  const unsigned int StockVarListSize() const;
112 
116  delphos::SchedulingInstance & GetInstance() const;
117 
124  bool FractionalScheduleToTextFile(const char* schedule_file) const;
125 
132  bool StocksToTextFile(const char* stocks_file) const;
133 
137  bool Check() const;
138 
142  delphos::BlockSelection* GetBlocksWithoutSuccessor();
143 };
144 }
145 #endif
146 
Abstracts a set of blocks (subset of a blockmodel).
Definition: blocksel.h:33
An utility class to abstract coordinates so they can be used as map and set keys by means of string c...
Definition: coords.h:20
Defines a scheduling instance to be solved.
Definition: instance.h:41
Defines a fractional scheduling of blocks.
Definition: fractional_schedule.h:22
A base class for object associated to a given block model.
Definition: blockmodel.h:1356