SOLA
|
Modified Round Robin Algorithm that centrally assigns tasks of incoming material flows to the corresponding centralized participants. More...
Classes | |
struct | AlgorithmConfig |
class | AlgorithmInterface |
class | AmrLogicalAgent |
class | AmrLogicalExecutionState |
class | AssignmentInitiator |
Algorithm for assigning tasks from a material flow to fitting AMRs. This algorithm is initiating and coordinating the procedure. There always must be a corresponding derived class from AssignmentParticipant. More... | |
class | AssignmentNotification |
Notification by a central initiator that a task has been assigned to the receiving participant. More... | |
class | AssignmentParticipant |
Algorithm for assigning tasks from a material flow to fitting AMRs. This algorithm is participating in the procedure which is beeing coordinated by an initiator. There always must be a corresponding derived class from AssignmentInitiator. More... | |
class | AssignmentResponse |
Response of a central participant as a reaction of a task assignment. Consists of the task_uuid, the acception / rejection, its connection string and of the new current status. More... | |
class | AuctionBasedTaskManagement |
class | AuctionInitiatorState |
Helper class for the IteratedAuctionAssignmentInitiator to handle and store the state of received bids and winner responses. More... | |
struct | AuctionParticipantState |
Helper struct for the IteratedAuctionAssignmentParticipant to store the state of open auction processes, calculated bids (metrics) and insertion points. Each AuctionParticipantState is only responsible for one auction process by one dedicated initiator. More... | |
struct | AuctionParticipantTaskState |
Helper struct for the IteratedAuctionAssignmentParticipant, used inside of the AuctionParticipantState, to store information related to exactly one task. This includes the previously calculated bids (metrics) and insertion points. More... | |
class | BidSubmission |
class | CallForProposal |
class | CentralizedInitiator |
Algorithm that centrally assigns tasks of incoming material flows to the corresponding centralized participants. Should be implemented by any concrete centralized task assignment algorithm. More... | |
class | CentralizedParticipant |
Participant of a centralized task assignment strategy. Since the task assignment strategy is defined by the central allocator, the participant only needs to handle new task assignments. More... | |
class | IteratedAuctionAssignmentInitiator |
The initiator class for auction-based assignment, based on the TePSSI algorithm from Nunes, E., McIntire, M., & Gini, M. (2017). Decentralized multi-robot allocation of tasks with temporal and precedence constraints. Advanced Robotics, 31(22), 1193-1207. More... | |
class | IteratedAuctionAssignmentParticipant |
This class is the counterpart of the IteratedAuctionAssignmentInitiator, particpanting in the iterated auction procedure. It must be able to process, IterationNotification, and WinnerNotification messages. More... | |
class | IterationNotification |
class | LayeredPrecedenceGraph |
Helper class to implement the pIA algorithm. A directed graph is layered into a free, second, and hidden layer. Prioritization is neglected in this modification of the algorithm. Therefore, all tasks from the free layer are automatically auctionable. More... | |
class | LogicalAgent |
struct | LPCVertex |
class | MaterialFlowLogicalAgent |
class | MaterialFlowStateLogger |
struct | MaterialFlowUpdate |
class | Metrics |
class | MetricsComposition |
class | RoundRobinInitiator |
class | SimpleTaskManagement |
class | StatusUpdate |
might need some revision / additions in the future More... | |
class | StatusUpdateRequest |
might need some revision / additions in the future More... | |
class | StnTaskManagement |
struct | StnTaskManagementEdge |
struct | StnTaskManagementVertex |
class | TaskManagement |
class | TaskManagementHelper |
class | WinnerNotification |
class | WinnerResponse |
Typedefs | |
using | Message = std::variant< CallForProposal, BidSubmission, IterationNotification, WinnerNotification, WinnerResponse, AssignmentNotification, AssignmentResponse, StatusUpdate, StatusUpdateRequest, MaterialFlowUpdate > |
Enumerations | |
enum class | AlgorithmType { kIteratedAuctionAssignmentInitiator , kIteratedAuctionAssignmentParticipant , kRoundRobinInitiator , kRoundRobinParticipant } |
enum class | PrecedenceGraphLayer { kFree , kSecond , kHidden , kScheduled , kNone } |
Enum to represent the different layers tasks can be on in this precedence graph. The free layer is also referred to as T_F, the second layer as T_L, the hidden layer as T_H, and the scheduled layer as T_S. | |
Functions | |
std::string | serialize (const Message &msg) |
Message | deserialize (const std::string &msg) |
bool | operator< (const Metrics &lhs, const Metrics &rhs) |
bool | operator<= (const Metrics &lhs, const Metrics &rhs) |
bool | operator> (const Metrics &lhs, const Metrics &rhs) |
bool | operator>= (const Metrics &lhs, const Metrics &rhs) |
bool | operator== (const Metrics &lhs, const Metrics &rhs) |
bool | operator!= (const Metrics &lhs, const Metrics &rhs) |
bool | operator== (const StnTaskManagementVertex &v1, const StnTaskManagementVertex &v2) |
Variables | |
template<class > | |
constexpr bool | kAlwaysFalseV = false |
Modified Round Robin Algorithm that centrally assigns tasks of incoming material flows to the corresponding centralized participants.