Recommendation systems with complex constraints: A course recommendation perspective

Aditya Parameswaran, Petros Venetis, Hector Garcia-Molina

Research output: Contribution to journalReview articlepeer-review


We study the problem of making recommendations when the objects to be recommended must also satisfy constraints or requirements. In particular, we focus on course recommendations: the courses taken by a student must satisfy requirements (e.g., take two out of a set of five math courses) in order for the student to graduate. Our work is done in the context of the CourseRank system, used by students to plan their academic program at Stanford University. Our goal is to recommend to these students courses that not only help satisfy constraints, but that are also desirable (e.g., popular or taken by similar students). We develop increasingly expressive models for course requirements, and present a variety of schemes for both checking if the requirements are satisfied, and for making recommendations that take into account the requirements. We show that some types of requirements are inherently expensive to check, and we present exact, as well as heuristic techniques, for those cases. Although our work is specific to course requirements, it provides insights into the design of recommendation systems in the presence of complex constraints found in other applications.

Original languageEnglish (US)
Article number2037665
JournalACM Transactions on Information Systems
Issue number4
StatePublished - Dec 2011


  • Complex constraints
  • Package recommendations
  • Recommender systems

ASJC Scopus subject areas

  • Information Systems
  • Business, Management and Accounting(all)
  • Computer Science Applications


Dive into the research topics of 'Recommendation systems with complex constraints: A course recommendation perspective'. Together they form a unique fingerprint.

Cite this