32 Metrics(daisi::util::Duration empty_travel_time, daisi::util::Duration loaded_travel_time,
33 daisi::util::Duration action_time, daisi::util::Distance empty_travel_distance,
34 daisi::util::Distance loaded_travel_distance);
36 void setMakespan(
const daisi::util::Duration &makespan);
38 bool isStartTimeSet()
const;
39 void setStartTime(
const daisi::util::Duration &start_time);
41 bool isExecutionStartTimeSet()
const;
42 void setExecutionStartTime(
const daisi::util::Duration &start_time);
44 daisi::util::Duration getMakespan()
const;
46 daisi::util::Duration getTime()
const;
48 daisi::util::Duration getExecutionTime()
const;
50 daisi::util::Distance getDistance()
const;
63 static std::function<double(
const Metrics &)> utility_function_;
65 daisi::util::Duration empty_travel_time = 0.0;
66 daisi::util::Duration loaded_travel_time = 0.0;
67 daisi::util::Duration action_time = 0.0;
68 daisi::util::Distance empty_travel_distance = 0.0;
69 daisi::util::Distance loaded_travel_distance = 0.0;
71 util::Duration start_up_time = 0.0;
73 SERIALIZE(empty_travel_time, loaded_travel_time, action_time, empty_travel_distance,
74 loaded_travel_distance, makespan_, start_time_, execution_start_time_, start_time_set_,
75 execution_start_time_set_, start_up_time);
78 daisi::util::Duration makespan_ = 0.0;
80 daisi::util::Duration start_time_ = 0.0;
81 bool start_time_set_ =
false;
83 daisi::util::Duration execution_start_time_ = 0.0;
84 bool execution_start_time_set_ =
false;