Student Course Allocation with Constraints Akshay Utture 2 ⋆ , Vedant Somani 1 , Prem Krishnaa 1 , and Meghana Nasre 1 1 Indian Institute of Technology Madras {vedant, jpk, meghana}@cse.iitm.ac.in 2 University of California, Los Angeles akshayutture@ucla.edu Abstract. Real-world matching scenarios like the matching of students to courses in a university setting involves complex constraints like credit limits, time-slot constraints for courses, basket constraints (say, at most one humanities elective for a student), in addition to the preferences of students over courses and vice versa, and class capacities. We model this problem as a many-to-many bipartite matching problem where both students and courses specify preferences over each other and students have a set of downward feasible constraints. We propose an Iterative Algorithm Framework which uses a many-to-one matching algorithm and outputs a many-to-many matching that satisfies all the constraints. We prove that the output of such an algorithm is Pareto-optimal from the student-side if the many-to-one algorithm used is Pareto-optimal from the student side. For a given matching, we propose a new metric called the Mean Effective Average Rank (MEAR) for a student, which quantifies the goodness of allotted courses for that student with respect to the matching. We empirically evaluate two many-to-one matching algorithms with synthetic data modeled on real-world instances and present the evaluation of these two algorithms on different metrics including MEAR scores, matching size and number of unstable pairs. 1 Introduction Consider an academic institution where each semester students choose elective courses to credit in order to meet the credit requirements. Each student has a fixed number of credits that need to be satisfied by crediting electives. Each course has a credit associated with it and a capacity denoting the maximum number of students it can accommodate. Both students and courses have a strict preference ordering over a subset of elements from the other set. In addition, it is common to have constraints like a student wants to be allotted at most one course from a basket of courses, a student does not want to bet allotted to time-conflicting courses. The goal is to compute an optimal assignment of elective courses to students satisfying the curricular restrictions while respecting the course capacities and satisfying the credit requirements. ⋆ Part of this work was done when the author was a Dual Degree student at the Indian Institute of Technology Madras.