\section{Conclusion}

The goal of this thesis has been to present and analyze different matching mechanisms and their properties for one-to-many matching scenarios with one-sided preferences. A variety of optimality criteria exist, but in the end, it is evident that none of the algorithms presented produce matchings that fulfill all of the optimality criteria. 

The experiments conducted have shown that the resulting matchings vary greatly by algorithm and structure of the instance. In summary, the Hungarian algorithm usually outperformed all other algorithms on most metrics, but it also had by far the highest runtime. To improve the runtime, different algorithms can be used, such as Rank-Max, that also compute profile-based-optimal matchings. Another insight from the experiments is that Popular-CHA failed to find matchings for a majority of the instances; however, a simple modified version of the algorithm may produce better results than RSD and Max-PaCHA, while having a much lower runtime than the Hungarian algorithm. Still, according to the results of the experiments, popularity seemed to be a less-desirable optimality criterion, due to the fact that popular matchings often only optimize the match for a subset of the students, while leaving the other students with a bad or no match. Therefore, we can recommend the Hungarian or Rank-Max algorithm for the use case of student-seminar matching. To improve the resulting matchings and make strategic manipulation harder, a matching system could require students to supply at least $k$ preferences. This would also partially eliminate the Hungarian's algorithm biggest disadvantage, which is that students are encouraged to provide short preference lists.

As part of this thesis, we have also presented an interactive web-system that allows university administrations to manage and solve such matching problems. The system relies on the C++ algorithms that were used for the benchmark and should offer good performance for typical instances.  