Solving UW Math Summer Scheduling Problem

Scheduling non-major summer courses for MATH 381 group project at UW.

Abstract

Based on our interview with Sarah Garner, director of the Math Department’s Advising office, we will address the decision problem of finding an appropriate number of sections of each course in the 100 to 300 level category. The threshold for opening a section, having at least 10 out of 35 student enrollments. In this paper, we first present the problem description and its impacts. Then, we model the problem and solve it with the linear programming, simulation and statistical analysis. Finally, with limited resources, such as required number of students for a open class, we offer appropriate time schedules of sections for 9 non-major service courses based on historical data.

Keywords: Mathematical model; Monte Carlo Simulation; Statistical Analysis; Linear Pro-gramming; Course schedule

Team members Info

Scripts Info

Read csv data - Stage I

Generate customized table - Stage I

An example of Math 120 table would look like the following:

Math 120
  year  Percent. Enrollment sec 1    Percent. Enrollment sec 2    Percent. Enrollment sec 3
------  ---------------------------  ---------------------------  ---------------------------
  2008  57.14(1050✓)                 71.43(940✓)                  77.14(1200✓)
  2009  72.00(1050✓)                 88.00(940✗)                  104.00(1200✗)
  2010  60.00(1200✓)                 74.29(1050✓)
  2011  85.71(1050✗)                 97.14(1200✗)
  2012  42.86(1050✗)                 74.29(1200✓)                 80.00(940✓)
  2013  62.86(1050✓)                 63.33(1200✓)
  2014  28.57(1050✗)                 74.29(1200✓)
  2015  91.43(1200✗)
  2016  85.71(1200✗)
  2017  88.57(1200✗)
  2018  100.00(1200✗)

Notes:

Output files - Stage I (better open with firefox)

Command line Outputs - Stage I

Final Result - Stage I

accessibility text

Command line Outputs - Stage II

Annual Total Enrollment

accessibility text

Past Data Summary of MATH 324

accessibility text

Monte Carlo Simulation

accessibility text

Priority Queue - Stage II (example)

[1] 324
[1] "Priority Queue:"
  Section   > 0.8 LB   > 0.8 UB 0.57~0.8 LB 0.57~0.8 UB > 0.57 LB > 0.57 UB
5    1200 0.16208565 0.21687935   0.7571027   0.8698258  0.938973  1.063952
3     940 0.01779317 0.03928358   0.9118470   1.0350786  0.938004  1.062921
1     110 0.01698406 0.03809602   0.9137841   1.0371414  0.938973  1.063952

Final Result - stage II (example)

Prediction of MATH 324 in 2019
  Section Number
1     110      1
2     220      1
3     940      1
4    1050      0
5    1200      1

Result Validation - stage II (examples)

Prediction of MATH 324 in 2018:
  Section Number
1     110      1
2     220      0
3     940      1
4    1050      0
5    1200      1
Real of MATH 324 in 2018:
    Section Number
1     110      1
2     220      0
3     940      1
4    1050      0
5    1200      1
[1] "Comparison of MATH 324"
[1] "110 : has the same number"
[1] "220 : has no past data"
[1] "940 : has the same number"
[1] "1050 : has no past data"
[1] "1200 : has the same number"
Prediction of MATH 308 in 2018:
  Section Number
1     110      0
2     220      2
3     940      1
4    1050      1
5    1200      2
Real of MATH 308 in 2018:
  Section Number
1     110      0
2     220      1
3     940      1
4    1050      1
5    1200      1
[1] "Comparison of MATH 308"
[1] "110 : has no past data"
[1] "220 : recommend to increase 1 section(s)"
[1] "940 : has the same number"
[1] "1050 : has the same number"
[1] "1200 : recommend to increase 1 section(s)"

Details can be referred from the paper.