47 std::string assignment_strategy;
49 const std::unordered_map<std::string, logical::AlgorithmType>
50 assignment_strategy_to_initiator_algorithm_type = {
51 {
"iterated_auction", logical::AlgorithmType::kIteratedAuctionAssignmentInitiator},
52 {
"round_robin", logical::AlgorithmType::kRoundRobinInitiator},
55 const std::unordered_map<std::string, logical::AlgorithmType>
56 assignment_strategy_to_participant_algorithm_type = {
57 {
"iterated_auction", logical::AlgorithmType::kIteratedAuctionAssignmentParticipant},
58 {
"round_robin", logical::AlgorithmType::kRoundRobinParticipant},
61 void parse(
const YAML::Node &node) { SERIALIZE_VAR(assignment_strategy); }
66 algorithm_config.algorithm_types.push_back(
67 assignment_strategy_to_initiator_algorithm_type.at(assignment_strategy));
69 return algorithm_config;
75 algorithm_config.algorithm_types.push_back(
76 assignment_strategy_to_participant_algorithm_type.at(assignment_strategy));
78 return algorithm_config;
84 SERIALIZE_VAR(initial_number_of_amrs);
85 SERIALIZE_VAR(number_of_material_flow_agents);
87 SERIALIZE_VAR(algorithm);
88 SERIALIZE_VAR(topology);
90 SERIALIZE_VAR(autonomous_mobile_robots);
91 SERIALIZE_VAR(material_flows);
92 SERIALIZE_VAR(scenario_sequence);
94 verifyScenarioSequenceOfMaterialFlows();
95 verifyScenarioSequenceOfAmrs();
96 calcNumbersOfRelativeAmrDistribution();
99 uint16_t initial_number_of_amrs = 0;
100 uint16_t number_of_material_flow_agents = 0;
105 std::vector<AmrDescriptionScenario> autonomous_mobile_robots;
106 std::vector<MaterialFlowDescriptionScenario> material_flows;
107 std::vector<SpawnInfoScenario> scenario_sequence;
109 std::unordered_map<std::string, AmrDescription> getAmrDescriptions()
const;
110 std::unordered_map<std::string, MaterialFlowDescriptionScenario> getMaterialFlowDescriptions()
114 void verifyScenarioSequenceOfMaterialFlows()
const;
115 void verifyScenarioSequenceOfAmrs()
const;
116 void calcNumbersOfRelativeAmrDistribution();