optimized classroom scheduling at lagrange college
TRANSCRIPT
Optimized Classroom Scheduling at LaGrangeCollege
Jon M. Ernstberger
21 March 2016
About LaGrange College
About LaGrange College
About LaGrange College
We are growing.
Classroom Assignment
Heres how this process currently works:
I Departments know which courses must run in a given term.
I Knowing familial responsibilities, chairs make teachingschedules.
I Everyone tries to schedule in their own building.
I Priority is given to largest classes.
Simple Case
A builidng with two rooms and only three MWF scheduling periods.
Period No. Room 1 Room 2
One
Two
Three
I You have six scheduling opportunities.
Simple Case
Call each of those spaces a “bin”.
Period No. Room 1 Room 2
One 1 2
Two 3 4
Three 5 6
I What if you only have four classes and two professors?
Metaheuristic Approach - Inspired by Genetic Algorithm
Holland[1] defines this concept of a genetic algorithm.
I A population P of trial solutions is randomly created, typicallyin Rm×n – m “solutions” for a problem whose domain is inRn(a, b).
I A fitness function is defined so that the goodness-of-fit ofeach member (possible solution) is measured.
I Those solutions deemed most fit remain until a new“generation”. This process is known as elitism.
I Offspring are created via the two processes mutation andcrossover.
I Mutation is the result of random noise being added to apopulation (or individual attributes, the genes).
I Crossover occurs with a probability p and is a direct swapbetween genes.
GA Intuition
GA Inutition, cont.
GA Inutition, cont.
fast sickly good stripe pattern smart
too bold heart problem keen smell unintelligent
premature deaf good hearing disease resistant
GA Inutition, Elitism
fast good stripe pattern smart
keen smell
good hearing disease resistant
GA Inutition, Crossover
fast f,gs good stripe pattern smart
f,s gs,ks keen smell s,dr
s,gs ks,gh good hearing disease resistant
GA Inutition, Crossover and Mutation
fast f+,gs good stripe pattern smart
f,s− gs−,ks− keen smell s−,dr+
s+,gs+ ks+,gh− good hearing disease resistant
#GAProbz
I There is no formal theory for the convergence (or lackthereof) of the genetic algorithm.
I The algorithm cannot state definitively that there is nooptimized classroom schedule.
I It could be fast or it could be slow.
I Computationally intense.
Stochastic Integer Search
We use a custom, integer-based genetic algorithm-esque searchthat does the following:
I We use random permutations of the integers in the set{1, . . . , q} (q is the number of scheduling opportunities) tocreate each member of the population. The populationP ∈ Zm×n[1, q] where n ≤ q.
I In our formulation, mutation over the integers and crossoverwere equivalent–a swap.
Fitness Functional
How do I determine a good solution may be?
Criteria:
1. Make sure I get a “solution” where the class fits in the space.
2. Can’t double-book a professor.
How do we do that?
Fitness Functional, Class Fits the Room
I Randomly generate the population P and select the ithmember.
I Corresponding to the population member, Pi we assign
R(Pi ) := C
where C is the list of the enrollment caps of our offeredcourses (of length q) and R is the list of our “bins”.
Class Fits the Room, cont.
Define
I S is the number of seats for classrooms at the designatedtimes.
I The Heaviside function as
H(x) =
{1 x > 0
0 x ≤ 0
Then, create a function
J1(Pi ) =
q∑j=1
H (Rj(Pi )− Sj) .
Fitness Functional, Don’t Overbook the Professor
I Corresponding to the population member, Pi we assign
A(Pi ) := T
where T is the list of the instructors of our offered courses(of length q) and A is the list of our instructor “bins”.
I Reshape the list A to look like a grid of rooms by time.
Aq×1 7→ A(r×t)
where r is the number of rooms we can use and t is thenumber of time slots.
Don’t Overbook the Professor, cont.
I Now, I do a columnwise sort on A.
As = sort(A).
I To determine the number of overbookings, I do some Booleanlogic.
J2(Pi ) =∑(
As 6≡ 0)−∑(
unique(As
)6≡ 0)
Optimization Problem
The optimization problem then becomes
minPi∈Z1×q
J(Pi ) = minPi∈Z1×q
(J1(Pi ) + J2(Pi ))
= minPi∈Z1×q
q∑j=1
H (Rj(Pi )− Sj)
+(∑(
As 6≡ 0)−∑(
unique(As
)6≡ 0))]
Class Schedules
MWF TTh
8:30a-9:30a 8:00a-9:30a9:40a-10:40a 9:40a-11:15a
10:50a-11:50a 1:00p-2:30p12:30p-1:30p 2:40p-4:10p1:40p-2:40p2:50p-3:50p
Science Building
I Removed all labs and spaces that require specialty scheduling.
I Nine classrooms.
I 38 classes.
I 17 professors.
Results follow.
Size of the Scheduling Problem
I 383 individual courses (labs, recitals, etc.)
I Covers hundreds of spaces on campus.
I Of the spaces, many have specialty equipment and are not forgeneral use.
I Some are computer labs.
Lesson One
If you cannot solve a problem, make it easier.
Reduced Problem
If we reduce our problem in this way, here’s what we do:
I Remove all science and computer labs.
I Remove any recital or performance spaces.
I Remove any spaces with healthcare technology (nursing).
I Remove any spaces with exercise/strength/conditioningequipment.
Building Name Number of Classrooms
Callaway Academic 6 (14,16,30,30,30,40)Smith Hall 7 (14,20,21,22,23,25,48)Hawkes Hall 2 (24,24)Manget 9 (12,12,12,14,14,20,24,24,24)Callaway Science 9 (18,18,24,24,24,34,40,48,64)
Total 33
Lesson Two
Money solves lots of problems.
Campus Problem
I 180 courses
I 67 different professors
I 33 rooms
I 330 scheduling opportunities.
Campus Problem, Results
I There are only flawed results.
I So far, the best results I’ve found still have 9 scheduling errors.
I Runtime is about 31 minutes.
Future Work
I Prioritize classes to be in the same building as that of theoffice of the professor.
I Build in early morning and late afternoon bounds.
I Experiment with Longer calendars.
I Implement inter-departmental demands.
Some Additional Lessons
I Mathematicians are problem solvers.
I There is always low-hanging fruit to be plucked.
I Failure is okay.
I We just report the news; we don’t make it.
References I
J.H. Holland.Genetic algorithms and the optimal allocation of trials.SIAM Journal of Computing, 2(2), 1973.