28 JobContainer(
const Instance * instance);
32 typedef std::input_iterator_tag iterator_category;
33 typedef Job value_type;
34 typedef Job * pointer;
35 typedef Job & reference;
36 typedef size_t size_type;
37 typedef std::ptrdiff_t difference_type;
39 iterator(
const JobContainer & c);
40 iterator(
const JobContainer & c,
unsigned int pos);
42 const value_type & operator*();
43 const value_type * operator->();
45 iterator operator++(
int);
46 iterator & operator++();
47 iterator operator--(
int);
48 iterator & operator--();
50 bool operator==(
const iterator & other)
const;
51 bool operator!=(
const iterator & other)
const;
54 const JobContainer & c;
58 iterator begin()
const;
61 bool operator==(
const JobContainer & other)
const;
87 Instance(
const std::string instance_id, Traits wanted_traits);
99 std::vector<Job> && substitutions);
152 const JobContainer &
get_jobs()
const;
187 const std::string &
get_id()
const;
214 unsigned int window_extension_job_limit);
215 void set_window_extension_hard_deadline(Maybe<unsigned int> deadline);
217 unsigned int get_window_extension_limit()
const;
218 unsigned int get_window_extension_job_limit()
const;
219 Maybe<unsigned int> get_window_extension_hard_deadline()
const;
248 const ResVec & additional_usage)
const;
271 std::shared_ptr<std::vector<Resource>> resources;
272 std::shared_ptr<std::vector<Job>> jobs;
273 std::shared_ptr<std::string> instance_id;
274 std::shared_ptr<LagGraph> laggraph;
276 std::vector<bool> job_is_substituted;
277 std::vector<Job> substitutions;
278 JobContainer cached_container;
280 unsigned int window_extension_limit;
281 unsigned int window_extension_job_limit;
282 Maybe<unsigned int> window_extension_hard_deadline;
284 Traits wanted_traits;
285 Traits computed_traits;
const JobContainer & get_jobs() const
Definition: instance.cpp:139
const std::string & get_id() const
Definition: instance.cpp:133
void compute_traits()
Definition: instance.cpp:204
a TCPSP instance
Definition: instance.hpp:24
A job of an TCPSP instance.
Definition: job.hpp:21
unsigned int job_count() const
Definition: instance.cpp:227
const Job & get_job(unsigned int i) const
Definition: instance.cpp:233
double calculate_costs(const ResVec &ressource_usage, const ResVec &additional_usage) const
Definition: instance.cpp:422
Instance clone() const
Definition: instance.cpp:104
bool check_feasibility() const
Definition: instance.cpp:348
unsigned int resource_count() const
Definition: instance.cpp:243
unsigned int get_latest_deadline() const
Helper to return the latest deadline in the instance.
Definition: instance.cpp:455
const Resource & get_resource(unsigned int i) const
Definition: instance.cpp:249
double calculate_max_costs(const std::vector< unsigned int > &start_times) const
Definition: instance.cpp:398
const Traits & get_traits() const
Definition: instance.cpp:198
unsigned int add_resource(Resource &&resource)
Definition: instance.cpp:187
unsigned int add_job(Job &&job)
Definition: instance.cpp:145
void set_window_extension(unsigned int window_extension_limit, unsigned int window_extension_job_limit)
Setter for the window extension parameters.
Definition: instance.cpp:366
LagGraph & get_laggraph()
Definition: instance.cpp:215
Instance()
Definition: instance.cpp:18