100 likes | 189 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 December 1, 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 December 1, 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 multiple objective functions 3. 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
Method Used:Branch and Bound Algorithm • Find a good solution quickly . The algorithm iteratively finds better and better solutions. • First, it finds a solution. • Then, it adds a constraint to exclude additional solutions, making Θ’ no better than Θ. • Next, it solves the new constraints with the one added and updates the previous solutions to find a better solution. • Finally, this process keeps going until the program cannot find any feasible solutions.
Current Progress • Use Finite Domain Constraint Constraint: Conjunto • Too slow • Use Finite Set Constraint: Cardinal • Does not work with ic set • Use Finite Set Constraint: ic_hybridFinite Set • Be able to optimized based on gender, nationality and ranking. However, it is slow when including ranking. • Currently, use Finite Domain Constraint: We are able to optimize on the ranking
Preliminary Resultsfrom Finite Set Constraint • Search specific optimal solution based on certain objective functions before others (first choice can increase to 300 after running for a long time) • Disadvantage: cannot optimized all three objectives equally at the same time Deviation: -774542 Male: 8 7 7 8 7 7 7 6 7 6 7 4 7 6 7 7 7 7 7 4 7 7 7 5 7 6 7 7 7 7 7 7 5 7 7 6 6 7 6 6 7 Intern: 2 1 3 1 3 3 3 3 3 1 2 1 3 2 3 3 1 2 0 1 1 0 3 2 1 1 2 1 1 3 3 3 3 1 3 0 3 2 1 3 3 Size: 16 16 16 16 16 16 16 15 16 14 16 12 16 16 16 16 16 16 15 9 16 16 16 13 16 15 16 16 16 16 16 16 16 16 14 16 16 16 16 16 16 First Choice: 135 + + 119 + + 108 + + 95 + + 90 + + 88 Found a solution with cost -774542
Future Work • Use Forrester’s later research to calculate coefficient to set our optimal weight between different objective functions • Take the students’ nationalities into consideration. • Reconsider finite domain constraint approach.
Reference • Michael Marte. Models and Algorithms for School Timetabling - AConstraint- Programming Approach. Dissertation/Ph.D. thesis, Institute of Computer Science, LMU, Munich, 2003. • Delgado, A. and Perez, J (2005). An Interactive Tool for the Controlled Execution of an Automated Timetabling Constraint Engine. In R. Roy (Ed.). Multiparadigm Programming in Mozart/Oz (pp. 317-327). Berlin: Springer Verlag. • Programming with Constraints: An Introduction, first edition. Kim Marriott and Peter J. Stuckey. The MIT Press, 1998. ISBN: 0-262-13341-5 • Willoughby, K. and Zappe, C. (2006) A methodology to optimize foundation seminar assignments. Journal of the Operational Research Society 57(8): 950–956. • 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. • Forrester, R and Hutson, K Balancing Student and Faculty Preferences in the Assignment of First-Year Seminars, submitted to International Journal of Information Technology and Decision Making • River, NJ. Krass, D. and Ovchinnikov, A. (2006) The University of Toronto’s Rotman School of Management uses management science to create MBA study groups. Interfaces 36(2): 126–137. • Azevedo, Francisco.(2012) Cardinal: A Finite Sets Constraint Solver Constraints. Constraints 12 (1): 93-129. • Müller, T. (2008). Scheduling a Golf Tournament. Retrieved July 02, 2008,from: http://mozart.github.io/mozart-v1/doc-1.4.0/fst/node6.html#fset.example s.golf.