4 #include "../datastructures/maybe.hpp"
5 #include "../util/log.hpp"
8 class InconsistentResultError;
30 std::vector<Maybe<unsigned int>> & start_times,
31 Maybe<double> lower_bound);
42 std::vector<Maybe<unsigned int>> && start_times,
43 Maybe<double> lower_bound);
56 std::vector<unsigned int> & start_times, Maybe<double> lower_bound);
95 double get_overshoot_costs()
const;
96 double get_investment_costs()
const;
163 bool verify(
int seed, InconsistentResultError * error_out =
nullptr)
const;
168 std::vector<Maybe<unsigned int>> start_times;
169 Maybe<double> lower_bound;
171 void compute_durations()
const;
172 mutable std::vector<unsigned int> durations;
174 void compute_costs()
const;
175 mutable Maybe<double> costs;
176 mutable Maybe<double> overshoot_costs;
177 mutable Maybe<double> investment_costs;
180 mutable std::vector<double> max_usage;
bool is_optimal() const
Definition: solution.cpp:462
double get_max_usage(unsigned int rid) const
Definition: solution.cpp:517
void print_jobs() const
Definition: solution.cpp:261
const Instance * get_instance() const
Definition: solution.cpp:659
a TCPSP instance
Definition: instance.hpp:24
bool is_feasible() const
Definition: solution.cpp:671
bool job_scheduled(unsigned int job_id) const
Definition: solution.cpp:685
a soultion for a TCPSP instance
Definition: solution.hpp:17
double get_costs() const
Definition: solution.cpp:468
Maybe< double > get_lower_bound() const
Definition: solution.cpp:106
void print() const
Definition: solution.cpp:443
void print_profile() const
Definition: solution.cpp:273
bool verify(int seed, InconsistentResultError *error_out=nullptr) const
Definition: solution.cpp:149
double get_costs_lower_bound() const
Definition: solution.cpp:507
unsigned int get_start_time(unsigned int job_id) const
Definition: solution.cpp:665