330 likes | 420 Views
OPRAM: An Online System f or Assigning Capstone Course Students to Sponsored Projects Juedong Zhang Acknowledgments: NSF Award RI-111795. Outline. Introduction Background Motivations Contributions Problem Modeling & Solving Methods System Implementation & Features
E N D
OPRAM: An Online System for Assigning Capstone Course Students to Sponsored Projects Juedong Zhang Acknowledgments: NSF Award RI-111795 Zhang: MS Project Defense
Outline • Introduction • Background • Motivations • Contributions • Problem Modeling & Solving Methods • System Implementation & Features • Conclusions & Future Work Zhang: MS Project Defense
Background • CSE Capstone Course • An integral part of the undergraduate curriculum • Professional development opportunities • Participants Students,sponsors, CSE faculty, & iLab staff • Team formation Zhang: MS Project Defense
Motivations • Team assignment is challenging • Large class (CS + CE) • Various constraints • Capacity limit for each project • Students’ preferences • Sponsors’ preferences • Constraint-based system for decision support • Automatic solver generates solutions upon request • Interactive solver maintains consistency for user • Visual support guides user to make good assignments Zhang: MS Project Defense
Contributions • Modeled the task as a Constrained Optimization Problem (COP) with three optimization criteria • Designed a search algorithm that can generate the optimal solution in a reasonable amount of time • Developed an interactive solver that maintains consistency while the user explores the search space • Created a web GUI interface that encapsulates both solvers and provides an unified user experience • Co-built an MySQL database for data persistence Zhang: MS Project Defense
Outline • Introduction • Problem Modeling & Solving Methods • Problem modeling • Problem solving methods • Evaluation of search performance • System Implementation & Features • Conclusions & Future Work Zhang: MS Project Defense
Modeling: COP • Given • Variables: The students enrolled in the Capstone Course • Domains: The projects applied to which a student applies • Hard constraints: • A project’s capacity limit • A student does not choose a project or a sponsor does not choose a student • Soft constraints:Students/sponsors preferences between 0…5 • Objective function: Three criteria based on preferences • Query: find a value for each variable such that • All hard constraints are satisfied and • The objective function is optimized Zhang: MS Project Defense
Modeling: Soft Constraints • Students preferences “I am interested in working on this project.” • Sponsors preferences “I think this student is a good fit for my project.” Agreeableness of the statement a preference score Zhang: MS Project Defense
Modeling: Combining Preferences • Product of preferences is more sensitive Zhang: MS Project Defense
Modeling: Objective Function • Avg • Maximize the average value over all preferences • Geo Avg • Maximize the geometric average value over all preferences • Maxmin • Maximize the minimum value over all preferences Zhang: MS Project Defense
Problem Solving Method • Backtrack search • Variable Ordering • First choose the student with the least number of projects (i.e., least-domain first) • Value Ordering • Assign to a student first the project with the highest preference (i.e., most promising value) • Constraint propagation by local consistency • Exhaustive, depth-first search • Branch-and-bound with a heuristic function Zhang: MS Project Defense
Local Consistency • Node consistency • Apply to the zero preference constraint • Remove the 0 value from the domain of every variable • Generalized arc consistency (GAC) • Apply to the capacity constraint • Remove the value (project) from the domain of all future variables when the load of that project is reached GAC is the foundation of our interactive solver Zhang: MS Project Defense
Heuristic Function h • Given an assignment of i variables • The cost of the partial solution • The estimated cost of remaining assignments • The total estimated cost • h(.) • Choose the value with highest preferences, even if values are inconsistent with partial solution • h(.)is admissible, it never underestimates the cost of the real solution Zhang: MS Project Defense
Search: FC-BnB search algorithm • Forward checking (FC) algorithm[Haralickand Elliott, 1980] • A systematic search technique • After a variable is instantiated, it looks ahead (executes GAC) • When detecting a domain wipeout, it backtracks chronologically • Branch-and-Bound • Finds a first solution quickly, the incumbent • After a variable is instantiated, compares the quality of current solution to that of the incumbent, updates incumbent • Exhaustive search, linear in space FC- BnB is the foundation of our automatic solver Zhang: MS Project Defense
Illustrating Search: Example Six students V1 ~ V6 Three projects P1 ~ P3, each with a capacity of 2 Variable Domain V1 {(P2,5)} The h function ignores hard constraints CurrentVariable Assignments made by FC V2 {(P2,5), (P1,3)} V3 {(P3,3), (P1,1)} V4 {(P1,5), (P3,3)} FutureVariables {(P3,5), (P2,3), (P1,3)} V5 f ((V1,5), (V2,5), (V3,3), (V4,5), (V5,5), (V6,)) {(P2,5), (P1,3), (P3,1)} V6 = g ((V1,5), (V2,5)) + h ((V3,3), (V4,5), (V5,5), (V6,3)) = ((5 + 5) + (3 + 5 + 5 + 3)) / 6 If Avg optimization criterion is used = 4.33 Estimated solution quality at V2. Proceed to V3 only if it is better than incumbent Projects removed by FC to comply with the capacity constraints Zhang: MS Project Defense
Evaluating search: CPU • Data Sets • Fall 2013: 45 students, 11 projects • Spring 2014: 10 students, 3 projects • Impact of the h function Zhang: MS Project Defense
Evaluating Search: Solution Quality • Impact of the optimization criterion: comparing optimal solutions Zhang: MS Project Defense
Outline • Introduction • Problem Modeling & Solving Methods • System Implementation & Features • System architecture • iLab infrastructure • OPRAM architecture • OPRAM Functionalities • Web GUI • The Legend’s color map • Interactive solver • Automatic solver • Solution comparison • Conclusions & Future Work Zhang: MS Project Defense
iLab Infrastructure UserRegistration A user’s view InformationExchange Students / Sponsors iLabAdministrator ProgressManagement Module we developed Project Assignment Module in progress Instructors / iLab Staff Zhang: MS Project defense
iLab Infrastructure UserRegistration iLab Info Project A system view InformationExchange iLabDB Project Assignment OPRAM Module we developed Module we co-developed Module in progress ProgressManagement iLab X Project Zhang: MS Project defense
OPRAM Architecture • Google Web Toolkit Runs on Server Google Web Toolkit Application Runs in Browser Server(Backend) Client (GUI) RPC Java EE AJAX Zhang: MS Project Defense
OPRAM Architecture • Remote Procedure Call (RPC) Zhang: MS Project Defense
OPRAM Architecture • Software design RPC Request AutoSolver ServiceServer Impl. Service ServiceClient Impl. GUI DBAccess Service Async. InteractiveSolver Reply Client Server Interface Color legend: Implementation Zhang: MS Project Defense
Web GUI Zhang: MS Project Defense
Legend’s Color Map Zhang: MS Project Defense
Interactive Solver: Student View 1-semester or 2-semester student Total number of students Preference Project not available Zhang: MS Project Defense
Interactive Solver: Project View How many more studentscan be assigned Total numberof projects Individual projecttab Preference Average preference Project not available Project overview sub-panel Individual project sub-panel Display the list of projects applied by the student when mouseover the preference Project the student currently assigned to is shown in bold Zhang: MS Project Defense
Automatic Solver Three options:10 seconds 1 minute 5 minutes Zhang: MS Project Defense
Solution Comparison Only comparable solutions are displayed Three additional metrics for current solution listed Zhang: MS Project Defense
Outline • Introduction • Problem Modeling & Solving Methods • System Implementation & Features • Conclusions & Future Work Zhang: MS Project Defense
Conclusions • Designed & implemented a web-base system for Capstone Course project assignment decision support • OPRAM demonstrated significant improvements • on time to solution • as well as the quality of assignment found • CSE faculty and iLab staff are satisfied with OPRAM’s capabilities and have decided to take advantage of it in the upcoming semester Zhang: MS Project Defense
Future Work • A formal proof for NP-hardness of this assignment problem • Explore other optimization criteria such as “stable matching” • Explore whether or not ‘a minimum size per project’ is appropriate • Support further interoperability between our two solvers • Conduct longitudinal study of usefulness & flexibility Zhang: MS Project Defense
Thank you I welcome your questions Zhang: MS Project Defense