|
bool | solve () override |
|
void | addPrecedenceConstraintBetweenTask (const StnTaskManagementVertex &start_vertex, const std::string &precedence_task_name) |
|
void | addDurationConstraints (const StnTaskManagementVertex &start_vertex, const StnTaskManagementVertex &finish_vertex, const daisi::material_flow::Order &order, const TaskInsertInfo &task_insert_info) |
|
void | updateGetToStartDurationConstraint (int task_index_to_update) |
|
util::Duration | calcGetToStartDuration (int task_index_to_update) |
|
void | addOrderingConstraintBetweenTasks (StnInsertionPoint insertion_point, TaskInsertInfo &task_insert_info) |
|
std::optional< std::pair< MetricsComposition, std::shared_ptr< StnInsertionPoint > > > | addBestOrdering (StnTaskManagement::TaskInsertInfo &task_insert_info) |
|
std::vector< StnInsertionPoint > | calcInsertionPoints () |
|
void | updateCurrentOrdering () |
| update the metrics compositions of all currently queued tasks as well as the total metrics. sort the current ordering by start time. method is called after inserting a new task.
|
|
daisi::util::Position | getLastPositionBefore (int task_index) |
|
daisi::util::Duration | calcOrderDurationForInsert (const daisi::material_flow::Order &order, const TaskInsertInfo &task_insert_info) const |
|
void | insertOrderPropertiesIntoMetrics (const daisi::material_flow::Order &order, Metrics &metrics, const TaskInsertInfo &task_insert_info, int task_ordering_index) |
| calculate the metrics for the given order of the given task and insert them into the given metrics.
|
|
VertexIterator | getVertexIteratorOfOrder (const daisi::material_flow::Order &order, bool start) |
|
int | getVertexIndexOfOrder (const daisi::material_flow::Order &order, bool start) |
|
const StnTaskManagementVertex & | getVertexOfOrder (const daisi::material_flow::Order &order, bool start) |
|
◆ addTask()
assign a new task to the management
- Parameters
-
task | the task to be assigned |
insertion_point | the position in the managements queue where the task should be inserted |
- Returns
- true if the insertion was successful
Implements daisi::cpps::logical::AuctionBasedTaskManagement.
◆ canAddTask()
check wether a new task can be assigned to the management
- Parameters
-
task | the task to be assigned |
insertion_point | the position in the managements queue where the task should be inserted |
- Returns
- true if the assignment can be made
Implements daisi::cpps::logical::AuctionBasedTaskManagement.
◆ getCurrentTask()
Task daisi::cpps::logical::StnTaskManagement::getCurrentTask |
( |
| ) |
const |
|
overridevirtual |
◆ getLatestCalculatedInsertionInfo()
◆ hasTasks()
bool daisi::cpps::logical::StnTaskManagement::hasTasks |
( |
| ) |
const |
|
overridevirtual |
◆ insertOrderPropertiesIntoMetrics()
void daisi::cpps::logical::StnTaskManagement::insertOrderPropertiesIntoMetrics |
( |
const daisi::material_flow::Order & |
order, |
|
|
Metrics & |
metrics, |
|
|
const TaskInsertInfo & |
task_insert_info, |
|
|
int |
task_ordering_index |
|
) |
| |
|
protected |
calculate the metrics for the given order of the given task and insert them into the given metrics.
- Parameters
-
order | the order the metrics should be calculated for |
metrics | the container to insert the metrics |
task_insert_info | the TaskInsertInfo for the passed order |
task_ordering_index | the current ordering index for the task |
absolute_start_time | the absolute start time of the order |
◆ setCurrentTime()
void daisi::cpps::logical::StnTaskManagement::setCurrentTime |
( |
const daisi::util::Duration & |
now | ) |
|
set the management's current time
- Parameters
-
◆ setNextTask()
bool daisi::cpps::logical::StnTaskManagement::setNextTask |
( |
| ) |
|
|
overridevirtual |
◆ solve()
bool daisi::cpps::logical::StnTaskManagement::solve |
( |
| ) |
|
|
overrideprotectedvirtual |
◆ current_task_
the current task was previously at the first position of the current ordering however to not get confused with insertion, the current task is kept separate from the ordering vector
The documentation for this class was generated from the following files:
- daisi/src/cpps/logical/task_management/stn_task_management.h
- daisi/src/cpps/logical/task_management/stn_task_management.cpp