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.