70 likes | 186 Views
Using Constraint Programming to Assign Students to First-year Seminars. Xiang Yao ( yaox@dickinson.edu ) Advisor: Timothy Wahls (wahlst@dickinson.edu) Submitted in partial fulfillment of Honors Requirements for the Computer Science Major Dickinson College, 2013 September 15, 2013.
E N D
Using Constraint Programming to Assign Students to First-year Seminars Xiang Yao (yaox@dickinson.edu) Advisor: Timothy Wahls(wahlst@dickinson.edu) Submitted in partial fulfillment of Honors Requirements for the Computer Science Major Dickinson College, 2013 September 15, 2013
Introduction • Constraint programming is used for solving constraint satisfaction and combinatorial optimization problems ( CSP & COP ) • CSP: solve problems defined by object having to satisfy limitations • COP: find the optimal solutions from a set of objects • Ex. old-fashioned marriage problem • Language: ECLiPSe • Use techniques such as node and arc consistency to limit the domains of variables and find the solutions in the search tree Emily Bill Tim Lily Sam Rosy
Research Topic • Problem Description: 1. More than six hundred students for each incoming class 2. Each student choose six seminars with different rankings 3. Each student can be either international or American and male or female • Long-term Planning: 1. Solve basic scenario 2. Add additional “soft constraints” or multiple objective functions 3. Generate simulation data 4. Compare the results with the operations research approach
Method Used: Finite Domain Constraint • Method 1: A finite domain variable has its values restricted to finite set • Difficulties: • Model’s flexibility • Running time NT Q B1 NSW WA SA V en.wikipedia.org
Method Used:Finite Set Constraint • Method 2: Have a lower bound and an upper bound for each set • The cardinality limit the number of elements in each set • DisjointConstraint makes sure each student is assigned to one class • Example: schedule golf tournament with 32 players, need 4 players each game, each game with disjoint players, and all set need to add up to be 32
Current Progress • Use ECLiPSeto parse the data and apply finite set constraints • Quickly limit the students to 27 ,but the program is slow for size lower than 27 • Use other packages, like Cardinal • Using search to assign values for the least popular seminars first • More complicated situations with international students and gender types
Reference • Programming with Constraints: An Introduction, first edition. Kim Marriott and Peter J. Stuckey. The MIT Press, 1998. ISBN: 0-262-13341-5 • Forrester, R., Hutson, K., and To, T. (2013) Improving the Quality of the Assignment of Students to First-Year Seminars. OR Insight 26(2):120-139. • Chan, W. T. Hu, Hao. (2012) Constraint Programming Approach to Precast Production Scheduling. Journal of Construction Engineering & Management; Dec2002, Vol. 128 Issue 6, p513-521, 9p • Azevedo, Francisco.(2012) Cardinal: A Finite Sets Constraint Solver Constraints Volume 12, Issue 1 , pp 93-129 2007-03-01 • El Hachemi, Gendreau, Rousseau. (2011) A hybrid constraint programming approach to the log-truck scheduling problem. Annals of Operations Research; Apr2011, Vol. 184 Issue 1, p163-178, 16p, 1 Diagram, 3 Charts, 2 Graphs • Niederliński, Antoni.(2011) A Quick and Gentle Guide to Constraint Logic Programming via ECLiPSe., IX, 420 pages, ISBN 978-83-62652-08-2